* { -webkit-font-smoothing: antialiased; -webkit-overflow-scrolling: touch; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-text-size-adjust: none; -webkit-touch-callout: none; box-sizing: border-box; } body:not(.ready) { overflow: hidden; } body:not(.ready) [data-cloak], body:not(.ready) .app-nav, body:not(.ready) > nav { display: none; } div#app { font-size: 30px; font-weight: lighter; margin: 40vh auto; text-align: center; } div#app:empty::before { content: 'Loading...'; } img.emoji { height: 1.2em; vertical-align: middle; } span.emoji { font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1.2em; vertical-align: middle; } .progress { background-color: #42b983; background-color: var(--theme-color, #42b983); height: 2px; left: 0px; position: fixed; right: 0px; top: 0px; transition: width 0.2s, opacity 0.4s; width: 0%; z-index: 999999; } .search input { font-family: inherit; border-radius: 6px; max-height: 35px; border: 1px solid rgb(225, 225, 225) !important; box-shadow: rgba(208, 215, 222, 0.2) 0px 1px 0px inset; } .sidebar .search input[type=search] { min-width: 0; padding-left: 38px; border: none; background-color: rgba(0, 0, 0, 0); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%2357606a' d='M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z'/%3E%3C/svg%3E"); background-position: 14px center; background-repeat: no-repeat; } .search input:focus { border: 2px solid var(--theme-color, #42b983) !important; box-shadow: none !important; } .search a:hover { color: #42b983; color: var(--theme-color, #42b983); } .search .search-keyword { color: #42b983; color: var(--theme-color, #42b983); font-style: normal; font-weight: bold; } html, body { height: 100%; } body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; color: rgb(36, 41, 47); font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; font-size: 15px; letter-spacing: 0; margin: 0; overflow-x: hidden; } img { max-width: 100%; } a[disabled] { cursor: not-allowed; opacity: 0.6; } kbd { border: solid 1px #ccc; border-radius: 3px; display: inline-block; font-size: 12px !important; line-height: 12px; margin-bottom: 3px; padding: 3px 5px; vertical-align: middle; } li input[type='checkbox'] { margin: 0 0.2em 0.25em 0; vertical-align: middle; } .app-nav { margin: 25px 60px 0 0; position: absolute; right: 0; text-align: right; z-index: 10; /* navbar dropdown */ } .app-nav.no-badge { margin-right: 25px; } .app-nav p { margin: 0; } .app-nav > a { margin: 0 1rem; padding: 5px 0; } .app-nav ul, .app-nav li { display: inline-block; list-style: none; margin: 0; } .app-nav a { color: inherit; font-size: 16px; text-decoration: none; transition: color 0.3s; } .app-nav a:hover { color: #42b983; color: var(--theme-color, #42b983); } .app-nav a.active { border-bottom: 2px solid #42b983; border-bottom: 2px solid var(--theme-color, #42b983); color: #42b983; color: var(--theme-color, #42b983); } .app-nav li { display: inline-block; margin: 0 1rem; padding: 5px 0; position: relative; cursor: pointer; } .app-nav li ul { background-color: #fff; border: 1px solid #ddd; border-bottom-color: #ccc; border-radius: 4px; box-sizing: border-box; display: none; max-height: calc(100vh - 61px); overflow-y: auto; padding: 10px 0; position: absolute; right: -15px; text-align: left; top: 100%; white-space: nowrap; } .app-nav li ul li { display: block; font-size: 14px; line-height: 1rem; margin: 0; margin: 8px 14px; white-space: nowrap; } .app-nav li ul a { display: block; font-size: inherit; margin: 0; padding: 0; } .app-nav li ul a.active { border-bottom: 0; } .app-nav li:hover ul { display: block; } .github-corner { border-bottom: 0; position: fixed; right: 0; text-decoration: none; top: 0; z-index: 1; } .github-corner:hover .octo-arm { animation: octocat-wave 560ms ease-in-out; } .github-corner svg { color: #fff; fill: #42b983; fill: var(--theme-color, #42b983); height: 80px; width: 80px; } main { display: block; position: relative; width: 100vw; height: 100%; z-index: 0; } main.hidden { display: none; } .anchor { display: inline-block; text-decoration: none; transition: all 0.3s; } .anchor span { color: #34495e; } .anchor:hover { text-decoration: underline; } .sidebar { border-right: 1px solid rgba(0,0,0,0.07); overflow-y: auto; padding: 40px 0 0; position: absolute; top: 0; bottom: 0; left: 0; transition: transform 250ms ease-out; width: 270px; z-index: 20; } .sidebar > h1 { margin: 0 auto 1rem; font-size: 1.5rem; font-weight: 300; text-align: center; } .sidebar > h1 a { color: inherit; text-decoration: none; } .sidebar > h1 .app-nav { display: block; position: static; } .sidebar .search .results-panel.show { margin: 14px; } .sidebar .sidebar-nav { margin-left: 16px; padding-bottom: 40px; } .sidebar li.collapse .app-sub-sidebar { display: none; } .app-sub-sidebar li>a { padding: 9px 0 9px 24px !important; } .sidebar ul { margin: 0; padding: 0; } .sidebar li > p { margin-left: 8px; font-size: 12px; font-weight: 600; color: rgb(87, 96, 106); } .sidebar ul, .sidebar ul li { list-style: none; } .sidebar ul li a { border-bottom: none; display: block; } .sidebar ul li ul{ margin-left: 0; } .sidebar ul li .section-link { font-size: 12px; color: rgb(87, 96, 106); } .sidebar-nav>ul>li>ul> li:last-child::after { content: " "; display: block; width: 100%; height: 12px; margin-left: -16px; padding-right: 16px; border-bottom: 1px solid #eee; } .sidebar::-webkit-scrollbar { width: 4px; } .sidebar::-webkit-scrollbar-thumb { background: transparent; border-radius: 4px; } .sidebar:hover::-webkit-scrollbar-thumb { background: rgba(136,136,136,0.4); } .sidebar:hover::-webkit-scrollbar-track { background: rgba(136,136,136,0.1); } .sidebar-toggle { cursor: pointer; padding: 10px 10px 8px 10px; border-radius: 6px; background-color: #FAFBFC; border: none; left: 0; bottom: 0; z-index: 30; margin: 8px; box-shadow: rgba(27, 31, 35, 0.04) 0 1px 0, rgba(255, 255, 255, 0.25) 0 1px 0 inset; border: 1px solid rgba(27, 31, 35, 0.15); transition: 0.1s; } .sidebar-toggle:hover { cursor: pointer; background-color: #F3F4F6; } .sidebar-toggle span { background-color: #000000; display: block; margin-bottom: 4px; width: 16px; height: 2px; } body.sticky .sidebar, body.sticky .sidebar-toggle { position: fixed; } .content { padding-top: 60px; position: absolute; top: 0; right: 0; bottom: 0; left: 220px; transition: left 250ms ease; } .markdown-section { margin: 0 auto; max-width: 80%; padding: 30px 15px 40px 15px; position: relative; } .markdown-section > * { box-sizing: border-box; font-size: inherit; } .markdown-section > :first-child { margin-top: 0 !important; } .markdown-section hr { border: none; border-bottom: 4px solid #D0D7DE; margin: 2em 0; } .markdown-section iframe { border: 1px solid #eee; /* fix horizontal overflow on iOS Safari */ width: 1px; min-width: 100%; } .markdown-section table { border-collapse: collapse; border-spacing: 0; display: block; margin-bottom: 1rem; overflow: auto; width: 100%; } .markdown-section th { border: 1px solid #ddd; font-weight: bold; padding: 6px 13px; } .markdown-section td { border: 1px solid #ddd; padding: 6px 13px; } .markdown-section tr { border-top: 1px solid #ccc; } .markdown-section tr:nth-child(2n) { background-color: #F6F8FA; } .markdown-section p.tip { color: #000000; border-left: 3px solid #BF8700; padding: 0 1rem 0; line-height: 2.3; margin: 2em 0; } .markdown-section p.tip:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16' fill='%23BF8700'%3E%3Cpath d='M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'%3E%3C/path%3E%3C/svg%3E"); background-repeat: no-repeat; content: " Warning \A"; color: #BF8700; font-weight: 600; white-space: pre-wrap; } .markdown-section p.tip code { background-color: #efefef; } .markdown-section p.tip em { color: #34495e; } .markdown-section p.warn { color: #000000; border-left: 3px solid #218bff; padding: 0 1rem 0; margin: 2em 0; } .markdown-section p.warn:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16' fill='%23218bff'%3E%3Cpath d='M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z'%3E%3C/path%3E%3C/svg%3E"); background-repeat: no-repeat; content: " Tip \A"; color: #218bff; font-weight: 600; white-space: pre-wrap; line-height: 2.5; } .markdown-section ul.task-list > li { list-style-type: none; } body.close .sidebar { transform: translateX(-270px); } body.close .sidebar-toggle { width: auto; } body.close .content { left: 0; } @media print { .github-corner, .sidebar-toggle, .sidebar, .app-nav { display: none; } } @media screen and (max-width: 768px) { .github-corner, .sidebar-toggle, .sidebar { position: fixed; } .app-nav { margin-top: 16px; } .app-nav li ul { top: 30px; } main { height: auto; min-height: 100vh; overflow-x: hidden; } .sidebar { left: -270px; transition: transform 250ms ease-out; } .content { left: 0; max-width: 100vw; position: static; padding-top: 20px; transition: transform 250ms ease; } .app-nav, .github-corner { transition: transform 250ms ease-out; } .sidebar-toggle { background-color: transparent; width: auto; padding: 10px 10px 8px; } body.close .sidebar { transform: translateX(270px); } body.close .sidebar-toggle { background-color: rgba(255, 255, 255, 0.89); transition: 1s background-color; width: 254px; padding: 10px 10px 8px; } body.close .content { transform: translateX(270px); } body.close .app-nav, body.close .github-corner { display: none; } .github-corner:hover .octo-arm { animation: none; } .github-corner .octo-arm { animation: octocat-wave 560ms ease-in-out; } } @keyframes octocat-wave { 0%, 100% { transform: rotate(0); } 20%, 60% { transform: rotate(-25deg); } 40%, 80% { transform: rotate(10deg); } } section.cover { position: relative; align-items: center; background-position: center center; background-repeat: no-repeat; background-size: cover; min-height: 100vh; width: 100%; display: none; } section.cover.show { display: flex; } section.cover.has-mask .mask { background-color: #fff; opacity: 0.8; position: absolute; top: 0; bottom: 0; width: 100%; } section.cover .cover-main { flex: 1; margin: 0 16px; text-align: center; position: relative; } section.cover a { color: inherit; text-decoration: none; } section.cover a:hover { text-decoration: none; } section.cover p { line-height: 1.5rem; margin: 1em 0; } section.cover h1 { color: inherit; font-size: 2.5rem; font-weight: 300; margin: 0.625rem 0 2.5rem; position: relative; text-align: center; } section.cover h1 a { display: block; } section.cover h1 small { bottom: -0.4375rem; font-size: 1rem; position: absolute; } section.cover blockquote { font-size: 1.5rem; text-align: center; } section.cover ul { line-height: 1.8; list-style-type: none; margin: 1em auto; max-width: 500px; padding: 0; } section.cover .cover-main > p:last-child a { padding: 14px 28px; border-radius: 8px; font-weight: 600; box-sizing: border-box; color: #42b983; color: var(--theme-color, #42b983); display: inline-block; margin: 0.5rem 1rem; transition: all 0.15s ease; } section.cover .cover-main > p:last-child a:last-child { background-color: #42b983; background-color: var(--theme-color, #42b983); color: #fff; } section.cover .cover-main > p:last-child a:last-child:hover { background-color: #42b983; background-color: var(--theme-color, #42b983); opacity: 0.7; } section.cover .cover-main > p:last-child a:hover { background-color: #0000001b; } section.cover blockquote > p > a { border-bottom: 2px solid #42b983; border-bottom: 2px solid var(--theme-color, #42b983); transition: color 0.3s; } section.cover blockquote > p > a:hover { color: #42b983; color: var(--theme-color, #42b983); } body { background-color: #fff; } /* sidebar */ .sidebar { background-color: #fff; color: #364149; } .sidebar ul li a { color: #505d6b; font-size: 14px; padding: 8px 8px 8px; margin-right: 8px; border-radius: 6px; font-weight: normal; overflow: hidden; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; transition: 0.1s; } .sidebar ul li.active > a, .sidebar-nav>ul>li>ul>li[class].collapse>a { background-color: rgba(208, 215, 222, 0.24); } .sidebar ul li a:hover { background-color: rgba(208,215,222,0.32); } .sidebar ul li.active > a::after, .sidebar-nav>ul>li>ul>li[class].collapse>a::after { position: absolute; left: 8px; margin-top: -4px; width: 4px; height: 26px; content: ""; background-color: var(--theme-color, #42b983); border-radius: 2px; } .app-sub-sidebar li>a::after { height: 24px !important; } .sidebar-nav>ul>li>ul>li[class]>a { font-weight: 600; } .sidebar-nav>ul>li>ul>li[class]>a::before { content: ""; background: currentColor; mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' class='StyledOcticon-sc-1lhyyr-0 iHjBQD' width='16' height='16' fill='currentColor' style='display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible'%3E%3Cpath d='M12.78 6.22a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L3.22 7.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L8 9.94l3.72-3.72a.75.75 0 0 1 1.06 0z'/%3E%3C/svg%3E"); width: 16px; height: 16px; float: right; margin-top: 1.5px; rotate: 180deg; background-repeat: no-repeat; } .sidebar-nav>ul>li>ul>li[class].collapse>a::before { rotate: 0deg; } /* markdown content found on pages */ .markdown-section h1, .markdown-section h2, .markdown-section h3, .markdown-section h4, .markdown-section strong { color: #2c3e50; font-weight: 600; } .markdown-section h1 a, .markdown-section h2 a, .markdown-section h3 a, .markdown-section h4 a, .markdown-section h5 a, .markdown-section h6 a { text-decoration: none !important; } .markdown-section a>span:hover:before { margin-left: -16px; width: 16px; height: 16px; content: ' '; display: inline-block; background-color: currentColor; mask-image: url("data:image/svg+xml,"); } .markdown-section a { color: #42b983; color: var(--theme-color, #42b983); text-underline-offset: 25%; } .markdown-section h1:first-child { font-size: 3rem; } .markdown-section h1 { font-size: 2rem; margin: 0 0 1rem; } .markdown-section h2 { font-size: 1.75rem; margin: 45px 0 0.8rem; } .markdown-section h3 { font-size: 1.5rem; margin: 40px 0 0.6rem; } .markdown-section h4 { font-size: 1.25rem; } .markdown-section h5 { font-size: 1rem; } .markdown-section h6 { color: #777; font-size: 1rem; } .markdown-section figure, .markdown-section p { margin: 1.2em 0; } .markdown-section p, .markdown-section ul, .markdown-section ol { line-height: 1.6rem; word-spacing: 0.05rem; } .markdown-section ul, .markdown-section ol { padding-left: 1.5rem; } .markdown-section blockquote { border-left: 4px solid #D0D7DE; color: #656d76; margin: 2em 0; padding-left: 20px; } .markdown-section blockquote p { font-weight: 600; margin-left: 0; } .markdown-section iframe { margin: 1em 0; } .markdown-section em { color: #7f8c8d; } .markdown-section code, .markdown-section pre, .markdown-section output::after { font-family: monospace; } .markdown-section code, .markdown-section pre { background-color: #f6f8fa; border-radius: 6px; } .markdown-section pre, .markdown-section output { margin: 1.2em 0; position: relative; } .markdown-section pre > code, .markdown-section output { border-radius: 2px; display: block; } .markdown-section pre > code, .markdown-section output::after { -moz-osx-font-smoothing: initial; -webkit-font-smoothing: initial; } .markdown-section code { border-radius: 6px; margin: 0 2px; padding: .2em .4em; white-space: pre-wrap; } .markdown-section > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) code { font-size: 0.8rem; } .markdown-section pre { padding: 0 16px; line-height: 1.5rem; overflow: auto; word-wrap: normal; } .markdown-section pre > code { color: #000000; font-size: 0.8rem; padding: 16px 0; line-height: inherit; margin: 0 2px; max-width: inherit; overflow: inherit; white-space: inherit; } .markdown-section output { padding: 1.7rem 1.4rem; border: 1px dotted #ccc; } .markdown-section output > :first-child { margin-top: 0; } .markdown-section output > :last-child { margin-bottom: 0; } .markdown-section code::after, .markdown-section code::before, .markdown-section output::after, .markdown-section output::before { letter-spacing: 0.05rem; } .markdown-section pre::after, .markdown-section output::after { color: #ccc; font-size: 0.6rem; font-weight: 600; height: 15px; line-height: 15px; padding: 5px 10px 0; position: absolute; right: 0; text-align: right; top: 0; } .markdown-section pre::after, .markdown-section output::after { content: attr(data-lang); } /* code highlight */ .token.comment, .token.prolog, .token.doctype, .token.cdata { color: #8e908c; } .token.namespace { opacity: 0.7; } .token.boolean, .token.number { color: #c76b29; } .token.punctuation { color: #525252; } .token.property { color: #c08b30; } .token.tag { color: #2973b7; } .token.string { color: #42b983; color: var(--theme-color, #42b983); } .token.selector { color: #6679cc; } .token.attr-name { color: #2973b7; } .token.entity, .token.url, .language-css .token.string, .style .token.string { color: #22a2c9; } .token.attr-value, .token.control, .token.directive, .token.unit { color: #42b983; color: var(--theme-color, #42b983); } .token.keyword, .token.function { color: #e96900; } .token.statement, .token.regex, .token.atrule { color: #22a2c9; } .token.placeholder, .token.variable { color: #3d8fd1; } .token.deleted { text-decoration: line-through; } .token.inserted { border-bottom: 1px dotted #202746; text-decoration: none; } .token.italic { font-style: italic; } .token.important, .token.bold { font-weight: bold; } .token.important { color: #c94922; } .token.entity { cursor: help; } code .token { -moz-osx-font-smoothing: initial; -webkit-font-smoothing: initial; min-height: 1.5rem; position: relative; left: auto; }