@import "https://cf.criwits.top/fonts/SourceHanSansSC/v1/regular.css";@import "https://cf.criwits.top/fonts/SourceHanSansSC/v1/bold.css";:root{--criwits-orange:#ffb494;--missing-blue:#0074d9;--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-500:#adb5bd;--gray-800:#565d64;--color-link:#f38758;--color-visited-link:#d16334;--body-background:white;--body-font-color:black;--page-background:#fff8ef;--icon-filter:none;--blockquote-color:#fff6e4}.flex{display:flex}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;background:var(--page-background)}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:.5rem 0;position:relative}aside nav ul a{display:block;color:var(--gray-800)}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none;padding-inline-start:0}ul.pagination .page-item a{border-radius:50%;margin:0 .25rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}ul.pagination .page-item.active a{background:var(--criwits-orange);color:#fff;font-weight:700;box-shadow:0 0 .5rem rgba(0,0,0,.1)}ul.pagination .page-item.disabled a{color:var(--gray-500);cursor:not-allowed}.ct-main-container{display:flex;max-width:80rem;margin:0 auto}.ct-page{min-width:20rem;flex-grow:1;padding:1rem 1.2rem;box-shadow:0 0 .5rem rgba(0,0,0,.1);border-radius:1rem;background:var(--body-background)}.ct-sidebar{margin:0 0 0 1rem;font-size:.75rem}.ct-sidebar .ct-sidebar-float{position:sticky;top:1rem;z-index:9999}.ct-sidebar .ct-sidebar-box{width:16rem;height:auto;padding:1rem 1.2rem;margin:0 0 1rem;box-shadow:0 0 .5rem rgba(0,0,0,.1);border-radius:1rem;background-color:var(--body-background);max-height:50vh;overflow:auto}.ct-sidebar .ct-sidebar-box .title{font-weight:bolder;font-size:1rem;padding:0 0 .5rem}.ct-sidebar .ct-sidebar-no-toc{text-align:center;color:var(--gray-500);padding:5rem 0}.ct-sidebar img{height:1em}.ct-sidebar nav>ul>li:first-child{margin-top:0}.ct-quick-links menu{padding:0;margin:0;list-style:none;font-size:.875rem}.ct-quick-links a{display:block;color:var(--gray-800);border-radius:.5rem;padding:.25rem 0}.ct-quick-links a:hover{background:var(--gray-200);transition:background-color .2s ease-in-out}.ct-quick-links .icon{opacity:.8;vertical-align:middle}.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.ct-main-container{flex-direction:column}.ct-sidebar{margin:1rem 0 0}.ct-sidebar .ct-sidebar-box{width:100%;margin:0}.ct-sidebar .ct-sidebar-float{display:none}}.ct-wrapper{padding:1rem;margin:0 auto;max-width:80rem}.ct-footer{padding:1rem 0;font-size:.75rem;color:var(--gray-500)}.ct-footer a{color:var(--gray-500);text-decoration:none}.ct-footer .mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.ct-footer .kerning{padding:0 2px}#cti-logo-banner{padding:1rem 0}#cti-logo-banner a:focus{outline-style:none}@media screen and (max-width:56rem){.ct-wrapper{padding:1rem .25rem}#cti-logo-banner{padding:1rem}}#TableOfContents a.active{font-weight:700}.ct-logo{max-width:16rem;height:auto}@font-face{font-family:InterVariable;font-style:normal;font-weight:100 900;font-display:swap;src:local("Inter Variable"),url(fonts/InterVariable.woff2)format("woff2")}@font-face{font-family:InterVariable;font-style:italic;font-weight:100 900;font-display:swap;src:local("Inter Variable Italic"),url(fonts/InterVariable-Italic.woff2)format("woff2")}@font-face{font-family:inter var;font-style:normal;font-weight:100 900;font-display:swap;src:local("Inter Variable"),url(fonts/InterVariable.woff2)format("woff2")}@font-face{font-family:inter var;font-style:italic;font-weight:100 900;font-display:swap;src:local("Inter Variable Italic"),url(fonts/InterVariable-Italic.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:local("Inter Regular"),url(fonts/Inter-Regular.woff2)format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:local("Inter Italic"),url(fonts/Inter-Italic.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:local("Inter Bold"),url(fonts/Inter-Bold.woff2)format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:700;font-display:swap;src:local("Inter Bold Italic"),url(fonts/Inter-BoldItalic.woff2)format("woff2")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local("Roboto Mono"),local("RobotoMono-Regular"),url(fonts/roboto-mono-v6-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v6-latin-regular.woff)format("woff")}body{font-family:Inter,source han sans sc,sans-serif;font-feature-settings:'liga' 1,'calt' 1}@media screen{.force-compress-punct{font-feature-settings:'liga' 1,'calt' 1,'palt' 1}.force-no-wrap{white-space:nowrap}}@supports(font-variation-settings:normal){body{font-family:InterVariable,source han sans sc,sans-serif}}code,pre,kbd{font-family:roboto mono,source han sans sc,monospace}.markdown{line-height:1.6;text-align:justify}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:.5em;margin-bottom:1rem;scroll-margin-top:72px}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h1 a.anchor{display:none}.markdown h1,.markdown h2{font-weight:700}.markdown h3{font-weight:700}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown a[href^=http]::after{content:url(images/external.svg);vertical-align:baseline;margin-left:2px;width:10px;display:inline-block}.markdown img.markdown-img{max-width:100%;float:none;display:block;margin:1rem auto}.markdown code{padding:.2ex .5rem;background:var(--gray-200);border-radius:1rem;font-size:.875em}.markdown pre{padding:1rem;background:var(--gray-100);border-radius:1rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;background-color:var(--blockquote-color);border-radius:1rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem}.markdown ul .alph li,.markdown ol .alph li{list-style-type:upper-alpha}.markdown ul .bracket-num,.markdown ol .bracket-num{counter-reset:bracket-num 0;list-style:none;padding:0}.markdown ul .bracket-num li,.markdown ol .bracket-num li{counter-increment:bracket-num 1}.markdown ul .bracket-num li::before,.markdown ol .bracket-num li::before{content:"(" counter(bracket-num,decimal)").";display:inline-flex;justify-content:left;margin-left:.5em;margin-right:.5em;width:2em}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:1rem;margin-bottom:1rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:1rem;background-color:#d2f8d2}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown .title{margin-bottom:1rem;color:var(--gray-800)}.markdown .publish-time{color:var(--gray-500)}.markdown .ct-article-list{padding:0}.markdown .ct-article-list li.ct-article-item,.markdown .ct-article-list li.ct-special-item{list-style:none}.markdown .ct-article-list li.ct-article-item a:focus,.markdown .ct-article-list li.ct-special-item a:focus{outline:none}.markdown .ct-article-list li.ct-article-item a,.markdown .ct-article-list li.ct-special-item a{display:block;margin:.5rem 0;padding:.5rem .75rem;text-decoration:none;color:var(--body-font-color);border:.125rem solid var(--gray-200);border-radius:.5rem}.markdown .ct-article-list li.ct-article-item a:hover,.markdown .ct-article-list li.ct-special-item a:hover{box-shadow:0 0 .5rem rgba(0,0,0,.1);transition:box-shadow .2s ease-in-out}.markdown .ct-article-list li.ct-article-item .publish-time,.markdown .ct-article-list li.ct-special-item .publish-time{font-size:.875em;color:var(--gray-500)}.markdown .ct-article-list li.ct-special-item{--focus-color:var(--missing-blue)}.markdown .ct-article-list li.ct-special-item a{border:.125rem solid var(--focus-color)}.markdown .ct-article-list li.ct-special-item .item-logo{display:inline-block;width:3em;height:3em;margin-right:.5rem;vertical-align:middle}.markdown .ct-article-list li.ct-special-item .item-logo img{max-width:100%}.markdown .ct-article-list li.ct-special-item .publish-time{font-size:.875em;color:var(--focus-color)}.markdown .ct-article-list li.ct-special-item .article-title{font-weight:bolder;color:var(--focus-color)}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}