From 311dfc20e39ead82dc6c58b26161b08cbf8cb5b2 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 7 May 2024 20:03:43 +0000 Subject: [PATCH] Update documentation --- stable/.buildinfo | 2 +- stable/.doctrees/environment.pickle | Bin 283563 -> 283563 bytes .../.doctrees/methoddocs/application.doctree | Bin 80235 -> 80235 bytes .../.doctrees/methoddocs/exceptions.doctree | Bin 109282 -> 109282 bytes .../.doctrees/methoddocs/middlewares.doctree | Bin 132458 -> 132458 bytes stable/.doctrees/methoddocs/runner.doctree | Bin 160090 -> 160090 bytes .../methoddocs/subscriptions.doctree | Bin 168083 -> 168083 bytes stable/.doctrees/methoddocs/utils.doctree | Bin 175775 -> 175775 bytes stable/commands/run.html | 1 + stable/genindex.html | 1 + stable/index.html | 1 + stable/methoddocs/application.html | 1 + stable/methoddocs/exceptions.html | 1 + stable/methoddocs/middlewares.html | 1 + stable/methoddocs/runner.html | 1 + stable/methoddocs/subscriptions.html | 1 + stable/methoddocs/utils.html | 1 + stable/py-modindex.html | 1 + stable/search.html | 1 + stable/userguides/development.html | 1 + stable/userguides/quickstart.html | 1 + v0.4.2/.buildinfo | 4 + v0.4.2/.doctrees/commands/run.doctree | Bin 0 -> 12690 bytes v0.4.2/.doctrees/environment.pickle | Bin 0 -> 283563 bytes v0.4.2/.doctrees/index.doctree | Bin 0 -> 3675 bytes .../.doctrees/methoddocs/application.doctree | Bin 0 -> 80235 bytes .../.doctrees/methoddocs/exceptions.doctree | Bin 0 -> 109282 bytes .../.doctrees/methoddocs/middlewares.doctree | Bin 0 -> 132458 bytes v0.4.2/.doctrees/methoddocs/runner.doctree | Bin 0 -> 160090 bytes .../methoddocs/subscriptions.doctree | Bin 0 -> 168083 bytes v0.4.2/.doctrees/methoddocs/utils.doctree | Bin 0 -> 175775 bytes .../.doctrees/userguides/development.doctree | Bin 0 -> 29613 bytes .../.doctrees/userguides/quickstart.doctree | Bin 0 -> 13743 bytes v0.4.2/_sources/commands/run.rst.txt | 6 + v0.4.2/_sources/index.md.txt | 31 + v0.4.2/_sources/methoddocs/application.md.txt | 10 + v0.4.2/_sources/methoddocs/exceptions.md.txt | 7 + v0.4.2/_sources/methoddocs/middlewares.md.txt | 10 + v0.4.2/_sources/methoddocs/runner.md.txt | 10 + .../_sources/methoddocs/subscriptions.md.txt | 10 + v0.4.2/_sources/methoddocs/utils.md.txt | 7 + v0.4.2/_sources/userguides/development.md.txt | 183 ++++ v0.4.2/_sources/userguides/quickstart.md.txt | 2 + .../_sphinx_javascript_frameworks_compat.js | 123 +++ v0.4.2/_static/basic.css | 903 ++++++++++++++++++ v0.4.2/_static/css/badge_only.css | 1 + v0.4.2/_static/css/theme.css | 4 + v0.4.2/_static/custom.css | 311 ++++++ v0.4.2/_static/custom.js | 36 + v0.4.2/_static/doctools.js | 156 +++ v0.4.2/_static/documentation_options.js | 14 + v0.4.2/_static/favicon.ico | Bin 0 -> 20915 bytes v0.4.2/_static/file.png | Bin 0 -> 286 bytes v0.4.2/_static/jquery.js | 2 + v0.4.2/_static/js/badge_only.js | 1 + v0.4.2/_static/js/html5shiv-printshiv.min.js | 4 + v0.4.2/_static/js/html5shiv.min.js | 4 + v0.4.2/_static/js/theme.js | 1 + v0.4.2/_static/language_data.js | 199 ++++ v0.4.2/_static/logo.gif | Bin 0 -> 11889 bytes v0.4.2/_static/minus.png | Bin 0 -> 90 bytes v0.4.2/_static/plus.png | Bin 0 -> 90 bytes v0.4.2/_static/pygments.css | 75 ++ v0.4.2/_static/searchtools.js | 566 +++++++++++ v0.4.2/_static/sphinx_highlight.js | 144 +++ v0.4.2/commands/run.html | 214 +++++ v0.4.2/genindex.html | 470 +++++++++ v0.4.2/index.html | 173 ++++ v0.4.2/methoddocs/application.html | 278 ++++++ v0.4.2/methoddocs/exceptions.html | 218 +++++ v0.4.2/methoddocs/middlewares.html | 215 +++++ v0.4.2/methoddocs/runner.html | 216 +++++ v0.4.2/methoddocs/subscriptions.html | 163 ++++ v0.4.2/methoddocs/utils.html | 165 ++++ v0.4.2/objects.inv | Bin 0 -> 886 bytes v0.4.2/py-modindex.html | 192 ++++ v0.4.2/search.html | 162 ++++ v0.4.2/searchindex.js | 1 + v0.4.2/userguides/development.html | 328 +++++++ v0.4.2/userguides/quickstart.html | 224 +++++ 80 files changed, 5857 insertions(+), 1 deletion(-) create mode 100644 v0.4.2/.buildinfo create mode 100644 v0.4.2/.doctrees/commands/run.doctree create mode 100644 v0.4.2/.doctrees/environment.pickle create mode 100644 v0.4.2/.doctrees/index.doctree create mode 100644 v0.4.2/.doctrees/methoddocs/application.doctree create mode 100644 v0.4.2/.doctrees/methoddocs/exceptions.doctree create mode 100644 v0.4.2/.doctrees/methoddocs/middlewares.doctree create mode 100644 v0.4.2/.doctrees/methoddocs/runner.doctree create mode 100644 v0.4.2/.doctrees/methoddocs/subscriptions.doctree create mode 100644 v0.4.2/.doctrees/methoddocs/utils.doctree create mode 100644 v0.4.2/.doctrees/userguides/development.doctree create mode 100644 v0.4.2/.doctrees/userguides/quickstart.doctree create mode 100644 v0.4.2/_sources/commands/run.rst.txt create mode 100644 v0.4.2/_sources/index.md.txt create mode 100644 v0.4.2/_sources/methoddocs/application.md.txt create mode 100644 v0.4.2/_sources/methoddocs/exceptions.md.txt create mode 100644 v0.4.2/_sources/methoddocs/middlewares.md.txt create mode 100644 v0.4.2/_sources/methoddocs/runner.md.txt create mode 100644 v0.4.2/_sources/methoddocs/subscriptions.md.txt create mode 100644 v0.4.2/_sources/methoddocs/utils.md.txt create mode 100644 v0.4.2/_sources/userguides/development.md.txt create mode 100644 v0.4.2/_sources/userguides/quickstart.md.txt create mode 100644 v0.4.2/_static/_sphinx_javascript_frameworks_compat.js create mode 100644 v0.4.2/_static/basic.css create mode 100644 v0.4.2/_static/css/badge_only.css create mode 100644 v0.4.2/_static/css/theme.css create mode 100644 v0.4.2/_static/custom.css create mode 100644 v0.4.2/_static/custom.js create mode 100644 v0.4.2/_static/doctools.js create mode 100644 v0.4.2/_static/documentation_options.js create mode 100644 v0.4.2/_static/favicon.ico create mode 100644 v0.4.2/_static/file.png create mode 100644 v0.4.2/_static/jquery.js create mode 100644 v0.4.2/_static/js/badge_only.js create mode 100644 v0.4.2/_static/js/html5shiv-printshiv.min.js create mode 100644 v0.4.2/_static/js/html5shiv.min.js create mode 100644 v0.4.2/_static/js/theme.js create mode 100644 v0.4.2/_static/language_data.js create mode 100644 v0.4.2/_static/logo.gif create mode 100644 v0.4.2/_static/minus.png create mode 100644 v0.4.2/_static/plus.png create mode 100644 v0.4.2/_static/pygments.css create mode 100644 v0.4.2/_static/searchtools.js create mode 100644 v0.4.2/_static/sphinx_highlight.js create mode 100644 v0.4.2/commands/run.html create mode 100644 v0.4.2/genindex.html create mode 100644 v0.4.2/index.html create mode 100644 v0.4.2/methoddocs/application.html create mode 100644 v0.4.2/methoddocs/exceptions.html create mode 100644 v0.4.2/methoddocs/middlewares.html create mode 100644 v0.4.2/methoddocs/runner.html create mode 100644 v0.4.2/methoddocs/subscriptions.html create mode 100644 v0.4.2/methoddocs/utils.html create mode 100644 v0.4.2/objects.inv create mode 100644 v0.4.2/py-modindex.html create mode 100644 v0.4.2/search.html create mode 100644 v0.4.2/searchindex.js create mode 100644 v0.4.2/userguides/development.html create mode 100644 v0.4.2/userguides/quickstart.html diff --git a/stable/.buildinfo b/stable/.buildinfo index 45dd78d1..9fd9dece 100644 --- a/stable/.buildinfo +++ b/stable/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 7709a2c4c8d5f5fccff2b8a4f048b483 +config: f2176692c8654de9932294a817dfb88c tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/stable/.doctrees/environment.pickle b/stable/.doctrees/environment.pickle index 72bc0a41a1a70b5f7fc28e5e75d26e8363dbcbaa..51f14e71886a535d8f842a30d1ddf74ca7fb8068 100644 GIT binary patch delta 3072 zcmY*bYgAO%73SQtdC#abfH3$%9>ZgJza>5Z1x5z&QMGv>J`lwlg+yRQv{a2o7pqv& zJF;uTTJ6$Qn_3?!n!DPjOF>1gHfmmKt*uRLG}fxg>Pk?fcAs;Hsr;Gm`}RJ2pMCb6 zyYJn<&$54?rE@3Ce6Ne!!%Ve}D_1URSkjcXs-?l*;k&$HN!@Dguze&8!)LpAm^M2; zQj3Zot&MMs2z%`>U~DRcm{s#(UMWKNhHoUbVc&PfhYF z_5LO`&g7M^e$cEvOezZ$n{IO_bQEhWD^I)bFtfRm%}j~Xwk3~ab37_6cu8GtUyV66nqSR9DL5jb&Kh31^v{$snS*6-nsgV+e9nzz<|6~S=6k2-v*uYNN z2~SdOTE+x6Nfg5uEw0tJXT0+N;(cZDnmu#8x5zlnkzv!q(}&B9g;~*>Idcr}RO7Yo z)JpBwSvHMqJF*IcJ7r5nk7_*U9;R8cb6A{KmYqSrt=Vs}=$>cUw~O&ew&LtbTV2Ok zOwZ2Ne+gK-R;qvgsK?Jw^jduzd#|u?Ja&cUbrmr)7Cci-`0RaVB4t9y3~uhRZ#pxM z*?aEq`7WN|*15L>2{wKj7fkT(jq0_Ud!tjYtY(%l?cN@X-uODJ50vco8n)G7n>VrB zW@%fugMDb&YP#7U43@ZeaNX%ctkWvj)%USdBjVTv_CKGzQizVp6Pr5`(@?6I(Ty|!QZVIU?RQJi?>6u0W37nLXRcxnT8>Mso_E85Yw znmKjzoBU6cSqz>#&Qnn9<)LWm<-yE>5xsmYOTat=%oXP#n0hpR%`#xU>CSmBT}wLWRk}p;ibc@6=0ziGiUm6-@qhO@fI* zp{^H9_Ij&eVnC=r7fcKXb)R5yf*m2&(gDphyWFBVVpgdK%sxJe8>Gfb0d!xZB4HH% z^)%m$hhxElZI^h6{>~Y0VnSQ>zO%fRVGxH#*`NLAcop8@5Q}5Z^Y>Vce&IZiq~}7v z^A`hsFYpeAUxz>=b!r7xM}S4AoLiWnR&;#H%~*Mj+qA8R0x&5Tg7m77`EJ9jE1zx&ebCZED6zcX_a0d7FRc@#oy(UwLTyUH;TV z3-5X9%m-e&@EiWUXFi zYnY%GOuNg6;ppiQrJsDne`gr=E#LDnMf&vvPkE$4k6wXH1x*8VPveBhyT{b8kISU(8_I-Xo`AsG5Sbe|cb72JKA=i@K4AWvLzJJyTC5ia<4u$7b3sUo4R`mzjI z=%H6Lz0{R08Y~ysa^aSTTJzyc4-G1S8V_Cbf|uTz2pd?Tcu-x6911QbCxRSathE&F#=p%KL0K=O}PD&p_pdqy~!|Vo%kl{R0{&+XMxPwsm>pwT85}M zhN#vdYV8o!Hbkv^UbS?Xm#t`Ayr8*J@0|jd8H>hUMKC2m6f@tg+VMsa74hu%&&s*Ex_a9J6Y5ganq<1#2ARpgW@-*iGIwdAOimL%X4C(I$3J)KHPz`fI9 zCc$^psfJh_Sq}LGGsCS9EoK8nv$3 zy}_;aq?0s?OT^DzlqeC$RnUKuh%Z+_-Z=R-8XM^2Q(s+QZG_B=ppYb|ah}5!Fop{H zP(Uo+6%da>l>~{HP)VgnV_PMJ+vKY!5`26%yVc1Qs}}f59*qaQ?yH7Lx>Ni-?(1H6 ct6`Gv>w|7{)nM|A&$;LN8`1itDroTiAKtdls{jB1 delta 3089 zcmY*bYgAO%6`pg?0eQ?QGlINC(ShMH$N&NopMU}*1E{GI<3c4OK5mhz0UFQ{L9H%U za7nx)yJ=~4X@YHyVhVbbtY#_rjy9S$iJ-MLHZP6KCTW*J6Q%o{dzmFanD6`cK6{^i z_C0rB4j(cfK4fm&OH$u%r#7XpAx!DAg(#C6!*W|gHdNNGbFW_QuBdTT)>l;iqISKz zy2jHQ^pw4>c6}9^j1}$;8(yehUE_GMuG-V;v%Y$DWxYq4*%&FchQQG4G(@>>i|DS3 zljxQ>YA_V!4D9OothQm39Pd?iGhUJHUiJIi>*ZLlIyg5(j`6BLM9-0}UUf9AS5EM% zo>|*vn^zql+9pr-Dz$6BoM`mQceeH^4-*TBUFk?(q`a9lmgFkLF->W*o5(U`dCICO zp~}ZePNg$tj1rU@r0hr=qufjhQ1(n&M3&%+BIUY0PXeB2(U)kpvr4&1iN^pu>#B`=i zkXp4`?j(nb{g0;k(>B>UTr=9jX(;Zsu}TV2hEgVZi!4tqRm!JMQU=nZ6eIqfNPSL; zPR$-p;@>8^hSexdQ*)G+Qzt7uj(jD5YItCq=pe6ig{aedqrQ@m`0l+8UvSvGS*Xum?)C+rGU5bx6EU{u5ED!vl8i8PLMS8H7f@5T zZTp3Zuwo-IcMl!>Do$fRTzb`CW6CEXff{@FR?%iS+f1EmaTzg(kXUu)MpEyO*uRPV zj^i)4lR*=rdk^_1*Cid~1CHUHnqTcA`z@%K_K{M)uImc;_3w z(+9|;XmG5O%<7tlq*>DF;E&`lS-$+r$-jl(ei8~N`-vTPe~M?ipDCrQGc%-Bp~R~0 zE0RLTBC0E;dI>RQmGn&#;`rT?DHh(lf*ZbZLMl;D_DBcKBtfk>Cq3t{c(ysA=Pb3T z!B?fnalZV*KE03n{Ge3T0_H)Rvbt`CK`xN1Pv{t=CVXHL^>=sZWQ&~chpz>YJ*Zsc8E3NQAd zeSC%#4t-}Z=(V#b?Puv4_?|n;gBjL;mS&U5d@Fc$P_je$Ib3Mr`7WNLvX~e094t}H z3b}|gJ}2boIpZ@zUc(uGx8xem#Di+$jL!vm7iWAX$iLxCwD%BaiQLwMtge;S;*|67 zX7KSOA2AsW3C%*oEI+)y(Ge^XuAir!Fvr5o(D)G@tG;o88VT1HweKRWAYdG%Zqc8^ zmuLxeJfYe`h`LPQCh_W(%QOOC67}w1HT1bcTL~QcH+5qht6=2=YF07vPQvL#D850% zm0ewakeJB=)RMo`1HxfZrBCQ6iLbG!k=N*B-I_Q+nQqO#K?5}kN1sp=&lCm8Im8bZ z<}p7NZqj}|sQF*?6+Os&o3;}ubTBu6j8=H&bLwo*8b0frpVL}`(xTeGq=SM1?r4Hp z_h_J6{5Abl^Jd(ocQlrAk3P{@_WfbD@Y`Wl{yqIk^H%?lekT}U<}m2$CS%lJKfv7} zfHK}0agoAc-yn6uEy`llz=w1b;nWO{dvr96pUHKV%oCmJFNzk1{ejnL@v zewHRd>?P{fZsQ)xO5ouo8ly7CHWE(F>JA_FzD^g9V%3tcLeOp8 z$D>%aPBSL5N}awH&19X%PiEOV-DG8%I_-;L-{|zDjScGbVmvF1~Uq|?+SwoRw! zrm*bQajV0MbAE(UMU+EiAK>tk53dLxak&}nfxdrwe{8lK6%(y1kj zeW}xc>E5+3&tPS`_3lj8OtSe4>ypH9a1k*XT>fG#xB|pXaQTRV;PMsI09W!+;G$v< zxJ+^)9G=Z`aird#%@%Lr|BkfD)BVI}TI6h#myb|&Bh*VHRKp0hd4y^lp|(7&>RL@} ztK6$r*1FZ+IqVuCaqxN$o8!leS?-bTa4UypkXRU(%cheUSd_~q;efBnWwu~G;Fjam z>PW_^^(XwP#2J4imxcQAF^9p4a5uNpC9=SUOrB<8`Zo4p% z4JH=hGqJ(4A~tQJ_$p2CHyGBHtt-<)O2aTD(W#y1SP_fDfu%6Y!hLhtZ7LZ~e)TE$ Ol2KZ;I;(_L`}`m1x!IZk diff --git a/stable/.doctrees/methoddocs/application.doctree b/stable/.doctrees/methoddocs/application.doctree index bd0084951d2d145e773546a02df0c3091cca75cb..69836cd477f49d7635629566401e38b64c091ec1 100644 GIT binary patch delta 714 zcmaF;iRJYtmJI@OlOF{|Onxut%IGjzP|kQVuOk2ClHf3=9y>5MK#^xMzntsjiSizk zP2^)IZ-t>i>j8c<}f+Hpe%f(H$3YLNUr6MS6a#*nJ2UKI!VdB8UiBFAFDB_Ag8}03rgGZG_3{ Ot`}z%+U&YstqTD9t>z*C delta 748 zcmaF;iRJYtmJI@OjE>VcDls}veiGy}IX_5va-o9VWT8OU$JrAG`&EH^VHB`38!u_(28%H((L5?Vb1NV26RnK{K%dU%ra zb8{2(Qou$`>0!;xOG&MmGWkNg^khCi+0BdnelTi^voSEZJKpS_^RT3{DoX;+E48l6 z%4UMe&3lwN`AC4@B*mD?f`M+RzMQ;1P=2y=a2D8)O+hk~*9OZ@elHh3`BZQ^qxj_B zX8p+uq0*acLIm^~B{ugqn==Bbqb<`xRBW3#h$?N@XJeF@ytFqGsNsLF50L%8S8TG) zB&o?YeKWa1Zp<>`1`-mJ75e3XYV7;Z0!iKp4}s+S2|t-6*d_-~3j%5g0BY@>Gy_Pg zP5uTXWv2ki%_37L@N(UDvC10RZuj`F#KY diff --git a/stable/.doctrees/methoddocs/exceptions.doctree b/stable/.doctrees/methoddocs/exceptions.doctree index 0d1e116f58a1f35e92880ed527b2d953a90bbf08..4e6438c1263c15d84f5b4ef1f6df9ec99d218999 100644 GIT binary patch delta 1010 zcmY*WT}V@57~U&6f97;$vHaQA57A0ev|^Y_CH}BxH@cP-D%1U*bThY63Ux-uX|mIH z^jn>RAgJp=7UDYwj^I$l25N% zpeFvsvaKf#K{XkgEhe5|bt$`d!0vZ>Z8mS8ugVwb_4N(82mNlZ$4BymrNyi&%?|k8 z{k|CaOqXO+uR$h@KMHPufzFr7TF-upJZ`M^)l$KfsyS3hF)3xv|1Q-eGCONNki}cA zd7>YU>Dk7q4nv{M>bLvd1NO?n;TU^?1Ve4)R7gQ=qdG!|ELrTOsSYD?GR34hR1VEp zLCm8n@{;Ky%qT^yAx$19J%K+YTcJ{nXvubaC-ICqfhN|Os(AMJP%{;C7CK=Ygfo*}e2;VXjP z1%I&`gGc!`Hw+_RaKn9s9t!>-Sgwd5obQJ^;G+(x5YvwED+6$mKkR~?LX!u|K%~3) z)f=D`ZhFC*(88}lm`GA~2$*^g`>)f($(<{buvR4GE{Abs>@If=_KsW$?rbH!%5V%XtK1g4c@+Y?et6BzPEp&d`P5QQ@cIUHCJx;bb< zc)~#&!a4^gg!)P7K;R~&f^U;}14htI!J90M{)j;UpXJsVV2NW{dSd7vg#B)~^ sNSx*)Df?|AB-vVJ(teS$sYFP!7ysKoQ}(Mgy9IZQ57C159?b9l2e)fboB#j- delta 1011 zcmY+BUr19?9LM+5+C*Kg{QqymdapA^m||(lwK52xYrCZ@b%Wcei-TTn@Y4$@SQ}IZv2>0}4e*6X*K84yPwf zzV_u3Q=ovP298D^2R6YNOjRgqPk$bnSoQY$c_F5JrdzxiQ;*gh@|9aVC#$o_LVvA_ z`D5V{vLTp>U&w$eVi1fecAJ;;I$Rw2Av8k`D`jBG*5b5zJe)`0*&7ZO>h;u64Ecb8 z2J%VUzy;DAY$PK>VRC_9PgYfV$>C4~9<3odL8F%B-q=v(- zfe^7x8v*ekN*N3wZREB-JtEEi$pJAk{K;I1So&3`LKOcUP609cY!}R0 zL7*LWI07P_u){ee8&JE3ZnT1qrg2b$b~y))XpeC4A&c3(MvEUdJHCjmMB3E~S_o39 z6`oV88}?C48+>G|{j{PT*6|Ls4%2!E^x}Hn0rwGB9)2S%*BPSconQj&va|6J{o;bl z7_z(rO3{d3b3-5FN+&#Iyx9#BW4ae8B#Eh1BSI0atb(HGvJYCARow$m8Nc6vRmS&z zc%s?Me!-k1=Qjg}_YXrI=9n9XhCcRF62G}eerS1%#24(1SH}|6@dRZ|P!$Qvl%P(; zD_=<6=5#k(z3wOt!4lvk-J@_ag@w5q#)Q+OFr{X(hvY~@Sn`a)MV!|B7@R_=B(NZw zBshbZl%O85A%PiDIS!W)(ztx!+c=I{jOy;d+a#>6hrx&Kn(jhQp8T{2(iDopFt0m^ w?^>EJuY+_nX207i$+lL#ZNH4!{8mY}7k2EQG5d9#eHLeoje=3_J($b<4=FlUKmY&$ diff --git a/stable/.doctrees/methoddocs/middlewares.doctree b/stable/.doctrees/methoddocs/middlewares.doctree index ad9fdddb96356071c1738c116db42150841fdb17..7233b09ab0001d69187b92f29cd00234701908dc 100644 GIT binary patch delta 1862 zcmZ`&e@v8h80TZ+9mk1>lz@6CaPxL@7)qv{z~P-D&ckR5VLB!%OnH$X$wB3C<_eVa z(?AO#koQbxTbCvYG-y=L~{qugF&-45HJkNXE ztG(^jUP#ojdl_rlNoNczS@9CvuiMNLb;WS9#K>ouA#zoCt*2~P4Xe`IS!R}wY^zz` z3JudaX9ha-2cJM%V7cMGHCeyCs-j|RWl2ry?%GP(7hYCbQu?awi>@g3?5rv&soE|K zm8H97w#5_2ZrbBnr+qGSyb>4VGlV#aYBEc<&t@;%V*`)uy~s|Q8Wxu09BF>nwYbJE znI~A<{3yvX!SZ!CB-;ern07_7POzf28a9@m6QO$hWvkD{?q@8ED%t8O^^{eVK3)Bq z>?>d$j$Bsmh-6EhGnnu7DE6^qBg=QXS!+fNt8>gnwi?75G7YT2xt1-@jA31w5TB z;2*wP%$C$IQrgUDFtFy~XeD(C3N%7GmX19^DPbjsbVB#*I`jl}{RKD^l>29k+X>7 zcY85Ix%xKNjVosy!*qWA3?g}IALb~#PGMQlqFj83)+Hj9l+)NF#CgJ1x%?isjmMKI zjt}Hvma_W;-LPH85E{A({v%J4ZvK^3F9?KGm4(T`9Z zXrN}^-i7>q>h4>l zZmsyiL_mvleG>a^5_>R-J)Fe;n8f~?#KuBdt#A5{T~*t*c&e1@i}((7J8KkVY1L+m zWXZz)3ZA8l{anFvSU>p`w-B#BsYx{0Bp%cx-qS?S8T*XJYvH-wSV3^O8!r;v=*B97 z1wF!6*8?}P;T~)tnAMB*1ZBNQPY@SB5qWaF25DXoo% z_faAnU*AWEYU53P$RW7WM`>-`*pD2&_+jKZ6d6C4@9)8r{9Yg3j=vv?t}C z(pjipWVn$3qyHsD|8r0l{(RbFe_v1*`X58|--hUyX&(EhXk3pAw}cqp2+AT+*Z=6X bbOY3MlHwZ1@mN@ukrB+FLO6B}Hqc9X delta 1878 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 diff --git a/stable/.doctrees/methoddocs/utils.doctree b/stable/.doctrees/methoddocs/utils.doctree index 4b5f2abe2fcceb20a49b11afa2ad04d7235542a6..929ab0f5f55b8044147d903c6a24ddd0e7a4a0f8 100644 GIT binary patch delta 2614 zcmY*ZeNa@_73Ur+%d+g^qD8(WQLAEUM3_{IN)S*H-YzVHASQeTHpmlpjl1h7y5N3f zmuz(9t{gBQYTJy{)+R=#^O9Jq8RN7`#x!kanzU1zPMgLw?M#!2HDl8>J@>tJg@4}p zosWC(Ip_V(IWwJlW;*q3CSO(GHJVvA`CMjb4l9{lk@IE2%Cv6hz(ALy$5ph~eWwEPN9!h8>%S^H_p*5v`D2Ec-j*{QVfrQpp ztCNQlT6gw;WPd{Iy}V8iCbYixWKSfm$G*o-smbH5E&WTt-q>`6suH_r6 zjchxi&Ae06&9(2dJKX%A)yr6uYWvh`=9i>ee%Lafzq>V$Z5C(rJzegu?*1;9i~mGw z;8;DMo43k*k9Cngs^(3%^Lbly$db>0ShG_nvKO|Oq;}G`h?lrYO5=~!KFqJzZQ+*M z994EoE4i&sub$;nKHVlNy?fhvODSh{8(HJsY*XD`uHCEl9E?ToC41bO7f<**yrM3P z|DbM(NNi42_Vcf6tlUtaEo|%|QHa6r@C=9xqH>V0sK3d)lj*jRA~wX+ZAFuBcvBb~ zn*8k$3Lzg`D8w$K9`Y4;xAKGIugsT?@J-^>O zI)D3|S;;74t8^-A*u)w&^fQU=NL6k5%`B$buC=it4K>;C#=YFnm`RO$^AP(;ucFud z?5d6h#4CI%oQA8$S(@@jgngF90?Os*Ss{?Td7hmu#Nh~A%|DrwhQIid>6AC$W$&5s z)#sU6x%4--!lc1ZK4$)RSRszPbJN!)r%L8vt%r@LLsJzV_qw4 zq6gI*uLNKzer2T_uL;*XA;`s+Iw*ZaOrbnkOdm0U@>PMvRLD035|bzYK_J0f`KCaE zhw?3f#I(t*gg#=@WD_Azo+eW~woNb0&CSZng zqXissXl;dX9DckLym5H&5eRA!2c2M4^4no3?z-3ku{dn*f_LIkhG8(`R0pIf4c!0? zKip0UP}}dvU-nP}Cz>H&$+d%t;n!`Dfs}v|pW6!tRF1NA<nJJXne1=CFv?k6Z%u+X$;^J*o%^^1|U^FKuJm42{!G1VT63=wd zulcEmD!+P>85P|@*dg4VhX5JATh8cZ!v1474OXB^)0!G1=xCGIpL(Y6(Rw!2rZ2|_v(dInN`M(ke?_o43zBGc{w zWkIZNz^ouuQXU2~6VQyMUN9-n5op(RLj!jibjOh3c_j|!fF@7Y7@e055j5-!gS#JNwDbDTwBTH%kCNL5+BCVarho}>aB6uKq6&=k{iZN6HrFt z*aTFNczpsMBvRg)pqKqvewq>wV*6<*B{6=QB7^w5(-h)E!_%;cl3OW60INxqsTs&hFK)7tPPW vLe2eGiZL>>bB0EB>Akq~wxd?BpCr4)kf({-0% zSiLI;jES*LrZHm@?Y8qxlhT+*CrzDnoMxtJGi7X>HmQ9~W38Ihru5wJ+phA@_xqi5 z?z#7zbI-Zo@r8ur3kfe|@ScoHzPO?%@_a^M87qn0n|-s8FS-orQ~D=tjy}89YVX}! zG&DRoXd4Rix4l_>p~k?^)THx*noK@Xlf%t5#gS_@pEIX#xkj_4`ZouU{oXM;Chd<& z!{rlFASONkhknTulfGNCLUPBXmseIvu9)}3?G5vR`t>Zp7aLo-uHma}GiMp=Q>;A>o1^~;+uA*&;i(;@s^jMyGFhE4a(lxa z+-ka$mzc8nwT4#yS^YMi(~!&kjrpvdU#T~xS#7=cA>kWRVxA5c@^VW)FE(ZK7aMml zH{WS7^DbjH+a{Ltcw-9b>v^|X%TG5Yu`We>&RD=VnG$%sDIcOSn3^&~bpe$WX~PY6+`rS+BsC zjI1w#Fr|aNDC9^N3kj^XsrHu#m_CK%H^$iYc)~M2c2SE5K48UsKA41SXIYZ`-W0oH zz`tE%dilajEC*D2<9jT$hPlM){4dLr@FzE!R{r@1>_a_s$=~@CTc1Ms(N&fPgnz%r zJ})5r!~pwpm|r;Iw@aZ;{`G_K<7DQSk8Fl49ovtuH^BoefD28K&ph}a0xUB^I<7TB zB6HyeBPm9NVn8UoVntr+@Kl_m-!VX4xG!8N`S6MnGO(%zQt)R+C`6qZGEr-S&3Mv8 z>=6?*(%#CVvnFW3K4B-Vnl7GxhQ(o}8P?!uMlv|fP>Xk4h`qHRR^yju+ObjWb1?up z*lB^XonrK)NC|z!*hyyv6C)?RFPIoN=_A3!s7ap+CdN$qmtbPVB({z|V!WgjV#8Bk zanRUDlbL9R`!S;#o<@V8l7Fii&IzW+a0^_Gnb1jr}bp`2lxm3%1QRk*!_e4Im|m&qrG33?~acSDwZwG$c?IZZZihhUWc zc?US7baW^9Rf^+wNS5<=fh%e{-3{R=?dXAv(N&3Vii-A5l3RNL7~KG6)`oNgEAd?` zl#(LU0eNzc4N`>FH3aveJi$`sM<0VWq3PR6`JbAgj{Mzj=p>E&P(O?d%k(hh^HbN8 z1j92>Gn4mPbakbyhQ3;B5hwHee-r{cq)1Kfc?>K zhh6S`20moWheaW%(urWY!cqXg6@qV251k6Z2Ij_3L$HeK9e)V!Nf)!(MUgfa(`0th z$3_X&9D>d@q7XqPgP>A|pi+gPQiPyVgP>A^AUT{r1SYNW9Nb92P#Cg!#dNk#dZSFE zDWv1u4nqgMc&{9WT7rKZrUndP1qUNRfK%rO@V6Yc5)_4LdIR`)Sa};K!?20Mz7Qq{ z4;qdr6V!Z!n%aYSgxo#&u_~>ZQKXR>s3Yb4jNsvE>ctb!LT8rpFmH;}X#8Pmz3?4UxexWnAX7DO)ZQ{* oRk;tVW9AawEi+fS51)*gFWqLoBVJkR!xLm?KKVz-;1m7-0H&Hog8%>k diff --git a/stable/commands/run.html b/stable/commands/run.html index 5fa649ab..7020c71b 100644 --- a/stable/commands/run.html +++ b/stable/commands/run.html @@ -50,6 +50,7 @@ + diff --git a/stable/genindex.html b/stable/genindex.html index 482c7e29..df4b79ea 100644 --- a/stable/genindex.html +++ b/stable/genindex.html @@ -47,6 +47,7 @@ + diff --git a/stable/index.html b/stable/index.html index 581f2347..f1a5758a 100644 --- a/stable/index.html +++ b/stable/index.html @@ -49,6 +49,7 @@ + diff --git a/stable/methoddocs/application.html b/stable/methoddocs/application.html index 205dc5d0..fc4ae803 100644 --- a/stable/methoddocs/application.html +++ b/stable/methoddocs/application.html @@ -50,6 +50,7 @@ + diff --git a/stable/methoddocs/exceptions.html b/stable/methoddocs/exceptions.html index 86d22c52..9be884b9 100644 --- a/stable/methoddocs/exceptions.html +++ b/stable/methoddocs/exceptions.html @@ -50,6 +50,7 @@ + diff --git a/stable/methoddocs/middlewares.html b/stable/methoddocs/middlewares.html index e6172f59..cc4e2bff 100644 --- a/stable/methoddocs/middlewares.html +++ b/stable/methoddocs/middlewares.html @@ -50,6 +50,7 @@ + diff --git a/stable/methoddocs/runner.html b/stable/methoddocs/runner.html index 72348f43..2d6f4910 100644 --- a/stable/methoddocs/runner.html +++ b/stable/methoddocs/runner.html @@ -50,6 +50,7 @@ + diff --git a/stable/methoddocs/subscriptions.html b/stable/methoddocs/subscriptions.html index a5f779c9..23ebe96a 100644 --- a/stable/methoddocs/subscriptions.html +++ b/stable/methoddocs/subscriptions.html @@ -50,6 +50,7 @@ + diff --git a/stable/methoddocs/utils.html b/stable/methoddocs/utils.html index efdec18d..2db2236b 100644 --- a/stable/methoddocs/utils.html +++ b/stable/methoddocs/utils.html @@ -49,6 +49,7 @@ + diff --git a/stable/py-modindex.html b/stable/py-modindex.html index 25cc6645..5eafd163 100644 --- a/stable/py-modindex.html +++ b/stable/py-modindex.html @@ -50,6 +50,7 @@ + diff --git a/stable/search.html b/stable/search.html index e82b35c8..87f4e6be 100644 --- a/stable/search.html +++ b/stable/search.html @@ -50,6 +50,7 @@ + diff --git a/stable/userguides/development.html b/stable/userguides/development.html index c2c272de..c6d67bab 100644 --- a/stable/userguides/development.html +++ b/stable/userguides/development.html @@ -50,6 +50,7 @@ + diff --git a/stable/userguides/quickstart.html b/stable/userguides/quickstart.html index 77447387..66429b6f 100644 --- a/stable/userguides/quickstart.html +++ b/stable/userguides/quickstart.html @@ -50,6 +50,7 @@ + diff --git a/v0.4.2/.buildinfo b/v0.4.2/.buildinfo new file mode 100644 index 00000000..9fd9dece --- /dev/null +++ b/v0.4.2/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: f2176692c8654de9932294a817dfb88c +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v0.4.2/.doctrees/commands/run.doctree b/v0.4.2/.doctrees/commands/run.doctree new file mode 100644 index 0000000000000000000000000000000000000000..c18b9debe47453a2d4f4966a19021e159591fb91 GIT binary patch literal 12690 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 literal 0 HcmV?d00001 diff --git a/v0.4.2/.doctrees/environment.pickle b/v0.4.2/.doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..51f14e71886a535d8f842a30d1ddf74ca7fb8068 GIT binary patch literal 283563 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 N3`-VL_*BP-{y$KFbRGZz literal 0 HcmV?d00001 diff --git a/v0.4.2/.doctrees/index.doctree b/v0.4.2/.doctrees/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..b64f39f943cf19325704cb07e835996681acd63a GIT binary patch literal 3675 zcmcgv-)|hZ5tb~SbSLRfl2f?>Y_$%GG!AO%jI;%c0xgOrXqqY!j5G=QVk~&OycYxO_3 zZ%Puy{FG%`p)zi~>t`yha$Z>fjeq+~f9)T+fo7LRRXXL~twAFtAv4Vj|IE8lP`5&w z)8_oP;i(m>Xpd8mwrKmAe?$Yd~87xFpR6P8{)d{3pu2UTcpe!}PB3NI_X z@bOk#CBq%8r$aYL+Dp@h+iLE5?lz?;xIeEZ%)hKF!;)IwgL4lH>o?h z)T}JI_N<$xaQTw!@zeFzmcxByn(X|Itzo1_}Lo)YJ&zu#R39vwV8NG+9 za7MoYWZrkfcR&2#;m3T6m8O2d_x%j!)ko=$^RuD z0OwxLEvc-AFfu7c%IabV)kjEm`M;%_x9|hC zwj^*8(gqAPUE1Ax*lab88?Lbvc?GDxPaBaTZlk&jxt8tdaX7o~Mrox3FD5Mu?ky#e z4PD=GYeg{w*&o7tWbdg~h2`KMxAhs570R@vf7(BHgBb_6F{?DnJ;)eX)Uv$9VmG=; zVEY2gon~2SiPaF@mjw0-Hy3QNh7!{MBK(;`xprJX-AsJZBQXYcxU%Qbg%E~5aVwFM5yFq2ACqFwe0^bjAZzf!8 zr4s@xNDvVUhuBh!7fx07wv}FO#k=E`ofQ-GcQ=YgZ!WMr`r!7)%1L(+0x-xDAwLoU zc{h}-m{n}Xk?suZJK$>fn&zp}Spt>^IN&C{ByLhWxvrQubkl6fBRbin7OGCb*?tRa%x zl!z3c{h?Di0h0sbR@0WytRvV7d!z3>Gmc*O$opuE9ahI;Sf zHENf@=V53mz^0f1g;M0g`i~CYa-))$36c`&Jp{8CBol_aht6=XleMM!`FISmIW23F zI#qf$_Um z^!%7?F5zro*#s?=g%`Zm*T9skC`w_ zG2Pjd@P!$7;J&-6Dhg3Qs4eaG-1<9l8on34;@FEP;ooLu$O+GZd&vh|&Vu1t_-7by z5W(TiO>$Ax!!Z48Io!DQC#}CHt-sHA*Voow>GBoEUgflMcW=cS=jt$nzjSB%$E$Am z`3`PSh3rq4XWdqy9Axqu18xw;Z~B(Jaf2YRS0yTX?djWvp*Qfqr#<6_U2xZ@hp9k| zgmS@Rlmrf2>cz5lB~cFFITCEI?fRll<$Y_$isEDn}l>qB>M*^d)B$mM9&RvL=1Rhx8DsogZvu=|H6L^w!q&>;2r#BW6&SbVN0~P#JjDyhWKtX hrlX~10o^-UcnccZ40DOw$*&9^Pg!A>xc1fL^gnyHrE&lO literal 0 HcmV?d00001 diff --git a/v0.4.2/.doctrees/methoddocs/application.doctree b/v0.4.2/.doctrees/methoddocs/application.doctree new file mode 100644 index 0000000000000000000000000000000000000000..69836cd477f49d7635629566401e38b64c091ec1 GIT binary patch literal 80235 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 CyBnPV literal 0 HcmV?d00001 diff --git a/v0.4.2/.doctrees/methoddocs/exceptions.doctree b/v0.4.2/.doctrees/methoddocs/exceptions.doctree new file mode 100644 index 0000000000000000000000000000000000000000..4e6438c1263c15d84f5b4ef1f6df9ec99d218999 GIT binary patch literal 109282 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 N*fj1^KQPV6{|701+|U33 literal 0 HcmV?d00001 diff --git a/v0.4.2/.doctrees/methoddocs/middlewares.doctree b/v0.4.2/.doctrees/methoddocs/middlewares.doctree new file mode 100644 index 0000000000000000000000000000000000000000..7233b09ab0001d69187b92f29cd00234701908dc GIT binary patch literal 132458 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

JnKWH6rkOU+>=LG- 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 literal 0 HcmV?d00001 diff --git a/v0.4.2/.doctrees/methoddocs/runner.doctree b/v0.4.2/.doctrees/methoddocs/runner.doctree new file mode 100644 index 0000000000000000000000000000000000000000..6c010c01298a8fbd04edbd7a4e5cef321ac5cf6e GIT binary patch literal 160090 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 literal 0 HcmV?d00001 diff --git a/v0.4.2/.doctrees/methoddocs/subscriptions.doctree b/v0.4.2/.doctrees/methoddocs/subscriptions.doctree new file mode 100644 index 0000000000000000000000000000000000000000..aca7fd818d8fb617291b22c49fb17139ee9eba4b GIT binary patch literal 168083 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

+mMiTqTDg;pXz(Lh*GiFCd|E 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 PgmKt-dvOpme)RtVc>@$u literal 0 HcmV?d00001 diff --git a/v0.4.2/.doctrees/methoddocs/utils.doctree b/v0.4.2/.doctrees/methoddocs/utils.doctree new file mode 100644 index 0000000000000000000000000000000000000000..929ab0f5f55b8044147d903c6a24ddd0e7a4a0f8 GIT binary patch literal 175775 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

  • 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%0Db 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 literal 0 HcmV?d00001 diff --git a/v0.4.2/.doctrees/userguides/development.doctree b/v0.4.2/.doctrees/userguides/development.doctree new file mode 100644 index 0000000000000000000000000000000000000000..dd0974a2231387ebfe14213381a6adc332db1555 GIT binary patch literal 29613 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≤ZiOqWuISPZOnQ~Sc zZ;F(@7`K=f%&!!>HB_;z{y9B;>dG~#Thy3Xw{$s<)t%AhUDer7-m~Y&bcCct-$4DWRWs@SVo1GJD@eR`(GXqqo6laFhp50IS}dC8{Y@5yYR(`qAI z#f#0!IAAuaNZox=6Y~3G5%PP2kV}$~-<5@#kZ&A3JcFN95k+CcmK-pNkoUXmqVD&P z#_6|9i?P0)o?u#!*1sw0N9Y}Zx7QK!<%eN}I5AU3nq~40Wp0IJF$E$=!j^R-#WD<8%&>cTO-NdVN0y`$QYW5A zqcN<}6O`=P@Sp;DD@sEdAIcf?;0eb17XlAi4(gl&!1zcB>~U ztCNM2Lp2}^z;#J+)h0{r-&(&4UbO$CNL<vX%;8$=w2Ks(v*GCwKu%<|VM*?JT=rKpmPXw3KHD#A=|-R5b$i z^12Y=UZ$@UlIFThy>wEn$R!tv}{s=a>>`Uz4atQL~j$Z|eltvWmS(Q0Z7PsBUQs{yRHI8AFG^QkcQjFN0(9M9bN6D5w<3c!e}GeZ0_> zp$0)Mtz5}ZY8-46K6Qsqr5>y5?&tWe< z!iQnCJZx!}`wrk_QEuBa%E?g`OusqJ)ref$^IcU|uq!$dH>$DY1T$=5&QOvqcz@ud zQm&jvZjiKjRKn9crhHW-5_!*9*EkQ;LXIn>l82}VVWj!~nqoOT*p_0s>HH!D^ma_= zDom%rzIxU5&*v@z=rqB1-7X8LVK|aKQkg5PRck#=PH8U4ytSc-c}1;OU9pF)_MBwQ zu4v#ZsvmmcGGZgN%LbuHwT~`DgaS@IWg<+~E!mZ;mfk+8>bY9sNr73(J0>17d@53b zul}8>R}UA*t8{1Y4Xrc2J(hly9+OR}AHOLJvwl3z9+MvG8fHN~uJn@u?T_@#f$Dsp zJG%FOKThv?+1R)1e|Tri_h_U#p-5Ha3PrKO4`{;ucxMRL%J?_cJg0SEgjZ-*#!1$!p2{%p0V)#q!dr1s);r7|Zk#dH+PjOayz z_z!u;5MzS&$C{P*9qT9$00ZE%+L+91W8Pg&vqswA!Oo6pu}7Kv$>YUY2Ovb9w@Sw| zV(SJo7nMRVy9nLI77wP87nEBL4o5+TG8Xah-Z?2YUW=%hM(H0LX@)p3^yCL!0Owmic?oqjf#+LWWVuRWMfTNH5P>cv^pMSA`}%2 z<(02cvMoS!Q)2)#k*qy|kH|?|)}qr6efXvj1x|3*05pk*qlH*-$+Im4dcO1)bJrOd z#cFL7xg241N?&e6;VkI^M;My zur{@;aB$T0mOz*y%s8O83h5h|fdcnV!1l?uP7@30z2v76u5388^Ie7K*^^CG=|f#U zbU86%?K?g|Lyf&qP&WoJrh`o+85Bw|FKN+g6zUkPerW3_g%DqnDoeG_3T85=^=SRO zhh{|eO#IM&THl#Ib)ihvTctvZcBjw%+6ScjZ)A4)$;+SZW|*J6{JCK)qla8J!1d3cl;MPU}4$s)I+a*9pMYq~&O4$>{b>S_nN#XDDnSU3Pn5ID_2%AfIs zSfqA8Do*i=DYO%v*JWxY%3M(;v5!k2IFeaTz8CFS=Qik6v2y}KHoz0J_)4d+2oZ+x zLZ*c{HgawGD>}Md^L}a^&D$p%?_=GXSF^?c%5>aZj|!t!(0;`3Y61i*WxkO!LjNF~ z7vKOm!l_LU2M7=&d9ag_15~;UAl#Ly#)+75x=bE0*5{VpqT_)OCtjgs+y?ZpNE1eg z&<|-tH&ipKM4n(2Hn2Y%r4+WtW@&%J-o$;<%xsg5?o)u04>H19V%dSaoK6p3kXeuX;mg*z+J5%zde>spyO)2+hGmiv!!_@(@6QBG@abjT3T|_=u!a>AJ)IH_F2k zQh~>z%aos*mu%F;YPc-dYG80wjU2_q0juie93xE#p9}oc5I$q_69ROS8h4?(t@Y5y z0jN-l>mD-D=+sS_@J_KJm9Qu!iRD8d2u3AIpqh1I=4qO zeQK0<@^$&uq^7M%5;-{g6C_Z zf?Ac`z=M7+ng!W`}Jp%sno!Dar)@3PUXmyI$%z@ zAe43(_PKdH>%ORocx+-EKRvC-)sPR%lEV(27KAS=!jHs}+miR~;A37dKlT16u3cETc%^#b8V;toR=xPt!s6oj)8<6YKLzyjEcwnauoL|^7e<`S$Pouy?y?Xcf9jmr%R;*R5|V3vmjR4C~^kAle?HR-LtpNbYC9Cbc;*m>o9h6&WG$${}*CowAB1@WHkZf-0=}S)|fg9&u)5}4~rA9rZAcwUv*X0qR zd-|mer-m0aaMLFWJvLVOhqR$%Z=NDV&viZiPZw$%3^7%-;u~`Osvo1g4ndXCG&4C! zQfVj$DN6EO8%~#A4wCaT3J1Lfsrtf|Ny|)HbuQ-bXR)5~?F5U_mLlS44{OSPYb?qV zXMIyr_OJSJ)>X|QILUs^ZW3RSN)wJL@>=y7L|YC5dtfQIB;UuBtF)c2R*(OCV~w9o z@3(r!Z*a+5a<_9i3CozPvS#+O8m6J#^z(`=`gzNEzK}&E=Rk3f(SbAatvsabY_suh zZd51u8INO0ZM5C}c%gZ`HV8-C+>h7Y@aevTr7?e*kvmI*xhp$ZPa}HmQ8jMc<2p{vf~4@_umzd%yWgmEdDly`l*%$^!D8O;@u65t0O=r0T=j ztkPQ<=p1&uVj@je%8!C8@cm@>%_^TmtM>YU&eYXhqfj_IOk;>aC>JF1`K1_B>V+Agc!S=WfmeNHZxDyxRv~v{ml?J) zf)0Cxr-&%xHL7@<#)@~dzrar%ZvaIP`M$S}iHTLV+RAMZrVe}YAikW_(lf+iTz z$N82?=XVdE%?`GmHvCjF^N9v?fUeMy1XU7_?1XX^;Bs7%zO*oE&ULbT=}GPYo~$O= zgbnS@?<{fJ<+ncgFz9(OTB#SRrz^Vpx2ft0(GttTgIDpKWCiK@%{hqu9C_r>*d)$L zfD|6A5_(m6?Pny_U8+Tl{7@eqEf@16$ypuHO*fn(N!uMchbfLRM69PUEB3_PvDH_R&T0eR}m@0YO%OOgLoIU0*#05BTa4`uIG3 ze3m{QL*D-CyXfO?I8ayrZ#O<}&__TY9(}CP$N$jBf6>Q>sm@LMNa*7ReSDohzDghe zL?1uIN19DiPm;|xxCAIBJ$^m z5fNnP5v>v|O|vOeNifN$>Ym6$AjKrEkS$Qp3Gpzmi02?QP%5qE(9iV_KYFZiF@Jip ztHw#yDi=E1RX^wacA%v1E!HLP+?ADJspKn_I@$g@-iQE!hUfyV?7b*nwFG&53G9Cj zS{J7)L4T{rEXn)P++cNG-k)D)Rk2@YN<%d@sT7X=;_WPGsKf7)%Sx?H?5B$T6tL{2 I4&o{Q53i61RR910 literal 0 HcmV?d00001 diff --git a/v0.4.2/.doctrees/userguides/quickstart.doctree b/v0.4.2/.doctrees/userguides/quickstart.doctree new file mode 100644 index 0000000000000000000000000000000000000000..12a211a1cfcc2724865bea37cd99e634f90a6b7e GIT binary patch literal 13743 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 Vg8VVQ7~>}~Zh>FJ5OTO|`(FryEfoL& literal 0 HcmV?d00001 diff --git a/v0.4.2/_sources/commands/run.rst.txt b/v0.4.2/_sources/commands/run.rst.txt new file mode 100644 index 00000000..75a12f64 --- /dev/null +++ b/v0.4.2/_sources/commands/run.rst.txt @@ -0,0 +1,6 @@ +run +*** + +.. click:: silverback._cli:run + :prog: run + :nested: none diff --git a/v0.4.2/_sources/index.md.txt b/v0.4.2/_sources/index.md.txt new file mode 100644 index 00000000..d6177851 --- /dev/null +++ b/v0.4.2/_sources/index.md.txt @@ -0,0 +1,31 @@ +# Silverback Docs + +```{eval-rst} +.. toctree:: + :caption: User Guides + :maxdepth: 1 + + userguides/quickstart + userguides/development +``` + +```{eval-rst} +.. toctree:: + :caption: CLI Reference + :maxdepth: 1 + + commands/run.rst +``` + +```{eval-rst} +.. toctree:: + :caption: Python Reference + :maxdepth: 1 + + methoddocs/application.md + methoddocs/runner.md + methoddocs/middlewares.md + methoddocs/subscriptions.md + methoddocs/exceptions.md + methoddocs/utils.md +``` diff --git a/v0.4.2/_sources/methoddocs/application.md.txt b/v0.4.2/_sources/methoddocs/application.md.txt new file mode 100644 index 00000000..7d7d70e5 --- /dev/null +++ b/v0.4.2/_sources/methoddocs/application.md.txt @@ -0,0 +1,10 @@ +# silverback.application + +The `silverback.application` module contains the high-level implementation of the the user's +Silverback application, meant to be used to expose method handlers and other functionality. + +```{eval-rst} +.. automodule:: silverback.application + :members: + :show-inheritance: +``` diff --git a/v0.4.2/_sources/methoddocs/exceptions.md.txt b/v0.4.2/_sources/methoddocs/exceptions.md.txt new file mode 100644 index 00000000..efdf9222 --- /dev/null +++ b/v0.4.2/_sources/methoddocs/exceptions.md.txt @@ -0,0 +1,7 @@ +# silverback.exceptions + +```{eval-rst} +.. automodule:: silverback.exceptions + :members: + :show-inheritance: +``` diff --git a/v0.4.2/_sources/methoddocs/middlewares.md.txt b/v0.4.2/_sources/methoddocs/middlewares.md.txt new file mode 100644 index 00000000..4f76353f --- /dev/null +++ b/v0.4.2/_sources/methoddocs/middlewares.md.txt @@ -0,0 +1,10 @@ +# silverback.middlewares + +The `silverback.middlewares` module contains middleware intended to improve the usability of +silverback as a whole, and add integrations for the silverback platform as well. + +```{eval-rst} +.. automodule:: silverback.middlewares + :members: + :show-inheritance: +``` diff --git a/v0.4.2/_sources/methoddocs/runner.md.txt b/v0.4.2/_sources/methoddocs/runner.md.txt new file mode 100644 index 00000000..b977d057 --- /dev/null +++ b/v0.4.2/_sources/methoddocs/runner.md.txt @@ -0,0 +1,10 @@ +# silverback.runner + +The `silverback.runner` module contains implementations for running Silverback apps in a variety +of different scenarios and trigger methods. + +```{eval-rst} +.. automodule:: silverback.runner + :members: + :show-inheritance: +``` diff --git a/v0.4.2/_sources/methoddocs/subscriptions.md.txt b/v0.4.2/_sources/methoddocs/subscriptions.md.txt new file mode 100644 index 00000000..fdf71f2e --- /dev/null +++ b/v0.4.2/_sources/methoddocs/subscriptions.md.txt @@ -0,0 +1,10 @@ +# silverback.subscriptions + +The `silverback.subscriptions` module contains an implementation of a Websocket subscription queue, +used for connected to an RPC node via websockets that implements the `eth_subscribe` RPC method. + +```{eval-rst} +.. automodule:: silverback.subscriptions + :members: + :show-inheritance: +``` diff --git a/v0.4.2/_sources/methoddocs/utils.md.txt b/v0.4.2/_sources/methoddocs/utils.md.txt new file mode 100644 index 00000000..e04fcf74 --- /dev/null +++ b/v0.4.2/_sources/methoddocs/utils.md.txt @@ -0,0 +1,7 @@ +# silverback.utils + +```{eval-rst} +.. automodule:: silverback.utils + :members: + :show-inheritance: +``` diff --git a/v0.4.2/_sources/userguides/development.md.txt b/v0.4.2/_sources/userguides/development.md.txt new file mode 100644 index 00000000..2ae7a8f7 --- /dev/null +++ b/v0.4.2/_sources/userguides/development.md.txt @@ -0,0 +1,183 @@ +# Developing a Silverback Application + +In this guide, we are going to show you more details on how to build an application with Silverback. + +## Prerequisites + +You should have a python project with Silverback installed. +You can install Silverback via `pip install silverback` + +## Creating an Application + +Creating a Silverback Application is easy, to do so initialize the `silverback.SilverbackApp` class: + +```py +from silverback import SilverbackApp + +app = SilverbackApp() +``` + +The SilverbackApp class handles state and configuration. +Through this class, we can hook up event handlers to be executed each time we encounter a new block or each time a specific event is emitted. +Initializing the app creates a network connection using the Ape configuration of your local project, making it easy to add a Silverback bot to your project in order to perform automation of necessary on-chain interactions required. + +However, by default an app has no configured event handlers, so it won't be very useful. +This is where adding event handlers is useful via the `app.on_` method. +This method lets us specify which event will trigger the execution of our handler as well as which handler to execute. + +## New Block Events + +To add a block handler, you will do the following: + +```py +from ape import chain + +@app.on_(chain.blocks) +def handle_new_block(block): + ... +``` + +Inside of `handle_new_block` you can define any logic that you want to handle each new `block` detected by the silverback client. +You can return any serializable data structure from this function and that will be stored in the results database as a trackable metric for the execution of this handler. +Any errors you raise during this function will get captured by the client, and recorded as a failure to handle this `block`. + +## New Event Logs + +Similarly to blocks, you can handle events emitted by a contract by adding an event handler: + +``` +from ape import Contract + +TOKEN = Contract() + +@app.on_(TOKEN.Transfer) +def handle_token_transfer_events(transfer): + ... +``` + +Inside of `handle_token_transfer_events` you can define any logic that you want to handle each new `transfer` event that gets emitted by `TOKEN.Transfer` detected by the silverback client. +Again, you can return any serializable data structure from this function and that will be stored in the results database as a trackable metric for the execution of this handler. +Any errors you raise during this function will get captured by the client, and recorded as a failure to handle this `transfer` event log. + +## Startup and Shutdown + +### Worker Events + +If you have heavier resources you want to load during startup, or want to initialize things like database connections, you can add a worker startup function like so: + +```py +@app.on_worker_startup() +def handle_on_worker_startup(state): + # Connect to DB, set initial state, etc + ... + +@app.on_worker_shutdown() +def handle_on_worker_shutdown(state): + # cleanup resources, close connections cleanly, etc + ... +``` + +This function comes a parameter `state` that you can use for storing the results of your startup computation or resources that you have provisioned. + +It's import to note that this is useful for ensuring that your workers (of which there can be multiple) have the resources necessary to properly handle any updates you want to make in your handler functions, such as connecting to the Telegram API, an SQL or NoSQL database connection, or something else. **This function will run on every worker process**. + +*New in 0.2.0*: These events moved from `on_startup()` and `on_shutdown()` for clarity. + +#### Worker State + +The `state` variable is also useful as this can be made available to each handler method so other stateful quantities can be maintained for other uses. Each distributed worker has its own instance of state. + +To access the state from a handler, you must annotate `context` as a dependency like so: + +```py +from typing import Annotated +from taskiq import Context, TaskiqDepends + +@app.on_(chain.blocks) +def block_handler(block, context: Annotated[Context, TaskiqDepends()]): + # Access state via context.state + ... +``` + +### Application Events + +You can also add an application startup and shutdown handler that will be **executed once upon every application startup**. This may be useful for things like processing historical events since the application was shutdown or other one-time actions to perform at startup. + +```py +@app.on_startup() +def handle_on_startup(startup_state): + # Process missed events, etc + # process_history(start_block=startup_state.last_block_seen) + # ...or startup_state.last_block_processed + ... + + +@app.on_shutdown() +def handle_on_shutdown(): + # Record final state, etc + ... +``` + +*Changed in 0.2.0*: The behavior of the `@app.on_startup()` decorator and handler signature have changed. It is now executed only once upon application startup and worker events have moved on `@app.on_worker_startup()`. + +## Running your Application + +Once you have programmed your bot, it's really useful to be able to run it locally and validate that it does what you expect it to do. +To run your bot locally, we have included a really useful cli command [`run`](../commands/run) that takes care of connecting to the proper network, configuring signers (using your local Ape accounts), and starting up the application client and in-memory task queue workers. + +```sh +# Run your bot on the Ethereum Sepolia testnet, with your own signer: +$ silverback run my_bot:app --network :sepolia --account acct-name +``` + +It's important to note that signers are optional, if not configured in the application then `app.signer` will be `None`. +You can use this in your application to enable a "test execution" mode, something like this: + +```py +# Compute some metric that might lead to creating a transaction +if app.signer: + # Execute a transaction via `sender=app.signer` +else: + # Log what the transaction *would* have done, had a signer been enabled +``` + +```note +If you configure your application to use a signer, and that signer signs anything given to it, remember that you can lose substational amounts of funds if you deploy this to a production network. +Always test your applications throughly before deploying. +``` + +### Distributed Execution + +Using only the `silverback run ...` command in a defualt configuration executes everything in one process and the job queue is completely in-memory with a shared state. In some high volume environments, you may want to deploy your Silverback application in a distributed configuration using multiple processes to handle the messages at a higher rate. + +The primary components are the client and workers. The client handles Silverback events (blocks and contract event logs) and creates jobs for the workers to process in an asynchronous manner. + +For this to work, you must configure a [TaskIQ broker](https://taskiq-python.github.io/guide/architecture-overview.html#broker) capable of distributed processing. For instance, with [`taskiq_redis`](https://github.com/taskiq-python/taskiq-redis) you could do something like this for the client: + +```bash +export SILVERBACK_BROKER_CLASS="taskiq_redis:ListQueueBroker" +export SILVERBACK_BROKER_URI="redis://127.0.0.1:6379" + +silverback run "example:app" \ + --network :mainnet:alchemy \ + --runner "silverback.runner:WebsocketRunner" +``` + +And then the worker process with 2 worker subprocesses: + +```bash +export SILVERBACK_BROKER_CLASS="taskiq_redis:ListQueueBroker" +export SILVERBACK_BROKER_URI="redis://127.0.0.1:6379" + +silverback worker -w 2 "example:app" +``` + +This will run one client and 2 workers and all queue data will be go through Redis. + +## Testing your Application + +TODO: Add backtesting mode w/ `silverback test` + +## Deploying to the Silverback Platform + +TODO: Add packaging and deployment to the Silverback platform, once available. diff --git a/v0.4.2/_sources/userguides/quickstart.md.txt b/v0.4.2/_sources/userguides/quickstart.md.txt new file mode 100644 index 00000000..c7719d82 --- /dev/null +++ b/v0.4.2/_sources/userguides/quickstart.md.txt @@ -0,0 +1,2 @@ +```{include} ../../README.md +``` diff --git a/v0.4.2/_static/_sphinx_javascript_frameworks_compat.js b/v0.4.2/_static/_sphinx_javascript_frameworks_compat.js new file mode 100644 index 00000000..81415803 --- /dev/null +++ b/v0.4.2/_static/_sphinx_javascript_frameworks_compat.js @@ -0,0 +1,123 @@ +/* Compatability shim for jQuery and underscores.js. + * + * Copyright Sphinx contributors + * Released under the two clause BSD licence + */ + +/** + * small helper function to urldecode strings + * + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL + */ +jQuery.urldecode = function(x) { + if (!x) { + return x + } + return decodeURIComponent(x.replace(/\+/g, ' ')); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s === 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node, addItems) { + if (node.nodeType === 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && + !jQuery(node.parentNode).hasClass(className) && + !jQuery(node.parentNode).hasClass("nohighlight")) { + var span; + var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + 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); + if (isInSVG) { + var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + var bbox = node.parentElement.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute('class', className); + addItems.push({ + "parent": node.parentNode, + "target": rect}); + } + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this, addItems); + }); + } + } + var addItems = []; + var result = this.each(function() { + highlight(this, addItems); + }); + for (var i = 0; i < addItems.length; ++i) { + jQuery(addItems[i].parent).before(addItems[i].target); + } + return result; +}; + +/* + * backward compatibility for jQuery.browser + * This will be supported until firefox bug is fixed. + */ +if (!jQuery.browser) { + jQuery.uaMatch = function(ua) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; + }; + jQuery.browser = {}; + jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; +} diff --git a/v0.4.2/_static/basic.css b/v0.4.2/_static/basic.css new file mode 100644 index 00000000..7577acb1 --- /dev/null +++ b/v0.4.2/_static/basic.css @@ -0,0 +1,903 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/v0.4.2/_static/css/badge_only.css b/v0.4.2/_static/css/badge_only.css new file mode 100644 index 00000000..c718cee4 --- /dev/null +++ b/v0.4.2/_static/css/badge_only.css @@ -0,0 +1 @@ +.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}} \ No newline at end of file diff --git a/v0.4.2/_static/css/theme.css b/v0.4.2/_static/css/theme.css new file mode 100644 index 00000000..19a446a0 --- /dev/null +++ b/v0.4.2/_static/css/theme.css @@ -0,0 +1,4 @@ +html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden],audio:not([controls]){display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;text-decoration:none}ins,mark{color:#000}mark{background:#ff0;font-style:italic;font-weight:700}.rst-content code,.rst-content tt,code,kbd,pre,samp{font-family:monospace,serif;_font-family:courier new,monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:after,q:before{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,ol,ul{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure,form{margin:0}label{cursor:pointer}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{body,html,section{background:none!important}*{box-shadow:none!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}.rst-content .toctree-wrapper>p.caption,h2,h3,p{orphans:3;widows:3}.rst-content .toctree-wrapper>p.caption,h2,h3{page-break-after:avoid}}.btn,.fa:before,.icon:before,.rst-content .admonition,.rst-content .admonition-title:before,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .code-block-caption .headerlink:before,.rst-content .danger,.rst-content .eqno .headerlink:before,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-alert,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before,input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .eqno .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .eqno .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .eqno .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.wy-menu-vertical li.current>a button.pull-right.toctree-expand,.wy-menu-vertical li.on a button.pull-right.toctree-expand,.wy-menu-vertical li button.pull-right.toctree-expand{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.rst-content .admonition-title:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.icon-caret-down:before,.wy-dropdown .caret:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li button.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{font-family:inherit}.fa:before,.icon:before,.rst-content .admonition-title:before,.rst-content .code-block-caption .headerlink:before,.rst-content .eqno .headerlink:before,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before{font-family:FontAwesome;display:inline-block;font-style:normal;font-weight:400;line-height:1;text-decoration:inherit}.rst-content .code-block-caption a .headerlink,.rst-content .eqno a .headerlink,.rst-content a .admonition-title,.rst-content code.download a span:first-child,.rst-content dl dt a .headerlink,.rst-content h1 a .headerlink,.rst-content h2 a .headerlink,.rst-content h3 a .headerlink,.rst-content h4 a .headerlink,.rst-content h5 a .headerlink,.rst-content h6 a .headerlink,.rst-content p.caption a .headerlink,.rst-content p a .headerlink,.rst-content table>caption a .headerlink,.rst-content tt.download a span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li a button.toctree-expand,a .fa,a .icon,a .rst-content .admonition-title,a .rst-content .code-block-caption .headerlink,a .rst-content .eqno .headerlink,a .rst-content code.download span:first-child,a .rst-content dl dt .headerlink,a .rst-content h1 .headerlink,a .rst-content h2 .headerlink,a .rst-content h3 .headerlink,a .rst-content h4 .headerlink,a .rst-content h5 .headerlink,a .rst-content h6 .headerlink,a .rst-content p.caption .headerlink,a .rst-content p .headerlink,a .rst-content table>caption .headerlink,a .rst-content tt.download span:first-child,a .wy-menu-vertical li button.toctree-expand{display:inline-block;text-decoration:inherit}.btn .fa,.btn .icon,.btn .rst-content .admonition-title,.btn .rst-content .code-block-caption .headerlink,.btn .rst-content .eqno .headerlink,.btn .rst-content code.download span:first-child,.btn .rst-content dl dt .headerlink,.btn .rst-content h1 .headerlink,.btn .rst-content h2 .headerlink,.btn .rst-content h3 .headerlink,.btn .rst-content h4 .headerlink,.btn .rst-content h5 .headerlink,.btn .rst-content h6 .headerlink,.btn .rst-content p .headerlink,.btn .rst-content table>caption .headerlink,.btn .rst-content tt.download span:first-child,.btn .wy-menu-vertical li.current>a button.toctree-expand,.btn .wy-menu-vertical li.on a button.toctree-expand,.btn .wy-menu-vertical li button.toctree-expand,.nav .fa,.nav .icon,.nav .rst-content .admonition-title,.nav .rst-content .code-block-caption .headerlink,.nav .rst-content .eqno .headerlink,.nav .rst-content code.download span:first-child,.nav .rst-content dl dt .headerlink,.nav .rst-content h1 .headerlink,.nav .rst-content h2 .headerlink,.nav .rst-content h3 .headerlink,.nav .rst-content h4 .headerlink,.nav .rst-content h5 .headerlink,.nav .rst-content h6 .headerlink,.nav .rst-content p .headerlink,.nav .rst-content table>caption .headerlink,.nav .rst-content tt.download span:first-child,.nav .wy-menu-vertical li.current>a button.toctree-expand,.nav .wy-menu-vertical li.on a button.toctree-expand,.nav .wy-menu-vertical li button.toctree-expand,.rst-content .btn .admonition-title,.rst-content .code-block-caption .btn .headerlink,.rst-content .code-block-caption .nav .headerlink,.rst-content .eqno .btn .headerlink,.rst-content .eqno .nav .headerlink,.rst-content .nav .admonition-title,.rst-content code.download .btn span:first-child,.rst-content code.download .nav span:first-child,.rst-content dl dt .btn .headerlink,.rst-content dl dt .nav .headerlink,.rst-content h1 .btn .headerlink,.rst-content h1 .nav .headerlink,.rst-content h2 .btn .headerlink,.rst-content h2 .nav .headerlink,.rst-content h3 .btn .headerlink,.rst-content h3 .nav .headerlink,.rst-content h4 .btn .headerlink,.rst-content h4 .nav .headerlink,.rst-content h5 .btn .headerlink,.rst-content h5 .nav .headerlink,.rst-content h6 .btn .headerlink,.rst-content h6 .nav .headerlink,.rst-content p .btn .headerlink,.rst-content p .nav .headerlink,.rst-content table>caption .btn .headerlink,.rst-content table>caption .nav .headerlink,.rst-content tt.download .btn span:first-child,.rst-content tt.download .nav span:first-child,.wy-menu-vertical li .btn button.toctree-expand,.wy-menu-vertical li.current>a .btn button.toctree-expand,.wy-menu-vertical li.current>a .nav button.toctree-expand,.wy-menu-vertical li .nav button.toctree-expand,.wy-menu-vertical li.on a .btn button.toctree-expand,.wy-menu-vertical li.on a .nav button.toctree-expand{display:inline}.btn .fa-large.icon,.btn .fa.fa-large,.btn .rst-content .code-block-caption .fa-large.headerlink,.btn .rst-content .eqno .fa-large.headerlink,.btn .rst-content .fa-large.admonition-title,.btn .rst-content code.download span.fa-large:first-child,.btn .rst-content dl dt .fa-large.headerlink,.btn .rst-content h1 .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.btn .rst-content p .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.btn .wy-menu-vertical li button.fa-large.toctree-expand,.nav .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .code-block-caption .fa-large.headerlink,.nav .rst-content .eqno .fa-large.headerlink,.nav .rst-content .fa-large.admonition-title,.nav .rst-content code.download span.fa-large:first-child,.nav .rst-content dl dt .fa-large.headerlink,.nav .rst-content h1 .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.nav .rst-content p .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.nav .wy-menu-vertical li button.fa-large.toctree-expand,.rst-content .btn .fa-large.admonition-title,.rst-content .code-block-caption .btn .fa-large.headerlink,.rst-content .code-block-caption .nav .fa-large.headerlink,.rst-content .eqno .btn .fa-large.headerlink,.rst-content .eqno .nav .fa-large.headerlink,.rst-content .nav .fa-large.admonition-title,.rst-content code.download .btn span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.rst-content dl dt .btn .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.rst-content p .btn .fa-large.headerlink,.rst-content p .nav .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.rst-content tt.download .btn span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.wy-menu-vertical li .btn button.fa-large.toctree-expand,.wy-menu-vertical li .nav button.fa-large.toctree-expand{line-height:.9em}.btn .fa-spin.icon,.btn .fa.fa-spin,.btn .rst-content .code-block-caption .fa-spin.headerlink,.btn .rst-content .eqno .fa-spin.headerlink,.btn .rst-content .fa-spin.admonition-title,.btn .rst-content code.download span.fa-spin:first-child,.btn .rst-content dl dt .fa-spin.headerlink,.btn .rst-content h1 .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.btn .rst-content p .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.btn .wy-menu-vertical li button.fa-spin.toctree-expand,.nav .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .code-block-caption .fa-spin.headerlink,.nav .rst-content .eqno .fa-spin.headerlink,.nav .rst-content .fa-spin.admonition-title,.nav .rst-content code.download span.fa-spin:first-child,.nav .rst-content dl dt .fa-spin.headerlink,.nav .rst-content h1 .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.nav .rst-content p .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.nav .wy-menu-vertical li button.fa-spin.toctree-expand,.rst-content .btn .fa-spin.admonition-title,.rst-content .code-block-caption .btn .fa-spin.headerlink,.rst-content .code-block-caption .nav .fa-spin.headerlink,.rst-content .eqno .btn .fa-spin.headerlink,.rst-content .eqno .nav .fa-spin.headerlink,.rst-content .nav .fa-spin.admonition-title,.rst-content code.download .btn span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.rst-content dl dt .btn .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.rst-content p .btn .fa-spin.headerlink,.rst-content p .nav .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.rst-content tt.download .btn span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.wy-menu-vertical li .btn button.fa-spin.toctree-expand,.wy-menu-vertical li .nav button.fa-spin.toctree-expand{display:inline-block}.btn.fa:before,.btn.icon:before,.rst-content .btn.admonition-title:before,.rst-content .code-block-caption .btn.headerlink:before,.rst-content .eqno .btn.headerlink:before,.rst-content code.download span.btn:first-child:before,.rst-content dl dt .btn.headerlink:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content p .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.wy-menu-vertical li button.btn.toctree-expand:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.btn.icon:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content .code-block-caption .btn.headerlink:hover:before,.rst-content .eqno .btn.headerlink:hover:before,.rst-content code.download span.btn:first-child:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content p .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.wy-menu-vertical li button.btn.toctree-expand:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .icon:before,.btn-mini .rst-content .admonition-title:before,.btn-mini .rst-content .code-block-caption .headerlink:before,.btn-mini .rst-content .eqno .headerlink:before,.btn-mini .rst-content code.download span:first-child:before,.btn-mini .rst-content dl dt .headerlink:before,.btn-mini .rst-content h1 .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.btn-mini .rst-content p .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.btn-mini .wy-menu-vertical li button.toctree-expand:before,.rst-content .btn-mini .admonition-title:before,.rst-content .code-block-caption .btn-mini .headerlink:before,.rst-content .eqno .btn-mini .headerlink:before,.rst-content code.download .btn-mini span:first-child:before,.rst-content dl dt .btn-mini .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.rst-content p .btn-mini .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.rst-content tt.download .btn-mini span:first-child:before,.wy-menu-vertical li .btn-mini button.toctree-expand:before{font-size:14px;vertical-align:-15%}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.rst-content .admonition-title,.wy-alert-title{font-weight:700;display:block;color:#fff;background:#6ab0de;padding:6px 12px;margin:-12px -12px 12px}.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger{background:#fdf3f2}.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title{background:#f29f97}.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning{background:#ffedcc}.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title{background:#f0b37e}.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info{background:#e7f2fa}.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title{background:#6ab0de}.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success{background:#dbfaf4}.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title{background:#1abc9c}.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral{background:#f3f6f6}.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title{color:#404040;background:#e1e4e5}.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a{color:#2980b9}.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .note p:last-child,.rst-content .seealso p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.wy-alert p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width:768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px;color:#fff;border:1px solid rgba(0,0,0,.1);background-color:#27ae60;text-decoration:none;font-weight:400;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.05),inset 0 2px 0 0 rgba(0,0,0,.1);padding:8px 12px 6px}.btn:visited{color:#fff}.btn-disabled,.btn-disabled:active,.btn-disabled:focus,.btn-disabled:hover,.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9!important}.btn-info:hover{background-color:#2e8ece!important}.btn-neutral{background-color:#f3f6f6!important;color:#404040!important}.btn-neutral:hover{background-color:#e5ebeb!important;color:#404040}.btn-neutral:visited{color:#404040!important}.btn-success{background-color:#27ae60!important}.btn-success:hover{background-color:#295!important}.btn-danger{background-color:#e74c3c!important}.btn-danger:hover{background-color:#ea6153!important}.btn-warning{background-color:#e67e22!important}.btn-warning:hover{background-color:#e98b39!important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f!important}.btn-link{background-color:transparent!important;color:#2980b9;box-shadow:none;border-color:transparent!important}.btn-link:active,.btn-link:hover{background-color:transparent!important;color:#409ad5!important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:after,.wy-btn-group:before{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:1px solid #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:1px solid #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type=search]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned .wy-help-inline,.wy-form-aligned input,.wy-form-aligned label,.wy-form-aligned select,.wy-form-aligned textarea{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{margin:0}fieldset,legend{border:0;padding:0}legend{width:100%;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label,legend{display:block}label{margin:0 0 .3125em;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:after,.wy-control-group:before{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full input[type=color],.wy-control-group .wy-form-full input[type=date],.wy-control-group .wy-form-full input[type=datetime-local],.wy-control-group .wy-form-full input[type=datetime],.wy-control-group .wy-form-full input[type=email],.wy-control-group .wy-form-full input[type=month],.wy-control-group .wy-form-full input[type=number],.wy-control-group .wy-form-full input[type=password],.wy-control-group .wy-form-full input[type=search],.wy-control-group .wy-form-full input[type=tel],.wy-control-group .wy-form-full input[type=text],.wy-control-group .wy-form-full input[type=time],.wy-control-group .wy-form-full input[type=url],.wy-control-group .wy-form-full input[type=week],.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves input[type=color],.wy-control-group .wy-form-halves input[type=date],.wy-control-group .wy-form-halves input[type=datetime-local],.wy-control-group .wy-form-halves input[type=datetime],.wy-control-group .wy-form-halves input[type=email],.wy-control-group .wy-form-halves input[type=month],.wy-control-group .wy-form-halves input[type=number],.wy-control-group .wy-form-halves input[type=password],.wy-control-group .wy-form-halves input[type=search],.wy-control-group .wy-form-halves input[type=tel],.wy-control-group .wy-form-halves input[type=text],.wy-control-group .wy-form-halves input[type=time],.wy-control-group .wy-form-halves input[type=url],.wy-control-group .wy-form-halves input[type=week],.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds input[type=color],.wy-control-group .wy-form-thirds input[type=date],.wy-control-group .wy-form-thirds input[type=datetime-local],.wy-control-group .wy-form-thirds input[type=datetime],.wy-control-group .wy-form-thirds input[type=email],.wy-control-group .wy-form-thirds input[type=month],.wy-control-group .wy-form-thirds input[type=number],.wy-control-group .wy-form-thirds input[type=password],.wy-control-group .wy-form-thirds input[type=search],.wy-control-group .wy-form-thirds input[type=tel],.wy-control-group .wy-form-thirds input[type=text],.wy-control-group .wy-form-thirds input[type=time],.wy-control-group .wy-form-thirds input[type=url],.wy-control-group .wy-form-thirds input[type=week],.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full{float:left;display:block;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child,.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(odd){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child,.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control,.wy-control-no-input{margin:6px 0 0;font-size:90%}.wy-control-no-input{display:inline-block}.wy-control-group.fluid-input input[type=color],.wy-control-group.fluid-input input[type=date],.wy-control-group.fluid-input input[type=datetime-local],.wy-control-group.fluid-input input[type=datetime],.wy-control-group.fluid-input input[type=email],.wy-control-group.fluid-input input[type=month],.wy-control-group.fluid-input input[type=number],.wy-control-group.fluid-input input[type=password],.wy-control-group.fluid-input input[type=search],.wy-control-group.fluid-input input[type=tel],.wy-control-group.fluid-input input[type=text],.wy-control-group.fluid-input input[type=time],.wy-control-group.fluid-input input[type=url],.wy-control-group.fluid-input input[type=week]{width:100%}.wy-form-message-inline{padding-left:.3em;color:#666;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;*overflow:visible}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type=datetime-local]{padding:.34375em .625em}input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type=checkbox],input[type=radio],input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{outline:0;outline:thin dotted\9;border-color:#333}input.no-focus:focus{border-color:#ccc!important}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e74c3c}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:1px solid #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{left:0;top:0;width:36px;height:12px;background:#ccc}.wy-switch:after,.wy-switch:before{position:absolute;content:"";display:block;border-radius:4px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{width:18px;height:18px;background:#999;left:-3px;top:-3px}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27ae60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea{border:1px solid #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width:480px){.wy-form button[type=submit]{margin:.7em 0 0}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=text],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week],.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0}.wy-form-message,.wy-form-message-inline,.wy-form .wy-help-inline{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width:768px){.tablet-hide{display:none}}@media screen and (max-width:480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.rst-content table.docutils,.rst-content table.field-list,.wy-table{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.rst-content table.docutils td,.rst-content table.docutils th,.rst-content table.field-list td,.rst-content table.field-list th,.wy-table td,.wy-table th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.rst-content table.docutils td:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list td:first-child,.rst-content table.field-list th:first-child,.wy-table td:first-child,.wy-table th:first-child{border-left-width:0}.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th{font-weight:700;border-bottom:2px solid #e1e4e5}.rst-content table.docutils td,.rst-content table.field-list td,.wy-table td{background-color:transparent;vertical-align:middle}.rst-content table.docutils td p,.rst-content table.field-list td p,.wy-table td p{line-height:18px}.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child,.wy-table td p:last-child{margin-bottom:0}.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min,.wy-table .wy-table-cell-min{width:1%;padding-right:0}.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:grey;font-size:90%}.wy-table-tertiary{color:grey;font-size:80%}.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td{background-color:#f3f6f6}.rst-content table.docutils,.wy-table-bordered-all{border:1px solid #e1e4e5}.rst-content table.docutils td,.wy-table-bordered-all td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.rst-content table.docutils tbody>tr:last-child td,.wy-table-bordered-all tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0!important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%}body,html{overflow-x:hidden}body{font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-weight:400;color:#404040;min-height:100%;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22!important}a.wy-text-warning:hover{color:#eb9950!important}.wy-text-info{color:#2980b9!important}a.wy-text-info:hover{color:#409ad5!important}.wy-text-success{color:#27ae60!important}a.wy-text-success:hover{color:#36d278!important}.wy-text-danger{color:#e74c3c!important}a.wy-text-danger:hover{color:#ed7669!important}.wy-text-neutral{color:#404040!important}a.wy-text-neutral:hover{color:#595959!important}.rst-content .toctree-wrapper>p.caption,h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif}p{line-height:24px;font-size:16px;margin:0 0 24px}h1{font-size:175%}.rst-content .toctree-wrapper>p.caption,h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}.rst-content code,.rst-content tt,code{white-space:nowrap;max-width:100%;background:#fff;border:1px solid #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#e74c3c;overflow-x:auto}.rst-content tt.code-large,code.code-large{font-size:90%}.rst-content .section ul,.rst-content .toctree-wrapper ul,.rst-content section ul,.wy-plain-list-disc,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.rst-content .section ul li,.rst-content .toctree-wrapper ul li,.rst-content section ul li,.wy-plain-list-disc li,article ul li{list-style:disc;margin-left:24px}.rst-content .section ul li p:last-child,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li p:last-child,.rst-content .toctree-wrapper ul li ul,.rst-content section ul li p:last-child,.rst-content section ul li ul,.wy-plain-list-disc li p:last-child,.wy-plain-list-disc li ul,article ul li p:last-child,article ul li ul{margin-bottom:0}.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,.rst-content section ul li li,.wy-plain-list-disc li li,article ul li li{list-style:circle}.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,.rst-content section ul li li li,.wy-plain-list-disc li li li,article ul li li li{list-style:square}.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,.rst-content section ul li ol li,.wy-plain-list-disc li ol li,article ul li ol li{list-style:decimal}.rst-content .section ol,.rst-content .section ol.arabic,.rst-content .toctree-wrapper ol,.rst-content .toctree-wrapper ol.arabic,.rst-content section ol,.rst-content section ol.arabic,.wy-plain-list-decimal,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.rst-content .section ol.arabic li,.rst-content .section ol li,.rst-content .toctree-wrapper ol.arabic li,.rst-content .toctree-wrapper ol li,.rst-content section ol.arabic li,.rst-content section ol li,.wy-plain-list-decimal li,article ol li{list-style:decimal;margin-left:24px}.rst-content .section ol.arabic li ul,.rst-content .section ol li p:last-child,.rst-content .section ol li ul,.rst-content .toctree-wrapper ol.arabic li ul,.rst-content .toctree-wrapper ol li p:last-child,.rst-content .toctree-wrapper ol li ul,.rst-content section ol.arabic li ul,.rst-content section ol li p:last-child,.rst-content section ol li ul,.wy-plain-list-decimal li p:last-child,.wy-plain-list-decimal li ul,article ol li p:last-child,article ol li ul{margin-bottom:0}.rst-content .section ol.arabic li ul li,.rst-content .section ol li ul li,.rst-content .toctree-wrapper ol.arabic li ul li,.rst-content .toctree-wrapper ol li ul li,.rst-content section ol.arabic li ul li,.rst-content section ol li ul li,.wy-plain-list-decimal li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:after,.wy-breadcrumbs:before{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs>li{display:inline-block;padding-top:5px}.wy-breadcrumbs>li.wy-breadcrumbs-aside{float:right}.rst-content .wy-breadcrumbs>li code,.rst-content .wy-breadcrumbs>li tt,.wy-breadcrumbs>li .rst-content tt,.wy-breadcrumbs>li code{all:inherit;color:inherit}.breadcrumb-item:before{content:"/";color:#bbb;font-size:13px;padding:0 6px 0 3px}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width:480px){.wy-breadcrumbs-extra,.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:after,.wy-menu-horiz:before{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz li,.wy-menu-horiz ul{display:inline-block}.wy-menu-horiz li:hover{background:hsla(0,0%,100%,.1)}.wy-menu-horiz li.divide-left{border-left:1px solid #404040}.wy-menu-horiz li.divide-right{border-right:1px solid #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{color:#55a5d9;height:32px;line-height:32px;padding:0 1.618em;margin:12px 0 0;display:block;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:1px solid #404040}.wy-menu-vertical li.divide-bottom{border-bottom:1px solid #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:grey;border-right:1px solid #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.rst-content .wy-menu-vertical li tt,.wy-menu-vertical li .rst-content tt,.wy-menu-vertical li code{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li button.toctree-expand{display:block;float:left;margin-left:-1.2em;line-height:18px;color:#4d4d4d;border:none;background:none;padding:0}.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a{color:#404040;font-weight:700;position:relative;background:#fcfcfc;border:none;padding:.4045em 1.618em}.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover{background:#fcfcfc}.wy-menu-vertical li.current>a:hover button.toctree-expand,.wy-menu-vertical li.on a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand{display:block;line-height:18px;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:1px solid #c9c9c9;border-top:1px solid #c9c9c9}.wy-menu-vertical .toctree-l1.current .toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .toctree-l11>ul{display:none}.wy-menu-vertical .toctree-l1.current .current.toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .current.toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .current.toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .current.toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .current.toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .current.toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .current.toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .current.toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .current.toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .current.toctree-l11>ul{display:block}.wy-menu-vertical li.toctree-l3,.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a{color:#404040}.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{display:block}.wy-menu-vertical li.toctree-l2.current>a{padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{padding:.4045em 1.618em .4045em 4.045em}.wy-menu-vertical li.toctree-l3.current>a{padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{padding:.4045em 1.618em .4045em 5.663em}.wy-menu-vertical li.toctree-l4.current>a{padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a{padding:.4045em 1.618em .4045em 7.281em}.wy-menu-vertical li.toctree-l5.current>a{padding:.4045em 7.281em}.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a{padding:.4045em 1.618em .4045em 8.899em}.wy-menu-vertical li.toctree-l6.current>a{padding:.4045em 8.899em}.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a{padding:.4045em 1.618em .4045em 10.517em}.wy-menu-vertical li.toctree-l7.current>a{padding:.4045em 10.517em}.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a{padding:.4045em 1.618em .4045em 12.135em}.wy-menu-vertical li.toctree-l8.current>a{padding:.4045em 12.135em}.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a{padding:.4045em 1.618em .4045em 13.753em}.wy-menu-vertical li.toctree-l9.current>a{padding:.4045em 13.753em}.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a{padding:.4045em 1.618em .4045em 15.371em}.wy-menu-vertical li.toctree-l10.current>a{padding:.4045em 15.371em}.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{padding:.4045em 1.618em .4045em 16.989em}.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#c9c9c9}.wy-menu-vertical li.toctree-l2 button.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#bdbdbd}.wy-menu-vertical li.toctree-l3 button.toctree-expand{color:#969696}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:400}.wy-menu-vertical a{line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover button.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-menu-vertical a:active button.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980b9;text-align:center;color:#fcfcfc}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a{color:#fcfcfc;font-size:100%;font-weight:700;display:inline-block;padding:4px 6px;margin-bottom:.809em;max-width:100%}.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search>a:hover{background:hsla(0,0%,100%,.1)}.wy-side-nav-search .wy-dropdown>a img.logo,.wy-side-nav-search>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search .wy-dropdown>a.icon img.logo,.wy-side-nav-search>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:400;color:hsla(0,0%,100%,.3)}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:after,.wy-nav-top:before{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:700}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:grey}footer p{margin-bottom:12px}.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code{padding:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:1em;background:none;border:none;color:grey}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:after,.rst-footer-buttons:before{width:100%;display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:after,.rst-breadcrumbs-buttons:before{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:1px solid #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:1px solid #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:grey;font-size:90%}.genindextable li>ul{margin-left:24px}@media screen and (max-width:768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-menu.wy-menu-vertical,.wy-side-nav-search,.wy-side-scroll{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width:1100px){.wy-nav-content-wrap{background:rgba(0,0,0,.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,.wy-nav-side,footer{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:after,.rst-versions .rst-current-version:before{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .eqno .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content .eqno .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li button.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version button.toctree-expand{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}.rst-content .toctree-wrapper>p.caption,.rst-content h1,.rst-content h2,.rst-content h3,.rst-content h4,.rst-content h5,.rst-content h6{margin-bottom:24px}.rst-content img{max-width:100%;height:auto}.rst-content div.figure,.rst-content figure{margin-bottom:24px}.rst-content div.figure .caption-text,.rst-content figure .caption-text{font-style:italic}.rst-content div.figure p:last-child.caption,.rst-content figure p:last-child.caption{margin-bottom:0}.rst-content div.figure.align-center,.rst-content figure.align-center{text-align:center}.rst-content .section>a>img,.rst-content .section>img,.rst-content section>a>img,.rst-content section>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"\f08e";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;display:block;overflow:auto}.rst-content div[class^=highlight],.rst-content pre.literal-block{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px}.rst-content div[class^=highlight] div[class^=highlight],.rst-content pre.literal-block div[class^=highlight]{padding:0;border:none;margin:0}.rst-content div[class^=highlight] td.code{width:100%}.rst-content .linenodiv pre{border-right:1px solid #e6e9ea;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^=highlight] pre{white-space:pre;margin:0;padding:12px;display:block;overflow:auto}.rst-content div[class^=highlight] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:12px;line-height:1.4}.rst-content div.highlight .gp,.rst-content div.highlight span.linenos{user-select:none;pointer-events:none}.rst-content div.highlight span.linenos{display:inline-block;padding-left:0;padding-right:12px;margin-right:12px;border-right:1px solid #e6e9ea}.rst-content .code-block-caption{font-style:italic;font-size:85%;line-height:1;padding:1em 0;text-align:center}@media print{.rst-content .codeblock,.rst-content div[class^=highlight],.rst-content div[class^=highlight] pre{white-space:pre-wrap}}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning{clear:both}.rst-content .admonition-todo .last,.rst-content .admonition-todo>:last-child,.rst-content .admonition .last,.rst-content .admonition>:last-child,.rst-content .attention .last,.rst-content .attention>:last-child,.rst-content .caution .last,.rst-content .caution>:last-child,.rst-content .danger .last,.rst-content .danger>:last-child,.rst-content .error .last,.rst-content .error>:last-child,.rst-content .hint .last,.rst-content .hint>:last-child,.rst-content .important .last,.rst-content .important>:last-child,.rst-content .note .last,.rst-content .note>:last-child,.rst-content .seealso .last,.rst-content .seealso>:last-child,.rst-content .tip .last,.rst-content .tip>:last-child,.rst-content .warning .last,.rst-content .warning>:last-child{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent!important;border-color:rgba(0,0,0,.1)!important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha>li,.rst-content .toctree-wrapper ol.loweralpha,.rst-content .toctree-wrapper ol.loweralpha>li,.rst-content section ol.loweralpha,.rst-content section ol.loweralpha>li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha>li,.rst-content .toctree-wrapper ol.upperalpha,.rst-content .toctree-wrapper ol.upperalpha>li,.rst-content section ol.upperalpha,.rst-content section ol.upperalpha>li{list-style:upper-alpha}.rst-content .section ol li>*,.rst-content .section ul li>*,.rst-content .toctree-wrapper ol li>*,.rst-content .toctree-wrapper ul li>*,.rst-content section ol li>*,.rst-content section ul li>*{margin-top:12px;margin-bottom:12px}.rst-content .section ol li>:first-child,.rst-content .section ul li>:first-child,.rst-content .toctree-wrapper ol li>:first-child,.rst-content .toctree-wrapper ul li>:first-child,.rst-content section ol li>:first-child,.rst-content section ul li>:first-child{margin-top:0}.rst-content .section ol li>p,.rst-content .section ol li>p:last-child,.rst-content .section ul li>p,.rst-content .section ul li>p:last-child,.rst-content .toctree-wrapper ol li>p,.rst-content .toctree-wrapper ol li>p:last-child,.rst-content .toctree-wrapper ul li>p,.rst-content .toctree-wrapper ul li>p:last-child,.rst-content section ol li>p,.rst-content section ol li>p:last-child,.rst-content section ul li>p,.rst-content section ul li>p:last-child{margin-bottom:12px}.rst-content .section ol li>p:only-child,.rst-content .section ol li>p:only-child:last-child,.rst-content .section ul li>p:only-child,.rst-content .section ul li>p:only-child:last-child,.rst-content .toctree-wrapper ol li>p:only-child,.rst-content .toctree-wrapper ol li>p:only-child:last-child,.rst-content .toctree-wrapper ul li>p:only-child,.rst-content .toctree-wrapper ul li>p:only-child:last-child,.rst-content section ol li>p:only-child,.rst-content section ol li>p:only-child:last-child,.rst-content section ul li>p:only-child,.rst-content section ul li>p:only-child:last-child{margin-bottom:0}.rst-content .section ol li>ol,.rst-content .section ol li>ul,.rst-content .section ul li>ol,.rst-content .section ul li>ul,.rst-content .toctree-wrapper ol li>ol,.rst-content .toctree-wrapper ol li>ul,.rst-content .toctree-wrapper ul li>ol,.rst-content .toctree-wrapper ul li>ul,.rst-content section ol li>ol,.rst-content section ol li>ul,.rst-content section ul li>ol,.rst-content section ul li>ul{margin-bottom:12px}.rst-content .section ol.simple li>*,.rst-content .section ol.simple li ol,.rst-content .section ol.simple li ul,.rst-content .section ul.simple li>*,.rst-content .section ul.simple li ol,.rst-content .section ul.simple li ul,.rst-content .toctree-wrapper ol.simple li>*,.rst-content .toctree-wrapper ol.simple li ol,.rst-content .toctree-wrapper ol.simple li ul,.rst-content .toctree-wrapper ul.simple li>*,.rst-content .toctree-wrapper ul.simple li ol,.rst-content .toctree-wrapper ul.simple li ul,.rst-content section ol.simple li>*,.rst-content section ol.simple li ol,.rst-content section ol.simple li ul,.rst-content section ul.simple li>*,.rst-content section ul.simple li ol,.rst-content section ul.simple li ul{margin-top:0;margin-bottom:0}.rst-content .line-block{margin-left:0;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0}.rst-content .topic-title{font-weight:700;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0 0 24px 24px}.rst-content .align-left{float:left;margin:0 24px 24px 0}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink{opacity:0;font-size:14px;font-family:FontAwesome;margin-left:.5em}.rst-content .code-block-caption .headerlink:focus,.rst-content .code-block-caption:hover .headerlink,.rst-content .eqno .headerlink:focus,.rst-content .eqno:hover .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink:focus,.rst-content .toctree-wrapper>p.caption:hover .headerlink,.rst-content dl dt .headerlink:focus,.rst-content dl dt:hover .headerlink,.rst-content h1 .headerlink:focus,.rst-content h1:hover .headerlink,.rst-content h2 .headerlink:focus,.rst-content h2:hover .headerlink,.rst-content h3 .headerlink:focus,.rst-content h3:hover .headerlink,.rst-content h4 .headerlink:focus,.rst-content h4:hover .headerlink,.rst-content h5 .headerlink:focus,.rst-content h5:hover .headerlink,.rst-content h6 .headerlink:focus,.rst-content h6:hover .headerlink,.rst-content p.caption .headerlink:focus,.rst-content p.caption:hover .headerlink,.rst-content p .headerlink:focus,.rst-content p:hover .headerlink,.rst-content table>caption .headerlink:focus,.rst-content table>caption:hover .headerlink{opacity:1}.rst-content p a{overflow-wrap:anywhere}.rst-content .wy-table td p,.rst-content .wy-table td ul,.rst-content .wy-table th p,.rst-content .wy-table th ul,.rst-content table.docutils td p,.rst-content table.docutils td ul,.rst-content table.docutils th p,.rst-content table.docutils th ul,.rst-content table.field-list td p,.rst-content table.field-list td ul,.rst-content table.field-list th p,.rst-content table.field-list th ul{font-size:inherit}.rst-content .btn:focus{outline:2px solid}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:1px solid #e1e4e5}.rst-content .sidebar dl,.rst-content .sidebar p,.rst-content .sidebar ul{font-size:90%}.rst-content .sidebar .last,.rst-content .sidebar>:last-child{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif;font-weight:700;background:#e1e4e5;padding:6px 12px;margin:-24px -24px 24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;box-shadow:0 0 0 2px #f1c40f;display:inline;font-weight:700}.rst-content .citation-reference,.rst-content .footnote-reference{vertical-align:baseline;position:relative;top:-.4em;line-height:0;font-size:90%}.rst-content .citation-reference>span.fn-bracket,.rst-content .footnote-reference>span.fn-bracket{display:none}.rst-content .hlist{width:100%}.rst-content dl dt span.classifier:before{content:" : "}.rst-content dl dt span.classifier-delimiter{display:none!important}html.writer-html4 .rst-content table.docutils.citation,html.writer-html4 .rst-content table.docutils.footnote{background:none;border:none}html.writer-html4 .rst-content table.docutils.citation td,html.writer-html4 .rst-content table.docutils.citation tr,html.writer-html4 .rst-content table.docutils.footnote td,html.writer-html4 .rst-content table.docutils.footnote tr{border:none;background-color:transparent!important;white-space:normal}html.writer-html4 .rst-content table.docutils.citation td.label,html.writer-html4 .rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{display:grid;grid-template-columns:auto minmax(80%,95%)}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{display:inline-grid;grid-template-columns:max-content auto}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{display:grid;grid-template-columns:auto auto minmax(.65rem,auto) minmax(40%,95%)}html.writer-html5 .rst-content aside.citation>span.label,html.writer-html5 .rst-content aside.footnote>span.label,html.writer-html5 .rst-content div.citation>span.label{grid-column-start:1;grid-column-end:2}html.writer-html5 .rst-content aside.citation>span.backrefs,html.writer-html5 .rst-content aside.footnote>span.backrefs,html.writer-html5 .rst-content div.citation>span.backrefs{grid-column-start:2;grid-column-end:3;grid-row-start:1;grid-row-end:3}html.writer-html5 .rst-content aside.citation>p,html.writer-html5 .rst-content aside.footnote>p,html.writer-html5 .rst-content div.citation>p{grid-column-start:4;grid-column-end:5}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{margin-bottom:24px}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{padding-left:1rem}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dd,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dd,html.writer-html5 .rst-content dl.footnote>dt{margin-bottom:0}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{font-size:.9rem}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.footnote>dt{margin:0 .5rem .5rem 0;line-height:1.2rem;word-break:break-all;font-weight:400}html.writer-html5 .rst-content dl.citation>dt>span.brackets:before,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:before{content:"["}html.writer-html5 .rst-content dl.citation>dt>span.brackets:after,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:after{content:"]"}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a{word-break:keep-all}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a:not(:first-child):before,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.footnote>dd{margin:0 0 .5rem;line-height:1.2rem}html.writer-html5 .rst-content dl.citation>dd p,html.writer-html5 .rst-content dl.footnote>dd p{font-size:.9rem}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{padding-left:1rem;padding-right:1rem;font-size:.9rem;line-height:1.2rem}html.writer-html5 .rst-content aside.citation p,html.writer-html5 .rst-content aside.footnote p,html.writer-html5 .rst-content div.citation p{font-size:.9rem;line-height:1.2rem;margin-bottom:12px}html.writer-html5 .rst-content aside.citation span.backrefs,html.writer-html5 .rst-content aside.footnote span.backrefs,html.writer-html5 .rst-content div.citation span.backrefs{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content aside.citation span.backrefs>a,html.writer-html5 .rst-content aside.footnote span.backrefs>a,html.writer-html5 .rst-content div.citation span.backrefs>a{word-break:keep-all}html.writer-html5 .rst-content aside.citation span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content aside.footnote span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content div.citation span.backrefs>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content aside.citation span.label,html.writer-html5 .rst-content aside.footnote span.label,html.writer-html5 .rst-content div.citation span.label{line-height:1.2rem}html.writer-html5 .rst-content aside.citation-list,html.writer-html5 .rst-content aside.footnote-list,html.writer-html5 .rst-content div.citation-list{margin-bottom:24px}html.writer-html5 .rst-content dl.option-list kbd{font-size:.9rem}.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content aside.footnote-list aside.footnote,html.writer-html5 .rst-content div.citation-list>div.citation,html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{color:grey}.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content aside.footnote-list aside.footnote code,html.writer-html5 .rst-content aside.footnote-list aside.footnote tt,html.writer-html5 .rst-content aside.footnote code,html.writer-html5 .rst-content aside.footnote tt,html.writer-html5 .rst-content div.citation-list>div.citation code,html.writer-html5 .rst-content div.citation-list>div.citation tt,html.writer-html5 .rst-content dl.citation code,html.writer-html5 .rst-content dl.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}html.writer-html5 .rst-content table.docutils th{border:1px solid #e1e4e5}html.writer-html5 .rst-content table.docutils td>p,html.writer-html5 .rst-content table.docutils th>p{line-height:1rem;margin-bottom:0;font-size:.9rem}.rst-content table.docutils td .last,.rst-content table.docutils td .last>:last-child{margin-bottom:0}.rst-content table.field-list,.rst-content table.field-list td{border:none}.rst-content table.field-list td p{line-height:inherit}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content code,.rst-content tt{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;padding:2px 5px}.rst-content code big,.rst-content code em,.rst-content tt big,.rst-content tt em{font-size:100%!important;line-height:normal}.rst-content code.literal,.rst-content tt.literal{color:#e74c3c;white-space:normal}.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt{font-weight:700;color:#404040;overflow-wrap:normal}.rst-content kbd,.rst-content pre,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace}.rst-content a code,.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:700;margin-bottom:12px}.rst-content dl ol,.rst-content dl p,.rst-content dl table,.rst-content dl ul{margin-bottom:12px}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}.rst-content dl dd>ol:last-child,.rst-content dl dd>p:last-child,.rst-content dl dd>table:last-child,.rst-content dl dd>ul:last-child{margin-bottom:0}html.writer-html4 .rst-content dl:not(.docutils),html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple){margin-bottom:24px}html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:3px solid #6ab0de;padding:6px;position:relative}html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:before{color:#6ab0de}html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{margin-bottom:6px;border:none;border-left:3px solid #ccc;background:#f0f0f0;color:#555}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils)>dt:first-child,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:first-child{margin-top:0}html.writer-html4 .rst-content dl:not(.docutils) code.descclassname,html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descclassname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{background-color:transparent;border:none;padding:0;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .property,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .property{display:inline-block;padding-right:8px;max-width:100%}html.writer-html4 .rst-content dl:not(.docutils) .k,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .k{font-style:italic}html.writer-html4 .rst-content dl:not(.docutils) .descclassname,html.writer-html4 .rst-content dl:not(.docutils) .descname,html.writer-html4 .rst-content dl:not(.docutils) .sig-name,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#000}.rst-content .viewcode-back,.rst-content .viewcode-link{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:700}.rst-content code.download,.rst-content tt.download{background:inherit;padding:inherit;font-weight:400;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content code.download span:first-child,.rst-content tt.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{margin-right:4px}.rst-content .guilabel,.rst-content .menuselection{font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .guilabel,.rst-content .menuselection{border:1px solid #7fbbe3;background:#e7f2fa}.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>.kbd,.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>kbd{color:inherit;font-size:80%;background-color:#fff;border:1px solid #a6a6a6;border-radius:4px;box-shadow:0 2px grey;padding:2.4px 6px;margin:auto 0}.rst-content .versionmodified{font-style:italic}@media screen and (max-width:480px){.rst-content .sidebar{width:100%}}span[id*=MathJax-Span]{color:#404040}.math{text-align:center}@font-face{font-family:Lato;src:url(fonts/lato-normal.woff2?bd03a2cc277bbbc338d464e679fe9942) format("woff2"),url(fonts/lato-normal.woff?27bd77b9162d388cb8d4c4217c7c5e2a) format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold.woff2?cccb897485813c7c256901dbca54ecf2) format("woff2"),url(fonts/lato-bold.woff?d878b6c29b10beca227e9eef4246111b) format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold-italic.woff2?0b6bb6725576b072c5d0b02ecdd1900d) format("woff2"),url(fonts/lato-bold-italic.woff?9c7e4e9eb485b4a121c760e61bc3707c) format("woff");font-weight:700;font-style:italic;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-normal-italic.woff2?4eb103b4d12be57cb1d040ed5e162e9d) format("woff2"),url(fonts/lato-normal-italic.woff?f28f2d6482446544ef1ea1ccc6dd5892) format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(fonts/Roboto-Slab-Regular.woff2?7abf5b8d04d26a2cafea937019bca958) format("woff2"),url(fonts/Roboto-Slab-Regular.woff?c1be9284088d487c5e3ff0a10a92e58c) format("woff");font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(fonts/Roboto-Slab-Bold.woff2?9984f4a9bda09be08e83f2506954adbe) format("woff2"),url(fonts/Roboto-Slab-Bold.woff?bed5564a116b05148e3b3bea6fb1162a) format("woff");font-display:block} \ No newline at end of file diff --git a/v0.4.2/_static/custom.css b/v0.4.2/_static/custom.css new file mode 100644 index 00000000..bea5d91c --- /dev/null +++ b/v0.4.2/_static/custom.css @@ -0,0 +1,311 @@ +@import url("https://fonts.cdnfonts.com/css/barlow"); + +html { + font-weight: 400; + font-family: "Barlow", sans-serif; + min-height: 100%; + background: rgb(244, 244, 244); + font-size: 17px; +} + +#version-picker-label { + color: #000000; + display: inline; + font-size: 16px; + + font-family: "Barlow", sans-serif; + font-weight: 600; + width: 100%; +} + +body { + font-weight: 400; + font-family: "Barlow", sans-serif; + min-height: 100%; + background: rgb(244, 244, 244); + font-size: 17px; +} + +p { + font-weight: 400; + font-family: "Barlow", sans-serif; + font-size: 18px; +} + +h1 { + font-size: 60px; + line-height: 54px; + font-weight: 600; + font-family: "Barlow", sans-serif; + text-transform: uppercase; + letter-spacing: -0.05em; + color: #000000; + padding: 0 !important; +} + +h2 { + font-size: 32px; + line-height: 32px; + font-family: "Barlow", sans-serif; + letter-spacing: -0.02em; + padding: 0; + color: #000000; +} + +h3 { + font-size: 24px; + line-height: 24px; + font-family: "Barlow", sans-serif; + letter-spacing: -0.05em; + font-weight: 300; + color: #000000; +} + +.wy-nav-content-wrap { + margin-left: 300px; + background: #fff; + min-height: 100%; + padding: 20px; +} + +.wy-side-scroll { + width: 320px; + background-color: #ffffff; + position: relative; + overflow-x: hidden; + overflow-y: scroll; + height: 100%; + padding: 20px; +} + +.wy-nav-top { + display: block; + background-color: rgb(255, 255, 255); + padding: 0.4045em 0.809em; + position: relative; + line-height: 50px; + text-align: center; + font-size: 100%; + font-family: "Barlow", sans-serif; + color: black; +} + +.wy-side-nav-search { + display: block; + width: 300px; + /*padding: 0.809em; + margin-bottom: 0.809em;*/ + z-index: 200; + background-color: #000000; + text-align: center; + color: #fafafa; +} + +.wy-menu-vertical header, +.wy-menu-vertical p.caption { + color: #000000; + font-family: "Barlow", sans-serif; + height: 32px; + line-height: 32px; + display: block; + font-weight: 700; + text-transform: uppercase; + font-size: 20px; + white-space: nowrap; + background-color: rgb(255, 255, 255); +} + +.wy-menu-vertical a { + line-height: 18px; + padding: 0.4045em 1.618em; + display: block; + position: relative; + font-size: 90%; + color: #000000; +} + +.rst-content code.literal, +.rst-content tt.literal { + color: #000000; +} + +footer { + color: rgb(0, 0, 0); + display: none; +} + +.wy-nav-top { + display: none; + background: #ffffff; + color: rgb(0, 0, 0); + padding: 0.4045em 0.809em; + position: relative; + line-height: 50px; + text-align: center; + font-size: 100%; +} + +.wy-nav-side { + position: fixed; + top: 0; + bottom: 0; + left: 0; + padding-bottom: 2em; + width: 300px; + overflow-x: hidden; + overflow-y: hidden; + min-height: 100%; + background-color: #ffffff; + z-index: 200; +} + +@media only screen and (min-device-width: 320px) and (max-device-width: 480px) { + .wy-nav-side { + display: none; + } + .wy-nav-side.shift { + display: block; + } + .wy-nav-content-wrap { + margin-left: 0; + background-color: #f2f3f8; + min-height: 100%; + } + .wy-nav-top { + display: block; + color: #fff; + padding: 0.4045em 0.809em; + position: relative; + line-height: 50px; + text-align: center; + font-size: 100%; + } + + .wy-side-nav-search { + display: block; + width: 300px; + /*padding: 0.809em;*/ + margin-bottom: 0.809em; + z-index: 200; + background-color: #000000; + text-align: center; + color: #fafafa; + } + + h1 { + font-size: 32px; + line-height: 32px; + font-family: "Barlow", sans-serif; + text-transform: uppercase; + letter-spacing: -0.05em; + color: #000000; + } + + h2 { + font-size: 34px; + line-height: 34px; + font-family: "Barlow", sans-serif; + letter-spacing: -0.05em; + } +} + +a { + color: rgb(93, 0, 255); + cursor: pointer; +} + +@media only screen and (min-device-width: 320px) and (max-device-width: 480px) { + a { + color: rgb(93, 0, 255); + cursor: pointer; + } +} +.toctree-l3 { + color: red; +} + +.caption-text { + color: black; + margin: -10px; + font-family: "Barlow", sans-serif; + font-weight: 600; + font-size: 24px; + padding: 0 !important; +} + +.reference { + color: rgb(93, 0, 255); +} + +.wy-menu-vertical li.current a { + background: #ff969600; +} + +.wy-menu-vertical a { + line-height: 28px; + font-weight: 400; + font-family: "Barlow", sans-serif; + padding: 0.4045em 1.618em; + display: block; + position: relative; + font-size: 100%; + color: #000000; +} + +.wy-menu-vertical a:hover { + line-height: 28px; + font-weight: 400; + font-family: "Barlow", sans-serif; + display: block; + position: relative; + font-size: 100%; + color: #000000; + background-color: rgba(247, 247, 247, 0.961); + cursor: pointer; +} + +.logo { + filter: invert(0.85); + width: 250px !important; + height: auto; + position: relative; + top: 20px !important; + left: 20px !important; + margin-left: -10px; + z-index: 240; +} + +.wy-side-nav-search { + display: block; + width: 300px; + + z-index: 200; + background-color: transparent; + text-align: center; + color: #fafafa; +} + +.wy-side-nav-search input[type="text"] { + width: 80%; + border-radius: 25px; + padding: 6px 12px; + border: 1.5em #000000; +} + +.wy-menu-vertical li.current a { + background: #ffffff; + border-style: none; +} + +.wy-menu-vertical li.current a:hover { + background-color: rgba(247, 247, 247, 0.961); + border-style: none; +} + +.wy-menu-vertical li.toctree-l2 button.toctree-expand { + display: none; +} + +.icon { + display: none; +} diff --git a/v0.4.2/_static/custom.js b/v0.4.2/_static/custom.js new file mode 100644 index 00000000..3539538f --- /dev/null +++ b/v0.4.2/_static/custom.js @@ -0,0 +1,36 @@ +function getSelectedDocsVersion(pathname) { + if (!pathname) { + pathname = document.location.pathname + } + let parts = pathname.split('/').filter(item => item !== ""); + if (parts.length === 1) { + if (parts[0] === PROJECT) { + // '/{package}/' (return 'stable') + return "stable"; + } else { + // '/latest/' (return 'latest') + return parts[0]; + } + } else if (parts[0] === PROJECT) { + // '/{package}/latest/more' (return 'latest') + return parts[1]; + } else { + // '/latest/more' (return 'latest') + return parts[0] + } +} + +$(document).ready(function () { + // Version picker logic + let current = getSelectedDocsVersion(); + $("option[value='" + current + "']").attr("selected", "selected"); + $("select").change(function () { + if (this.value === "") { + return false; + } + let current = getSelectedDocsVersion(); + let selected = $(this).val(); + $("option[value='" + selected + "']").attr("selected", "selected"); + window.location = document.URL.replace(current, selected); + }); +}); diff --git a/v0.4.2/_static/doctools.js b/v0.4.2/_static/doctools.js new file mode 100644 index 00000000..d06a71d7 --- /dev/null +++ b/v0.4.2/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/v0.4.2/_static/documentation_options.js b/v0.4.2/_static/documentation_options.js new file mode 100644 index 00000000..b57ae3b8 --- /dev/null +++ b/v0.4.2/_static/documentation_options.js @@ -0,0 +1,14 @@ +var DOCUMENTATION_OPTIONS = { + URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), + VERSION: '', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/v0.4.2/_static/favicon.ico b/v0.4.2/_static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..05f17aa6ab75d43d3a9e87760cd2919fffc8d3d2 GIT binary patch literal 20915 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"Yq4&OE@>8tQjArj%e{Hr*X zrUg+6e7Ha&+f`92+lL6DwO7h59FguyUG9RpYeeQFlJ=$=37Ll6w_2<)W?oHmu4Pv0 z#G=}6VNzE);b&Y2Nh^n6_ZoHtQvP7E3m^fTwY>^3A-L+YhO2_wzr!9stz$aSKyCfwm2HrYw>Qr-lUQ0uq${7KyQn zOb;Qz5I3{v)~NH7?lmDqHF?s=12sE8%x!~VJd?cL8(E4E z?exxzpiv(z^N8yp-TBa7EICr|4;XEW*MRKDq0b8(MiPyhE-_RUH1s>7ZM=2py&DW5Ec)vgpr zq4grM>4;=3Mh@U80*l`0r5+4wb{Y6A@5Y^QWC-VtZ|cdlycKtm>BMx2>>xlhkAKjG zK)(6P&A6ZJ372#u8_4Ow2{x?X-!GYBPTkSsIF`&++{h4N{a6%Ghs%7)NY|!*uYcnY z1r=EN7Fe@Y+?};nQ(RCXw6O1OhC9KlUJz)$+#B4J0zqR7!6bvL@jjzOX<6L&x&NZm zB6&xjDth+upHt}o=Jq_|YSM58b$jd6kSx0`tfdZ;0tu1A-%pIjKMb>Mwooypv%S=k zW55L7mqszeH)M<@2EkHwW)Nlq=wkWS}TajEh2yRJWj|56>_4f z)VrGA+k0J#8+WyI0E)3WH}CSa>Kuh8@UoO!EHNMYr0s?X%F2klV0&5PFppe`3wSw` z%Nbc!ZLc;D3e zX>}W-c7NhtuiO`9hs-i$_gr|d4hzlAUT8ComWZX9Wf@UG?$5|==;S3vEDVRS>X+zQ z-tpoJJ3L4GWa1}To>PRvVFDCqMy9I`&ZuB;*98kOl@c2~N_6|pNI2qHs4Kkr{-|}y zFTVev*Jd4mW4&E??HQLhi_Y~=y8I)uh(94q@yx@A)s2jf_I?1o!tVY!L- z!~%HPe}irGrTSD1zF&#%)D|!$q-By)1rdF)R=e2-Som9 z@XXQg4SOrQlo&?DJO;E2ZcWsb0rqvpM_ z2yc@_Mf-#m{4{}*hD|u^ICJ{0ELvO4m=L=RCaz@TM6C0*`c|{>=ww3@P<3XCAlBOb zo6Uu`^Hk+_9RU*o2TwxFcKxJFR|c?*$m$`RI*9tBo9ZwqGV z1-Z*Y15G%SFIF8d5L77pJlB`sLx5p`0D|VF;}(~dMSNa$rx}|WxIrHi6z32^!N2=v zqxQw!82<4OMWUfOGvbATB8r&>QH= z){zTFb2F{H_+&fzwDI6;V8uO`tK*3&iHvVj=+FSEij|V*V|)`AUUVT;W#sm^%Mbe| z)}DmZu`zD~iPle&Rpomd+FV3g+vjc_hy>jL?tU^S*-rH!ZfnXPNpYG5B zF?n3Y@F1~GmK0Bvj588jtP26gAt{scr9IFiGj#tiJ&|2l*x%)ek}t)&ye6hNiX{91q0qz z>i^&dSBE>YS~Cs&ilflIsGttws%qMC>K6CrE!&S+`4(u@wZ|vA=SN$sq2&_-;q-Zy z1zglg9Mq4KDaBxYEKOvJA@$xqovmiwu0?GRZ951Y3&!d5z*_#i8;^HsBn!S9F2+}<*mO;|a4V~rt1TU-OidU=-`d4gDH8`8Qt|s1pY+@Z1MRy&n$?g#;LHJP zthUjRZsGz-B&%_ruthQa5`JEs7tykLuI~c!zINAaiMQ5XQ}-C;4WE|1DopU+_)|7}`1!MSV zo~t~D={jxB{KNLe(AhtLD0M(C1|WG7%$Kop<25grg6fMbsY0;rm>f!ISAJ%b3dKb4 zIeI6m#_HOr7fGY?#K*{*KX3G7Ph!$P#eCa)QJee%zF~bw%hMvMfYCQ_Abz@+n~#$; z6Vd^>^#bL3(TOQq#!hx`G_Jc||H{x3n@M*Bc8{(4U!rW7eVKMXP?ybQt^Z%6N+zqM zmMScS)|Lws>b$3=>DhLogm*8}TogqaH-3;xXnDUUxHW^=F zzTHX<7M)K0tQR>giQRsCgf=^NyK&6d_Ds`c#6*_$>DP-A@j}E4dgM^}>2r(5abop0 z)?N&~&u3zN)1I_k2R7!j=wp_p_NoR4=^dBXVy^vlOTu#sMX&{_*t%ZosGIn2ne8}n zvtAetfHAT8@<`1^Ea6$JS)HK2{R9_j=^5Glac7grjVKr!FP&TIuVC&O7hzL>2uX48 z>%<4l_rV;mdpCeR_Pm3NMlM@u+;i+q85i`YR0Mw@Rpuv@i-z->oKz57^N1JqgfD`N zPw*o^@CJwh`o1p1H{`;iV{LkQ*)k@ZCGIn=B`IViUO-dc!H$;(6jux{_{*7 z)|Zs3omf~_%@31PJ=U`$s2u#oqNmAVjezu>=r4I5*fmFSf_ypx+6m442PdRYQPkr4 zSGn(})keaG&iY84lx}n%tiFa?k8A0$ugTf`48`4Jjm30TT+x@TPq{y$lf&xHNF*s%}*b4K@Ht}Ill0Y7V@*84Q3iw zWoJxm^t>7k`diDra~?vpOg~tnTrD2+L`1J$9d2(lGz^W5mj0kn-=UAi%xm#VaqxD3 zODd_YR-V8#v9M#&s}hZC5lvV|nM6m2r@l9U{y}%kZ~t31=l9=}8l?ZHqXq{uA>zr4 VW@&8pv;TSu&5f;35c7M{{|5?#y{!NM literal 0 HcmV?d00001 diff --git a/v0.4.2/_static/file.png b/v0.4.2/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/v0.4.2/_static/jquery.js b/v0.4.2/_static/jquery.js new file mode 100644 index 00000000..c4c6022f --- /dev/null +++ b/v0.4.2/_static/jquery.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document); \ No newline at end of file diff --git a/v0.4.2/_static/js/html5shiv.min.js b/v0.4.2/_static/js/html5shiv.min.js new file mode 100644 index 00000000..cd1c674f --- /dev/null +++ b/v0.4.2/_static/js/html5shiv.min.js @@ -0,0 +1,4 @@ +/** +* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +*/ +!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3-pre",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document); \ No newline at end of file diff --git a/v0.4.2/_static/js/theme.js b/v0.4.2/_static/js/theme.js new file mode 100644 index 00000000..1fddb6ee --- /dev/null +++ b/v0.4.2/_static/js/theme.js @@ -0,0 +1 @@ +!function(n){var e={};function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return n[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=n,t.c=e,t.d=function(n,e,i){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:i})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)t.d(i,o,function(e){return n[e]}.bind(null,o));return i},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=0)}([function(n,e,t){t(1),n.exports=t(3)},function(n,e,t){(function(){var e="undefined"!=typeof window?window.jQuery:t(2);n.exports.ThemeNav={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1,enable:function(n){var t=this;void 0===n&&(n=!0),t.isRunning||(t.isRunning=!0,e((function(e){t.init(e),t.reset(),t.win.on("hashchange",t.reset),n&&t.win.on("scroll",(function(){t.linkScroll||t.winScroll||(t.winScroll=!0,requestAnimationFrame((function(){t.onScroll()})))})),t.win.on("resize",(function(){t.winResize||(t.winResize=!0,requestAnimationFrame((function(){t.onResize()})))})),t.onResize()})))},enableSticky:function(){this.enable(!0)},init:function(n){n(document);var e=this;this.navBar=n("div.wy-side-scroll:first"),this.win=n(window),n(document).on("click","[data-toggle='wy-nav-top']",(function(){n("[data-toggle='wy-nav-shift']").toggleClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift")})).on("click",".wy-menu-vertical .current ul li a",(function(){var t=n(this);n("[data-toggle='wy-nav-shift']").removeClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift"),e.toggleCurrent(t),e.hashChange()})).on("click","[data-toggle='rst-current-version']",(function(){n("[data-toggle='rst-versions']").toggleClass("shift-up")})),n("table.docutils:not(.field-list,.footnote,.citation)").wrap("
    "),n("table.docutils.footnote").wrap("
    "),n("table.docutils.citation").wrap("
    "),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n(''),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}if(t.length>0){$(".wy-menu-vertical .current").removeClass("current").attr("aria-expanded","false"),t.addClass("current").attr("aria-expanded","true"),t.closest("li.toctree-l1").parent().addClass("current").attr("aria-expanded","true");for(let n=1;n<=10;n++)t.closest("li.toctree-l"+n).addClass("current").attr("aria-expanded","true");t[0].scrollIntoView()}}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current").attr("aria-expanded","false"),e.siblings().find("li.current").removeClass("current").attr("aria-expanded","false");var t=e.find("> ul li");t.length&&(t.removeClass("current").attr("aria-expanded","false"),e.toggleClass("current").attr("aria-expanded",(function(n,e){return"true"==e?"false":"true"})))}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/v0.4.2/_static/logo.gif b/v0.4.2/_static/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..b3a1bcc2d7f73a117c68f028d5fa07cc626fffdc GIT binary patch literal 11889 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 literal 0 HcmV?d00001 diff --git a/v0.4.2/_static/plus.png b/v0.4.2/_static/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..7107cec93a979b9a5f64843235a16651d563ce2d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu>-2 m3q%Vub%g%s<8sJhVPMczOq}xhg9DJoz~JfX=d#Wzp$Pyb1r*Kz literal 0 HcmV?d00001 diff --git a/v0.4.2/_static/pygments.css b/v0.4.2/_static/pygments.css new file mode 100644 index 00000000..84ab3030 --- /dev/null +++ b/v0.4.2/_static/pygments.css @@ -0,0 +1,75 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #9C6500 } /* Comment.Preproc */ +.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.highlight .gr { color: #E40000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #008400 } /* Generic.Inserted */ +.highlight .go { color: #717171 } /* Generic.Output */ +.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #B00040 } /* Keyword.Type */ +.highlight .m { color: #666666 } /* Literal.Number */ +.highlight .s { color: #BA2121 } /* Literal.String */ +.highlight .na { color: #687822 } /* Name.Attribute */ +.highlight .nb { color: #008000 } /* Name.Builtin */ +.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.highlight .no { color: #880000 } /* Name.Constant */ +.highlight .nd { color: #AA22FF } /* Name.Decorator */ +.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #0000FF } /* Name.Function */ +.highlight .nl { color: #767600 } /* Name.Label */ +.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #19177C } /* Name.Variable */ +.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #666666 } /* Literal.Number.Bin */ +.highlight .mf { color: #666666 } /* Literal.Number.Float */ +.highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.highlight .sa { color: #BA2121 } /* Literal.String.Affix */ +.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ +.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */ +.highlight .sx { color: #008000 } /* Literal.String.Other */ +.highlight .sr { color: #A45A77 } /* Literal.String.Regex */ +.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #0000FF } /* Name.Function.Magic */ +.highlight .vc { color: #19177C } /* Name.Variable.Class */ +.highlight .vg { color: #19177C } /* Name.Variable.Global */ +.highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.highlight .vm { color: #19177C } /* Name.Variable.Magic */ +.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/v0.4.2/_static/searchtools.js b/v0.4.2/_static/searchtools.js new file mode 100644 index 00000000..97d56a74 --- /dev/null +++ b/v0.4.2/_static/searchtools.js @@ -0,0 +1,566 @@ +/* + * searchtools.js + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for the full-text search. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [docname, title, anchor, descr, score, filename] + // and returns the new score. + /* + score: result => { + const [docname, title, anchor, descr, score, filename] = result + return score + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + partialTitle: 7, + // query found in terms + term: 5, + partialTerm: 2, + }; +} + +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + + const [docName, title, anchor, descr, score, _filename] = item; + + let listItem = document.createElement("li"); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = docUrlRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = docUrlRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; + } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms) + ); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = _( + `Search finished, found ${resultCount} page(s) matching the search query.` + ); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings +} + +/** + * Search Module + */ +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent !== undefined) return docContent.textContent; + console.warn( + "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + ); + return ""; + }, + + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); + }, + + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), + + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); + } + }, + + hasIndex: () => Search._index !== null, + + deferQuery: (query) => (Search._queued_query = query), + + stopPulse: () => (Search._pulse_status = -1), + + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { + Search._pulse_status = (Search._pulse_status + 1) % 4; + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch: (query) => { + // create the required interface elements + const searchText = document.createElement("h2"); + searchText.textContent = _("Searching"); + const searchSummary = document.createElement("p"); + searchSummary.classList.add("search-summary"); + searchSummary.innerText = ""; + const searchList = document.createElement("ul"); + searchList.classList.add("search"); + + const out = document.getElementById("search-results"); + Search.title = out.appendChild(searchText); + Search.dots = Search.title.appendChild(document.createElement("span")); + Search.status = out.appendChild(searchSummary); + Search.output = out.appendChild(searchList); + + const searchProgress = document.getElementById("search-progress"); + // Some themes don't use the search progress node + if (searchProgress) { + searchProgress.innerText = _("Preparing search..."); + } + Search.startPulse(); + + // index already loaded, the browser was quick! + if (Search.hasIndex()) Search.query(query); + else Search.deferQuery(query); + }, + + /** + * execute search (requires search index to be loaded) + */ + query: (query) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // stem the search terms and add them to the correct list + const stemmer = new Stemmer(); + const searchTerms = new Set(); + const excludedTerms = new Set(); + const highlightTerms = new Set(); + const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); + splitQuery(query.trim()).forEach((queryTerm) => { + const queryTermLower = queryTerm.toLowerCase(); + + // maybe skip this "word" + // stopwords array is from language_data.js + if ( + stopwords.indexOf(queryTermLower) !== -1 || + queryTerm.match(/^\d+$/) + ) + return; + + // stem the word + let word = stemmer.stemWord(queryTermLower); + // select the correct list + if (word[0] === "-") excludedTerms.add(word.substr(1)); + else { + searchTerms.add(word); + highlightTerms.add(queryTermLower); + } + }); + + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + + // console.debug("SEARCH: searching for:"); + // console.info("required: ", [...searchTerms]); + // console.info("excluded: ", [...excludedTerms]); + + // array of [docname, title, anchor, descr, score, filename] + let results = []; + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + results.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id] of foundEntries) { + let score = Math.round(100 * queryLower.length / entry.length) + results.push([ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // lookup as object + objectTerms.forEach((term) => + results.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); + + // now sort the results by score (in opposite order of appearance, since the + // display function below uses pop() to retrieve items) and then + // alphabetically + results.sort((a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; + }); + + // remove duplicate search results + // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept + let seen = new Set(); + results = results.reverse().reduce((acc, result) => { + let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); + if (!seen.has(resultStr)) { + acc.push(result); + seen.add(resultStr); + } + return acc; + }, []); + + results = results.reverse(); + + // for debugging + //Search.lastresults = results.slice(); // a copy + // console.info("search results:", Search.lastresults); + + // print the results + _displayNextItem(results, results.length, searchTerms); + }, + + /** + * search for object names + */ + performObjectSearch: (object, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const objects = Search._index.objects; + const objNames = Search._index.objnames; + const titles = Search._index.titles; + + const results = []; + + const objectSearchCallback = (prefix, match) => { + const name = match[4] + const fullname = (prefix ? prefix + "." : "") + name; + const fullnameLower = fullname.toLowerCase(); + if (fullnameLower.indexOf(object) < 0) return; + + let score = 0; + const parts = fullnameLower.split("."); + + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullnameLower === object || parts.slice(-1)[0] === object) + score += Scorer.objNameMatch; + else if (parts.slice(-1)[0].indexOf(object) > -1) + score += Scorer.objPartialMatch; // matches in last name + + const objName = objNames[match[1]][2]; + const title = titles[match[0]]; + + // If more than one term searched for, we require other words to be + // found in the name/title/description + const otherTerms = new Set(objectTerms); + otherTerms.delete(object); + if (otherTerms.size > 0) { + const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); + if ( + [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) + ) + return; + } + + let anchor = match[3]; + if (anchor === "") anchor = fullname; + else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; + + const descr = objName + _(", in ") + title; + + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) + score += Scorer.objPrio[match[2]]; + else score += Scorer.objPrioDefault; + + results.push([ + docNames[match[0]], + fullname, + "#" + anchor, + descr, + score, + filenames[match[0]], + ]); + }; + Object.keys(objects).forEach((prefix) => + objects[prefix].forEach((array) => + objectSearchCallback(prefix, array) + ) + ); + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch: (searchTerms, excludedTerms) => { + // prepare search + const terms = Search._index.terms; + const titleTerms = Search._index.titleterms; + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + + const scoreMap = new Map(); + const fileMap = new Map(); + + // perform the search on the required terms + searchTerms.forEach((word) => { + const files = []; + const arr = [ + { files: terms[word], score: Scorer.term }, + { files: titleTerms[word], score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord) && !terms[word]) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord) && !titleTerms[word]) + arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); + }); + } + + // no match but word was a required one + if (arr.every((record) => record.files === undefined)) return; + + // found search word in contents + arr.forEach((record) => { + if (record.files === undefined) return; + + let recordFiles = record.files; + if (recordFiles.length === undefined) recordFiles = [recordFiles]; + files.push(...recordFiles); + + // set score for the word in each file + recordFiles.forEach((file) => { + if (!scoreMap.has(file)) scoreMap.set(file, {}); + scoreMap.get(file)[word] = record.score; + }); + }); + + // create the mapping + files.forEach((file) => { + if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) + fileMap.get(file).push(word); + else fileMap.set(file, [word]); + }); + }); + + // now check if the files don't contain excluded terms + const results = []; + for (const [file, wordList] of fileMap) { + // check if all requirements are matched + + // as search terms with length < 3 are discarded + const filteredTermCount = [...searchTerms].filter( + (term) => term.length > 2 + ).length; + if ( + wordList.length !== searchTerms.size && + wordList.length !== filteredTermCount + ) + continue; + + // ensure that none of the excluded terms is in the search result + if ( + [...excludedTerms].some( + (term) => + terms[term] === file || + titleTerms[term] === file || + (terms[term] || []).includes(file) || + (titleTerms[term] || []).includes(file) + ) + ) + break; + + // select one (max) score for the file. + const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + ]); + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words. + */ + makeSearchSummary: (htmlText, keywords) => { + const text = Search.htmlToText(htmlText); + if (text === "") return null; + + const textLower = text.toLowerCase(); + const actualStartPosition = [...keywords] + .map((k) => textLower.indexOf(k.toLowerCase())) + .filter((i) => i > -1) + .slice(-1)[0]; + const startWithContext = Math.max(actualStartPosition - 120, 0); + + const top = startWithContext === 0 ? "" : "..."; + const tail = startWithContext + 240 < text.length ? "..." : ""; + + let summary = document.createElement("p"); + summary.classList.add("context"); + summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; + + return summary; + }, +}; + +_ready(Search.init); diff --git a/v0.4.2/_static/sphinx_highlight.js b/v0.4.2/_static/sphinx_highlight.js new file mode 100644 index 00000000..aae669d7 --- /dev/null +++ b/v0.4.2/_static/sphinx_highlight.js @@ -0,0 +1,144 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + parent.insertBefore( + span, + parent.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(SphinxHighlight.highlightSearchWords); +_ready(SphinxHighlight.initEscapeListener); diff --git a/v0.4.2/commands/run.html b/v0.4.2/commands/run.html new file mode 100644 index 00000000..7020c71b --- /dev/null +++ b/v0.4.2/commands/run.html @@ -0,0 +1,214 @@ + + + + + + + run — silverback documentation + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +

    run

    +
    +

    run

    +

    Run Silverback application client

    +
    run [OPTIONS] PATH
    +
    +
    +

    Options

    +
    +
    +-v, --verbosity <LVL>
    +

    One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

    +
    + +
    +
    +-v, --verbosity <LVL>
    +

    One of ERROR, WARNING, SUCCESS, INFO, or DEBUG

    +
    + +
    +
    +--network <network>
    +

    Override the default network and provider. (see ape networks list for options)

    +
    +
    Options:
    +

    :mainnet:geth | ethereum:mainnet:geth | :mainnet | ethereum:mainnet | :goerli:geth | ethereum:goerli:geth | :goerli | ethereum:goerli | :sepolia:geth | ethereum:sepolia:geth | :sepolia | ethereum:sepolia | ::geth | :local:geth | ethereum::geth | ethereum:local:geth | ::test | :local:test | ethereum::test | ethereum:local:test | :local | ethereum:local | ethereum

    +
    +
    +
    + +
    +
    +--account <account>
    +
    + +
    +
    +--runner <runner>
    +

    An import str in format ‘<module>:<CustomRunner>’

    +
    + +
    +
    +--recorder <recorder>
    +

    An import string in format ‘<module>:<CustomRecorder>’

    +
    + +
    +
    +-x, --max-exceptions <max_exceptions>
    +
    + +

    Arguments

    +
    +
    +PATH
    +

    Required argument

    +
    + +
    +
    + + +
    +
    + +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/v0.4.2/genindex.html b/v0.4.2/genindex.html new file mode 100644 index 00000000..df4b79ea --- /dev/null +++ b/v0.4.2/genindex.html @@ -0,0 +1,470 @@ + + + + + + Index — silverback documentation + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    +
      +
    • + +
    • +
    • +
    +
    +
    +
    +
    + + +

    Index

    + +
    + Symbols + | A + | B + | C + | H + | I + | M + | N + | O + | P + | R + | S + | T + | W + +
    +

    Symbols

    + + + +
    + +

    A

    + + +
    + +

    B

    + + + +
    + +

    C

    + + + +
    + +

    H

    + + + +
    + +

    I

    + + + +
    + +

    M

    + + +
    + +

    N

    + + + +
    + +

    O

    + + + +
    + +

    P

    + + + +
    + +

    R

    + + + +
    + +

    S

    + + + +
      +
    • + silverback.application + +
    • +
    • + silverback.exceptions + +
    • +
    • + silverback.middlewares + +
    • +
    • + silverback.runner + +
    • +
    + +

    T

    + + +
    + +

    W

    + + +
    + + + +
    +
    + +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/v0.4.2/index.html b/v0.4.2/index.html new file mode 100644 index 00000000..f1a5758a --- /dev/null +++ b/v0.4.2/index.html @@ -0,0 +1,173 @@ + + + + + + + Silverback Docs — silverback documentation + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +

    Silverback Docs

    + +
    +

    CLI Reference

    + +
    + +
    + + +
    +
    + +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/v0.4.2/methoddocs/application.html b/v0.4.2/methoddocs/application.html new file mode 100644 index 00000000..fc4ae803 --- /dev/null +++ b/v0.4.2/methoddocs/application.html @@ -0,0 +1,278 @@ + + + + + + + silverback.application — silverback documentation + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +

    silverback.application

    +

    The silverback.application module contains the high-level implementation of the the user’s +Silverback application, meant to be used to expose method handlers and other functionality.

    +
    +
    +class silverback.application.SilverbackApp(settings: Settings | None = None)
    +

    Bases: ManagerAccessMixin

    +

    The application singleton. Must be initialized prior to use.

    +

    Usage example:

    +
    from silverback import SilverbackApp
    +
    +app = SilverbackApp()
    +
    +...  # Connection has been initialized, can call broker methods e.g. `app.on_(...)`
    +
    +
    +
    +
    +broker_task_decorator(task_type: TaskType, container: BlockContainer | ContractEvent | None = None) Callable[[Callable], AsyncTaskiqDecoratedTask]
    +

    Dynamically create a new broker task that handles tasks of task_type.

    +
    +
    Parameters:
    +
      +
    • task_typeTaskType: The type of task to create.

    • +
    • container – (BlockContainer | ContractEvent): The event source to watch.

    • +
    +
    +
    Returns:
    +

    A function wrapper that will register the task handler.

    +
    +
    Return type:
    +

    Callable[[Callable], AsyncTaskiqDecoratedTask]

    +
    +
    Raises:
    +

    ContainerTypeMismatchError – If there is a mismatch between task_type and the container + type it should handle.

    +
    +
    +
    + +
    +
    +on_(container: BlockContainer | ContractEvent, new_block_timeout: int | None = None, start_block: int | None = None)
    +

    Create task to handle events created by container.

    +
    +
    Parameters:
    +
      +
    • container – (BlockContainer | ContractEvent): The event source to watch.

    • +
    • new_block_timeout – (int | None): Override for block timeout that is acceptable. +Defaults to whatever the app’s settings are for default polling timeout are.

    • +
    • start_block (int | None) – block number to start processing events from. +Defaults to whatever the latest block is.

    • +
    +
    +
    Raises:
    +

    InvalidContainerTypeError – If the type of container is not configurable for the app.

    +
    +
    +
    + +
    +
    +on_shutdown() Callable
    +

    Code to execute on one worker at shutdown.

    +

    Usage example:

    +
    @app.on_shutdown()
    +def do_something_on_shutdown():
    +    ...  # Record final state of app
    +
    +
    +
    + +
    +
    +on_startup() Callable
    +

    Code to execute on one worker upon startup / restart after an error.

    +

    Usage example:

    +
    @app.on_startup()
    +def do_something_on_startup(startup_state):
    +    ...  # Reprocess missed events or blocks
    +
    +
    +
    + +
    +
    +on_worker_shutdown() Callable
    +

    Code to execute on every worker at shutdown.

    +

    Usage example:

    +
    @app.on_shutdown()
    +def do_something_on_shutdown(state):
    +    ...  # Update some external service, perhaps using information from `state`.
    +
    +
    +
    + +
    +
    +on_worker_startup() Callable
    +

    Code to execute on every worker at startup / restart after an error.

    +

    Usage example:

    +
    @app.on_startup()
    +def do_something_on_startup(state):
    +    ...  # Can provision resources, or add things to `state`.
    +
    +
    +
    + +
    + +
    +
    +class silverback.application.TaskData(container: ape.managers.chain.BlockContainer | ape.contracts.base.ContractEvent | None, handler: taskiq.decor.AsyncTaskiqDecoratedTask)
    +

    Bases: object

    +
    + +
    + + +
    +
    + +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/v0.4.2/methoddocs/exceptions.html b/v0.4.2/methoddocs/exceptions.html new file mode 100644 index 00000000..9be884b9 --- /dev/null +++ b/v0.4.2/methoddocs/exceptions.html @@ -0,0 +1,218 @@ + + + + + + + silverback.exceptions — silverback documentation + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +

    silverback.exceptions

    +
    +
    +exception silverback.exceptions.CircuitBreaker(message: str)
    +

    Bases: Halt

    +

    Custom exception (created by user) that will trigger an application shutdown.

    +
    + +
    +
    +exception silverback.exceptions.ContainerTypeMismatchError(task_type: TaskType, container: Any)
    +

    Bases: Exception

    +
    + +
    +
    +exception silverback.exceptions.Halt
    +

    Bases: SilverbackException

    +
    + +
    +
    +exception silverback.exceptions.ImportFromStringError
    +

    Bases: Exception

    +
    + +
    +
    +exception silverback.exceptions.InvalidContainerTypeError(container: Any)
    +

    Bases: Exception

    +
    + +
    +
    +exception silverback.exceptions.NoTasksAvailableError
    +

    Bases: SilverbackException

    +
    + +
    +
    +exception silverback.exceptions.NoWebsocketAvailableError
    +

    Bases: Exception

    +
    + +
    +
    +exception silverback.exceptions.SilverbackException
    +

    Bases: ApeException

    +

    Base Exception for any Silverback runtime faults.

    +
    + +
    +
    +exception silverback.exceptions.StartupFailure(*exceptions: Sequence[Exception])
    +

    Bases: SilverbackException

    +
    + +
    + + +
    +
    + +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/v0.4.2/methoddocs/middlewares.html b/v0.4.2/methoddocs/middlewares.html new file mode 100644 index 00000000..cc4e2bff --- /dev/null +++ b/v0.4.2/methoddocs/middlewares.html @@ -0,0 +1,215 @@ + + + + + + + silverback.middlewares — silverback documentation + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +

    silverback.middlewares

    +

    The silverback.middlewares module contains middleware intended to improve the usability of +silverback as a whole, and add integrations for the silverback platform as well.

    +
    +
    +class silverback.middlewares.SilverbackMiddleware(*args, **kwargs)
    +

    Bases: TaskiqMiddleware, ManagerAccessMixin

    +
    +
    +post_execute(message: TaskiqMessage, result: TaskiqResult)
    +

    This hook executes after task is complete.

    +

    This is a worker-side hook. It’s called +in worker process.

    +
    +
    Parameters:
    +
      +
    • message – incoming message.

    • +
    • result – result of execution for current task.

    • +
    +
    +
    +
    + +
    +
    +pre_execute(message: TaskiqMessage) TaskiqMessage
    +

    This hook is called before executing task.

    +

    This is a worker-side hook, which means it +executes in the worker process.

    +
    +
    Parameters:
    +

    message – incoming parsed taskiq message.

    +
    +
    Returns:
    +

    modified message.

    +
    +
    +
    + +
    +
    +pre_send(message: TaskiqMessage) TaskiqMessage
    +

    Hook that executes before sending the task to worker.

    +

    This is a client-side hook, that executes right before +the message is sent to broker.

    +
    +
    Parameters:
    +

    message – message to send.

    +
    +
    Returns:
    +

    modified message.

    +
    +
    +
    + +
    + +
    + + +
    +
    + +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/v0.4.2/methoddocs/runner.html b/v0.4.2/methoddocs/runner.html new file mode 100644 index 00000000..2d6f4910 --- /dev/null +++ b/v0.4.2/methoddocs/runner.html @@ -0,0 +1,216 @@ + + + + + + + silverback.runner — silverback documentation + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +

    silverback.runner

    +

    The silverback.runner module contains implementations for running Silverback apps in a variety +of different scenarios and trigger methods.

    +
    +
    +class silverback.runner.BaseRunner(app: SilverbackApp, *args, max_exceptions: int = 3, recorder: BaseRecorder | None = None, **kwargs)
    +

    Bases: ABC

    +
    +
    +async run()
    +

    Run the task broker client for the assembled SilverbackApp application.

    +

    Will listen for events against the connected provider (using ManagerAccessMixin context), +and process them by kicking events over to the configured broker.

    +
    +
    Raises:
    +
    +
    +
    +
    + +
    + +
    +
    +class silverback.runner.PollingRunner(app: SilverbackApp, *args, **kwargs)
    +

    Bases: BaseRunner

    +

    Run a single app against a live network using a basic in-memory queue.

    +
    + +
    +
    +class silverback.runner.WebsocketRunner(app: SilverbackApp, *args, **kwargs)
    +

    Bases: BaseRunner, ManagerAccessMixin

    +

    Run a single app against a live network using a basic in-memory queue and websockets.

    +
    +
    +async run()
    +

    Run the task broker client for the assembled SilverbackApp application.

    +

    Will listen for events against the connected provider (using ManagerAccessMixin context), +and process them by kicking events over to the configured broker.

    +
    +
    Raises:
    +
    +
    +
    +
    + +
    + +
    + + +
    +
    + +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/v0.4.2/methoddocs/subscriptions.html b/v0.4.2/methoddocs/subscriptions.html new file mode 100644 index 00000000..23ebe96a --- /dev/null +++ b/v0.4.2/methoddocs/subscriptions.html @@ -0,0 +1,163 @@ + + + + + + + silverback.subscriptions — silverback documentation + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +

    silverback.subscriptions

    +

    The silverback.subscriptions module contains an implementation of a Websocket subscription queue, +used for connected to an RPC node via websockets that implements the eth_subscribe RPC method.

    +
    +
    +class silverback.subscriptions.SubscriptionType(value)
    +

    Bases: Enum

    +

    An enumeration.

    +
    + +
    + + +
    +
    + +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/v0.4.2/methoddocs/utils.html b/v0.4.2/methoddocs/utils.html new file mode 100644 index 00000000..2db2236b --- /dev/null +++ b/v0.4.2/methoddocs/utils.html @@ -0,0 +1,165 @@ + + + + + + + silverback.utils — silverback documentation + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +

    silverback.utils

    +
    +
    +silverback.utils.async_wrap_iter(it: Iterator) AsyncIterator
    +

    Wrap blocking iterator into an asynchronous one

    +
    + +
    +
    +silverback.utils.hexbytes_dict(data: dict, recurse_count: int = 0) dict
    +

    Converts any hex string values in a flat dictionary to HexBytes.

    +
    + +
    + + +
    +
    + +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/v0.4.2/objects.inv b/v0.4.2/objects.inv new file mode 100644 index 0000000000000000000000000000000000000000..1dca9ca78f94f8e74f7e90048ecc22a1ef2f878a GIT binary patch literal 886 zcmV-+1Bv`2AX9K?X>NERX>N99Zgg*Qc_4OWa&u{KZXhxWBOp+6Z)#;@bUGk&X>4|7 za$;d)YYHPER%LQ?X>V>iAPOTORA^-&a%F8{X>Md?av*PJAarPHb0B7EY-J#6b0A}H zZE$jBb8}^6Aa!$TZf78RY-wUH3V7PRmrZk<_gcUPbp--B9XvRmLJ;f!Fzq(Di28%vsUK;Kae zW-BR`L|;3S#n#09%8J5oC=B!23k@)m0)cc3DJ^)8}7q{2q3 zD*K8)*D_K>7lG<+YN$Mj%fJm*CQUBFK1fwQ_lxG=tTEp<-U^%CV}sAMA!G!Sa#s85 zqf?BPhokzz6iJ!6Q-F)Tme_XkIJZ7|1Sy5VOn`dJ6L?`d#)fPkl#=t{pD;JGfS%(- zD)Xph{Av^voB2|F7JJMYJ$exH(SOR)MtZr&jN>(*mHY?RT9O@@3(&jzdT3FzaBY1) z773>c&PT?KQVs{Kz*}C9WURhiS-0z#cGOe;C-jNfMIyC{AOn&b@U^S2FQVYTtf4{B za~Dvl5Vo5QouZu`JHT3Thc*0eQ3EIDl0HI|BfkB7%vnj!iyrmGY})dkmviRUbh_3= zvGE)2NHlh4$HG_VU)g>=TOFYHu&H6(n_M+HmXsA>oeL5j6iy;$>|=jV1v%|d4sQ^& zg>0Q0&=FTV!9AiPNvq0L=+d_oG8|02xYE=9PHXxXwkX6d!3IJYen^CKKE`J7{ ztOh!YuB_30ky0@Hmg5GGya%D-*QsEzw|khq=8p#Nl3=*Uc#!=rgoayOa8eB(o>MC5 zq~-#jYdx@2XCq&+1bypxke#hi-AiI4U3^RF045*&cdFDrr@#`B*2v44U-8?T*Fc2$0V)2G6mEI zwxrH;lQ=f4p_IohH8c5S(7s{p&kxPcK9SY(?P + + + + + Python Module Index — silverback documentation + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    +
      +
    • + +
    • +
    • +
    +
    +
    +
    +
    + + +

    Python Module Index

    + +
    + s +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
     
    + s
    + silverback +
        + silverback.application +
        + silverback.exceptions +
        + silverback.middlewares +
        + silverback.runner +
        + silverback.subscriptions +
        + silverback.utils +
    + + +
    +
    + +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/v0.4.2/search.html b/v0.4.2/search.html new file mode 100644 index 00000000..87f4e6be --- /dev/null +++ b/v0.4.2/search.html @@ -0,0 +1,162 @@ + + + + + + Search — silverback documentation + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    +
      +
    • + +
    • +
    • +
    +
    +
    +
    +
    + + + + +
    + +
    + +
    +
    + +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/v0.4.2/searchindex.js b/v0.4.2/searchindex.js new file mode 100644 index 00000000..47299228 --- /dev/null +++ b/v0.4.2/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({"docnames": ["commands/run", "index", "methoddocs/application", "methoddocs/exceptions", "methoddocs/middlewares", "methoddocs/runner", "methoddocs/subscriptions", "methoddocs/utils", "userguides/development", "userguides/quickstart"], "filenames": ["commands/run.rst", "index.md", "methoddocs/application.md", "methoddocs/exceptions.md", "methoddocs/middlewares.md", "methoddocs/runner.md", "methoddocs/subscriptions.md", "methoddocs/utils.md", "userguides/development.md", "userguides/quickstart.md"], "titles": ["run", "Silverback Docs", "silverback.application", "silverback.exceptions", "silverback.middlewares", "silverback.runner", "silverback.subscriptions", "silverback.utils", "Developing a Silverback Application", "Quick Start"], "terms": {"silverback": [0, 9], "applic": [0, 1, 3, 5, 9], "client": [0, 4, 5, 8], "option": [0, 8], "path": 0, "v": 0, "verbos": 0, "lvl": 0, "One": 0, "error": [0, 2, 8], "warn": 0, "success": 0, "info": 0, "debug": 0, "network": [0, 5, 8, 9], "overrid": [0, 2], "default": [0, 2, 8], "provid": [0, 5], "see": [0, 9], "ap": [0, 2, 8, 9], "list": 0, "mainnet": [0, 8, 9], "geth": 0, "ethereum": [0, 8], "goerli": 0, "sepolia": [0, 8], "local": [0, 8], "test": 0, "account": [0, 8], "runner": [0, 1, 8, 9], "an": [0, 2, 3, 5, 6, 7, 9], "import": [0, 2, 8], "str": [0, 3], "format": 0, "modul": [0, 2, 4, 5, 6], "customrunn": 0, "record": [0, 2, 5, 8], "string": [0, 7], "customrecord": 0, "x": 0, "max": 0, "except": [0, 1, 5], "max_except": [0, 5], "argument": 0, "requir": [0, 8], "quick": 1, "start": [1, 2, 8], "develop": 1, "run": [1, 5, 9], "middlewar": 1, "subscript": 1, "util": 1, "The": [2, 4, 5, 6, 8, 9], "contain": [2, 3, 4, 5, 6], "high": [2, 8], "level": 2, "implement": [2, 5, 6], "user": [2, 3], "": [2, 4, 8, 9], "meant": 2, "us": [2, 5, 6, 8, 9], "expos": 2, "method": [2, 5, 6, 8], "handler": [2, 8], "other": [2, 8], "function": [2, 8], "class": [2, 4, 5, 6, 8], "silverbackapp": [2, 5, 8], "set": [2, 8], "none": [2, 5, 8], "base": [2, 3, 4, 5, 6], "manageraccessmixin": [2, 4, 5], "singleton": 2, "must": [2, 8], "initi": [2, 8], "prior": 2, "usag": 2, "exampl": [2, 8, 9], "from": [2, 8], "app": [2, 5, 8, 9], "connect": [2, 5, 6, 8], "ha": [2, 8], "been": [2, 8], "can": [2, 8, 9], "call": [2, 4], "broker": [2, 4, 5, 8], "e": 2, "g": 2, "on_": [2, 8], "broker_task_decor": 2, "task_typ": [2, 3], "tasktyp": [2, 3], "blockcontain": 2, "contractev": 2, "callabl": 2, "asynctaskiqdecoratedtask": 2, "dynam": 2, "creat": [2, 3, 9], "new": [2, 9], "task": [2, 4, 5, 8], "handl": [2, 8], "paramet": [2, 4, 8], "type": [2, 8, 9], "event": [2, 5, 9], "sourc": 2, "watch": 2, "return": [2, 4, 8], "A": 2, "wrapper": 2, "regist": 2, "rais": [2, 5, 8], "containertypemismatcherror": [2, 3], "If": [2, 5, 8], "i": [2, 4, 8, 9], "mismatch": 2, "between": 2, "should": [2, 8, 9], "new_block_timeout": 2, "int": [2, 5, 7], "start_block": [2, 8], "block": [2, 7, 9], "timeout": 2, "accept": 2, "whatev": 2, "ar": [2, 5, 8, 9], "poll": 2, "number": 2, "process": [2, 4, 5, 8], "latest": [2, 9], "invalidcontainertypeerror": [2, 3], "configur": [2, 5, 8], "on_shutdown": [2, 8], "code": 2, "execut": [2, 4, 5], "one": [2, 7, 8], "worker": [2, 4], "shutdown": [2, 3], "def": [2, 8], "do_something_on_shutdown": 2, "final": [2, 8, 9], "state": [2, 9], "on_startup": [2, 8], "upon": [2, 8], "startup": [2, 5], "restart": 2, "after": [2, 4], "do_something_on_startup": 2, "startup_st": [2, 8], "reprocess": 2, "miss": [2, 8], "on_worker_shutdown": [2, 8], "everi": [2, 8], "updat": [2, 8, 9], "some": [2, 8, 9], "extern": 2, "servic": 2, "perhap": 2, "inform": 2, "on_worker_startup": [2, 8], "provis": [2, 8], "resourc": [2, 8], "add": [2, 4, 8], "thing": [2, 8, 9], "taskdata": 2, "manag": 2, "chain": [2, 8, 9], "contract": [2, 8, 9], "taskiq": [2, 4, 8], "decor": [2, 8], "object": 2, "circuitbreak": 3, "messag": [3, 4, 8], "halt": 3, "custom": 3, "trigger": [3, 5, 8], "ani": [3, 7, 8], "silverbackexcept": 3, "importfromstringerror": 3, "notasksavailableerror": [3, 5], "nowebsocketavailableerror": 3, "apeexcept": 3, "runtim": 3, "fault": 3, "startupfailur": [3, 5], "sequenc": 3, "intend": 4, "improv": 4, "usabl": 4, "whole": 4, "integr": 4, "platform": 4, "well": [4, 8, 9], "silverbackmiddlewar": 4, "arg": [4, 5], "kwarg": [4, 5], "taskiqmiddlewar": 4, "post_execut": 4, "taskiqmessag": 4, "result": [4, 8], "taskiqresult": 4, "thi": [4, 8, 9], "hook": [4, 8], "complet": [4, 8], "side": 4, "It": [4, 8], "incom": 4, "current": 4, "pre_execut": 4, "befor": [4, 8], "which": [4, 8], "mean": 4, "pars": 4, "modifi": 4, "pre_send": 4, "send": 4, "right": 4, "sent": 4, "varieti": 5, "differ": 5, "scenario": 5, "baserunn": 5, "3": [5, 9], "baserecord": 5, "abc": 5, "async": 5, "assembl": 5, "Will": 5, "listen": [5, 9], "against": [5, 9], "context": [5, 8], "them": 5, "kick": 5, "over": 5, "wa": [5, 8], "dure": [5, 8], "pollingrunn": 5, "singl": 5, "live": [5, 9], "basic": 5, "memori": [5, 8], "queue": [5, 6, 8], "websocketrunn": [5, 8], "websocket": [5, 6], "rpc": 6, "node": 6, "via": [6, 8], "eth_subscrib": 6, "subscriptiontyp": 6, "valu": [6, 7], "enum": 6, "enumer": 6, "async_wrap_it": 7, "iter": 7, "asynciter": 7, "wrap": 7, "asynchron": [7, 8], "hexbytes_dict": 7, "data": [7, 8, 9], "dict": 7, "recurse_count": 7, "0": [7, 8], "convert": 7, "hex": 7, "flat": 7, "dictionari": 7, "hexbyt": 7, "In": 8, "guid": 8, "we": [8, 9], "go": 8, "show": 8, "you": [8, 9], "more": [8, 9], "detail": 8, "how": [8, 9], "build": 8, "have": 8, "python": [8, 9], "project": [8, 9], "instal": 8, "pip": 8, "easi": 8, "do": 8, "so": [8, 9], "through": 8, "up": [8, 9], "each": 8, "time": 8, "encount": 8, "specif": 8, "emit": 8, "make": 8, "bot": [8, 9], "order": 8, "perform": 8, "autom": [8, 9], "necessari": 8, "interact": 8, "howev": 8, "won": 8, "t": 8, "veri": 8, "where": 8, "ad": 8, "let": [8, 9], "u": 8, "specifi": 8, "our": 8, "To": [8, 9], "follow": 8, "handle_new_block": 8, "insid": 8, "defin": 8, "logic": 8, "want": 8, "detect": 8, "serializ": 8, "structur": 8, "store": 8, "databas": 8, "trackabl": 8, "metric": 8, "get": 8, "captur": 8, "failur": 8, "similarli": 8, "token": 8, "address": 8, "here": 8, "transfer": 8, "handle_token_transfer_ev": 8, "again": 8, "heavier": 8, "load": 8, "like": 8, "handle_on_worker_startup": 8, "db": 8, "etc": 8, "handle_on_worker_shutdown": 8, "cleanup": 8, "close": 8, "cleanli": 8, "come": 8, "comput": 8, "note": [8, 9], "ensur": 8, "multipl": 8, "properli": 8, "telegram": [8, 9], "api": 8, "sql": 8, "nosql": 8, "someth": 8, "els": 8, "2": 8, "These": 8, "move": 8, "clariti": 8, "variabl": 8, "also": 8, "made": 8, "avail": 8, "quantiti": 8, "maintain": 8, "its": 8, "own": [8, 9], "instanc": 8, "access": 8, "annot": 8, "depend": 8, "taskiqdepend": 8, "block_handl": 8, "onc": 8, "mai": [8, 9], "histor": 8, "sinc": 8, "action": 8, "handle_on_startup": 8, "process_histori": 8, "last_block_seen": 8, "last_block_process": 8, "handle_on_shutdown": 8, "chang": [8, 9], "behavior": 8, "signatur": 8, "now": 8, "onli": 8, "program": 8, "realli": 8, "abl": 8, "valid": 8, "doe": 8, "what": 8, "expect": 8, "includ": [8, 9], "cli": 8, "command": 8, "take": 8, "care": 8, "proper": 8, "signer": 8, "testnet": 8, "my_bot": 8, "acct": 8, "name": 8, "enabl": [8, 9], "mode": 8, "might": [8, 9], "lead": 8, "transact": 8, "sender": 8, "would": 8, "done": 8, "had": 8, "sign": 8, "anyth": 8, "given": 8, "rememb": 8, "lose": 8, "substat": 8, "amount": 8, "fund": 8, "product": 8, "alwai": 8, "throughli": 8, "defualt": 8, "everyth": 8, "job": 8, "share": 8, "volum": [8, 9], "environ": 8, "higher": 8, "rate": 8, "primari": 8, "compon": 8, "manner": 8, "For": 8, "work": [8, 9], "capabl": 8, "taskiq_redi": 8, "could": 8, "export": 8, "silverback_broker_class": 8, "listqueuebrok": 8, "silverback_broker_uri": 8, "redi": 8, "127": 8, "1": 8, "6379": 8, "alchemi": [8, 9], "And": 8, "subprocess": 8, "w": 8, "all": 8, "todo": 8, "backtest": 8, "packag": [8, 9], "deploy": 8, "deploi": 9, "your": 9, "respond": 9, "librari": 9, "leverag": 9, "framework": 9, "ecosystem": 9, "plugin": 9, "simpl": 9, "yet": 9, "sophist": 9, "excel": 9, "case": 9, "involv": 9, "continu": 9, "monitor": 9, "newli": 9, "confirm": 9, "log": 9, "pool": 9, "creation": 9, "deposit": 9, "liquid": 9, "measur": 9, "trade": 9, "activ": 9, "popular": 9, "larg": 9, "swap": 9, "group": 9, "read": 9, "userguid": 9, "learn": 9, "python3": 9, "version": 9, "10": 9, "greater": 9, "dev": 9, "reli": 9, "heavili": 9, "worth": 9, "familar": 9, "yourself": 9, "releas": 9, "clone": 9, "repositori": 9, "most": 9, "date": 9, "git": 9, "http": 9, "github": 9, "com": 9, "apeworx": 9, "cd": 9, "setup": 9, "py": 9, "checkout": 9, "sdk": 9, "design": 9, "suggest": 9, "11": 9, "speed": 9, "pwd": 9, "home": 9, "haramb": 9, "tokenlist": 9, "imag": 9, "publish": 9, "consid": 9, "beta": 9, "break": 9, "occur": 9, "comment": 9, "question": 9, "critic": 9, "pull": 9, "request": 9, "welcom": 9}, "objects": {"silverback": [[2, 0, 0, "-", "application"], [3, 0, 0, "-", "exceptions"], [4, 0, 0, "-", "middlewares"], [5, 0, 0, "-", "runner"], [6, 0, 0, "-", "subscriptions"], [7, 0, 0, "-", "utils"]], "silverback.application": [[2, 1, 1, "", "SilverbackApp"], [2, 1, 1, "", "TaskData"]], "silverback.application.SilverbackApp": [[2, 2, 1, "", "broker_task_decorator"], [2, 2, 1, "", "on_"], [2, 2, 1, "", "on_shutdown"], [2, 2, 1, "", "on_startup"], [2, 2, 1, "", "on_worker_shutdown"], [2, 2, 1, "", "on_worker_startup"]], "silverback.exceptions": [[3, 3, 1, "", "CircuitBreaker"], [3, 3, 1, "", "ContainerTypeMismatchError"], [3, 3, 1, "", "Halt"], [3, 3, 1, "", "ImportFromStringError"], [3, 3, 1, "", "InvalidContainerTypeError"], [3, 3, 1, "", "NoTasksAvailableError"], [3, 3, 1, "", "NoWebsocketAvailableError"], [3, 3, 1, "", "SilverbackException"], [3, 3, 1, "", "StartupFailure"]], "silverback.middlewares": [[4, 1, 1, "", "SilverbackMiddleware"]], "silverback.middlewares.SilverbackMiddleware": [[4, 2, 1, "", "post_execute"], [4, 2, 1, "", "pre_execute"], [4, 2, 1, "", "pre_send"]], "silverback.runner": [[5, 1, 1, "", "BaseRunner"], [5, 1, 1, "", "PollingRunner"], [5, 1, 1, "", "WebsocketRunner"]], "silverback.runner.BaseRunner": [[5, 2, 1, "", "run"]], "silverback.runner.WebsocketRunner": [[5, 2, 1, "", "run"]], "silverback.subscriptions": [[6, 1, 1, "", "SubscriptionType"]], "silverback.utils": [[7, 4, 1, "", "async_wrap_iter"], [7, 4, 1, "", "hexbytes_dict"]], "run": [[0, 5, 1, "cmdoption-run-account", "--account"], [0, 5, 1, "cmdoption-run-x", "--max-exceptions"], [0, 5, 1, "cmdoption-run-network", "--network"], [0, 5, 1, "cmdoption-run-recorder", "--recorder"], [0, 5, 1, "cmdoption-run-runner", "--runner"], [0, 5, 1, "cmdoption-run-v", "--verbosity"], [0, 5, 1, "cmdoption-run-v", "-v"], [0, 5, 1, "cmdoption-run-x", "-x"], [0, 5, 1, "cmdoption-run-arg-PATH", "PATH"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "std:cmdoption"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["std", "cmdoption", "program option"]}, "titleterms": {"run": [0, 8], "silverback": [1, 2, 3, 4, 5, 6, 7, 8], "doc": 1, "user": 1, "guid": 1, "cli": 1, "refer": 1, "python": 1, "applic": [2, 8], "except": 3, "middlewar": 4, "runner": 5, "subscript": 6, "util": 7, "develop": [8, 9], "prerequisit": 8, "creat": 8, "an": 8, "new": 8, "block": 8, "event": 8, "log": 8, "startup": 8, "shutdown": 8, "worker": 8, "state": 8, "your": 8, "distribut": 8, "execut": 8, "test": 8, "deploi": 8, "platform": 8, "quick": 9, "start": 9, "document": 9, "depend": 9, "instal": 9, "via": 9, "pip": 9, "setuptool": 9, "usag": 9, "docker": 9}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"run": [[0, "run"], [0, "run"]], "Silverback Docs": [[1, "silverback-docs"]], "User Guides": [[1, null]], "CLI Reference": [[1, null]], "Python Reference": [[1, null]], "silverback.application": [[2, "silverback-application"]], "silverback.exceptions": [[3, "module-silverback.exceptions"]], "silverback.middlewares": [[4, "silverback-middlewares"]], "silverback.runner": [[5, "silverback-runner"]], "silverback.subscriptions": [[6, "silverback-subscriptions"]], "silverback.utils": [[7, "module-silverback.utils"]], "Developing a Silverback Application": [[8, "developing-a-silverback-application"]], "Prerequisites": [[8, "prerequisites"]], "Creating an Application": [[8, "creating-an-application"]], "New Block Events": [[8, "new-block-events"]], "New Event Logs": [[8, "new-event-logs"]], "Startup and Shutdown": [[8, "startup-and-shutdown"]], "Worker Events": [[8, "worker-events"]], "Worker State": [[8, "worker-state"]], "Application Events": [[8, "application-events"]], "Running your Application": [[8, "running-your-application"]], "Distributed Execution": [[8, "distributed-execution"]], "Testing your Application": [[8, "testing-your-application"]], "Deploying to the Silverback Platform": [[8, "deploying-to-the-silverback-platform"]], "Quick Start": [[9, "quick-start"]], "Documentation": [[9, "documentation"]], "Dependencies": [[9, "dependencies"]], "Installation": [[9, "installation"]], "via pip": [[9, "via-pip"]], "via setuptools": [[9, "via-setuptools"]], "Quick Usage": [[9, "quick-usage"]], "Docker Usage": [[9, "docker-usage"]], "Development": [[9, "development"]]}, "indexentries": {"--account": [[0, "cmdoption-run-account"]], "--max-exceptions": [[0, "cmdoption-run-x"]], "--network": [[0, "cmdoption-run-network"]], "--recorder": [[0, "cmdoption-run-recorder"]], "--runner": [[0, "cmdoption-run-runner"]], "--verbosity": [[0, "cmdoption-run-0"], [0, "cmdoption-run-v"]], "-v": [[0, "cmdoption-run-0"], [0, "cmdoption-run-v"]], "-x": [[0, "cmdoption-run-x"]], "path": [[0, "cmdoption-run-arg-PATH"]], "run command line option": [[0, "cmdoption-run-0"], [0, "cmdoption-run-account"], [0, "cmdoption-run-arg-PATH"], [0, "cmdoption-run-network"], [0, "cmdoption-run-recorder"], [0, "cmdoption-run-runner"], [0, "cmdoption-run-v"], [0, "cmdoption-run-x"]], "silverbackapp (class in silverback.application)": [[2, "silverback.application.SilverbackApp"]], "taskdata (class in silverback.application)": [[2, "silverback.application.TaskData"]], "broker_task_decorator() (silverback.application.silverbackapp method)": [[2, "silverback.application.SilverbackApp.broker_task_decorator"]], "module": [[2, "module-silverback.application"], [3, "module-silverback.exceptions"], [4, "module-silverback.middlewares"], [5, "module-silverback.runner"], [6, "module-silverback.subscriptions"], [7, "module-silverback.utils"]], "on_() (silverback.application.silverbackapp method)": [[2, "silverback.application.SilverbackApp.on_"]], "on_shutdown() (silverback.application.silverbackapp method)": [[2, "silverback.application.SilverbackApp.on_shutdown"]], "on_startup() (silverback.application.silverbackapp method)": [[2, "silverback.application.SilverbackApp.on_startup"]], "on_worker_shutdown() (silverback.application.silverbackapp method)": [[2, "silverback.application.SilverbackApp.on_worker_shutdown"]], "on_worker_startup() (silverback.application.silverbackapp method)": [[2, "silverback.application.SilverbackApp.on_worker_startup"]], "silverback.application": [[2, "module-silverback.application"]], "circuitbreaker": [[3, "silverback.exceptions.CircuitBreaker"]], "containertypemismatcherror": [[3, "silverback.exceptions.ContainerTypeMismatchError"]], "halt": [[3, "silverback.exceptions.Halt"]], "importfromstringerror": [[3, "silverback.exceptions.ImportFromStringError"]], "invalidcontainertypeerror": [[3, "silverback.exceptions.InvalidContainerTypeError"]], "notasksavailableerror": [[3, "silverback.exceptions.NoTasksAvailableError"]], "nowebsocketavailableerror": [[3, "silverback.exceptions.NoWebsocketAvailableError"]], "silverbackexception": [[3, "silverback.exceptions.SilverbackException"]], "startupfailure": [[3, "silverback.exceptions.StartupFailure"]], "silverback.exceptions": [[3, "module-silverback.exceptions"]], "silverbackmiddleware (class in silverback.middlewares)": [[4, "silverback.middlewares.SilverbackMiddleware"]], "post_execute() (silverback.middlewares.silverbackmiddleware method)": [[4, "silverback.middlewares.SilverbackMiddleware.post_execute"]], "pre_execute() (silverback.middlewares.silverbackmiddleware method)": [[4, "silverback.middlewares.SilverbackMiddleware.pre_execute"]], "pre_send() (silverback.middlewares.silverbackmiddleware method)": [[4, "silverback.middlewares.SilverbackMiddleware.pre_send"]], "silverback.middlewares": [[4, "module-silverback.middlewares"]], "baserunner (class in silverback.runner)": [[5, "silverback.runner.BaseRunner"]], "pollingrunner (class in silverback.runner)": [[5, "silverback.runner.PollingRunner"]], "websocketrunner (class in silverback.runner)": [[5, "silverback.runner.WebsocketRunner"]], "run() (silverback.runner.baserunner method)": [[5, "silverback.runner.BaseRunner.run"]], "run() (silverback.runner.websocketrunner method)": [[5, "silverback.runner.WebsocketRunner.run"]], "silverback.runner": [[5, "module-silverback.runner"]], "subscriptiontype (class in silverback.subscriptions)": [[6, "silverback.subscriptions.SubscriptionType"]], "silverback.subscriptions": [[6, "module-silverback.subscriptions"]], "async_wrap_iter() (in module silverback.utils)": [[7, "silverback.utils.async_wrap_iter"]], "hexbytes_dict() (in module silverback.utils)": [[7, "silverback.utils.hexbytes_dict"]], "silverback.utils": [[7, "module-silverback.utils"]]}}) \ No newline at end of file diff --git a/v0.4.2/userguides/development.html b/v0.4.2/userguides/development.html new file mode 100644 index 00000000..c6d67bab --- /dev/null +++ b/v0.4.2/userguides/development.html @@ -0,0 +1,328 @@ + + + + + + + Developing a Silverback Application — silverback documentation + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +

    Developing a Silverback Application

    +

    In this guide, we are going to show you more details on how to build an application with Silverback.

    +
    +

    Prerequisites

    +

    You should have a python project with Silverback installed. +You can install Silverback via pip install silverback

    +
    +
    +

    Creating an Application

    +

    Creating a Silverback Application is easy, to do so initialize the silverback.SilverbackApp class:

    +
    from silverback import SilverbackApp
    +
    +app = SilverbackApp()
    +
    +
    +

    The SilverbackApp class handles state and configuration. +Through this class, we can hook up event handlers to be executed each time we encounter a new block or each time a specific event is emitted. +Initializing the app creates a network connection using the Ape configuration of your local project, making it easy to add a Silverback bot to your project in order to perform automation of necessary on-chain interactions required.

    +

    However, by default an app has no configured event handlers, so it won’t be very useful. +This is where adding event handlers is useful via the app.on_ method. +This method lets us specify which event will trigger the execution of our handler as well as which handler to execute.

    +
    +
    +

    New Block Events

    +

    To add a block handler, you will do the following:

    +
    from ape import chain
    +
    +@app.on_(chain.blocks)
    +def handle_new_block(block):
    +    ...
    +
    +
    +

    Inside of handle_new_block you can define any logic that you want to handle each new block detected by the silverback client. +You can return any serializable data structure from this function and that will be stored in the results database as a trackable metric for the execution of this handler. +Any errors you raise during this function will get captured by the client, and recorded as a failure to handle this block.

    +
    +
    +

    New Event Logs

    +

    Similarly to blocks, you can handle events emitted by a contract by adding an event handler:

    +
    from ape import Contract
    +
    +TOKEN = Contract(<your token address here>)
    +
    +@app.on_(TOKEN.Transfer)
    +def handle_token_transfer_events(transfer):
    +    ...
    +
    +
    +

    Inside of handle_token_transfer_events you can define any logic that you want to handle each new transfer event that gets emitted by TOKEN.Transfer detected by the silverback client. +Again, you can return any serializable data structure from this function and that will be stored in the results database as a trackable metric for the execution of this handler. +Any errors you raise during this function will get captured by the client, and recorded as a failure to handle this transfer event log.

    +
    +
    +

    Startup and Shutdown

    +
    +

    Worker Events

    +

    If you have heavier resources you want to load during startup, or want to initialize things like database connections, you can add a worker startup function like so:

    +
    @app.on_worker_startup()
    +def handle_on_worker_startup(state):
    +    # Connect to DB, set initial state, etc
    +    ...
    +
    +@app.on_worker_shutdown()
    +def handle_on_worker_shutdown(state):
    +    # cleanup resources, close connections cleanly, etc
    +    ...
    +
    +
    +

    This function comes a parameter state that you can use for storing the results of your startup computation or resources that you have provisioned.

    +

    It’s import to note that this is useful for ensuring that your workers (of which there can be multiple) have the resources necessary to properly handle any updates you want to make in your handler functions, such as connecting to the Telegram API, an SQL or NoSQL database connection, or something else. This function will run on every worker process.

    +

    New in 0.2.0: These events moved from on_startup() and on_shutdown() for clarity.

    +
    +

    Worker State

    +

    The state variable is also useful as this can be made available to each handler method so other stateful quantities can be maintained for other uses. Each distributed worker has its own instance of state.

    +

    To access the state from a handler, you must annotate context as a dependency like so:

    +
    from typing import Annotated
    +from taskiq import Context, TaskiqDepends
    +
    +@app.on_(chain.blocks)
    +def block_handler(block, context: Annotated[Context, TaskiqDepends()]):
    +    # Access state via context.state
    +    ...
    +
    +
    +
    +
    +
    +

    Application Events

    +

    You can also add an application startup and shutdown handler that will be executed once upon every application startup. This may be useful for things like processing historical events since the application was shutdown or other one-time actions to perform at startup.

    +
    @app.on_startup()
    +def handle_on_startup(startup_state):
    +    # Process missed events, etc
    +    # process_history(start_block=startup_state.last_block_seen)
    +    # ...or startup_state.last_block_processed
    +    ...
    +
    +
    +@app.on_shutdown()
    +def handle_on_shutdown():
    +    # Record final state, etc
    +    ...
    +
    +
    +

    Changed in 0.2.0: The behavior of the @app.on_startup() decorator and handler signature have changed. It is now executed only once upon application startup and worker events have moved on @app.on_worker_startup().

    +
    +
    +
    +

    Running your Application

    +

    Once you have programmed your bot, it’s really useful to be able to run it locally and validate that it does what you expect it to do. +To run your bot locally, we have included a really useful cli command run that takes care of connecting to the proper network, configuring signers (using your local Ape accounts), and starting up the application client and in-memory task queue workers.

    +
    # Run your bot on the Ethereum Sepolia testnet, with your own signer:
    +$ silverback run my_bot:app --network :sepolia --account acct-name
    +
    +
    +

    It’s important to note that signers are optional, if not configured in the application then app.signer will be None. +You can use this in your application to enable a “test execution” mode, something like this:

    +
    # Compute some metric that might lead to creating a transaction
    +if app.signer:
    +    # Execute a transaction via `sender=app.signer`
    +else:
    +    # Log what the transaction *would* have done, had a signer been enabled
    +
    +
    +
    If you configure your application to use a signer, and that signer signs anything given to it, remember that you can lose substational amounts of funds if you deploy this to a production network.
    +Always test your applications throughly before deploying.
    +
    +
    +
    +

    Distributed Execution

    +

    Using only the silverback run ... command in a defualt configuration executes everything in one process and the job queue is completely in-memory with a shared state. In some high volume environments, you may want to deploy your Silverback application in a distributed configuration using multiple processes to handle the messages at a higher rate.

    +

    The primary components are the client and workers. The client handles Silverback events (blocks and contract event logs) and creates jobs for the workers to process in an asynchronous manner.

    +

    For this to work, you must configure a TaskIQ broker capable of distributed processing. For instance, with taskiq_redis you could do something like this for the client:

    +
    export SILVERBACK_BROKER_CLASS="taskiq_redis:ListQueueBroker"
    +export SILVERBACK_BROKER_URI="redis://127.0.0.1:6379"
    +
    +silverback run "example:app" \
    +    --network :mainnet:alchemy \
    +    --runner "silverback.runner:WebsocketRunner"
    +
    +
    +

    And then the worker process with 2 worker subprocesses:

    +
    export SILVERBACK_BROKER_CLASS="taskiq_redis:ListQueueBroker"
    +export SILVERBACK_BROKER_URI="redis://127.0.0.1:6379"
    +
    +silverback worker -w 2 "example:app"
    +
    +
    +

    This will run one client and 2 workers and all queue data will be go through Redis.

    +
    +
    +
    +

    Testing your Application

    +

    TODO: Add backtesting mode w/ silverback test

    +
    +
    +

    Deploying to the Silverback Platform

    +

    TODO: Add packaging and deployment to the Silverback platform, once available.

    +
    +
    + + +
    +
    + +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/v0.4.2/userguides/quickstart.html b/v0.4.2/userguides/quickstart.html new file mode 100644 index 00000000..66429b6f --- /dev/null +++ b/v0.4.2/userguides/quickstart.html @@ -0,0 +1,224 @@ + + + + + + + Quick Start — silverback documentation + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +

    Quick Start

    +

    Silverback lets you create and deploy your own Python bots that respond to on-chain events. +The Silverback library leverages the Ape development framework as well as it’s ecosystem of plugins and packages to enable you to develop simple-yet-sophisticated automated applications that can listen and respond to live chain data.

    +

    Silverback applications are excellent for use cases that involve continuously monitoring and responding to on-chain events, such as newly confirmed blocks or contract event logs.

    +

    Some examples of these types of applications:

    +
      +
    • Monitoring new pool creations, and depositing liquidity

    • +
    • Measuring trading activity of popular pools

    • +
    • Listening for large swaps to update a telegram group

    • +
    +
    +

    Documentation

    +

    Read the development userguide to learn more how to develop an application.

    +
    +
    +

    Dependencies

    +
      +
    • python3 version 3.10 or greater, python3-dev

    • +
    +
    +
    +

    Installation

    +

    Silverback relies heavily on the Ape development framework, so it’s worth it to familarize yourself with how to install Ape and it’s plugins using the Ape installation userguide.

    +
    +

    via pip

    +

    You can install the latest release via pip:

    +
    pip install silverback
    +
    +
    +
    +
    +

    via setuptools

    +

    You can clone the repository and use setuptools for the most up-to-date version:

    +
    git clone https://github.com/ApeWorX/silverback.git silverback
    +cd silverback
    +python3 setup.py install
    +
    +
    +
    +
    +
    +

    Quick Usage

    +

    Checkout the example to see how to use the library.

    +

    To run your bot against a live network, this SDK includes a simple runner you can use via:

    +
    $ silverback run "example:app" --network :mainnet:alchemy
    +
    +
    +

    NOTE: The example is designed to work with Python 3.10+, and we suggest using 3.11+ for speed.

    +
    +
    +

    Docker Usage

    +
    $ docker run --volume $PWD:/home/harambe/project --volume ~/.tokenlists:/home/harambe/.tokenlists apeworx/silverback:latest run "example:app" --network :mainnet:alchemy
    +
    +
    +

    NOTE: The Docker image we publish uses Python 3.11

    +
    +
    +

    Development

    +

    This project is in development and should be considered a beta. +Things might not be in their final state and breaking changes may occur. +Comments, questions, criticisms and pull requests are welcomed.

    +
    +
    + + +
    +
    + +
    +
    +
    +
    + + + + \ No newline at end of file