@font-face{font-family:lora;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/lora-italic-latin-ext.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:lora;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/lora-italic-latin.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/lora-normal-latin-ext.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/lora-normal-latin.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'source sans 3';font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/source-sans-3-italic-latin-ext.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'source sans 3';font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/source-sans-3-italic-latin.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'source sans 3';font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-sans-3-normal-latin-ext.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'source sans 3';font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-sans-3-normal-latin.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box}html{font-size:62.5%}body{font-size:17.5px;font-size:1.75rem;font-family:'source sans 3',sans-serif;color:#222;width:100%;margin:0 auto;padding:0 16px;line-height:1.525;overflow-wrap:break-word}header#banner{margin:25px 0 30px}header#banner a{color:#2b2b2b;text-decoration:none;border-bottom:.5px solid #818285}header#banner a:hover{opacity:.7}header#banner h2{font-family:lora,serif;font-weight:500;font-size:19px;font-size:1.9rem;display:inline;margin:0 8px 0 0}h2{font-size:21px;font-size:2.1rem;padding-top:5px}header#banner nav{display:inline-block}header#banner nav ul{list-style-type:none;font-size:1.05em;text-transform:lowercase;margin:0;padding:0}header#banner nav ul li{display:inline;margin:0 3px}header#banner nav ul li a{color:#454545}main#content a{color:#0074e8;text-decoration:none}main#content a:hover{text-decoration:underline}main#content h1,main#content h2,main#content h3,main#content h4,main#content h5,main#content h6{font-family:lora,serif;font-weight:500;margin-bottom:10px;line-height:1.4}main#content h3.articles-list{line-height:1.55;font-size:1.9rem}.lang-select{font-style:italic}main#content h3,.languages{font-size:18.5px;font-size:1.85rem}main#content h1+p,main#content h2+p,main#content h3+p,main#content h4+p,main#content h5+p,main#content h6+p{margin-top:10px}main#content p{margin:16px 0}main#content hr{height:1px;border:0;background:#e8e8e8}main#content abbr{cursor:help}main#content ul#posts{list-style-type:none;margin-top:0;padding:0}main#content ul#posts li{margin:9.5px 0;padding:0;line-height:1.45}main#content ul#posts li:before{content:''}main#content ul#posts small{font-size:.8em;color:#767676;margin-left:10px}main#content ul#posts li a{color:#252525;text-decoration:none}main#content ul#posts li a:hover{text-decoration:underline}main#content ul#posts li a:hover small{color:inherit}main#content header#post-header h1{display:block;font-size:25px;font-size:2.5rem;line-height:1.35;padding-top:15px;padding-bottom:2.5px}main#content header#post-header>div{display:block;font-size:.93em;color:#767676}main#content #toc{border:1px solid #b1b1b1;border-radius:1px;line-height:26px;margin:16px 0;padding:9px 14px}main#content #toc h4{font-size:1.06em;color:#3d3d3d;margin:0}main#content #toc nav#TableOfContents{margin-top:4px}main#content #toc nav#TableOfContents>ul,main#content #toc nav#TableOfContents>ol{margin-left:-40px}main#content #toc ul,main#content #toc ol{font-size:.98em;margin:0;padding:0 0 0 40px}main#content #toc ul{list-style-type:none}main#content #toc ol{counter-reset:item}main#content #toc ol li{display:block}main#content #toc ol li:before{content:counters(item,".")". ";counter-increment:item}main#content img{max-width:100%;margin:0 auto}main#content figure{margin:16px 0}main#content figure img{display:block;max-width:100%;margin:0 auto}main#content figure figcaption{font-size:.92em;font-style:italic;line-height:21px;text-align:center;margin-top:6.5px;padding:0 10px}main#content figure figcaption h4{font-style:normal;display:inline;margin:0}main#content figure figcaption p{display:inline;margin:0;padding-left:8px}main#content blockquote{margin-top:10px;margin-bottom:10px;margin-left:8px;padding-left:16px;border-left:1px solid #ccc}main#content code,main#content pre{font-family:menlo,monospace}main#content code{font-size:.96em;padding:0 5px}main#content pre{display:block;overflow-x:auto;font-size:14px;font-size:1.4rem;white-space:pre;margin:20px 0;padding:1.5rem;line-height:1.4}main#content pre code{padding:0}main#content .footnotes{font-size:.9em}main#content .footnotes p{margin:10px 0}footer#footer{font-size:.9em;font-weight:400;color:#818285;margin:40px 0 50px}a{transition:all .1s linear}footer#footer a{color:#818285;text-decoration:none}footer#footer a:hover{text-decoration:underline}.info{margin-top:-5px;line-height:1.45}main#content ul{list-style-type:none;padding-left:1.35em}main#content ul li{margin-bottom:.25em}main#content ul li:before{content:'•';margin-left:-1em;position:absolute;opacity:.7}main#content ol{padding-left:2.35rem}main#content ol li{margin-bottom:.25em}strong,b{font-weight:500}em,i{font-style:italic}.page-desc{opacity:.8}.more{font-size:.97em}.copyright{margin-top:15px;opacity:.55;font-size:.9em}aside{display:block;margin:-.35rem 1.25rem 1.95rem;opacity:.85;font-size:1.15em;line-height:1.3;letter-spacing:.3px;font-family:lora,serif;font-style:italic}span.pull{font-size:1.35em;opacity:.4;margin-right:-5px}.separator{text-align:center;opacity:.5;margin-top:-.5em;margin-bottom:-.5em}.span-sep{padding-left:.25em;padding-right:.25em;font-size:1.5em}.text-404 h1,.text-404 p{opacity:.6}.ddg-search{margin-top:10px;width:280px;font-size:.95em;padding:8.5px;border:1px solid #d8d8d8;color:#666;background-color:#fefefe}.ddg button{display:none}.ddg input[type=search]::-webkit-search-cancel-button{display:none}.ddg input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.ddg input:focus{outline:none}.ddg input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}::placeholder{color:#aaa}::-ms-input-placeholder{color:#aaa}.landing{margin-bottom:80px}.cta{font-weight:500}.languages,.lang-articles{display:inline}.languages{font-family:lora,serif;font-style:italic;font-weight:400;margin-left:3px}@media print{html{background-color:#fff!important;color:#000!important}body{font-family:Georgia,times new roman,serif!important;font-size:11pt!important;line-height:1.45!important}@page{size:A4;margin:1cm}*,*::before,*::after{box-sizing:border-box!important;word-wrap:break-word!important;overflow-wrap:break-word!important}main#content{width:100%!important;max-width:100%!important;margin:0!important;box-sizing:border-box!important}p{margin-bottom:0!important}aside{margin-top:12px!important}header#banner h2{font-size:12pt!important}h1{font-size:18pt!important;margin-top:35px!important}h2{font-size:14pt!important;margin-top:25px!important}h3{font-size:12pt!important;margin-top:18px!important}h4{font-size:11pt!important;margin-top:8px!important}h1,h2,h3,h4{page-break-after:avoid!important}table,figure,blockquote{page-break-inside:avoid!important;max-width:100%!important}img,table{max-width:100%!important;height:auto!important}footer#footer{display:none!important}}@media(min-width:640px){body{font-size:18px;font-size:1.8rem;width:600px;line-height:1.5}header#banner{margin:33px 0 30px}main#content hr{width:100%}header#banner h2{font-size:20px;font-size:2rem}h2{font-size:22px;font-size:2.2rem}main#content h3,.languages{font-size:19px;font-size:1.9rem}main#content ul#posts li{margin:8.5px 0}main#content header#post-header h1{font-size:26px;font-size:2.6rem}main#content img{max-width:100%}main#content figure img{max-width:100%}main#content pre{width:108%;margin-left:-3.8%;padding:1.5rem 2.2rem}footer#footer{margin:40px 0}}@media(prefers-color-scheme:dark){html{scrollbar-color:#6c6c6c #2e2e2e}body{color:#e8e8e8;background:#121212;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}header#banner a{color:#e0e0e0;text-decoration:none}header#banner nav ul li a{color:#ccc}main#content a{color:#00b1ed}main#content hr{background:#2c2c2c}main#content #toc h4{color:#d4d4d4}main#content ul#posts small{color:#a7a7a7}main#content ul#posts li a{color:#e4e4e4}main#content header#post-header div{color:#a7a7a7}img{filter:brightness(.8)contrast(1.2)}main#content blockquote{border-left:1px solid #888}.ddg-search{border:1px solid #333;color:#eee;background-color:#111}::placeholder{color:#555}::-ms-input-placeholder{color:#888}}.chroma{color:#f8f8f2;background-color:#272822}.chroma .err{color:#960050;background-color:#1e0010}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:#ffc}.chroma .lnt{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .k{color:#66d9ef}.chroma .kc{color:#66d9ef}.chroma .kd{color:#66d9ef}.chroma .kn{color:#f92672}.chroma .kp{color:#66d9ef}.chroma .kr{color:#66d9ef}.chroma .kt{color:#66d9ef}.chroma .na{color:#a6e22e}.chroma .nc{color:#a6e22e}.chroma .no{color:#66d9ef}.chroma .nd{color:#a6e22e}.chroma .ne{color:#a6e22e}.chroma .nf{color:#a6e22e}.chroma .nx{color:#a6e22e}.chroma .nt{color:#f92672}.chroma .l{color:#ae81ff}.chroma .ld{color:#e6db74}.chroma .s{color:#e6db74}.chroma .sa{color:#e6db74}.chroma .sb{color:#e6db74}.chroma .sc{color:#e6db74}.chroma .dl{color:#e6db74}.chroma .sd{color:#e6db74}.chroma .s2{color:#e6db74}.chroma .se{color:#ae81ff}.chroma .sh{color:#e6db74}.chroma .si{color:#e6db74}.chroma .sx{color:#e6db74}.chroma .sr{color:#e6db74}.chroma .s1{color:#e6db74}.chroma .ss{color:#e6db74}.chroma .m{color:#ae81ff}.chroma .mb{color:#ae81ff}.chroma .mf{color:#ae81ff}.chroma .mh{color:#ae81ff}.chroma .mi{color:#ae81ff}.chroma .il{color:#ae81ff}.chroma .mo{color:#ae81ff}.chroma .o{color:#f92672}.chroma .ow{color:#f92672}.chroma .c{color:#75715e}.chroma .ch{color:#75715e}.chroma .cm{color:#75715e}.chroma .c1{color:#75715e}.chroma .cs{color:#75715e}.chroma .cp{color:#75715e}.chroma .cpf{color:#75715e}.chroma .gd{color:#f92672}.chroma .ge{font-style:italic}.chroma .gi{color:#a6e22e}.chroma .gs{font-weight:700}.chroma .gu{color:#75715e}