html {
    font-family: "Open Sans", sans-serif;
    color: #333;
  }
  body {
    margin: 0;
    font-size: 1rem;
    overflow-x: hidden;
  }
  code {
    font-family: "Source Code Pro", Consolas, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace, monospace;
    font-size: 0.875em;
  }
  .left {
    float: left;
  }
  .right {
    float: right;
  }
  .hidden {
    display: none;
  }
  .play-button.hidden {
    display: none;
  }
  h2,
  h3 {
    margin-top: 2.5em;
  }
  h4,
  h5 {
    margin-top: 2em;
  }
  .header + .header h3,
  .header + .header h4,
  .header + .header h5 {
    margin-top: 1em;
  }
  a.header:target h1:before,
  a.header:target h2:before,
  a.header:target h3:before,
  a.header:target h4:before {
    display: inline-block;
    content: "»";
    margin-left: -30px;
    width: 30px;
  }
  table {
    margin: 0 auto;
    border-collapse: collapse;
  }
  table td {
    padding: 3px 20px;
    border: 1px solid;
  }
  table thead td {
    font-weight: 700;
  }
  :not(.footnote-definition) + .footnote-definition,
  .footnote-definition + :not(.footnote-definition) {
    margin-top: 2em;
  }
  .footnote-definition {
    font-size: 0.9em;
    margin: 0.5em 0;
  }
  .footnote-definition p {
    display: inline;
  }
  .sidebar {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    width: 300px;
    overflow-y: auto;
    padding: 10px 10px;
    font-size: 0.875em;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
  }
  .js .sidebar {
    -webkit-transition: -webkit-transform 0.3s;
    -moz-transition: -moz-transform 0.3s;
    -o-transition: -o-transform 0.3s;
    -ms-transition: -ms-transform 0.3s;
    transition: transform 0.3s;
  }
  .sidebar code {
    line-height: 2em;
  }
  .sidebar-hidden .sidebar {
    -webkit-transform: translateX(-300px);
    -moz-transform: translateX(-300px);
    -o-transform: translateX(-300px);
    -ms-transform: translateX(-300px);
    transform: translateX(-300px);
  }
  .chapter {
    list-style: none outside none;
    padding-left: 0;
    line-height: 2.2em;
  }
  .chapter li a {
    display: block;
    padding: 0;
    text-decoration: none;
  }
  @media (-moz-touch-enabled: 1), (pointer: coarse) {
    .chapter li a {
      padding: 5px 0;
    }
  }
  .chapter li a:hover {
    text-decoration: none;
  }
  .chapter .spacer {
    width: 100%;
    height: 3px;
    margin: 5px 0px;
  }
  @media (-moz-touch-enabled: 1), (pointer: coarse) {
    .chapter .spacer {
      margin: 10px 0;
    }
  }
  .section {
    list-style: none outside none;
    padding-left: 20px;
    line-height: 1.9em;
  }
  .section li {
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
  }
  .page-wrapper {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .js .page-wrapper {
    -webkit-transition: margin-left 0.3s ease, -webkit-transform 0.3s ease;
    -moz-transition: margin-left 0.3s ease, -moz-transform 0.3s ease;
    -o-transition: margin-left 0.3s ease, -o-transform 0.3s ease;
    -ms-transition: margin-left 0.3s ease, -ms-transform 0.3s ease;
    transition: margin-left 0.3s ease, transform 0.3s ease;
  }
  .sidebar-visible .page-wrapper {
    -webkit-transform: translateX(300px);
    -moz-transform: translateX(300px);
    -o-transform: translateX(300px);
    -ms-transform: translateX(300px);
    transform: translateX(300px);
  }
  @media only screen and (min-width: 620px) {
    .sidebar-visible .page-wrapper {
      -webkit-transform: none;
      -moz-transform: none;
      -o-transform: none;
      -ms-transform: none;
      transform: none;
      margin-left: 300px;
    }
  }
  .page {
    outline: 0;
    padding: 0 15px;
  }
  .content {
    overflow-y: auto;
    padding: 0 15px;
    padding-bottom: 50px;
  }
  .content main {
    margin-left: auto;
    margin-right: auto;
    max-width: 750px;
  }
  .content a {
    text-decoration: none;
  }
  .content a:hover {
    text-decoration: underline;
  }
  .content img {
    max-width: 100%;
  }
  #menu-bar {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 101;
  }
  #menu-bar > #menu-bar-sticky-container {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -o-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .js #menu-bar > #menu-bar-sticky-container {
    -webkit-transition: -webkit-transform 0.3s;
    -moz-transition: -moz-transform 0.3s;
    -o-transition: -o-transform 0.3s;
    -ms-transition: -ms-transform 0.3s;
    transition: transform 0.3s;
  }
  #menu-bar i,
  #menu-bar .icon-button {
    position: relative;
    margin: 0 10px;
    z-index: 10;
    line-height: 50px;
    cursor: pointer;
    -webkit-transition: color 0.5s;
    -moz-transition: color 0.5s;
    -o-transition: color 0.5s;
    -ms-transition: color 0.5s;
    transition: color 0.5s;
  }
  #menu-bar #print-button {
    margin: 0 15px;
  }
  html:not(.sidebar-visible) #menu-bar:not(:hover).folded > #menu-bar-sticky-container {
    -webkit-transform: translateY(-60px);
    -moz-transform: translateY(-60px);
    -o-transform: translateY(-60px);
    -ms-transform: translateY(-60px);
    transform: translateY(-60px);
  }
  .no-js .left-buttons {
    display: none;
  }
  .menu-title {
    display: inline-block;
    font-weight: 200;
    font-size: 20px;
    line-height: 50px;
    text-align: center;
    margin: 0;
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -o-box-flex: 1;
    box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
  }
  .js .menu-title {
    cursor: pointer;
  }
  .nav-chapters {
    font-size: 2.5em;
    text-align: center;
    text-decoration: none;
    position: fixed;
    top: 50px /* Height of menu-bar */;
    bottom: 0;
    margin: 0;
    max-width: 150px;
    min-width: 90px;
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -o-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    -webkit-align-content: center;
    align-content: center;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    -o-box-orient: vertical;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-transition: color 0.5s;
    -moz-transition: color 0.5s;
    -o-transition: color 0.5s;
    -ms-transition: color 0.5s;
    transition: color 0.5s;
  }
  .nav-chapters:hover {
    text-decoration: none;
  }
  .nav-wrapper {
    margin-top: 50px;
    display: none;
  }
  .mobile-nav-chapters {
    font-size: 2.5em;
    text-align: center;
    text-decoration: none;
    width: 90px;
    border-radius: 5px;
  }
  .previous {
    float: left;
  }
  .next {
    float: right;
    right: 15px;
  }
  @media only screen and (max-width: 1080px) {
    .nav-wide-wrapper {
      display: none;
    }
    .nav-wrapper {
      display: block;
    }
  }
  @media only screen and (max-width: 1380px) {
    .sidebar-visible .nav-wide-wrapper {
      display: none;
    }
    .sidebar-visible .nav-wrapper {
      display: block;
    }
  }
  .theme-popup {
    position: absolute;
    left: 10px;
    z-index: 1000;
    border-radius: 4px;
    font-size: 0.7em;
  }
  .theme-popup .theme {
    display: inline;
    border: 0;
    margin: 0;
    padding: 2px 10px;
    line-height: 25px;
    width: 100%;
    white-space: nowrap;
    text-align: left;
    cursor: pointer;
    color: inherit;
    background: inherit;
    font-size: inherit;
  }
  .theme-popup .theme:hover:first-child,
  .theme-popup .theme:hover:last-child {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
  }
  .light {
    color: #333;
    background-color: #fff;
  /* Inline code */
  /* Search */
  }
  .light .content .header:link,
  .light .content .header:visited {
    color: #333;
  }
  .light .content .header:link:hover,
  .light .content .header:visited:hover {
    text-decoration: none;
  }
  .light .menu-bar {
    margin: auto -15px;
  }
  .light .menu-bar > #menu-bar-sticky-container {
    background-color: #fff;
    border-bottom-color: #fff;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }
  .light .menu-bar.bordered > #menu-bar-sticky-container {
    border-bottom-color: #f2f2f2;
  }
  .light .sidebar {
    background-color: #fafafa;
    color: #364149;
  }
  .light .sidebar::-webkit-scrollbar {
    background: #fafafa;
  }
  .light .sidebar::-webkit-scrollbar-thumb {
    background: #ccc;
  }
  .light .chapter li {
    color: #aaa;
  }
  .light .chapter li a {
    color: #364149;
  }
  .light .chapter li .active,
  .light .chapter li a:hover {
  /* Animate color change */
    color: #008cff;
  }
  .light .chapter .spacer {
    background-color: #f4f4f4;
  }
  .light .menu-bar,
  .light .menu-bar:visited,
  .light .nav-chapters,
  .light .nav-chapters:visited,
  .light .mobile-nav-chapters,
  .light .mobile-nav-chapters:visited,
  .light .menu-bar .icon-button,
  .light .menu-bar a i {
    color: #0c0c0c;
  }
  .light .menu-bar i:hover,
  .light .menu-bar .icon-button:hover,
  .light .nav-chapters:hover,
  .light .mobile-nav-chapters i:hover {
    color: #333;
  }
  .light .mobile-nav-chapters i:hover {
    color: #364149;
  }
  .light .mobile-nav-chapters {
    background-color: #fafafa;
  }
  .light #searchresults a,
  .light .content a:link,
  .light a:visited,
  .light a > .hljs {
    color: #4183c4;
  }
  .light .theme-popup {
    color: #333;
    background: #fafafa;
    border: 1px solid #ccc;
    margin: 0;
    padding: 0;
    list-style: none;
    display: none;
  }
  .light .theme-popup .theme:hover {
    background-color: #e6e6e6;
  }
  .light .theme-popup .default {
    color: #ccc;
  }
  .light blockquote {
    margin: 20px 0;
    padding: 0 20px;
    color: #333;
    background-color: #f2f7f9;
    border-top: 0.1em solid #e1edf1;
    border-bottom: 0.1em solid #e1edf1;
  }
  .light table td {
    border-color: #f2f2f2;
  }
  .light table tbody tr:nth-child(2n) {
    background: #f7f7f7;
  }
  .light table thead {
    background: #ccc;
  }
  .light table thead td {
    border: none;
  }
  .light table thead tr {
    border: 1px #ccc solid;
  }
  .light :not(pre) > .hljs {
    display: inline-block;
    vertical-align: middle;
    padding: 0.1em 0.3em;
    border-radius: 3px;
    color: #6e6b5e;
  }
  .light a:hover > .hljs {
    text-decoration: underline;
  }
  .light pre {
    position: relative;
  }
  .light pre > .buttons {
    position: absolute;
    z-index: 100;
    right: 5px;
    top: 5px;
    color: #364149;
    cursor: pointer;
  }
  .light pre > .buttons :hover {
    color: #008cff;
  }
  .light pre > .buttons i {
    margin-left: 8px;
  }
  .light pre > .buttons button {
    color: inherit;
    background: transparent;
    border: none;
    cursor: inherit;
  }
  .light pre > .result {
    margin-top: 10px;
  }
  .light .icon-button {
    border: none;
    background: none;
    padding: 0;
    color: inherit;
  }
  .light .icon-button i {
    margin: 0;
  }
  .light ::-webkit-scrollbar {
    background: #fff;
  }
  .light ::-webkit-scrollbar-thumb {
    background: #ccc;
  }
  .light #searchbar {
    border: 1px solid #aaa;
    border-radius: 3px;
    background-color: #fafafa;
    color: #000;
  }
  .light #searchbar:focus,
  .light #searchbar.active {
    -webkit-box-shadow: 0 0 3px #aaa;
    box-shadow: 0 0 3px #aaa;
  }
  .light .searchresults-header {
    color: #666;
  }
  .light .searchresults-outer {
    border-bottom: 1px dashed #888;
  }
  .light ul#searchresults li.focus {
    background-color: #e4f2fe;
  }
  .light mark {
    background-color: #a2cff5;
  }
  .coal {
    color: #98a3ad;
    background-color: #141617;
  /* Inline code */
  /* Search */
  }
  .coal .content .header:link,
  .coal .content .header:visited {
    color: #98a3ad;
  }
  .coal .content .header:link:hover,
  .coal .content .header:visited:hover {
    text-decoration: none;
  }
  .coal .menu-bar {
    margin: auto -15px;
  }
  .coal .menu-bar > #menu-bar-sticky-container {
    background-color: #141617;
    border-bottom-color: #141617;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }
  .coal .menu-bar.bordered > #menu-bar-sticky-container {
    border-bottom-color: #1f2223;
  }
  .coal .sidebar {
    background-color: #292c2f;
    color: #a1adb8;
  }
  .coal .sidebar::-webkit-scrollbar {
    background: #292c2f;
  }
  .coal .sidebar::-webkit-scrollbar-thumb {
    background: #a1adb8;
  }
  .coal .chapter li {
    color: #505254;
  }
  .coal .chapter li a {
    color: #a1adb8;
  }
  .coal .chapter li .active,
  .coal .chapter li a:hover {
  /* Animate color change */
    color: #3473ad;
  }
  .coal .chapter .spacer {
    background-color: #393939;
  }
  .coal .menu-bar,
  .coal .menu-bar:visited,
  .coal .nav-chapters,
  .coal .nav-chapters:visited,
  .coal .mobile-nav-chapters,
  .coal .mobile-nav-chapters:visited,
  .coal .menu-bar .icon-button,
  .coal .menu-bar a i {
    color: #43484d;
  }
  .coal .menu-bar i:hover,
  .coal .menu-bar .icon-button:hover,
  .coal .nav-chapters:hover,
  .coal .mobile-nav-chapters i:hover {
    color: #b3c0cc;
  }
  .coal .mobile-nav-chapters i:hover {
    color: #a1adb8;
  }
  .coal .mobile-nav-chapters {
    background-color: #292c2f;
  }
  .coal #searchresults a,
  .coal .content a:link,
  .coal a:visited,
  .coal a > .hljs {
    color: #2b79a2;
  }
  .coal .theme-popup {
    color: #98a3ad;
    background: #141617;
    border: 1px solid #43484d;
    margin: 0;
    padding: 0;
    list-style: none;
    display: none;
  }
  .coal .theme-popup .theme:hover {
    background-color: #1f2124;
  }
  .coal .theme-popup .default {
    color: #43484d;
  }
  .coal blockquote {
    margin: 20px 0;
    padding: 0 20px;
    color: #98a3ad;
    background-color: #242637;
    border-top: 0.1em solid #2c2f44;
    border-bottom: 0.1em solid #2c2f44;
  }
  .coal table td {
    border-color: #1f2223;
  }
  .coal table tbody tr:nth-child(2n) {
    background: #1b1d1e;
  }
  .coal table thead {
    background: #3f4649;
  }
  .coal table thead td {
    border: none;
  }
  .coal table thead tr {
    border: 1px #3f4649 solid;
  }
  .coal :not(pre) > .hljs {
    display: inline-block;
    vertical-align: middle;
    padding: 0.1em 0.3em;
    border-radius: 3px;
    color: #c5c8c6;
  }
  .coal a:hover > .hljs {
    text-decoration: underline;
  }
  .coal pre {
    position: relative;
  }
  .coal pre > .buttons {
    position: absolute;
    z-index: 100;
    right: 5px;
    top: 5px;
    color: #a1adb8;
    cursor: pointer;
  }
  .coal pre > .buttons :hover {
    color: #3473ad;
  }
  .coal pre > .buttons i {
    margin-left: 8px;
  }
  .coal pre > .buttons button {
    color: inherit;
    background: transparent;
    border: none;
    cursor: inherit;
  }
  .coal pre > .result {
    margin-top: 10px;
  }
  .coal .icon-button {
    border: none;
    background: none;
    padding: 0;
    color: inherit;
  }
  .coal .icon-button i {
    margin: 0;
  }
  .coal ::-webkit-scrollbar {
    background: #141617;
  }
  .coal ::-webkit-scrollbar-thumb {
    background: #a1adb8;
  }
  .coal #searchbar {
    border: 1px solid #aaa;
    border-radius: 3px;
    background-color: #b7b7b7;
    color: #000;
  }
  .coal #searchbar:focus,
  .coal #searchbar.active {
    -webkit-box-shadow: 0 0 3px #aaa;
    box-shadow: 0 0 3px #aaa;
  }
  .coal .searchresults-header {
    color: #666;
  }
  .coal .searchresults-outer {
    border-bottom: 1px dashed #98a3ad;
  }
  .coal ul#searchresults li.focus {
    background-color: #2b2b2f;
  }
  .coal mark {
    background-color: #355c7d;
  }
  .navy {
    color: #bcbdd0;
    background-color: #161923;
  /* Inline code */
  /* Search */
  }
  .navy .content .header:link,
  .navy .content .header:visited {
    color: #bcbdd0;
  }
  .navy .content .header:link:hover,
  .navy .content .header:visited:hover {
    text-decoration: none;
  }
  .navy .menu-bar {
    margin: auto -15px;
  }
  .navy .menu-bar > #menu-bar-sticky-container {
    background-color: #161923;
    border-bottom-color: #161923;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }
  .navy .menu-bar.bordered > #menu-bar-sticky-container {
    border-bottom-color: #1f2331;
  }
  .navy .sidebar {
    background-color: #282d3f;
    color: #c8c9db;
  }
  .navy .sidebar::-webkit-scrollbar {
    background: #282d3f;
  }
  .navy .sidebar::-webkit-scrollbar-thumb {
    background: #c8c9db;
  }
  .navy .chapter li {
    color: #505274;
  }
  .navy .chapter li a {
    color: #c8c9db;
  }
  .navy .chapter li .active,
  .navy .chapter li a:hover {
  /* Animate color change */
    color: #2b79a2;
  }
  .navy .chapter .spacer {
    background-color: #2d334f;
  }
  .navy .menu-bar,
  .navy .menu-bar:visited,
  .navy .nav-chapters,
  .navy .nav-chapters:visited,
  .navy .mobile-nav-chapters,
  .navy .mobile-nav-chapters:visited,
  .navy .menu-bar .icon-button,
  .navy .menu-bar a i {
    color: #737480;
  }
  .navy .menu-bar i:hover,
  .navy .menu-bar .icon-button:hover,
  .navy .nav-chapters:hover,
  .navy .mobile-nav-chapters i:hover {
    color: #b7b9cc;
  }
  .navy .mobile-nav-chapters i:hover {
    color: #c8c9db;
  }
  .navy .mobile-nav-chapters {
    background-color: #282d3f;
  }
  .navy #searchresults a,
  .navy .content a:link,
  .navy a:visited,
  .navy a > .hljs {
    color: #2b79a2;
  }
  .navy .theme-popup {
    color: #bcbdd0;
    background: #161923;
    border: 1px solid #737480;
    margin: 0;
    padding: 0;
    list-style: none;
    display: none;
  }
  .navy .theme-popup .theme:hover {
    background-color: #282e40;
  }
  .navy .theme-popup .default {
    color: #737480;
  }
  .navy blockquote {
    margin: 20px 0;
    padding: 0 20px;
    color: #bcbdd0;
    background-color: #262933;
    border-top: 0.1em solid #2f333f;
    border-bottom: 0.1em solid #2f333f;
  }
  .navy table td {
    border-color: #1f2331;
  }
  .navy table tbody tr:nth-child(2n) {
    background: #1b1f2b;
  }
  .navy table thead {
    background: #39415b;
  }
  .navy table thead td {
    border: none;
  }
  .navy table thead tr {
    border: 1px #39415b solid;
  }
  .navy :not(pre) > .hljs {
    display: inline-block;
    vertical-align: middle;
    padding: 0.1em 0.3em;
    border-radius: 3px;
    color: #c5c8c6;
  }
  .navy a:hover > .hljs {
    text-decoration: underline;
  }
  .navy pre {
    position: relative;
  }
  .navy pre > .buttons {
    position: absolute;
    z-index: 100;
    right: 5px;
    top: 5px;
    color: #c8c9db;
    cursor: pointer;
  }
  .navy pre > .buttons :hover {
    color: #2b79a2;
  }
  .navy pre > .buttons i {
    margin-left: 8px;
  }
  .navy pre > .buttons button {
    color: inherit;
    background: transparent;
    border: none;
    cursor: inherit;
  }
  .navy pre > .result {
    margin-top: 10px;
  }
  .navy .icon-button {
    border: none;
    background: none;
    padding: 0;
    color: inherit;
  }
  .navy .icon-button i {
    margin: 0;
  }
  .navy ::-webkit-scrollbar {
    background: #161923;
  }
  .navy ::-webkit-scrollbar-thumb {
    background: #c8c9db;
  }
  .navy #searchbar {
    border: 1px solid #aaa;
    border-radius: 3px;
    background-color: #aeaec6;
    color: #000;
  }
  .navy #searchbar:focus,
  .navy #searchbar.active {
    -webkit-box-shadow: 0 0 3px #aaa;
    box-shadow: 0 0 3px #aaa;
  }
  .navy .searchresults-header {
    color: #5f5f71;
  }
  .navy .searchresults-outer {
    border-bottom: 1px dashed #5c5c68;
  }
  .navy ul#searchresults li.focus {
    background-color: #242430;
  }
  .navy mark {
    background-color: #a2cff5;
  }
  .rust {
    color: #262625;
    background-color: #e1e1db;
  /* Inline code */
  /* Search */
  }
  .rust .content .header:link,
  .rust .content .header:visited {
    color: #262625;
  }
  .rust .content .header:link:hover,
  .rust .content .header:visited:hover {
    text-decoration: none;
  }
  .rust .menu-bar {
    margin: auto -15px;
  }
  .rust .menu-bar > #menu-bar-sticky-container {
    background-color: #e1e1db;
    border-bottom-color: #e1e1db;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }
  .rust .menu-bar.bordered > #menu-bar-sticky-container {
    border-bottom-color: #d7d7cf;
  }
  .rust .sidebar {
    background-color: #3b2e2a;
    color: #c8c9db;
  }
  .rust .sidebar::-webkit-scrollbar {
    background: #3b2e2a;
  }
  .rust .sidebar::-webkit-scrollbar-thumb {
    background: #c8c9db;
  }
  .rust .chapter li {
    color: #505254;
  }
  .rust .chapter li a {
    color: #c8c9db;
  }
  .rust .chapter li .active,
  .rust .chapter li a:hover {
  /* Animate color change */
    color: #e69f67;
  }
  .rust .chapter .spacer {
    background-color: #45373a;
  }
  .rust .menu-bar,
  .rust .menu-bar:visited,
  .rust .nav-chapters,
  .rust .nav-chapters:visited,
  .rust .mobile-nav-chapters,
  .rust .mobile-nav-chapters:visited,
  .rust .menu-bar .icon-button,
  .rust .menu-bar a i {
    color: #737480;
  }
  .rust .menu-bar i:hover,
  .rust .menu-bar .icon-button:hover,
  .rust .nav-chapters:hover,
  .rust .mobile-nav-chapters i:hover {
    color: #262625;
  }
  .rust .mobile-nav-chapters i:hover {
    color: #c8c9db;
  }
  .rust .mobile-nav-chapters {
    background-color: #3b2e2a;
  }
  .rust #searchresults a,
  .rust .content a:link,
  .rust a:visited,
  .rust a > .hljs {
    color: #2b79a2;
  }
  .rust .theme-popup {
    color: #262625;
    background: #e1e1db;
    border: 1px solid #b38f6b;
    margin: 0;
    padding: 0;
    list-style: none;
    display: none;
  }
  .rust .theme-popup .theme:hover {
    background-color: #99908a;
  }
  .rust .theme-popup .default {
    color: #737480;
  }
  .rust blockquote {
    margin: 20px 0;
    padding: 0 20px;
    color: #262625;
    background-color: #c1c1bb;
    border-top: 0.1em solid #b8b8b1;
    border-bottom: 0.1em solid #b8b8b1;
  }
  .rust table td {
    border-color: #d7d7cf;
  }
  .rust table tbody tr:nth-child(2n) {
    background: #dbdbd4;
  }
  .rust table thead {
    background: #b3a497;
  }
  .rust table thead td {
    border: none;
  }
  .rust table thead tr {
    border: 1px #b3a497 solid;
  }
  .rust :not(pre) > .hljs {
    display: inline-block;
    vertical-align: middle;
    padding: 0.1em 0.3em;
    border-radius: 3px;
    color: #6e6b5e;
  }
  .rust a:hover > .hljs {
    text-decoration: underline;
  }
  .rust pre {
    position: relative;
  }
  .rust pre > .buttons {
    position: absolute;
    z-index: 100;
    right: 5px;
    top: 5px;
    color: #c8c9db;
    cursor: pointer;
  }
  .rust pre > .buttons :hover {
    color: #e69f67;
  }
  .rust pre > .buttons i {
    margin-left: 8px;
  }
  .rust pre > .buttons button {
    color: inherit;
    background: transparent;
    border: none;
    cursor: inherit;
  }
  .rust pre > .result {
    margin-top: 10px;
  }
  .rust .icon-button {
    border: none;
    background: none;
    padding: 0;
    color: inherit;
  }
  .rust .icon-button i {
    margin: 0;
  }
  .rust ::-webkit-scrollbar {
    background: #e1e1db;
  }
  .rust ::-webkit-scrollbar-thumb {
    background: #c8c9db;
  }
  .rust #searchbar {
    border: 1px solid #aaa;
    border-radius: 3px;
    background-color: #fafafa;
    color: #000;
  }
  .rust #searchbar:focus,
  .rust #searchbar.active {
    -webkit-box-shadow: 0 0 3px #aaa;
    box-shadow: 0 0 3px #aaa;
  }
  .rust .searchresults-header {
    color: #666;
  }
  .rust .searchresults-outer {
    border-bottom: 1px dashed #888;
  }
  .rust ul#searchresults li.focus {
    background-color: #dec2a2;
  }
  .rust mark {
    background-color: #e69f67;
  }
  .ayu {
    color: #c5c5c5;
    background-color: #0f1419;
  /* Inline code */
  /* Search */
  }
  .ayu .content .header:link,
  .ayu .content .header:visited {
    color: #c5c5c5;
  }
  .ayu .content .header:link:hover,
  .ayu .content .header:visited:hover {
    text-decoration: none;
  }
  .ayu .menu-bar {
    margin: auto -15px;
  }
  .ayu .menu-bar > #menu-bar-sticky-container {
    background-color: #0f1419;
    border-bottom-color: #0f1419;
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }
  .ayu .menu-bar.bordered > #menu-bar-sticky-container {
    border-bottom-color: #182028;
  }
  .ayu .sidebar {
    background-color: #14191f;
    color: #c8c9db;
  }
  .ayu .sidebar::-webkit-scrollbar {
    background: #14191f;
  }
  .ayu .sidebar::-webkit-scrollbar-thumb {
    background: #c8c9db;
  }
  .ayu .chapter li {
    color: #5c6773;
  }
  .ayu .chapter li a {
    color: #c8c9db;
  }
  .ayu .chapter li .active,
  .ayu .chapter li a:hover {
  /* Animate color change */
    color: #ffb454;
  }
  .ayu .chapter .spacer {
    background-color: #2d334f;
  }
  .ayu .menu-bar,
  .ayu .menu-bar:visited,
  .ayu .nav-chapters,
  .ayu .nav-chapters:visited,
  .ayu .mobile-nav-chapters,
  .ayu .mobile-nav-chapters:visited,
  .ayu .menu-bar .icon-button,
  .ayu .menu-bar a i {
    color: #737480;
  }
  .ayu .menu-bar i:hover,
  .ayu .menu-bar .icon-button:hover,
  .ayu .nav-chapters:hover,
  .ayu .mobile-nav-chapters i:hover {
    color: #b7b9cc;
  }
  .ayu .mobile-nav-chapters i:hover {
    color: #c8c9db;
  }
  .ayu .mobile-nav-chapters {
    background-color: #14191f;
  }
  .ayu #searchresults a,
  .ayu .content a:link,
  .ayu a:visited,
  .ayu a > .hljs {
    color: #0096cf;
  }
  .ayu .theme-popup {
    color: #c5c5c5;
    background: #14191f;
    border: 1px solid #5c6773;
    margin: 0;
    padding: 0;
    list-style: none;
    display: none;
  }
  .ayu .theme-popup .theme:hover {
    background-color: #191f26;
  }
  .ayu .theme-popup .default {
    color: #737480;
  }
  .ayu blockquote {
    margin: 20px 0;
    padding: 0 20px;
    color: #c5c5c5;
    background-color: #262933;
    border-top: 0.1em solid #2f333f;
    border-bottom: 0.1em solid #2f333f;
  }
  .ayu table td {
    border-color: #182028;
  }
  .ayu table tbody tr:nth-child(2n) {
    background: #141b22;
  }
  .ayu table thead {
    background: #324354;
  }
  .ayu table thead td {
    border: none;
  }
  .ayu table thead tr {
    border: 1px #324354 solid;
  }
  .ayu :not(pre) > .hljs {
    display: inline-block;
    vertical-align: middle;
    padding: 0.1em 0.3em;
    border-radius: 3px;
    color: #ffb454;
  }
  .ayu a:hover > .hljs {
    text-decoration: underline;
  }
  .ayu pre {
    position: relative;
  }
  .ayu pre > .buttons {
    position: absolute;
    z-index: 100;
    right: 5px;
    top: 5px;
    color: #c8c9db;
    cursor: pointer;
  }
  .ayu pre > .buttons :hover {
    color: #ffb454;
  }
  .ayu pre > .buttons i {
    margin-left: 8px;
  }
  .ayu pre > .buttons button {
    color: inherit;
    background: transparent;
    border: none;
    cursor: inherit;
  }
  .ayu pre > .result {
    margin-top: 10px;
  }
  .ayu .icon-button {
    border: none;
    background: none;
    padding: 0;
    color: inherit;
  }
  .ayu .icon-button i {
    margin: 0;
  }
  .ayu ::-webkit-scrollbar {
    background: #0f1419;
  }
  .ayu ::-webkit-scrollbar-thumb {
    background: #c8c9db;
  }
  .ayu #searchbar {
    border: 1px solid #848484;
    border-radius: 3px;
    background-color: #424242;
    color: #fff;
  }
  .ayu #searchbar:focus,
  .ayu #searchbar.active {
    -webkit-box-shadow: 0 0 3px #d4c89f;
    box-shadow: 0 0 3px #d4c89f;
  }
  .ayu .searchresults-header {
    color: #666;
  }
  .ayu .searchresults-outer {
    border-bottom: 1px dashed #888;
  }
  .ayu ul#searchresults li.focus {
    background-color: #252932;
  }
  .ayu mark {
    background-color: #e3b171;
  }
  @media only print {
    #sidebar,
    #menu-bar,
    .nav-chapters,
    .mobile-nav-chapters {
      display: none;
    }
    #page-wrapper {
      left: 0;
      overflow-y: initial;
    }
    #page-wrapper.page-wrapper {
      padding-left: 0px;
    }
    #content {
      max-width: none;
      margin: 0;
      padding: 0;
    }
    .page {
      overflow-y: initial;
    }
    code {
      background-color: #666;
      border-radius: 5px;
  /* Force background to be printed in Chrome */
      -webkit-print-color-adjust: exact;
    }
    pre > .buttons {
      z-index: 2;
    }
    a,
    a:visited,
    a:active,
    a:hover {
      color: #4183c4;
      text-decoration: none;
    }
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      page-break-inside: avoid;
      page-break-after: avoid;
  /*break-after: avoid*/
    }
    pre,
    code {
      page-break-inside: avoid;
      white-space: pre-wrap /* CSS 3 */;
      white-space: -moz-pre-wrap /* Mozilla, since 1999 */;
      white-space: -pre-wrap /* Opera 4-6 */;
      white-space: -o-pre-wrap /* Opera 7 */;
      word-wrap: break-word /* Internet Explorer 5.5+ */;
    }
  }
  .tooltiptext {
    position: absolute;
    visibility: hidden;
    color: #fff;
    background-color: #333;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); /* Center by moving tooltip 50% of its width left */
    left: -8px; /* Half of the width of the icon */
    top: -35px;
    font-size: 0.8em;
    text-align: center;
    border-radius: 6px;
    padding: 5px 8px;
    margin: 5px;
    z-index: 1000;
  }
  .tooltipped .tooltiptext {
    visibility: visible;
  }
  #searchresults a {
    text-decoration: none;
  }
  mark {
    border-radius: 2px;
    padding: 0 3px 1px 3px;
    margin: 0 -3px -1px -3px;
    -webkit-transition: background-color 300ms linear;
    -moz-transition: background-color 300ms linear;
    -o-transition: background-color 300ms linear;
    -ms-transition: background-color 300ms linear;
    transition: background-color 300ms linear;
    cursor: pointer;
  }
  mark.fade-out {
    background-color: rgba(0,0,0,0) !important;
    cursor: auto;
  }
  .searchbar-outer {
    margin-left: auto;
    margin-right: auto;
    max-width: 750px;
  }
  #searchbar {
    width: 100%;
    margin: 5px auto 0px auto;
    padding: 10px 16px;
    -webkit-transition: box-shadow 300ms ease-in-out;
    -moz-transition: box-shadow 300ms ease-in-out;
    -o-transition: box-shadow 300ms ease-in-out;
    -ms-transition: box-shadow 300ms ease-in-out;
    transition: box-shadow 300ms ease-in-out;
  }
  .searchresults-header {
    font-weight: bold;
    font-size: 1em;
    padding: 18px 0 0 5px;
  }
  .searchresults-outer {
    margin-left: auto;
    margin-right: auto;
    max-width: 750px;
  }
  ul#searchresults {
    list-style: none;
    padding-left: 20px;
  }
  ul#searchresults li {
    margin: 10px 0px;
    padding: 2px;
    border-radius: 2px;
  }
  ul#searchresults span.teaser {
    display: block;
    clear: both;
    margin: 5px 0 0 20px;
    font-size: 0.8em;
  }
  ul#searchresults span.teaser em {
    font-weight: bold;
    font-style: normal;
  }

  <style type="text/css">
  code{white-space: pre-wrap;}
  span.smallcaps{font-variant: small-caps;}
  span.underline{text-decoration: underline;}
  div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<style type="text/css">
a.sourceLine { display: inline-block; line-height: 1.25; }
a.sourceLine { pointer-events: none; color: inherit; text-decoration: inherit; }
a.sourceLine:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode { white-space: pre; position: relative; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
code.sourceCode { white-space: pre-wrap; }
a.sourceLine { text-indent: -1em; padding-left: 1em; }
}
pre.numberSource a.sourceLine
{ position: relative; left: -4em; }
pre.numberSource a.sourceLine::before
{ content: attr(title);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; pointer-events: all; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
background-color: #232629;
color: #7a7c7d;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #7a7c7d;  padding-left: 4px; }
div.sourceCode
{ color: #cfcfc2; background-color: #232629; }
@media screen {
a.sourceLine::before { text-decoration: underline; }
}
code span. { color: #cfcfc2; } /* Normal */
code span.al { color: #95da4c; } /* Alert */
code span.an { color: #3f8058; } /* Annotation */
code span.at { color: #2980b9; } /* Attribute */
code span.bn { color: #f67400; } /* BaseN */
code span.bu { color: #7f8c8d; } /* BuiltIn */
code span.cf { color: #fdbc4b; } /* ControlFlow */
code span.ch { color: #3daee9; } /* Char */
code span.cn { color: #27aeae; } /* Constant */
code span.co { color: #7a7c7d; } /* Comment */
code span.cv { color: #7f8c8d; } /* CommentVar */
code span.do { color: #a43340; } /* Documentation */
code span.dt { color: #2980b9; } /* DataType */
code span.dv { color: #f67400; } /* DecVal */
code span.er { color: #da4453; } /* Error */
code span.ex { color: #0099ff; } /* Extension */
code span.fl { color: #f67400; } /* Float */
code span.fu { color: #8e44ad; } /* Function */
code span.im { color: #27ae60; } /* Import */
code span.in { color: #c45b00; } /* Information */
code span.kw { color: #cfcfc2; } /* Keyword */
code span.op { color: #cfcfc2; } /* Operator */
code span.ot { color: #27ae60; } /* Other */
code span.pp { color: #27ae60; } /* Preprocessor */
code span.re { color: #2980b9; } /* RegionMarker */
code span.sc { color: #3daee9; } /* SpecialChar */
code span.ss { color: #da4453; } /* SpecialString */
code span.st { color: #f44f4f; } /* String */
code span.va { color: #27aeae; } /* Variable */
code span.vs { color: #da4453; } /* VerbatimString */
code span.wa { color: #da4453; } /* Warning */
</style>
/*
     FILE ARCHIVED ON 04:00:27 Mar 22, 2023 AND RETRIEVED FROM THE
     INTERNET ARCHIVE ON 01:59:03 Apr 26, 2024.
     JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.

     ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
     SECTION 108(a)(3)).
*/
/*
playback timings (ms):
  captures_list: 0.581
  exclusion.robots: 0.067
  exclusion.robots.policy: 0.059
  cdx.remote: 0.05
  esindex: 0.008
  LoadShardBlock: 330.158 (3)
  PetaboxLoader3.datanode: 189.597 (4)
  PetaboxLoader3.resolve: 282.056 (2)
  load_resource: 223.298
*/