From ffa9e021d835459101b03a07380d57872a02d28b Mon Sep 17 00:00:00 2001 From: zhaojiedi1992 Date: Mon, 1 Jan 2018 21:23:38 +0800 Subject: [PATCH] fix display --- build/doctrees/environment.pickle | Bin 20116 -> 19842 bytes build/doctrees/index.doctree | Bin 8416 -> 4979 bytes build/epub/.buildinfo | 4 - build/epub/META-INF/container.xml | 6 - build/epub/My_Study_Sed.epub | Bin 29504 -> 0 bytes build/epub/_static/ajax-loader.gif | Bin 673 -> 0 bytes build/epub/_static/basic.css | 639 - build/epub/_static/comment-bright.png | Bin 756 -> 0 bytes build/epub/_static/comment-close.png | Bin 829 -> 0 bytes build/epub/_static/comment.png | Bin 641 -> 0 bytes build/epub/_static/doctools.js | 287 - build/epub/_static/down-pressed.png | Bin 222 -> 0 bytes build/epub/_static/down.png | Bin 202 -> 0 bytes build/epub/_static/epub.css | 715 -- build/epub/_static/file.png | Bin 286 -> 0 bytes build/epub/_static/jquery-3.1.0.js | 10074 ---------------- build/epub/_static/jquery.js | 4 - build/epub/_static/minus.png | Bin 90 -> 0 bytes build/epub/_static/plus.png | Bin 90 -> 0 bytes build/epub/_static/pygments.css | 69 - build/epub/_static/searchtools.js | 481 - build/epub/_static/underscore-1.3.1.js | 999 -- build/epub/_static/underscore.js | 31 - build/epub/_static/up-pressed.png | Bin 214 -> 0 bytes build/epub/_static/up.png | Bin 203 -> 0 bytes build/epub/_static/websupport.js | 808 -- build/epub/content.opf | 63 - build/epub/genindex.xhtml | 30 - build/epub/index.xhtml | 84 - build/epub/mimetype | 1 - build/epub/nav.xhtml | 173 - .../01-\347\256\200\344\273\213.xhtml" | 27 - ...\241\214sed\350\204\232\346\234\254.xhtml" | 136 - .../03-sed\350\204\232\346\234\254.xhtml" | 252 - ...351\200\211\346\213\251\350\241\214.xhtml" | 127 - ...346\213\251\346\226\207\346\234\254.xhtml" | 29 - .../06-\351\253\230\347\272\247sed.xhtml" | 69 - ...344\276\213\350\204\232\346\234\254.xhtml" | 256 - build/epub/toc.ncx | 344 - build/html/_sources/index.rst.txt | 15 - build/html/index.html | 10 - build/html/searchindex.js | 2 +- source/index.rst | 15 - 43 files changed, 1 insertion(+), 15749 deletions(-) delete mode 100644 build/epub/.buildinfo delete mode 100644 build/epub/META-INF/container.xml delete mode 100644 build/epub/My_Study_Sed.epub delete mode 100644 build/epub/_static/ajax-loader.gif delete mode 100644 build/epub/_static/basic.css delete mode 100644 build/epub/_static/comment-bright.png delete mode 100644 build/epub/_static/comment-close.png delete mode 100644 build/epub/_static/comment.png delete mode 100644 build/epub/_static/doctools.js delete mode 100644 build/epub/_static/down-pressed.png delete mode 100644 build/epub/_static/down.png delete mode 100644 build/epub/_static/epub.css delete mode 100644 build/epub/_static/file.png delete mode 100644 build/epub/_static/jquery-3.1.0.js delete mode 100644 build/epub/_static/jquery.js delete mode 100644 build/epub/_static/minus.png delete mode 100644 build/epub/_static/plus.png delete mode 100644 build/epub/_static/pygments.css delete mode 100644 build/epub/_static/searchtools.js delete mode 100644 build/epub/_static/underscore-1.3.1.js delete mode 100644 build/epub/_static/underscore.js delete mode 100644 build/epub/_static/up-pressed.png delete mode 100644 build/epub/_static/up.png delete mode 100644 build/epub/_static/websupport.js delete mode 100644 build/epub/content.opf delete mode 100644 build/epub/genindex.xhtml delete mode 100644 build/epub/index.xhtml delete mode 100644 build/epub/mimetype delete mode 100644 build/epub/nav.xhtml delete mode 100644 "build/epub/sed\345\255\246\344\271\240/01-\347\256\200\344\273\213.xhtml" delete mode 100644 "build/epub/sed\345\255\246\344\271\240/02-\350\277\220\350\241\214sed\350\204\232\346\234\254.xhtml" delete mode 100644 "build/epub/sed\345\255\246\344\271\240/03-sed\350\204\232\346\234\254.xhtml" delete mode 100644 "build/epub/sed\345\255\246\344\271\240/04-\345\234\260\345\235\200\351\200\211\346\213\251\350\241\214.xhtml" delete mode 100644 "build/epub/sed\345\255\246\344\271\240/05-\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217\351\200\211\346\213\251\346\226\207\346\234\254.xhtml" delete mode 100644 "build/epub/sed\345\255\246\344\271\240/06-\351\253\230\347\272\247sed.xhtml" delete mode 100644 "build/epub/sed\345\255\246\344\271\240/07-\344\270\200\344\272\233\346\240\267\344\276\213\350\204\232\346\234\254.xhtml" delete mode 100644 build/epub/toc.ncx diff --git a/build/doctrees/environment.pickle b/build/doctrees/environment.pickle index e24e1ee1f56ad3b54a7b9c45a7c18bc3f5a36df1..3f5770ed774fcb4d6d3d8a311901ad6c4d611b78 100644 GIT binary patch delta 2634 zcmai0dvKFg7Uz8A(X>rllcuFf+Qg=hJW3(0X@Jr;eLyK`)sC25WL%+b+M6#av^HH> zce*@wz*U1#&!?lHjE?wV+*!)3j^lnjJ-SDC_MOrn)Z_WW3am5O@r}Y|m}~IhoBEALePa7i ze3yjN`jXv;GdbH*se6WY3{FT>l9wgB+yDN^!9%l;f5cLX`oXA)iHdsm`d`?HqR#2Q zWpPFQuqw?Gsyb83h86W6&+lVQQO{+jCNud%@v%7VyL~VbpO7+ngF8~G_#j?1i1o=S ziKR$Hk`aL8}N8;F`luOqu$hl6{N>Z zcR`%cQ8eTgW3<_aTXK7_!&HnP?c=2rZy$%>7I9gzI}&kIf9 zO2CpOVv-M|eAvNLhzn+=BL-Zqt{tqvB8Ta)Afk5uKhUYXHYX zmAJLi2w`mZDaxXTr8RGsHa6WJg&g47b1abYs^MKPOK6q9&G-7mZ zKb5Fbm{XW5+jtsgI4iSfX|ZV&zFk}`T+wizmKna5@yoI|;Y+|hfe6mo!eGbQvJkFp zb3-YPJ3Np0j40Xy8sl0?09sXs6~{`=I8+kj;CRR<&}Ld*?`OmNc1tye zQARsu^OMaENUIwNqC3XX;R@F9&Jel~8TGzzaTGN|sdz@PDy+b{fKsq%R}{n+VoXXD*m<%N$q z0nU-3ALekOq8-bseQ2vv>T;mkhI^}GD$-cv!;WeNdAi1iN2@iYuhs{>IA3$47Jsa@ z;VU%?-i4yq31f@!_q-Mur4{+){I@osZjtr{L0Uxo+*gL@z1l`c{6T!qr-V=#C_}-o zZShvX3FjACdg?6b4QTk8IwyV-P%PiyV8KuwM`nZFcwxB%s_;S}#6O}Tqw^$&R$A^x6ssb)#yETUJ_xgdP_PeE7f$o)Pz+7j)3E)F@)G2uD{c z<^%9@c711q74Hl3_4$SYY-~{CyuYysA8d#Tb4%sMq0gu`j&{WN-_im(7+ig$?uL*R z^t8h33IZv9I4B>OaqYmsc7B}ck}+bJMQOUXdDESvrfbjo`qbi}4p#j%CkDCehFA6Au5c4^epc#&y($Nups zJv8$l<=R_?vupfV8>y8qyJ&Mg%*%FfM1t^7)iZoV3hxI_-L$NqZg?l;<1>*EMph_y zoC*8e{DQ$qO>ieZ)Y1U~6)wa`y-vR7yqp5nG%8J1X_S-sQ)?UCwume`&FE>32}Iz* zl2a|%rLr+E>uzg5y)AB&sG|#>s`?w*gUhBwvtN#8ACG1e-rF947gX4ayA!tH^m^q`aWik784s_|5;kuL!tNgv=zV&ndw@s7YeK1M zHQ6nvG1F6Co{S1C6$K_nb!;SRXL0&X(0n+$lrj9Gr>!b^x8xQ7-?Q1b(HZ5OL;PRL zVfleoRsPJXDt~NMl|Q+v${$`;ozzr(dE+3}qFzmzdd#JAl$$Rts3qT@0x-muQQLq^=UZySjdS=+^cu0A^? zaZO)m!vf!m4{Z8?B!0(d-)l4OPjyOIKKGs!&3LlURZhibDH4%ngd|RqAQ>iMc(Lye K>V>vj@B9ImnwT~K delta 2720 zcmai0ZERcB8P2(hlemfP)OMWMZeqK3;@D1_IB8-+NSefHKI#C?XgsNGmtT6iwJq54w-+9~ z{PJU2oY7lRQX0XBn)S$OteDq0j%pJ3$Kr>w$1~--QmLJ>eS2oIN3u;cH8Svr`D5F! zoXya-*@Ga6kPhOq0U>yz-xPI`8KCs4U!TbLBK4+%FdXJe#SE#rMbA zU*5kb5ueFsaJlrrhSZTPjWeUnrkEv}O*503C5~igGo|T7I>qQpX83;DH7sk*$dr$w zw8D(@#yV)Uy?ADg8By&wND?{iUJNou_pLtcSTly-mz(j!o*KNhCWLy%vQ->tPSGFH zI9;NYzDTF&t29a9rqlEimFZQQp#PrDl%xyAz>5_(aB;02zpWfX&uzUJ*Bu}!oY!r| zUyU|gXs?h$1eZKDxUa|W(H4rIeJJ}~CF$dtRfF`D9K$7JCsT0rImj;NJ5c4TknSaT ztFs0!{UAx5jp?<-af}od$#c9p!5i>qfj5uy<_TmBGuodpca}aUA4Pf9of<1se;}_| zf}>SsT=iFdKAs?P`S5O46z^~JqKcI!Q*JJ$%PimmPX|wR>2bbNM}DU!L|#`sHa+s2 zf~0=a-K^s4$(KsZ+^~qbuEt2$_$0RB=cWe9CgI}X2rlS!_*!*TS}U;<_2X4@2-TJ@ z%nh6Hvo0NymICx~bwJuJg6_5Gq@5BDxP9av^jrO8?Yzs+#o1iQr>n9lLwC;vTlYFF z*J#Ko{KeXd`aUHq>7)=?zzO>#eo!022i7hInv|3}Y*8sEQhMInLEg_t8j2`}igC%hkx4kEuY~qZrk$4D>bMCkaXeBNB{sO42JqRskTjx#2JEY| z0`)5BtanJs0$3%vV_CkC4z{3dQ7HDi{dmn0$V)lvHE46#FzMuTFksGMz>;%COM@P# zO*&i9!;?+}S>__rnPLoBeUh!1ZvpA1q-+Rf?qX^uU18}%HPD3Gunxs;r?MyCD;CSS zegbVC@yDZXFCO(o*$&_{Ec5uVr9mLG9y3lisEDh~6|8C?}bZbAQs zyduZnYq3MqD)Q{zV8D*nd@daPc!M40HZiq3T6LgptH2wrcDRBfa(kNrhk^yrgI-|jOVy`&kr4pFpg9Y*3~ zJ>?D}jf%&Qe2yQu1!b?0d3FTd&~GYZm+J=`50bbNyt)TjA#p5?DQ{uaKXQ^@p z+>>XN@T@Rc!*8^&6AdQ94s7*!l#5JaJ!KWiSE>rHm@-olx7Rqq9)@+KjmOQKf}}+a zk^E(B<4@x7ZG+@afqKwit>IS(8CO|I^aaQ;CI$zv)VqnytPqW4ze*x|ndg^=%Xt38 zk6-rriB|!6>VNO{@>hesNlvX?B98v^LdSx|TkT{iuTxHVM%!>-e*n)6bTLd+`CkK3 z@`{qe;ei0Tx)Lht+z=Mmr;p z$3JzBD=%!`M zO!2{)H2(^aui))19>%-ArB|xfA`}TUS{N^*-FtXCo=(RPrL)LpG-Jva*~9G9LAEhi zwrlZ7q`_0meLj$>ynSD6HWhdNFVU^V#fZu0V;p)yUg1~V72kDm4|Q(cH672c==z}> zx3Q0qrtxrlH5ca%J@If>cJbbNwa4{jA diff --git a/build/doctrees/index.doctree b/build/doctrees/index.doctree index 960b27c5f0e83bed7970050f4bccba9b0de79456..7241ee46a249603849867ef22e54d6a9db9caf64 100644 GIT binary patch delta 276 zcmaFh_*sp$fn{oj@J7}?_RX0brHs6{GVWyD%XpCSDC0@Sv&pYH^My0slxE0goXJqg zP|T3?7SE8+I5D|^%UIwTkY$;{n86H@@tZu6J$Q1i*d!(n#?6f4_DoDhjGLV#-!W%$ zFfuS?$YiktsVo){`+vrtjFODPj5!%IGY)4QDDC0QOUz9zsVqn>o>DtSBMYRV1FYUJ z+@T;axl3MZ@&*M~rb&#G Iw<~A@05Dl%%K!iX delta 2932 zcmbW3ZD?Cn7{{A?^U~C1qc>~QV$x(?W*cf=>SWsZK`TShN_qp@X>Zm1ee)l`yY0FzS@`L>a;t<>&_Gvj@`uyYKxq0%b*<-m5UbsfS zHH92k!2}}sUPOFXTP@ z?%dD#RHreXJpf~Y*Xe6?5G>k*(Rg|?y1(i>9F7bJZ+ww2o}b%K!8SpmsBOu}sdyrF zXy4H(`5+~9tflL?g`)92OL)FD}=O@h;`y2K=f+q(KpY$`=(nP(UCT>d|HVFXT78@Vp+ zB+H_80LNw44Uqjt$Yi+P`Ba&&(t~PMqI;P%Qdc}YD}waYK%&U@ZH)+@WeCHA${_Ck zzW|?M07qK_e2K|50#qJnHbXQ!lqg!^w(cMwl} z^NkPJ3#WL%4l{>$0jpRMn5zb?PE0DCGGt$76X=o*UF+O?m0{wcDW9xG#Z!Ty&uOZglZV8x06 z1GUUV5uc%ymp74*=NZ7(rF^*=KtnVwOF4+d&Y-VyDdUI(ic`vag10_<|HjfMcy3O9M$Sq}@fPOqi@5h^L%`g4ThSjz`j(9oka^MnA{r{hG+m)0i%_a6w5c|zuWlbP|NnwlfBQr&uJ;Eh{Jm(Dj2i4^*0RR91 diff --git a/build/epub/.buildinfo b/build/epub/.buildinfo deleted file mode 100644 index 320b1f7..0000000 --- a/build/epub/.buildinfo +++ /dev/null @@ -1,4 +0,0 @@ -# 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: a330fb318434a2d058b80d254d3949f9 -tags: 490e2b0d4a1bebf665648774830bc9b4 diff --git a/build/epub/META-INF/container.xml b/build/epub/META-INF/container.xml deleted file mode 100644 index 326cf15..0000000 --- a/build/epub/META-INF/container.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/build/epub/My_Study_Sed.epub b/build/epub/My_Study_Sed.epub deleted file mode 100644 index 912a5a374ad7dca7beaf01e5ee407ed5c280b7da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29504 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

?L%@2Uni-bpetq#Mq8^DtgK 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 DFo|=J diff --git a/build/epub/_static/ajax-loader.gif b/build/epub/_static/ajax-loader.gif deleted file mode 100644 index 61faf8cab23993bd3e1560bff0668bd628642330..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nno%(3)e{?)x>&1u}A`t?OF7Z|1gRivOgXi&7IyQd1Pl zGfOfQ60;I3a`F>X^fL3(@);C=vM_KlFfb_o=k{|A33hf2a5d61U}gjg=>Rd%XaNQW zW@Cw{|b%Y*pl8F?4B9 zlo4Fz*0kZGJabY|>}Okf0}CCg{u4`zEPY^pV?j2@h+|igy0+Kz6p;@SpM4s6)XEMg z#3Y4GX>Hjlml5ftdH$4x0JGdn8~MX(U~_^d!Hi)=HU{V%g+mi8#UGbE-*ao8f#h+S z2a0-5+vc7MU$e-NhmBjLIC1v|)9+Im8x1yacJ7{^tLX(ZhYi^rpmXm0`@ku9b53aN zEXH@Y3JaztblgpxbJt{AtE1ad1Ca>{v$rwwvK(>{m~Gf_=-Ro7Fk{#;i~+{{>QtvI yb2P8Zac~?~=sRA>$6{!(^3;ZP0TPFR(G_-UDU(8Jl0?(IXu$~#4A!880|o%~Al1tN diff --git a/build/epub/_static/basic.css b/build/epub/_static/basic.css deleted file mode 100644 index 6df76b0..0000000 --- a/build/epub/_static/basic.css +++ /dev/null @@ -1,639 +0,0 @@ -/* - * basic.css - * ~~~~~~~~~ - * - * Sphinx stylesheet -- basic theme. - * - * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -/* -- main layout ----------------------------------------------------------- */ - -div.clearer { - clear: both; -} - -/* -- relbar ---------------------------------------------------------------- */ - -div.related { - width: 100%; - font-size: 90%; -} - -div.related h3 { - display: none; -} - -div.related ul { - margin: 0; - padding: 0 0 0 10px; - list-style: none; -} - -div.related li { - display: inline; -} - -div.related li.right { - float: right; - margin-right: 5px; -} - -/* -- sidebar --------------------------------------------------------------- */ - -div.sphinxsidebarwrapper { - padding: 10px 5px 0 10px; -} - -div.sphinxsidebar { - float: left; - width: 230px; - margin-left: -100%; - font-size: 90%; - 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 input[type="text"] { - width: 170px; -} - -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 div.context { - color: #888; - margin: 2px 0 0 30px; - text-align: left; -} - -ul.keywordmatches li.goodmatch a { - font-weight: bold; -} - -/* -- index page ------------------------------------------------------------ */ - -table.contentstable { - width: 90%; - 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 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, object.align-left { - clear: left; - float: left; - margin-right: 1em; -} - -img.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; -} - -img.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; -} - -.align-left { - text-align: left; -} - -.align-center { - text-align: center; -} - -.align-right { - text-align: right; -} - -/* -- sidebars -------------------------------------------------------------- */ - -div.sidebar { - margin: 0 0 0.5em 1em; - border: 1px solid #ddb; - padding: 7px 7px 0 7px; - background-color: #ffe; - width: 40%; - float: right; -} - -p.sidebar-title { - font-weight: bold; -} - -/* -- topics ---------------------------------------------------------------- */ - -div.topic { - border: 1px solid #ccc; - padding: 7px 7px 0 7px; - margin: 10px 0 10px 0; -} - -p.topic-title { - font-size: 1.1em; - font-weight: bold; - margin-top: 10px; -} - -/* -- admonitions ----------------------------------------------------------- */ - -div.admonition { - margin-top: 10px; - margin-bottom: 10px; - padding: 7px; -} - -div.admonition dt { - font-weight: bold; -} - -div.admonition dl { - margin-bottom: 0; -} - -p.admonition-title { - margin: 0px 10px 5px 0px; - font-weight: bold; -} - -div.body p.centered { - text-align: center; - margin-top: 25px; -} - -/* -- tables ---------------------------------------------------------------- */ - -table.docutils { - border: 0; - border-collapse: collapse; -} - -table 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; -} - -table.footnote td, table.footnote th { - border: 0 !important; -} - -th { - text-align: left; - padding-right: 5px; -} - -table.citation { - border-left: solid 1px gray; - margin-left: 1px; -} - -table.citation td { - border-bottom: none; -} - -/* -- figures --------------------------------------------------------------- */ - -div.figure { - margin: 0.5em; - padding: 0.5em; -} - -div.figure p.caption { - padding: 0.3em; -} - -div.figure p.caption span.caption-number { - font-style: italic; -} - -div.figure p.caption 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; -} - -/* -- other body styles ----------------------------------------------------- */ - -ol.arabic { - list-style: decimal; -} - -ol.loweralpha { - list-style: lower-alpha; -} - -ol.upperalpha { - list-style: upper-alpha; -} - -ol.lowerroman { - list-style: lower-roman; -} - -ol.upperroman { - list-style: upper-roman; -} - -dl { - margin-bottom: 15px; -} - -dd p { - margin-top: 0px; -} - -dd ul, dd table { - margin-bottom: 10px; -} - -dd { - margin-top: 3px; - margin-bottom: 10px; - margin-left: 30px; -} - -dt:target, .highlighted { - background-color: #fbe54e; -} - -dl.glossary dt { - font-weight: bold; - font-size: 1.1em; -} - -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - -.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; -} - -abbr, acronym { - border-bottom: dotted 1px; - cursor: help; -} - -/* -- code displays --------------------------------------------------------- */ - -pre { - overflow: auto; - overflow-y: hidden; /* fixes display issues on Chrome browsers */ -} - -span.pre { - -moz-hyphens: none; - -ms-hyphens: none; - -webkit-hyphens: none; - hyphens: none; -} - -td.linenos pre { - padding: 5px 0px; - border: 0; - background-color: transparent; - color: #aaa; -} - -table.highlighttable { - margin-left: 0.5em; -} - -table.highlighttable td { - padding: 0 0.5em 0 0.5em; -} - -div.code-block-caption { - padding: 2px 5px; - font-size: small; -} - -div.code-block-caption code { - background-color: transparent; -} - -div.code-block-caption + div > div.highlight > pre { - margin-top: 0; -} - -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 { - padding: 1em 1em 0; -} - -div.literal-block-wrapper div.highlight { - margin: 0; -} - -code.descname { - background-color: transparent; - font-weight: bold; - font-size: 1.2em; -} - -code.descclassname { - background-color: transparent; -} - -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: relative; - left: 0px; - 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/build/epub/_static/comment-bright.png b/build/epub/_static/comment-bright.png deleted file mode 100644 index 15e27edb12ac25701ac0ac21b97b52bb4e45415e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 756 zcmVgfIX78 z$8Pzv({A~p%??+>KickCb#0FM1rYN=mBmQ&Nwp<#JXUhU;{|)}%&s>suq6lXw*~s{ zvHx}3C%<;wE5CH!BR{p5@ml9ws}y)=QN-kL2?#`S5d*6j zk`h<}j1>tD$b?4D^N9w}-k)bxXxFg>+#kme^xx#qg6FI-%iv2U{0h(Y)cs%5a|m%Pn_K3X_bDJ>EH#(Fb73Z zfUt2Q3B>N+ot3qb*DqbTZpFIn4a!#_R-}{?-~Hs=xSS6p&$sZ-k1zDdtqU`Y@`#qL z&zv-~)Q#JCU(dI)Hf;$CEnK=6CK50}q7~wdbI->?E07bJ0R;!GSQTs5Am`#;*WHjvHRvY?&$Lm-vq1a_BzocI^ULXV!lbMd%|^B#fY;XX)n<&R^L z=84u1e_3ziq;Hz-*k5~zwY3*oDKt0;bM@M@@89;@m*4RFgvvM_4;5LB!@OB@^WbVT zjl{t;a8_>od-~P4 m{5|DvB&z#xT;*OnJqG}gk~_7HcNkCr0000W zanA~u9RIXo;n7c96&U)YLgs-FGlx~*_c{Jgvesu1E5(8YEf&5wF=YFPcRe@1=MJmi zag(L*xc2r0(slpcN!vC5CUju;vHJkHc*&70_n2OZsK%O~A=!+YIw z7zLLl7~Z+~RgWOQ=MI6$#0pvpu$Q43 zP@36QAmu6!_9NPM?o<1_!+stoVRRZbW9#SPe!n;#A_6m8f}|xN1;H{`0RoXQ2LM47 zt(g;iZ6|pCb@h2xk&(}S3=EVBUO0e90m2Lp5CB<(SPIaB;n4))3JB87Or#XPOPcum z?<^(g+m9}VNn4Y&B`g8h{t_$+RB1%HKRY6fjtd-<7&EsU;vs0GM(Lmbhi%Gwcfs0FTF}T zL{_M6Go&E0Eg8FuB*(Yn+Z*RVTBE@10eIOb3El^MhO`GabDll(V0&FlJi2k^;q8af zkENdk2}x2)_KVp`5OAwXZM;dG0?M-S)xE1IKDi6BY@5%Or?#aZ9$gcX)dPZ&wA1a< z$rFXHPn|TBf`e?>Are8sKtKrKcjF$i^lp!zkL?C|y^vlHr1HXeVJd;1I~g&Ob-q)& z(fn7s-KI}G{wnKzg_U5G(V%bX6uk zIa+<@>rdmZYd!9Y=C0cuchrbIjuRB_Wq{-RXlic?flu1*_ux}x%(HDH&nT`k^xCeC ziHi1!ChH*sQ6|UqJpTTzX$aw8e(UfcS^f;6yBWd+(1-70zU(rtxtqR%j z-lsH|CKQJXqD{+F7V0OTv8@{~(wp(`oIP^ZykMWgR>&|RsklFMCnOo&Bd{le} zV5F6424Qzl;o2G%oVvmHgRDP9!=rK8fy^!yV8y*4p=??uIRrrr0?>O!(z*g5AvL2!4z0{sq%vhG*Po}`a<6%kTK5TNhtC8}rXNu&h^QH4A&Sk~Autm*s~45(H7+0bi^MraaRVzr05hQ3iK?j` zR#U@^i0WhkIHTg29u~|ypU?sXCQEQgXfObPW;+0YAF;|5XyaMAEM0sQ@4-xCZe=0e z7r$ofiAxn@O5#RodD8rh5D@nKQ;?lcf@tg4o+Wp44aMl~c47azN_(im0N)7OqdPBC zGw;353_o$DqGRDhuhU$Eaj!@m000000NkvXXu0mjfjZ7Z_ diff --git a/build/epub/_static/doctools.js b/build/epub/_static/doctools.js deleted file mode 100644 index 5654977..0000000 --- a/build/epub/_static/doctools.js +++ /dev/null @@ -1,287 +0,0 @@ -/* - * doctools.js - * ~~~~~~~~~~~ - * - * Sphinx JavaScript utilities for all documentation. - * - * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -/** - * select a different prefix for underscore - */ -$u = _.noConflict(); - -/** - * make the code below compatible with browsers without - * an installed firebug like debugger -if (!window.console || !console.firebug) { - var names = ["log", "debug", "info", "warn", "error", "assert", "dir", - "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", - "profile", "profileEnd"]; - window.console = {}; - for (var i = 0; i < names.length; ++i) - window.console[names[i]] = function() {}; -} - */ - -/** - * small helper function to urldecode strings - */ -jQuery.urldecode = function(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) { - if (node.nodeType == 3) { - var val = node.nodeValue; - var pos = val.toLowerCase().indexOf(text); - if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { - var span = document.createElement("span"); - span.className = className; - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - node.parentNode.insertBefore(span, node.parentNode.insertBefore( - document.createTextNode(val.substr(pos + text.length)), - node.nextSibling)); - node.nodeValue = val.substr(0, pos); - } - } - else if (!jQuery(node).is("button, select, textarea")) { - jQuery.each(node.childNodes, function() { - highlight(this); - }); - } - } - return this.each(function() { - highlight(this); - }); -}; - -/* - * 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; -} - -/** - * Small JavaScript module for the documentation. - */ -var Documentation = { - - init : function() { - this.fixFirefoxAnchorBug(); - this.highlightSearchWords(); - this.initIndexTable(); - - }, - - /** - * i18n support - */ - TRANSLATIONS : {}, - PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, - LOCALE : 'unknown', - - // gettext and ngettext don't access this so that the functions - // can safely bound to a different name (_ = Documentation.gettext) - gettext : function(string) { - var translated = Documentation.TRANSLATIONS[string]; - if (typeof translated == 'undefined') - return string; - return (typeof translated == 'string') ? translated : translated[0]; - }, - - ngettext : function(singular, plural, n) { - var translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated == 'undefined') - return (n == 1) ? singular : plural; - return translated[Documentation.PLURALEXPR(n)]; - }, - - addTranslations : function(catalog) { - for (var key in catalog.messages) - this.TRANSLATIONS[key] = catalog.messages[key]; - this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); - this.LOCALE = catalog.locale; - }, - - /** - * add context elements like header anchor links - */ - addContextElements : function() { - $('div[id] > :header:first').each(function() { - $('\u00B6'). - attr('href', '#' + this.id). - attr('title', _('Permalink to this headline')). - appendTo(this); - }); - $('dt[id]').each(function() { - $('\u00B6'). - attr('href', '#' + this.id). - attr('title', _('Permalink to this definition')). - appendTo(this); - }); - }, - - /** - * workaround a firefox stupidity - * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 - */ - fixFirefoxAnchorBug : function() { - if (document.location.hash) - window.setTimeout(function() { - document.location.href += ''; - }, 10); - }, - - /** - * highlight the search words provided in the url in the text - */ - highlightSearchWords : function() { - var params = $.getQueryParameters(); - var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; - if (terms.length) { - var body = $('div.body'); - if (!body.length) { - body = $('body'); - } - window.setTimeout(function() { - $.each(terms, function() { - body.highlightText(this.toLowerCase(), 'highlighted'); - }); - }, 10); - $('

') - .appendTo($('#searchbox')); - } - }, - - /** - * init the domain index toggle buttons - */ - initIndexTable : function() { - var togglers = $('img.toggler').click(function() { - var src = $(this).attr('src'); - var idnum = $(this).attr('id').substr(7); - $('tr.cg-' + idnum).toggle(); - if (src.substr(-9) == 'minus.png') - $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); - else - $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); - }).css('display', ''); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { - togglers.click(); - } - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords : function() { - $('#searchbox .highlight-link').fadeOut(300); - $('span.highlighted').removeClass('highlighted'); - }, - - /** - * make the url absolute - */ - makeURL : function(relativeURL) { - return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; - }, - - /** - * get the current relative url - */ - getCurrentURL : function() { - var path = document.location.pathname; - var parts = path.split(/\//); - $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { - if (this == '..') - parts.pop(); - }); - var url = parts.join('/'); - return path.substring(url.lastIndexOf('/') + 1, path.length - 1); - }, - - initOnKeyListeners: function() { - $(document).keyup(function(event) { - var activeElementType = document.activeElement.tagName; - // don't navigate when in search box or textarea - if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { - switch (event.keyCode) { - case 37: // left - var prevHref = $('link[rel="prev"]').prop('href'); - if (prevHref) { - window.location.href = prevHref; - return false; - } - case 39: // right - var nextHref = $('link[rel="next"]').prop('href'); - if (nextHref) { - window.location.href = nextHref; - return false; - } - } - } - }); - } -}; - -// quick alias for translations -_ = Documentation.gettext; - -$(document).ready(function() { - Documentation.init(); -}); \ No newline at end of file diff --git a/build/epub/_static/down-pressed.png b/build/epub/_static/down-pressed.png deleted file mode 100644 index 5756c8cad8854722893dc70b9eb4bb0400343a39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`OFdm2Ln;`PZ^+1>KjR?B@S0W7 z%OS_REiHONoJ6{+Ks@6k3590|7k9F+ddB6!zw3#&!aw#S`x}3V3&=A(a#84O-&F7T z^k3tZB;&iR9siw0|F|E|DAL<8r-F4!1H-;1{e*~yAKZN5f0|Ei6yUmR#Is)EM(Po_ zi`qJR6|P<~+)N+kSDgL7AjdIC_!O7Q?eGb+L+qOjm{~LLinM4NHn7U%HcK%uoMYO5 VJ~8zD2B3o(JYD@<);T3K0RV0%P>BEl diff --git a/build/epub/_static/down.png b/build/epub/_static/down.png deleted file mode 100644 index 1b3bdad2ceffae91cee61b32f3295f9bbe646e48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6CVIL!hEy=F?b*7pIY7kW{q%Rg zx!yQ<9v8bmJwa`TQk7YSw}WVQ()mRdQ;TC;* diff --git a/build/epub/_static/epub.css b/build/epub/_static/epub.css deleted file mode 100644 index a73616d..0000000 --- a/build/epub/_static/epub.css +++ /dev/null @@ -1,715 +0,0 @@ -/* - * epub.css_t - * ~~~~~~~~~~ - * - * Sphinx stylesheet -- epub theme. - * - * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -/* -- main layout ----------------------------------------------------------- */ - - -body{ - writing-mode: horizontal-tb; - line-break: normal; - -epub-writing-mode: horizontal-tb; - -webkit-writing-mode: horizontal-tb; - -epub-line-break: normal; - -webkit-line-break: normal; -} - - -div.clearer { - clear: both; -} - -a:link, a:visited { - color: #3333ff; - text-decoration: underline; -} - -img { - border: 0; - max-width: 100%; -} - -/* -- relbar ---------------------------------------------------------------- */ - -div.related { - width: 100%; - font-family: sans-serif; - font-size: 90%; -} - -div.related h3 { - display: none; -} - -div.related ul { - margin: 0; - padding: 0 0 0 10px; - list-style: none; -} - -div.related li { - display: inline; -} - -div.related li.right { - float: right; - margin-right: 5px; -} - -/* -- sidebar --------------------------------------------------------------- */ - -div.sphinxsidebarwrapper { - padding: 10px 5px 0 10px; -} - -div.sphinxsidebar { - float: left; - width: 230px; - margin-left: -100%; - font-size: 90%; -} - -div.sphinxsidebar ul { - list-style: none; -} - -div.sphinxsidebar ul ul, -div.sphinxsidebar ul.want-points { - margin-left: 20px; - list-style: square; -} - -div.sphinxsidebar ul ul { - margin-top: 0; - margin-bottom: 0; -} - -div.sphinxsidebar form { - margin-top: 10px; -} - -div.sphinxsidebar input { - border: 1px solid #98dbcc; - font-family: sans-serif; - font-size: 100%; -} - -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 div.context { - color: #888; - margin: 2px 0 0 30px; - text-align: left; -} - -ul.keywordmatches li.goodmatch a { - font-weight: bold; -} - -/* -- index page ------------------------------------------------------------ */ - -table.contentstable { - width: 90%; -} - -table.contentstable p.biglink { - line-height: 150%; -} - -a.biglink { - font-size: 130%; -} - -span.linkdescr { - font-style: italic; - padding-top: 5px; - font-size: 90%; -} - -/* -- general index --------------------------------------------------------- */ - -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; -} - -/* -- domain module index --------------------------------------------------- */ - -table.modindextable td { - padding: 2px; - border-collapse: collapse; -} - -/* -- general body styles --------------------------------------------------- */ - -a.headerlink { - visibility: hidden; -} - -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; -} - -.align-left { - text-align: left; -} - -.align-center { - text-align: center; -} - -.align-right { - text-align: right; -} - -/* -- sidebars -------------------------------------------------------------- */ - -div.sidebar { - margin: 0 0 0.5em 1em; - border: 1px solid #ddb; - padding: 7px 7px 0 7px; - background-color: #ffe; - width: 40%; - float: right; -} - -p.sidebar-title { - font-weight: bold; -} - -/* -- topics ---------------------------------------------------------------- */ - -div.topic { - border: 1px solid #ccc; - padding: 7px 7px 0 7px; - margin: 10px 0 10px 0; -} - -p.topic-title { - font-size: 110%; - font-weight: bold; - margin-top: 10px; -} - -/* -- admonitions ----------------------------------------------------------- */ - -div.admonition { - margin-top: 10px; - margin-bottom: 10px; - padding: 7px; -} - -div.admonition dt { - font-weight: bold; -} - -div.admonition dl { - margin-bottom: 0; -} - -p.admonition-title { - margin: 0px 10px 5px 0px; - font-weight: bold; -} - -div.body p.centered { - text-align: center; - margin-top: 25px; -} - -/* -- tables ---------------------------------------------------------------- */ - -table.docutils { - border: 0; - border-collapse: collapse; -} - -table 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; -} - -table.footnote td, table.footnote th { - border: 0 !important; -} - -th { - text-align: left; - padding-right: 5px; -} - -table.citation { - border-left: solid 1px gray; - margin-left: 1px; -} - -table.citation td { - border-bottom: none; -} - -/* -- figures --------------------------------------------------------------- */ - -div.figure p.caption span.caption-number { - font-style: italic; -} - -div.figure p.caption span.caption-text { -} - -/* -- field list styles ----------------------------------------------------- */ - -/* -- for html4 -- */ - -table.field-list td, table.field-list th { - border: 0 !important; -} - -.field-list ul { - margin: 0; - padding-left: 1em; -} - -.field-list p { - margin: 0; -} - -/* -- for html5 -- */ - -/* bold field name, content starts on the same line */ - -dl.field-list > dt, -dl.option-list > dt, -dl.docinfo > dt, -dl.footnote > dt, -dl.citation > dt { - font-weight: bold; - clear: left; - float: left; - margin: 0; - padding: 0; - padding-right: 0.5em; -} - -/* Offset for field content (corresponds to the --field-name-limit option) */ - -dl.field-list > dd, -dl.option-list > dd, -dl.docinfo > dd { - margin-left: 9em; /* ca. 14 chars in the test examples */ -} - -/* start field-body on a new line after long field names */ - -dl.field-list > dd > *:first-child, -dl.option-list > dd > *:first-child -{ - display: inline-block; - width: 100%; - margin: 0; -} - -dl.field-list > dt:after, -dl.docinfo > dt:after { - content: ":"; -} - -/* -- option lists ---------------------------------------------------------- */ - -dl.option-list { - margin-left: 40px; -} - -dl.option-list > dt { - font-weight: normal; -} - -span.option { - white-space: nowrap; -} - -/* -- lists ----------------------------------------------------------------- */ - -/* -- compact and simple lists: no margin between items -- */ - -.simple li, .compact li, -.simple ul, .compact ul, -.simple ol, .compact ol, -.simple > li p, .compact > li p, -dl.simple > dd, dl.compact > dd { - margin-top: 0; - margin-bottom: 0; -} - -/* -- enumerated lists ------------------------------------------------------ */ - -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; -} - -dt span.classifier { - font-style: italic; -} - -dt span.classifier:before { - font-style: normal; - margin: 0.5em; - content: ":"; -} - -/* -- other body styles ----------------------------------------------------- */ - -dl { - margin-bottom: 15px; -} - -dd p { - margin-top: 0px; -} - -dd ul, dd table { - margin-bottom: 10px; -} - -dd { - margin-top: 3px; - margin-bottom: 10px; - margin-left: 30px; -} - -dt:target, .highlighted { - background-color: #ddd; -} - -dl.glossary dt { - font-weight: bold; - font-size: 110%; -} - -.optional { - font-size: 130%; -} - -.sig-paren { - font-size: larger; -} - -.versionmodified { - font-style: italic; -} - -.system-message { - background-color: #fda; - padding: 5px; - border: 3px solid red; -} - -/* -- footnotes and citations ----------------------------------------------- */ - -/* -- for html4 -- */ -.footnote:target { - background-color: #dddddd; -} - -/* -- for html5 -- */ - -dl.footnote.superscript > dd { - margin-left: 1em; -} - -dl.footnote.brackets > dd { - margin-left: 2em; -} - -dl > dt.label { - font-weight: normal; -} - -a.footnote-reference.brackets:before, -dt.label > span.brackets:before { - content: "["; -} - -a.footnote-reference.brackets:after, -dt.label > span.brackets:after { - content: "]"; -} - -a.footnote-reference.superscript, -dl.footnote.superscript > dt.label { - vertical-align: super; - font-size: smaller; -} - -dt.label > span.fn-backref { - margin-left: 0.2em; -} - -dt.label > span.fn-backref > a { - font-style: italic; -} - -/* -- line blocks ----------------------------------------------------------- */ - -.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-style: italic; -} - -.accelerator { - text-decoration: underline; -} - -.classifier { - font-style: oblique; -} - -abbr, acronym { - border-bottom: dotted 1px; - cursor: help; -} - -/* -- code displays --------------------------------------------------------- */ - -pre { - font-family: monospace; - overflow: auto; - overflow-y: hidden; -} - -td.linenos pre { - padding: 5px 0px; - border: 0; - background-color: transparent; - color: #aaa; -} - -table.highlighttable { - margin-left: 0.5em; -} - -table.highlighttable td { - padding: 0 0.5em 0 0.5em; -} - -code { - font-family: monospace; -} - -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 { - padding: 1em 1em 0; -} - -div.literal-block-wrapper div.highlight { - margin: 0; -} - -code.descname { - background-color: transparent; - font-weight: bold; - font-size: 1.2em; -} - -code.descclassname { - background-color: transparent; -} - -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; -} - -/* -- math display ---------------------------------------------------------- */ - -img.math { - vertical-align: middle; -} - -div.body div.math p { - text-align: center; -} - -span.eqno { - float: right; -} - -/* -- special divs --------------------------------------------------------- */ - -div.quotebar { - background-color: #e3eff1; - max-width: 250px; - float: right; - font-family: sans-serif; - padding: 7px 7px; - border: 1px solid #ccc; -} -div.footer { - background-color: #e3eff1; - padding: 3px 8px 3px 0; - clear: both; - font-family: sans-serif; - font-size: 80%; - text-align: right; -} - -div.footer a { - text-decoration: underline; -} - -/* -- link-target ----------------------------------------------------------- */ - -.link-target { - font-size: 80%; -} - -table .link-target { - /* Do not show links in tables, there is not enough space */ - display: none; -} - -/* -- font-face ------------------------------------------------------------- */ - -/* -@font-face { - font-family: "LiberationNarrow"; - font-style: normal; - font-weight: normal; - src: url("res:///Data/fonts/LiberationNarrow-Regular.otf") - format("opentype"); -} -@font-face { - font-family: "LiberationNarrow"; - font-style: oblique, italic; - font-weight: normal; - src: url("res:///Data/fonts/LiberationNarrow-Italic.otf") - format("opentype"); -} -@font-face { - font-family: "LiberationNarrow"; - font-style: normal; - font-weight: bold; - src: url("res:///Data/fonts/LiberationNarrow-Bold.otf") - format("opentype"); -} -@font-face { - font-family: "LiberationNarrow"; - font-style: oblique, italic; - font-weight: bold; - src: url("res:///Data/fonts/LiberationNarrow-BoldItalic.otf") - format("opentype"); -} -*/ \ No newline at end of file diff --git a/build/epub/_static/file.png b/build/epub/_static/file.png deleted file mode 100644 index a858a410e4faa62ce324d814e4b816fff83a6fb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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( diff --git a/build/epub/_static/jquery-3.1.0.js b/build/epub/_static/jquery-3.1.0.js deleted file mode 100644 index f2fc274..0000000 --- a/build/epub/_static/jquery-3.1.0.js +++ /dev/null @@ -1,10074 +0,0 @@ -/*eslint-disable no-unused-vars*/ -/*! - * jQuery JavaScript Library v3.1.0 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2016-07-07T21:44Z - */ -( function( global, factory ) { - - "use strict"; - - if ( typeof module === "object" && typeof module.exports === "object" ) { - - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get jQuery. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info. - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 -// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode -// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common -// enough that all such attempts are guarded in a try block. -"use strict"; - -var arr = []; - -var document = window.document; - -var getProto = Object.getPrototypeOf; - -var slice = arr.slice; - -var concat = arr.concat; - -var push = arr.push; - -var indexOf = arr.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var fnToString = hasOwn.toString; - -var ObjectFunctionString = fnToString.call( Object ); - -var support = {}; - - - - function DOMEval( code, doc ) { - doc = doc || document; - - var script = doc.createElement( "script" ); - - script.text = code; - doc.head.appendChild( script ).parentNode.removeChild( script ); - } -/* global Symbol */ -// Defining this global in .eslintrc would create a danger of using the global -// unguarded in another place, it seems safer to define global only for this module - - - -var - version = "3.1.0", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }, - - // Support: Android <=4.0 only - // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([a-z])/g, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); - }; - -jQuery.fn = jQuery.prototype = { - - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num != null ? - - // Return just the one element from the set - ( num < 0 ? this[ num + this.length ] : this[ num ] ) : - - // Return all the elements in a clean array - slice.call( this ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - each: function( callback ) { - return jQuery.each( this, callback ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map( this, function( elem, i ) { - return callback.call( elem, i, elem ); - } ) ); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: arr.sort, - splice: arr.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, - target = arguments[ 0 ] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // Skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { - target = {}; - } - - // Extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - - // Only deal with non-null/undefined values - if ( ( options = arguments[ i ] ) != null ) { - - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject( copy ) || - ( copyIsArray = jQuery.isArray( copy ) ) ) ) { - - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray( src ) ? src : []; - - } else { - clone = src && jQuery.isPlainObject( src ) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend( { - - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - isFunction: function( obj ) { - return jQuery.type( obj ) === "function"; - }, - - isArray: Array.isArray, - - isWindow: function( obj ) { - return obj != null && obj === obj.window; - }, - - isNumeric: function( obj ) { - - // As of jQuery 3.0, isNumeric is limited to - // strings and numbers (primitives or objects) - // that can be coerced to finite numbers (gh-2662) - var type = jQuery.type( obj ); - return ( type === "number" || type === "string" ) && - - // parseFloat NaNs numeric-cast false positives ("") - // ...but misinterprets leading-number strings, particularly hex literals ("0x...") - // subtraction forces infinities to NaN - !isNaN( obj - parseFloat( obj ) ); - }, - - isPlainObject: function( obj ) { - var proto, Ctor; - - // Detect obvious negatives - // Use toString instead of jQuery.type to catch host objects - if ( !obj || toString.call( obj ) !== "[object Object]" ) { - return false; - } - - proto = getProto( obj ); - - // Objects with no prototype (e.g., `Object.create( null )`) are plain - if ( !proto ) { - return true; - } - - // Objects with prototype are plain iff they were constructed by a global Object function - Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; - return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; - }, - - isEmptyObject: function( obj ) { - - /* eslint-disable no-unused-vars */ - // See https://github.com/eslint/eslint/issues/6125 - var name; - - for ( name in obj ) { - return false; - } - return true; - }, - - type: function( obj ) { - if ( obj == null ) { - return obj + ""; - } - - // Support: Android <=2.3 only (functionish RegExp) - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call( obj ) ] || "object" : - typeof obj; - }, - - // Evaluates a script in a global context - globalEval: function( code ) { - DOMEval( code ); - }, - - // Convert dashed to camelCase; used by the css and data modules - // Support: IE <=9 - 11, Edge 12 - 13 - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - }, - - each: function( obj, callback ) { - var length, i = 0; - - if ( isArrayLike( obj ) ) { - length = obj.length; - for ( ; i < length; i++ ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } else { - for ( i in obj ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } - - return obj; - }, - - // Support: Android <=4.0 only - trim: function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArrayLike( Object( arr ) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - return arr == null ? -1 : indexOf.call( arr, elem, i ); - }, - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - for ( ; j < len; j++ ) { - first[ i++ ] = second[ j ]; - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var length, value, - i = 0, - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArrayLike( elems ) ) { - length = elems.length; - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var tmp, args, proxy; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - now: Date.now, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -} ); - -if ( typeof Symbol === "function" ) { - jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; -} - -// Populate the class2type map -jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), -function( i, name ) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -} ); - -function isArrayLike( obj ) { - - // Support: real iOS 8.2 only (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = !!obj && "length" in obj && obj.length, - type = jQuery.type( obj ); - - if ( type === "function" || jQuery.isWindow( obj ) ) { - return false; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.3.0 - * https://sizzlejs.com/ - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2016-01-04 - */ -(function( window ) { - -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // Instance methods - hasOwn = ({}).hasOwnProperty, - arr = [], - pop = arr.pop, - push_native = arr.push, - push = arr.push, - slice = arr.slice, - // Use a stripped-down indexOf as it's faster than native - // https://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[i] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - - // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + - "*\\]", - - pseudos = ":(" + identifier + ")(?:\\((" + - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), - - rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + identifier + ")" ), - "CLASS": new RegExp( "^\\.(" + identifier + ")" ), - "TAG": new RegExp( "^(" + identifier + "|[*])" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - - // CSS escapes - // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - // Support: Firefox<24 - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : - high < 0 ? - // BMP codepoint - String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // CSS string/identifier serialization - // https://drafts.csswg.org/cssom/#common-serializing-idioms - rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, - fcssescape = function( ch, asCodePoint ) { - if ( asCodePoint ) { - - // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER - if ( ch === "\0" ) { - return "\uFFFD"; - } - - // Control characters and (dependent upon position) numbers get escaped as code points - return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; - } - - // Other potentially-special ASCII characters get backslash-escaped - return "\\" + ch; - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }, - - disabledAncestor = addCombinator( - function( elem ) { - return elem.disabled === true; - }, - { dir: "parentNode", next: "legend" } - ); - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - (arr = slice.call( preferredDoc.childNodes )), - preferredDoc.childNodes - ); - // Support: Android<4.0 - // Detect silently failing push.apply - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - push_native.apply( target, slice.call(els) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - // Can't trust NodeList.length - while ( (target[j++] = els[i++]) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var m, i, elem, nid, match, groups, newSelector, - newContext = context && context.ownerDocument, - - // nodeType defaults to 9, since context defaults to document - nodeType = context ? context.nodeType : 9; - - results = results || []; - - // Return early from calls with invalid selector or context - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - // Try to shortcut find operations (as opposed to filters) in HTML documents - if ( !seed ) { - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - context = context || document; - - if ( documentIsHTML ) { - - // If the selector is sufficiently simple, try using a "get*By*" DOM method - // (excepting DocumentFragment context, where the methods don't exist) - if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { - - // ID selector - if ( (m = match[1]) ) { - - // Document context - if ( nodeType === 9 ) { - if ( (elem = context.getElementById( m )) ) { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - - // Element context - } else { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( newContext && (elem = newContext.getElementById( m )) && - contains( context, elem ) && - elem.id === m ) { - - results.push( elem ); - return results; - } - } - - // Type selector - } else if ( match[2] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Class selector - } else if ( (m = match[3]) && support.getElementsByClassName && - context.getElementsByClassName ) { - - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // Take advantage of querySelectorAll - if ( support.qsa && - !compilerCache[ selector + " " ] && - (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - - if ( nodeType !== 1 ) { - newContext = context; - newSelector = selector; - - // qSA looks outside Element context, which is not what we want - // Thanks to Andrew Dupont for this workaround technique - // Support: IE <=8 - // Exclude object elements - } else if ( context.nodeName.toLowerCase() !== "object" ) { - - // Capture the context ID, setting it first if necessary - if ( (nid = context.getAttribute( "id" )) ) { - nid = nid.replace( rcssescape, fcssescape ); - } else { - context.setAttribute( "id", (nid = expando) ); - } - - // Prefix every selector in the list - groups = tokenize( selector ); - i = groups.length; - while ( i-- ) { - groups[i] = "#" + nid + " " + toSelector( groups[i] ); - } - newSelector = groups.join( "," ); - - // Expand context for sibling selectors - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || - context; - } - - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch ( qsaError ) { - } finally { - if ( nid === expando ) { - context.removeAttribute( "id" ); - } - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {function(string, object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return (cache[ key + " " ] = value); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created element and returns a boolean result - */ -function assert( fn ) { - var el = document.createElement("fieldset"); - - try { - return !!fn( el ); - } catch (e) { - return false; - } finally { - // Remove from its parent by default - if ( el.parentNode ) { - el.parentNode.removeChild( el ); - } - // release memory in IE - el = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split("|"), - i = arr.length; - - while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - a.sourceIndex - b.sourceIndex; - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( (cur = cur.nextSibling) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for :enabled/:disabled - * @param {Boolean} disabled true for :disabled; false for :enabled - */ -function createDisabledPseudo( disabled ) { - // Known :disabled false positives: - // IE: *[disabled]:not(button, input, select, textarea, optgroup, option, menuitem, fieldset) - // not IE: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable - return function( elem ) { - - // Check form elements and option elements for explicit disabling - return "label" in elem && elem.disabled === disabled || - "form" in elem && elem.disabled === disabled || - - // Check non-disabled form elements for fieldset[disabled] ancestors - "form" in elem && elem.disabled === false && ( - // Support: IE6-11+ - // Ancestry is covered for us - elem.isDisabled === disabled || - - // Otherwise, assume any non-