.rstmarkup{font-family:'Open Sans', 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', sans-serif;font-size:14px;text-align:center;line-height:1.5;color:black;padding:0}div.math{margin-left:1.6em}span.math>span.MathJax{border-radius:2px;padding:0 5px}div.MathJax_Display,span.math>span.MathJax{background-color:#71dcff}#cnblogs_post_body .markdown-body ul,#cnblogs_post_body .markdown-body ol,.markdown-body ul,.markdown-body ol{margin:1em 0;padding-left:40px}#cnblogs_post_body .markdown-body li,.markdown-body li{list-style:inherit}#cnblogs_post_body .markdown-body blockquote,.markdown-body blockquote{border:initial}#cnblogs_post_body .markdown-body .pageheader,.markdown-body .pageheader{background-image:url(headerbg.png);text-align:left;padding:10px 15px}#cnblogs_post_body .markdown-body .pageheader ul,.markdown-body .pageheader ul{float:right;color:white;list-style-type:none;padding-left:0;margin-top:30px;margin-right:10px}#cnblogs_post_body .markdown-body .pageheader li,.markdown-body .pageheader li{float:left;margin:0 0 0 10px}#cnblogs_post_body .markdown-body .pageheader li a,.markdown-body .pageheader li a{border-radius:1px;padding:8px 12px;color:#f9f9f0;text-shadow:0 0 5px rgba(0,0,0,0.5)}#cnblogs_post_body .markdown-body .pageheader li a:hover,.markdown-body .pageheader li a:hover{background-color:#f9f9f0;color:#0a507a;text-shadow:none}#cnblogs_post_body .markdown-body div.document,.markdown-body div.document{background-color:white;text-align:left}#cnblogs_post_body .markdown-body div.bodywrapper,.markdown-body div.bodywrapper{margin:0 240px 0 0;border-right:1px solid #0a507a}#cnblogs_post_body .markdown-body div.document,.markdown-body div.document{margin:0;padding:0.5em 20px 20px 20px}#cnblogs_post_body .markdown-body div.related,.markdown-body div.related{font-size:1em;color:white}#cnblogs_post_body .markdown-body div.related ul,.markdown-body div.related ul{background-image:url(relbg.png);height:1.9em;border-top:1px solid #002e50;border-bottom:1px solid #002e50}#cnblogs_post_body .markdown-body div.related ul li,.markdown-body div.related ul li{margin:0 5px 0 0;padding:0;float:left}#cnblogs_post_body .markdown-body div.related ul li.right,.markdown-body div.related ul li.right{float:right;margin-right:5px}#cnblogs_post_body .markdown-body div.related ul li a,.markdown-body div.related ul li a{margin:0;padding:0 5px 0 5px;line-height:1.75em;color:#f9f9f0;text-shadow:0px 0px 1px rgba(0,0,0,0.5)}#cnblogs_post_body .markdown-body div.related ul li a:hover,.markdown-body div.related ul li a:hover{color:white;text-shadow:0px 0px 1px rgba(255,255,255,0.5)}#cnblogs_post_body .markdown-body div.sphinxsidebarwrapper,.markdown-body div.sphinxsidebarwrapper{position:relative;top:0px;padding:0}#cnblogs_post_body .markdown-body div.sphinxsidebar,.markdown-body div.sphinxsidebar{margin:0;padding:0 15px 15px 0;width:210px;float:right;font-size:1em;text-align:left}#cnblogs_post_body .markdown-body div.sphinxsidebar .logo,.markdown-body div.sphinxsidebar .logo{font-size:1.8em;color:#0A507A;font-weight:300;text-align:center}#cnblogs_post_body .markdown-body div.sphinxsidebar .logo img,.markdown-body div.sphinxsidebar .logo img{vertical-align:middle}#cnblogs_post_body .markdown-body div.sphinxsidebar input,.markdown-body div.sphinxsidebar input{border:1px solid #aaa;font-family:'Open Sans', 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', sans-serif;font-size:1em}#cnblogs_post_body .markdown-body div.sphinxsidebar h3,.markdown-body div.sphinxsidebar h3{font-size:1.5em;border-top:1px solid #0a507a;margin-top:1em;margin-bottom:0.5em;padding-top:0.5em}#cnblogs_post_body .markdown-body div.sphinxsidebar h4,.markdown-body div.sphinxsidebar h4{font-size:1.2em;margin-bottom:0}#cnblogs_post_body .markdown-body div.sphinxsidebar h3,#cnblogs_post_body .markdown-body div.sphinxsidebar h4,.markdown-body div.sphinxsidebar h3,.markdown-body div.sphinxsidebar h4{margin-right:-15px;margin-left:-15px;padding-right:14px;padding-left:14px;color:#333;font-weight:300}#cnblogs_post_body .markdown-body div.sphinxsidebarwrapper>h3:first-child,.markdown-body div.sphinxsidebarwrapper>h3:first-child{margin-top:0.5em;border:none}#cnblogs_post_body .markdown-body div.sphinxsidebar h3 a,.markdown-body div.sphinxsidebar h3 a{color:#333}#cnblogs_post_body .markdown-body div.sphinxsidebar ul,.markdown-body div.sphinxsidebar ul{color:#444;margin-top:7px;padding:0;line-height:130%}#cnblogs_post_body .markdown-body div.sphinxsidebar ul ul,.markdown-body div.sphinxsidebar ul ul{margin-left:20px;list-style-image:url(listitem.png)}#cnblogs_post_body .markdown-body div.footer,.markdown-body div.footer{background-image:url(footerbg.png);color:#ccc;text-shadow:0 0 0.2px rgba(255,255,255,0.8);padding:3px 8px 3px 0;clear:both;font-size:0.8em;text-align:right}#cnblogs_post_body .markdown-body div.footer a,.markdown-body div.footer a{color:#ccc}#cnblogs_post_body .markdown-body p,.markdown-body p{margin:0.8em 0 0.5em 0}#cnblogs_post_body .markdown-body a,.markdown-body a{color:#A2881D;text-decoration:none}#cnblogs_post_body .markdown-body a:hover,.markdown-body a:hover{color:#E1C13F}#cnblogs_post_body .markdown-body div.document a,.markdown-body div.document a{text-decoration:underline}#cnblogs_post_body .markdown-body h1,.markdown-body h1{margin:10px 0 0 0;font-size:2.4em;color:#0A507A;font-weight:300}#cnblogs_post_body .markdown-body h2,.markdown-body h2{margin:1em 0 0.2em 0;font-size:2em;font-weight:300;padding:0;color:#174967;border-bottom:3px dashed #888888}#cnblogs_post_body .markdown-body h3,.markdown-body h3{margin:1em 0 -0.3em 0;font-size:1.4em;font-weight:300}#cnblogs_post_body .markdown-body div.document h1 a,#cnblogs_post_body .markdown-body div.document h2 a,#cnblogs_post_body .markdown-body div.document h3 a,#cnblogs_post_body .markdown-body div.document h4 a,#cnblogs_post_body .markdown-body div.document h5 a,#cnblogs_post_body .markdown-body div.document h6 a,.markdown-body div.document h1 a,.markdown-body div.document h2 a,.markdown-body div.document h3 a,.markdown-body div.document h4 a,.markdown-body div.document h5 a,.markdown-body div.document h6 a{text-decoration:none}#cnblogs_post_body .markdown-body div.document h1 a tt,#cnblogs_post_body .markdown-body div.document h2 a tt,#cnblogs_post_body .markdown-body div.document h3 a tt,#cnblogs_post_body .markdown-body div.document h4 a tt,#cnblogs_post_body .markdown-body div.document h5 a tt,#cnblogs_post_body .markdown-body div.document h6 a tt,.markdown-body div.document h1 a tt,.markdown-body div.document h2 a tt,.markdown-body div.document h3 a tt,.markdown-body div.document h4 a tt,.markdown-body div.document h5 a tt,.markdown-body div.document h6 a tt{color:#0A507A !important;font-size:inherit !important}#cnblogs_post_body .markdown-body a.headerlink,.markdown-body a.headerlink{color:#0A507A !important;font-size:12px;margin-left:6px;padding:0 4px 0 4px;text-decoration:none !important;float:right}#cnblogs_post_body .markdown-body a.headerlink:hover,.markdown-body a.headerlink:hover{background-color:#ccc;color:#fff !important}#cnblogs_post_body .markdown-body cite,#cnblogs_post_body .markdown-body code,.markdown-body cite,.markdown-body code{font-family:'Consolas', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;font-size:14px;letter-spacing:-0.02em}#cnblogs_post_body .markdown-body tt,.markdown-body tt{background-color:#def9f4;border-radius:4px;color:#0a352d;padding:2px 4px;font-size:0.9em;font-weight:600;font-family:Menlo, Monaco, Consolas, "Courier New", monospace}#cnblogs_post_body .markdown-body tt.descname,#cnblogs_post_body .markdown-body tt.descclassname,#cnblogs_post_body .markdown-body tt.xref,.markdown-body tt.descname,.markdown-body tt.descclassname,.markdown-body tt.xref{border:0}#cnblogs_post_body .markdown-body hr,.markdown-body hr{border:1px solid #abc;margin:2em}#cnblogs_post_body .markdown-body a tt,.markdown-body a tt{border:0;color:#a2881d}#cnblogs_post_body .markdown-body a tt:hover,.markdown-body a tt:hover{color:#e1c13f}#cnblogs_post_body .markdown-body pre,.markdown-body pre{font-family:'Consolas', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;font-size:13px;letter-spacing:0.015em;line-height:120%;padding:0.5em;border:1px solid #ccc;border-radius:4px;background-color:#f8f8f8}#cnblogs_post_body .markdown-body pre a,.markdown-body pre a{color:inherit;text-decoration:underline}#cnblogs_post_body .markdown-body td.linenos pre,.markdown-body td.linenos pre{padding:0.5em 0}#cnblogs_post_body .markdown-body div.quotebar,.markdown-body div.quotebar{background-color:#f8f8f8;max-width:250px;float:right;padding:0px 7px;border:1px solid #ccc;margin-left:1em}#cnblogs_post_body .markdown-body div.topic,.markdown-body div.topic{background-color:#f8f8f8}#cnblogs_post_body .markdown-body .viewcode-back,.markdown-body .viewcode-back{font-family:'Open Sans', 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', sans-serif}#cnblogs_post_body .markdown-body div.viewcode-block:target,.markdown-body div.viewcode-block:target{background-color:#f4debf;border-top:1px solid #ac9;border-bottom:1px solid #ac9}#cnblogs_post_body .markdown-body .codehilite .hll,.markdown-body .codehilite .hll{background-color:#4f424c}#cnblogs_post_body .markdown-body .codehilite,.markdown-body .codehilite{background:#272727;color:#e7e9db}#cnblogs_post_body .markdown-body .codehilite .c,.markdown-body .codehilite .c{color:#776e71}#cnblogs_post_body .markdown-body .codehilite .err,.markdown-body .codehilite .err{color:#ef6155}#cnblogs_post_body .markdown-body .codehilite .k,.markdown-body .codehilite .k{color:#cb49a8}#cnblogs_post_body .markdown-body .codehilite .l,.markdown-body .codehilite .l{color:#f99b15}#cnblogs_post_body .markdown-body .codehilite .n,.markdown-body .codehilite .n{color:#e7e9db}#cnblogs_post_body .markdown-body .codehilite .o,.markdown-body .codehilite .o{color:#5bc4bf}#cnblogs_post_body .markdown-body .codehilite .p,.markdown-body .codehilite .p{color:#e7e9db}#cnblogs_post_body .markdown-body .codehilite .ch,.markdown-body .codehilite .ch{color:#776e71}#cnblogs_post_body .markdown-body .codehilite .cm,.markdown-body .codehilite .cm{color:#776e71}#cnblogs_post_body .markdown-body .codehilite .cp,.markdown-body .codehilite .cp{color:#776e71}#cnblogs_post_body .markdown-body .codehilite .cpf,.markdown-body .codehilite .cpf{color:#776e71}#cnblogs_post_body .markdown-body .codehilite .c1,.markdown-body .codehilite .c1{color:#776e71}#cnblogs_post_body .markdown-body .codehilite .cs,.markdown-body .codehilite .cs{color:#776e71}#cnblogs_post_body .markdown-body .codehilite .gd,.markdown-body .codehilite .gd{color:#ef6155}#cnblogs_post_body .markdown-body .codehilite .ge,.markdown-body .codehilite .ge{font-style:italic}#cnblogs_post_body .markdown-body .codehilite .gh,.markdown-body .codehilite .gh{color:#e7e9db;font-weight:bold}#cnblogs_post_body .markdown-body .codehilite .gi,.markdown-body .codehilite .gi{color:#48b685}#cnblogs_post_body .markdown-body .codehilite .gp,.markdown-body .codehilite .gp{color:#776e71;font-weight:bold}#cnblogs_post_body .markdown-body .codehilite .gs,.markdown-body .codehilite .gs{font-weight:bold}#cnblogs_post_body .markdown-body .codehilite .gu,.markdown-body .codehilite .gu{color:#5bc4bf;font-weight:bold}#cnblogs_post_body .markdown-body .codehilite .kc,.markdown-body .codehilite .kc{color:#cb49a8}#cnblogs_post_body .markdown-body .codehilite .kd,.markdown-body .codehilite .kd{color:#cb49a8}#cnblogs_post_body .markdown-body .codehilite .kn,.markdown-body .codehilite .kn{color:#5bc4bf}#cnblogs_post_body .markdown-body .codehilite .kp,.markdown-body .codehilite .kp{color:#cb49a8}#cnblogs_post_body .markdown-body .codehilite .kr,.markdown-body .codehilite .kr{color:#cb49a8}#cnblogs_post_body .markdown-body .codehilite .kt,.markdown-body .codehilite .kt{color:#fec418}#cnblogs_post_body .markdown-body .codehilite .ld,.markdown-body .codehilite .ld{color:#48b685}#cnblogs_post_body .markdown-body .codehilite .m,.markdown-body .codehilite .m{color:#f99b15}#cnblogs_post_body .markdown-body .codehilite .s,.markdown-body .codehilite .s{color:#48b685}#cnblogs_post_body .markdown-body .codehilite .na,.markdown-body .codehilite .na{color:#06b6ef}#cnblogs_post_body .markdown-body .codehilite .nb,.markdown-body .codehilite .nb{color:#e7e9db}#cnblogs_post_body .markdown-body .codehilite .nc,.markdown-body .codehilite .nc{color:#fec418}#cnblogs_post_body .markdown-body .codehilite .no,.markdown-body .codehilite .no{color:#ef6155}#cnblogs_post_body .markdown-body .codehilite .nd,.markdown-body .codehilite .nd{color:#5bc4bf}#cnblogs_post_body .markdown-body .codehilite .ni,.markdown-body .codehilite .ni{color:#e7e9db}#cnblogs_post_body .markdown-body .codehilite .ne,.markdown-body .codehilite .ne{color:#ef6155}#cnblogs_post_body .markdown-body .codehilite .nf,.markdown-body .codehilite .nf{color:#06b6ef}#cnblogs_post_body .markdown-body .codehilite .nl,.markdown-body .codehilite .nl{color:#e7e9db}#cnblogs_post_body .markdown-body .codehilite .nn,.markdown-body .codehilite .nn{color:#fec418}#cnblogs_post_body .markdown-body .codehilite .nx,.markdown-body .codehilite .nx{color:#06b6ef}#cnblogs_post_body .markdown-body .codehilite .py,.markdown-body .codehilite .py{color:#e7e9db}#cnblogs_post_body .markdown-body .codehilite .nt,.markdown-body .codehilite .nt{color:#21b799}#cnblogs_post_body .markdown-body .codehilite .nv,.markdown-body .codehilite .nv{color:#ef6155}#cnblogs_post_body .markdown-body .codehilite .ow,.markdown-body .codehilite .ow{color:#5bc4bf}#cnblogs_post_body .markdown-body .codehilite .w,.markdown-body .codehilite .w{color:#e7e9db}#cnblogs_post_body .markdown-body .codehilite .mb,.markdown-body .codehilite .mb{color:#f99b15}#cnblogs_post_body .markdown-body .codehilite .mf,.markdown-body .codehilite .mf{color:#f99b15}#cnblogs_post_body .markdown-body .codehilite .mh,.markdown-body .codehilite .mh{color:#f99b15}#cnblogs_post_body .markdown-body .codehilite .mi,.markdown-body .codehilite .mi{color:#f99b15}#cnblogs_post_body .markdown-body .codehilite .mo,.markdown-body .codehilite .mo{color:#f99b15}#cnblogs_post_body .markdown-body .codehilite .sb,.markdown-body .codehilite .sb{color:#48b685}#cnblogs_post_body .markdown-body .codehilite .sc,.markdown-body .codehilite .sc{color:#e7e9db}#cnblogs_post_body .markdown-body .codehilite .sd,.markdown-body .codehilite .sd{color:#776e71}#cnblogs_post_body .markdown-body .codehilite .s2,.markdown-body .codehilite .s2{color:#48b685}#cnblogs_post_body .markdown-body .codehilite .se,.markdown-body .codehilite .se{color:#f99b15}#cnblogs_post_body .markdown-body .codehilite .sh,.markdown-body .codehilite .sh{color:#48b685}#cnblogs_post_body .markdown-body .codehilite .si,.markdown-body .codehilite .si{color:#f99b15}#cnblogs_post_body .markdown-body .codehilite .sx,.markdown-body .codehilite .sx{color:#48b685}#cnblogs_post_body .markdown-body .codehilite .sr,.markdown-body .codehilite .sr{color:#48b685}#cnblogs_post_body .markdown-body .codehilite .s1,.markdown-body .codehilite .s1{color:#48b685}#cnblogs_post_body .markdown-body .codehilite .ss,.markdown-body .codehilite .ss{color:#48b685}#cnblogs_post_body .markdown-body .codehilite .bp,.markdown-body .codehilite .bp{color:#e7e9db}#cnblogs_post_body .markdown-body .codehilite .vc,.markdown-body .codehilite .vc{color:#ef6155}#cnblogs_post_body .markdown-body .codehilite .vg,.markdown-body .codehilite .vg{color:#ef6155}#cnblogs_post_body .markdown-body .codehilite .vi,.markdown-body .codehilite .vi{color:#ef6155}#cnblogs_post_body .markdown-body .codehilite .il,.markdown-body .codehilite .il{color:#f99b15}#cnblogs_post_body .markdown-body div.admonition,.markdown-body div.admonition{font-size:0.9em;margin:1em 0 1em 0;border:1px solid #86989B;border-radius:2px;background-color:#f7f7f7;padding:0}#cnblogs_post_body .markdown-body div.admonition div.last,.markdown-body div.admonition div.last{margin:0.5em 1em}#cnblogs_post_body .markdown-body div.attention,#cnblogs_post_body .markdown-body div.warning,#cnblogs_post_body .markdown-body div.note,.markdown-body div.attention,.markdown-body div.warning,.markdown-body div.note{font-size:0.9em;margin:1em 0;padding:5px 0}#cnblogs_post_body .markdown-body div.admonition p,#cnblogs_post_body .markdown-body div.attention p,#cnblogs_post_body .markdown-body div.warning p,#cnblogs_post_body .markdown-body div.note p,.markdown-body div.admonition p,.markdown-body div.attention p,.markdown-body div.warning p,.markdown-body div.note p{margin:0.5em 1em;padding:0}#cnblogs_post_body .markdown-body div.attention pre,#cnblogs_post_body .markdown-body div.warning pre,#cnblogs_post_body .markdown-body div.note pre,.markdown-body div.attention pre,.markdown-body div.warning pre,.markdown-body div.note pre{margin:0.4em 1em}#cnblogs_post_body .markdown-body p.admonition-title,.markdown-body p.admonition-title{font-weight:bold}#cnblogs_post_body .markdown-body div.attention ul,#cnblogs_post_body .markdown-body div.attention ol,#cnblogs_post_body .markdown-body div.warning ul,#cnblogs_post_body .markdown-body div.warning ol,#cnblogs_post_body .markdown-body div.note ul,#cnblogs_post_body .markdown-body div.note ol,.markdown-body div.attention ul,.markdown-body div.attention ol,.markdown-body div.warning ul,.markdown-body div.warning ol,.markdown-body div.note ul,.markdown-body div.note ol{margin:0.1em 0.5em 0.5em 3em;padding:0}#cnblogs_post_body .markdown-body div.attention,.markdown-body div.attention{border:1px solid #FBF3CF;border-left:5px solid #F0AD4E;background-color:#FBF3CF}#cnblogs_post_body .markdown-body div.note,.markdown-body div.note{border:1px solid #EAEBFF;border-left:5px solid #5BC0DE;background-color:#EAEBFF}#cnblogs_post_body .markdown-body div.warning,.markdown-body div.warning{border:1px solid #FCF2F2;border-left:5px solid #D9534F;background-color:#FCF2F2}#cnblogs_post_body .markdown-body .sidebar,.markdown-body .sidebar{float:right;width:40%;background-color:#ffe;padding:7px 7px 0;border:1px solid #ddb;margin:0 0 0.5em 1em}#cnblogs_post_body .markdown-body p.sidebar-title,.markdown-body p.sidebar-title{font-weight:bold}#cnblogs_post_body .markdown-body table,.markdown-body table{border-collapse:collapse;margin:0 -0.5em 0 -0.5em}#cnblogs_post_body .markdown-body table td,#cnblogs_post_body .markdown-body table th,.markdown-body table td,.markdown-body table th{padding:0.2em 0.5em 0.2em 0.5em}#cnblogs_post_body .markdown-body table.docutils,.markdown-body table.docutils{border:1px solid silver;margin:0}#cnblogs_post_body .markdown-body table.docutils td,#cnblogs_post_body .markdown-body table.docutils th,.markdown-body table.docutils td,.markdown-body table.docutils th{border-top:0;border-left:0;border-right:0;border-bottom:1px solid #aaa}#cnblogs_post_body .markdown-body tr:nth-child(even),.markdown-body tr:nth-child(even){background-color:whitesmoke}#cnblogs_post_body .markdown-body .basic-table-theme tr,.markdown-body .basic-table-theme tr{background-color:white}.post .postTitle{display:none}