diff options
| author | Ganesh Viswanathan <dev@genotrance.com> | 2020-03-24 15:54:26 -0500 |
|---|---|---|
| committer | Ganesh Viswanathan <dev@genotrance.com> | 2020-03-24 15:54:26 -0500 |
| commit | bf81af2da2251cc68364ea2c40d1e8e117d4a016 (patch) | |
| tree | 27a1c692cc9912ad928a0a205e07f3de6bdf7036 | |
| parent | 1b25c4e6cabd820a86572a6bd4df8b295a1b5039 (diff) | |
| download | nimterop-bf81af2da2251cc68364ea2c40d1e8e117d4a016.tar.gz nimterop-bf81af2da2251cc68364ea2c40d1e8e117d4a016.zip | |
Update documentation
| -rw-r--r-- | all.html | 810 | ||||
| -rw-r--r-- | build.html | 825 | ||||
| -rw-r--r-- | cimport.html | 832 | ||||
| -rw-r--r-- | cimport.idx | 2 | ||||
| -rw-r--r-- | compat.html | 3 | ||||
| -rw-r--r-- | dochack.js | 3471 | ||||
| -rw-r--r-- | docs.html | 152 | ||||
| -rw-r--r-- | docs.idx | 1 | ||||
| -rw-r--r-- | nimdoc.out.css | 891 | ||||
| -rw-r--r-- | paths.html | 808 | ||||
| -rw-r--r-- | plugin.html | 820 | ||||
| -rw-r--r-- | plugin.idx | 2 | ||||
| -rw-r--r-- | theindex.html | 821 | ||||
| -rw-r--r-- | types.html | 808 |
14 files changed, 3105 insertions, 7141 deletions
@@ -10,6 +10,7 @@ <!-- Favicon --> <link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/> +<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII="> <!-- Google fonts --> <link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/> @@ -17,772 +18,7 @@ <!-- CSS --> <title>all</title> -<style type="text/css" > -/* -Stylesheet for use with Docutils/rst2html. - -See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to -customize this style sheet. - -Modified from Chad Skeeters' rst2html-style -https://bitbucket.org/cskeeters/rst2html-style/ - -Modified by Boyd Greenfield and narimiran -*/ - -html { - font-size: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; } - -body { - font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; - font-weight: 400; - font-size: 1.125em; - line-height: 1.5; - color: #222; - background-color: #FCFCFC; } - -/* Skeleton grid */ -.container { - position: relative; - width: 100%; - max-width: 1050px; - margin: 0 auto; - padding: 0; - box-sizing: border-box; } - -.column, -.columns { - width: 100%; - float: left; - box-sizing: border-box; - margin-left: 1%; -} - -.column:first-child, -.columns:first-child { - margin-left: 0; } - -.three.columns { - width: 19%; } - -.nine.columns { - width: 80.0%; } - -.twelve.columns { - width: 100%; - margin-left: 0; } - -@media screen and (max-width: 860px) { - .three.columns { - display: none; - } - .nine.columns { - width: 98.0%; - } - body { - font-size: 1em; - line-height: 1.35; - } -} - -cite { - font-style: italic !important; } - - -/* Nim search input */ -div#searchInputDiv { - margin-bottom: 1em; -} -input#searchInput { - width: 80%; -} - -/* - * Some custom formatting for input forms. - * This also fixes input form colors on Firefox with a dark system theme on Linux. - */ -input { - -moz-appearance: none; - color: #333; - background-color: #f8f8f8; - border: 1px solid #aaa; - font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; - font-size: 0.9em; - padding: 6px; -} -input:focus { - border: 1px solid #1fa0eb; - box-shadow: 0 0 2px #1fa0eb; -} - -/* Docgen styles */ -/* Links */ -a { - color: #07b; - text-decoration: none; -} - -a span.Identifier { - text-decoration: underline; - text-decoration-color: #aab; -} - -a.reference-toplevel { - font-weight: bold; -} - -a.toc-backref { - text-decoration: none; - color: #222; } - -a.link-seesrc { - color: #607c9f; - font-size: 0.9em; - font-style: italic; } - -a:hover, -a:focus { - color: #607c9f; - text-decoration: underline; } - -a:hover span.Identifier { - color: #607c9f; -} - - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; } - -sup { - top: -0.5em; } - -sub { - bottom: -0.25em; } - -img { - width: auto; - height: auto; - max-width: 100%; - vertical-align: middle; - border: 0; - -ms-interpolation-mode: bicubic; } - -@media print { - * { - color: black !important; - text-shadow: none !important; - background: transparent !important; - box-shadow: none !important; } - - a, - a:visited { - text-decoration: underline; } - - a[href]:after { - content: " (" attr(href) ")"; } - - abbr[title]:after { - content: " (" attr(title) ")"; } - - .ir a:after, - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; } - - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; } - - thead { - display: table-header-group; } - - tr, - img { - page-break-inside: avoid; } - - img { - max-width: 100% !important; } - - @page { - margin: 0.5cm; } - - h1 { - page-break-before: always; } - - h1.title { - page-break-before: avoid; } - - p, - h2, - h3 { - orphans: 3; - widows: 3; } - - h2, - h3 { - page-break-after: avoid; } -} - - -p { - margin-top: 0.5em; - margin-bottom: 0.5em; -} - -small { - font-size: 85%; } - -strong { - font-weight: 600; - font-size: 0.95em; - color: #3c3c3c; -} - -em { - font-style: italic; } - -h1 { - font-size: 1.8em; - font-weight: 400; - padding-bottom: .25em; - border-bottom: 1px solid #aaa; - margin-top: 2.5em; - margin-bottom: 1em; - line-height: 1.2em; } - -h1.title { - padding-bottom: 1em; - border-bottom: 0px; - font-size: 2.5em; - text-align: center; - font-weight: 900; - margin-top: 0.75em; - margin-bottom: 0em; -} - -h2 { - font-size: 1.3em; - margin-top: 2em; } - -h2.subtitle { - text-align: center; } - -h3 { - font-size: 1.125em; - font-style: italic; - margin-top: 1.5em; } - -h4 { - font-size: 1.125em; - margin-top: 1em; } - -h5 { - font-size: 1.125em; - margin-top: 0.75em; } - -h6 { - font-size: 1.1em; } - - -ul, -ol { - padding: 0; - margin-top: 0.5em; - margin-left: 0.75em; } - -ul ul, -ul ol, -ol ol, -ol ul { - margin-bottom: 0; - margin-left: 1.25em; } - -li { - list-style-type: circle; -} - -ul.simple-boot li { - list-style-type: none; - margin-left: 0em; - margin-bottom: 0.5em; -} - -ol.simple > li, ul.simple > li { - margin-bottom: 0.25em; - margin-left: 0.4em } - -ul.simple.simple-toc > li { - margin-top: 1em; -} - -ul.simple-toc { - list-style: none; - font-size: 0.9em; - margin-left: -0.3em; - margin-top: 1em; } - -ul.simple-toc > li { - list-style-type: none; -} - -ul.simple-toc-section { - list-style-type: circle; - margin-left: 1em; - color: #6c9aae; } - - -ol.arabic { - list-style: decimal; } - -ol.loweralpha { - list-style: lower-alpha; } - -ol.upperalpha { - list-style: upper-alpha; } - -ol.lowerroman { - list-style: lower-roman; } - -ol.upperroman { - list-style: upper-roman; } - -ul.auto-toc { - list-style-type: none; } - - -dl { - margin-bottom: 1.5em; } - -dt { - margin-bottom: -0.5em; - margin-left: 0.0em; } - -dd { - margin-left: 2.0em; - margin-bottom: 3.0em; - margin-top: 0.5em; } - - -hr { - margin: 2em 0; - border: 0; - border-top: 1px solid #aaa; } - -blockquote { - font-size: 0.9em; - font-style: italic; - padding-left: 0.5em; - margin-left: 0; - border-left: 5px solid #bbc; -} - -.pre { - font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; - font-weight: 500; - font-size: 0.85em; - background-color: #f0f3ff; - padding-left: 3px; - padding-right: 3px; - border-radius: 4px; -} - -pre { - font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; - color: #222; - font-weight: 500; - display: inline-block; - box-sizing: border-box; - min-width: 100%; - padding: 0.5em; - margin-top: 0.5em; - margin-bottom: 0.5em; - font-size: 0.85em; - white-space: pre !important; - overflow-y: hidden; - overflow-x: visible; - background-color: ghostwhite; - border: 1px solid #dde; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; } - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; } - - -/* Nim line-numbered tables */ -.line-nums-table { - width: 100%; - table-layout: fixed; } - -table.line-nums-table { - border-radius: 4px; - border: 1px solid #cccccc; - background-color: ghostwhite; - border-collapse: separate; - margin-top: 15px; - margin-bottom: 25px; } - -.line-nums-table tbody { - border: none; } - -.line-nums-table td pre { - border: none; - background-color: transparent; } - -.line-nums-table td.blob-line-nums { - width: 28px; } - -.line-nums-table td.blob-line-nums pre { - color: #b0b0b0; - -webkit-filter: opacity(75%); - text-align: right; - border-color: transparent; - background-color: transparent; - padding-left: 0px; - margin-left: 0px; - padding-right: 0px; - margin-right: 0px; } - - -table { - max-width: 100%; - background-color: transparent; - margin-top: 0.5em; - margin-bottom: 1.5em; - border-collapse: collapse; - border-color: #ccc; - border-spacing: 0; - font-size: 0.9em; -} - -table th, table td { - padding: 0px 0.5em 0px; -} - -table th { - background-color: #e8e8e8; - font-weight: bold; } - -table th.docinfo-name { - background-color: transparent; -} - -table tr:hover { - background-color: ghostwhite; } - - -/* rst2html default used to remove borders from tables and images */ -.borderless, table.borderless td, table.borderless th { - border: 0; } - -table.borderless td, table.borderless th { - /* Override padding for "table.docutils td" with "! important". - The right padding separates the table cells. */ - padding: 0 0.5em 0 0 !important; } - -.first { - /* Override more specific margin styles with "! important". */ - margin-top: 0 !important; } - -.last, .with-subtitle { - margin-bottom: 0 !important; } - -.hidden { - display: none; } - -blockquote.epigraph { - margin: 2em 5em; } - -dl.docutils dd { - margin-bottom: 0.5em; } - -object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { - overflow: hidden; } - - -div.figure { - margin-left: 2em; - margin-right: 2em; } - -div.footer, div.header { - clear: both; - text-align: center; - color: #666; - font-size: smaller; } - -div.footer { - padding-top: 5em; -} - -div.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; } - -div.line-block div.line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; } - -div.topic { - margin: 2em; } - -div.search_results { - background-color: antiquewhite; - margin: 3em; - padding: 1em; - border: 1px solid #4d4d4d; -} - -div#global-links ul { - margin-left: 0; - list-style-type: none; -} - -div#global-links > simple-boot { - margin-left: 3em; -} - -hr.docutils { - width: 75%; } - -img.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; } - -img.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; } - -img.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; } - -.align-left { - text-align: left; } - -.align-center { - clear: both; - text-align: center; } - -.align-right { - text-align: right; } - -/* reset inner alignment in figures */ -div.align-right { - text-align: inherit; } - -p.attribution { - text-align: right; - margin-left: 50%; } - -p.caption { - font-style: italic; } - -p.credits { - font-style: italic; - font-size: smaller; } - -p.label { - white-space: nowrap; } - -p.rubric { - font-weight: bold; - font-size: larger; - color: maroon; - text-align: center; } - -p.topic-title { - font-weight: bold; } - -pre.address { - margin-bottom: 0; - margin-top: 0; - font: inherit; } - -pre.literal-block, pre.doctest-block, pre.math, pre.code { - margin-left: 2em; - margin-right: 2em; } - -pre.code .ln { - color: grey; } - -/* line numbers */ -pre.code, code { - background-color: #eeeeee; } - -pre.code .comment, code .comment { - color: #5c6576; } - -pre.code .keyword, code .keyword { - color: #3B0D06; - font-weight: bold; } - -pre.code .literal.string, code .literal.string { - color: #0c5404; } - -pre.code .name.builtin, code .name.builtin { - color: #352b84; } - -pre.code .deleted, code .deleted { - background-color: #DEB0A1; } - -pre.code .inserted, code .inserted { - background-color: #A3D289; } - -span.classifier { - font-style: oblique; } - -span.classifier-delimiter { - font-weight: bold; } - -span.option { - white-space: nowrap; } - -span.problematic { - color: #b30000; } - -span.section-subtitle { - /* font-size relative to parent (h1..h6 element) */ - font-size: 80%; } - -span.DecNumber { - color: #252dbe; } - -span.BinNumber { - color: #252dbe; } - -span.HexNumber { - color: #252dbe; } - -span.OctNumber { - color: #252dbe; } - -span.FloatNumber { - color: #252dbe; } - -span.Identifier { - color: #222; } - -span.Keyword { - font-weight: 600; - color: #5e8f60; } - -span.StringLit { - color: #a4255b; } - -span.LongStringLit { - color: #a4255b; } - -span.CharLit { - color: #a4255b; } - -span.EscapeSequence { - color: black; } - -span.Operator { - color: black; } - -span.Punctuation { - color: black; } - -span.Comment, span.LongComment { - font-style: italic; - font-weight: 400; - color: #484a86; } - -span.RegularExpression { - color: darkviolet; } - -span.TagStart { - color: darkviolet; } - -span.TagEnd { - color: darkviolet; } - -span.Key { - color: #252dbe; } - -span.Value { - color: #252dbe; } - -span.RawData { - color: #a4255b; } - -span.Assembler { - color: #252dbe; } - -span.Preprocessor { - color: #252dbe; } - -span.Directive { - color: #252dbe; } - -span.Command, span.Rule, span.Hyperlink, span.Label, span.Reference, -span.Other { - color: black; } - -/* Pop type, const, proc, and iterator defs in nim def blocks */ -dt pre > span.Identifier, dt pre > span.Operator { - color: #155da4; - font-weight: 700; } - -dt pre > span.Keyword ~ span.Identifier, dt pre > span.Identifier ~ span.Identifier, -dt pre > span.Operator ~ span.Identifier, dt pre > span.Other ~ span.Identifier { - color: inherit; - font-weight: inherit; } - -/* Nim sprite for the footer (taken from main page favicon) */ -.nim-sprite { - display: inline-block; - height: 16px; - width: 16px; - background-position: 0 0; - background-size: 16px 16px; - -webkit-filter: opacity(50%); - background-repeat: no-repeat; - background-image: url("data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="); - margin-bottom: -5px; } - -span.pragmadots { - /* Position: relative frees us up to make the dots - look really nice without fucking up the layout and - causing bulging in the parent container */ - position: relative; - /* 1px down looks slightly nicer */ - top: 1px; - padding: 2px; - background-color: #e8e8e8; - border-radius: 4px; - margin: 0 2px; - cursor: pointer; - font-size: 0.8em; -} - -span.pragmadots:hover { - background-color: #DBDBDB; -} -span.pragmawrap { - display: none; -} - -span.attachedType { - display: none; - visibility: hidden; -} -</style> +<link rel="stylesheet" type="text/css" href="nimdoc.out.css"> <script type="text/javascript" src="dochack.js"></script> @@ -797,6 +33,37 @@ function main() { event.target.parentNode.nextElementSibling.style.display = "inline"; } } + + const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]'); + function switchTheme(e) { + if (e.target.checked) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', 'light'); + localStorage.setItem('theme', 'light'); + } + } + + toggleSwitch.addEventListener('change', switchTheme, false); + + + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-theme', "dark"); + toggleSwitch.checked = true; + } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-theme', "light"); + toggleSwitch.checked = false; + } else { + const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null; + if (currentTheme) { + document.documentElement.setAttribute('data-theme', currentTheme); + + if (currentTheme === 'dark') { + toggleSwitch.checked = true; + } + } + } } </script> @@ -807,6 +74,13 @@ function main() { <h1 class="title">all</h1> <div class="row"> <div class="three columns"> + <div class="theme-switch-wrapper"> + <label class="theme-switch" for="checkbox"> + <input type="checkbox" id="checkbox" /> + <div class="slider round"></div> + </label> + <em>Dark Mode</em> + </div> <div id="global-links"> <ul class="simple"> </ul> @@ -840,7 +114,7 @@ function main() { <div class="section" id="6"> <h1><a class="toc-backref" href="#6">Imports</a></h1> <dl class="item"> -<a class="reference external" href="cimport.html">cimport</a>, <a class="reference external" href="build.html">build</a>, <a class="reference external" href="types.html">types</a>, <a class="reference external" href="plugin.html">plugin</a>, <a class="reference external" href="compat.html">compat</a> +<a class="reference external" href="cimport.html">cimport</a>, <a class="reference external" href="build.html">build</a>, <a class="reference external" href="types.html">types</a>, <a class="reference external" href="plugin.html">plugin</a> </dl></div> </div> @@ -850,7 +124,7 @@ function main() { <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small>Made with Nim. Generated: 2019-12-23 20:57:15 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2020-03-24 20:54:26 UTC</small> </div> </div> </div> @@ -10,6 +10,7 @@ <!-- Favicon --> <link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/> +<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII="> <!-- Google fonts --> <link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/> @@ -17,772 +18,7 @@ <!-- CSS --> <title>build</title> -<style type="text/css" > -/* -Stylesheet for use with Docutils/rst2html. - -See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to -customize this style sheet. - -Modified from Chad Skeeters' rst2html-style -https://bitbucket.org/cskeeters/rst2html-style/ - -Modified by Boyd Greenfield and narimiran -*/ - -html { - font-size: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; } - -body { - font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; - font-weight: 400; - font-size: 1.125em; - line-height: 1.5; - color: #222; - background-color: #FCFCFC; } - -/* Skeleton grid */ -.container { - position: relative; - width: 100%; - max-width: 1050px; - margin: 0 auto; - padding: 0; - box-sizing: border-box; } - -.column, -.columns { - width: 100%; - float: left; - box-sizing: border-box; - margin-left: 1%; -} - -.column:first-child, -.columns:first-child { - margin-left: 0; } - -.three.columns { - width: 19%; } - -.nine.columns { - width: 80.0%; } - -.twelve.columns { - width: 100%; - margin-left: 0; } - -@media screen and (max-width: 860px) { - .three.columns { - display: none; - } - .nine.columns { - width: 98.0%; - } - body { - font-size: 1em; - line-height: 1.35; - } -} - -cite { - font-style: italic !important; } - - -/* Nim search input */ -div#searchInputDiv { - margin-bottom: 1em; -} -input#searchInput { - width: 80%; -} - -/* - * Some custom formatting for input forms. - * This also fixes input form colors on Firefox with a dark system theme on Linux. - */ -input { - -moz-appearance: none; - color: #333; - background-color: #f8f8f8; - border: 1px solid #aaa; - font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; - font-size: 0.9em; - padding: 6px; -} -input:focus { - border: 1px solid #1fa0eb; - box-shadow: 0 0 2px #1fa0eb; -} - -/* Docgen styles */ -/* Links */ -a { - color: #07b; - text-decoration: none; -} - -a span.Identifier { - text-decoration: underline; - text-decoration-color: #aab; -} - -a.reference-toplevel { - font-weight: bold; -} - -a.toc-backref { - text-decoration: none; - color: #222; } - -a.link-seesrc { - color: #607c9f; - font-size: 0.9em; - font-style: italic; } - -a:hover, -a:focus { - color: #607c9f; - text-decoration: underline; } - -a:hover span.Identifier { - color: #607c9f; -} - - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; } - -sup { - top: -0.5em; } - -sub { - bottom: -0.25em; } - -img { - width: auto; - height: auto; - max-width: 100%; - vertical-align: middle; - border: 0; - -ms-interpolation-mode: bicubic; } - -@media print { - * { - color: black !important; - text-shadow: none !important; - background: transparent !important; - box-shadow: none !important; } - - a, - a:visited { - text-decoration: underline; } - - a[href]:after { - content: " (" attr(href) ")"; } - - abbr[title]:after { - content: " (" attr(title) ")"; } - - .ir a:after, - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; } - - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; } - - thead { - display: table-header-group; } - - tr, - img { - page-break-inside: avoid; } - - img { - max-width: 100% !important; } - - @page { - margin: 0.5cm; } - - h1 { - page-break-before: always; } - - h1.title { - page-break-before: avoid; } - - p, - h2, - h3 { - orphans: 3; - widows: 3; } - - h2, - h3 { - page-break-after: avoid; } -} - - -p { - margin-top: 0.5em; - margin-bottom: 0.5em; -} - -small { - font-size: 85%; } - -strong { - font-weight: 600; - font-size: 0.95em; - color: #3c3c3c; -} - -em { - font-style: italic; } - -h1 { - font-size: 1.8em; - font-weight: 400; - padding-bottom: .25em; - border-bottom: 1px solid #aaa; - margin-top: 2.5em; - margin-bottom: 1em; - line-height: 1.2em; } - -h1.title { - padding-bottom: 1em; - border-bottom: 0px; - font-size: 2.5em; - text-align: center; - font-weight: 900; - margin-top: 0.75em; - margin-bottom: 0em; -} - -h2 { - font-size: 1.3em; - margin-top: 2em; } - -h2.subtitle { - text-align: center; } - -h3 { - font-size: 1.125em; - font-style: italic; - margin-top: 1.5em; } - -h4 { - font-size: 1.125em; - margin-top: 1em; } - -h5 { - font-size: 1.125em; - margin-top: 0.75em; } - -h6 { - font-size: 1.1em; } - - -ul, -ol { - padding: 0; - margin-top: 0.5em; - margin-left: 0.75em; } - -ul ul, -ul ol, -ol ol, -ol ul { - margin-bottom: 0; - margin-left: 1.25em; } - -li { - list-style-type: circle; -} - -ul.simple-boot li { - list-style-type: none; - margin-left: 0em; - margin-bottom: 0.5em; -} - -ol.simple > li, ul.simple > li { - margin-bottom: 0.25em; - margin-left: 0.4em } - -ul.simple.simple-toc > li { - margin-top: 1em; -} - -ul.simple-toc { - list-style: none; - font-size: 0.9em; - margin-left: -0.3em; - margin-top: 1em; } - -ul.simple-toc > li { - list-style-type: none; -} - -ul.simple-toc-section { - list-style-type: circle; - margin-left: 1em; - color: #6c9aae; } - - -ol.arabic { - list-style: decimal; } - -ol.loweralpha { - list-style: lower-alpha; } - -ol.upperalpha { - list-style: upper-alpha; } - -ol.lowerroman { - list-style: lower-roman; } - -ol.upperroman { - list-style: upper-roman; } - -ul.auto-toc { - list-style-type: none; } - - -dl { - margin-bottom: 1.5em; } - -dt { - margin-bottom: -0.5em; - margin-left: 0.0em; } - -dd { - margin-left: 2.0em; - margin-bottom: 3.0em; - margin-top: 0.5em; } - - -hr { - margin: 2em 0; - border: 0; - border-top: 1px solid #aaa; } - -blockquote { - font-size: 0.9em; - font-style: italic; - padding-left: 0.5em; - margin-left: 0; - border-left: 5px solid #bbc; -} - -.pre { - font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; - font-weight: 500; - font-size: 0.85em; - background-color: #f0f3ff; - padding-left: 3px; - padding-right: 3px; - border-radius: 4px; -} - -pre { - font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; - color: #222; - font-weight: 500; - display: inline-block; - box-sizing: border-box; - min-width: 100%; - padding: 0.5em; - margin-top: 0.5em; - margin-bottom: 0.5em; - font-size: 0.85em; - white-space: pre !important; - overflow-y: hidden; - overflow-x: visible; - background-color: ghostwhite; - border: 1px solid #dde; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; } - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; } - - -/* Nim line-numbered tables */ -.line-nums-table { - width: 100%; - table-layout: fixed; } - -table.line-nums-table { - border-radius: 4px; - border: 1px solid #cccccc; - background-color: ghostwhite; - border-collapse: separate; - margin-top: 15px; - margin-bottom: 25px; } - -.line-nums-table tbody { - border: none; } - -.line-nums-table td pre { - border: none; - background-color: transparent; } - -.line-nums-table td.blob-line-nums { - width: 28px; } - -.line-nums-table td.blob-line-nums pre { - color: #b0b0b0; - -webkit-filter: opacity(75%); - text-align: right; - border-color: transparent; - background-color: transparent; - padding-left: 0px; - margin-left: 0px; - padding-right: 0px; - margin-right: 0px; } - - -table { - max-width: 100%; - background-color: transparent; - margin-top: 0.5em; - margin-bottom: 1.5em; - border-collapse: collapse; - border-color: #ccc; - border-spacing: 0; - font-size: 0.9em; -} - -table th, table td { - padding: 0px 0.5em 0px; -} - -table th { - background-color: #e8e8e8; - font-weight: bold; } - -table th.docinfo-name { - background-color: transparent; -} - -table tr:hover { - background-color: ghostwhite; } - - -/* rst2html default used to remove borders from tables and images */ -.borderless, table.borderless td, table.borderless th { - border: 0; } - -table.borderless td, table.borderless th { - /* Override padding for "table.docutils td" with "! important". - The right padding separates the table cells. */ - padding: 0 0.5em 0 0 !important; } - -.first { - /* Override more specific margin styles with "! important". */ - margin-top: 0 !important; } - -.last, .with-subtitle { - margin-bottom: 0 !important; } - -.hidden { - display: none; } - -blockquote.epigraph { - margin: 2em 5em; } - -dl.docutils dd { - margin-bottom: 0.5em; } - -object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { - overflow: hidden; } - - -div.figure { - margin-left: 2em; - margin-right: 2em; } - -div.footer, div.header { - clear: both; - text-align: center; - color: #666; - font-size: smaller; } - -div.footer { - padding-top: 5em; -} - -div.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; } - -div.line-block div.line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; } - -div.topic { - margin: 2em; } - -div.search_results { - background-color: antiquewhite; - margin: 3em; - padding: 1em; - border: 1px solid #4d4d4d; -} - -div#global-links ul { - margin-left: 0; - list-style-type: none; -} - -div#global-links > simple-boot { - margin-left: 3em; -} - -hr.docutils { - width: 75%; } - -img.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; } - -img.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; } - -img.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; } - -.align-left { - text-align: left; } - -.align-center { - clear: both; - text-align: center; } - -.align-right { - text-align: right; } - -/* reset inner alignment in figures */ -div.align-right { - text-align: inherit; } - -p.attribution { - text-align: right; - margin-left: 50%; } - -p.caption { - font-style: italic; } - -p.credits { - font-style: italic; - font-size: smaller; } - -p.label { - white-space: nowrap; } - -p.rubric { - font-weight: bold; - font-size: larger; - color: maroon; - text-align: center; } - -p.topic-title { - font-weight: bold; } - -pre.address { - margin-bottom: 0; - margin-top: 0; - font: inherit; } - -pre.literal-block, pre.doctest-block, pre.math, pre.code { - margin-left: 2em; - margin-right: 2em; } - -pre.code .ln { - color: grey; } - -/* line numbers */ -pre.code, code { - background-color: #eeeeee; } - -pre.code .comment, code .comment { - color: #5c6576; } - -pre.code .keyword, code .keyword { - color: #3B0D06; - font-weight: bold; } - -pre.code .literal.string, code .literal.string { - color: #0c5404; } - -pre.code .name.builtin, code .name.builtin { - color: #352b84; } - -pre.code .deleted, code .deleted { - background-color: #DEB0A1; } - -pre.code .inserted, code .inserted { - background-color: #A3D289; } - -span.classifier { - font-style: oblique; } - -span.classifier-delimiter { - font-weight: bold; } - -span.option { - white-space: nowrap; } - -span.problematic { - color: #b30000; } - -span.section-subtitle { - /* font-size relative to parent (h1..h6 element) */ - font-size: 80%; } - -span.DecNumber { - color: #252dbe; } - -span.BinNumber { - color: #252dbe; } - -span.HexNumber { - color: #252dbe; } - -span.OctNumber { - color: #252dbe; } - -span.FloatNumber { - color: #252dbe; } - -span.Identifier { - color: #222; } - -span.Keyword { - font-weight: 600; - color: #5e8f60; } - -span.StringLit { - color: #a4255b; } - -span.LongStringLit { - color: #a4255b; } - -span.CharLit { - color: #a4255b; } - -span.EscapeSequence { - color: black; } - -span.Operator { - color: black; } - -span.Punctuation { - color: black; } - -span.Comment, span.LongComment { - font-style: italic; - font-weight: 400; - color: #484a86; } - -span.RegularExpression { - color: darkviolet; } - -span.TagStart { - color: darkviolet; } - -span.TagEnd { - color: darkviolet; } - -span.Key { - color: #252dbe; } - -span.Value { - color: #252dbe; } - -span.RawData { - color: #a4255b; } - -span.Assembler { - color: #252dbe; } - -span.Preprocessor { - color: #252dbe; } - -span.Directive { - color: #252dbe; } - -span.Command, span.Rule, span.Hyperlink, span.Label, span.Reference, -span.Other { - color: black; } - -/* Pop type, const, proc, and iterator defs in nim def blocks */ -dt pre > span.Identifier, dt pre > span.Operator { - color: #155da4; - font-weight: 700; } - -dt pre > span.Keyword ~ span.Identifier, dt pre > span.Identifier ~ span.Identifier, -dt pre > span.Operator ~ span.Identifier, dt pre > span.Other ~ span.Identifier { - color: inherit; - font-weight: inherit; } - -/* Nim sprite for the footer (taken from main page favicon) */ -.nim-sprite { - display: inline-block; - height: 16px; - width: 16px; - background-position: 0 0; - background-size: 16px 16px; - -webkit-filter: opacity(50%); - background-repeat: no-repeat; - background-image: url("data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="); - margin-bottom: -5px; } - -span.pragmadots { - /* Position: relative frees us up to make the dots - look really nice without fucking up the layout and - causing bulging in the parent container */ - position: relative; - /* 1px down looks slightly nicer */ - top: 1px; - padding: 2px; - background-color: #e8e8e8; - border-radius: 4px; - margin: 0 2px; - cursor: pointer; - font-size: 0.8em; -} - -span.pragmadots:hover { - background-color: #DBDBDB; -} -span.pragmawrap { - display: none; -} - -span.attachedType { - display: none; - visibility: hidden; -} -</style> +<link rel="stylesheet" type="text/css" href="nimdoc.out.css"> <script type="text/javascript" src="dochack.js"></script> @@ -797,6 +33,37 @@ function main() { event.target.parentNode.nextElementSibling.style.display = "inline"; } } + + const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]'); + function switchTheme(e) { + if (e.target.checked) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', 'light'); + localStorage.setItem('theme', 'light'); + } + } + + toggleSwitch.addEventListener('change', switchTheme, false); + + + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-theme', "dark"); + toggleSwitch.checked = true; + } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-theme', "light"); + toggleSwitch.checked = false; + } else { + const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null; + if (currentTheme) { + document.documentElement.setAttribute('data-theme', currentTheme); + + if (currentTheme === 'dark') { + toggleSwitch.checked = true; + } + } + } } </script> @@ -807,6 +74,13 @@ function main() { <h1 class="title">build</h1> <div class="row"> <div class="three columns"> + <div class="theme-switch-wrapper"> + <label class="theme-switch" for="checkbox"> + <input type="checkbox" id="checkbox" /> + <div class="slider round"></div> + </label> + <em>Dark Mode</em> + </div> <div id="global-links"> <ul class="simple"> </ul> @@ -824,12 +98,6 @@ function main() { </div> <ul class="simple simple-toc" id="toc-list"> <li> - <a class="reference reference-toplevel" href="#6" id="56">Imports</a> - <ul class="simple simple-toc-section"> - - </ul> -</li> -<li> <a class="reference reference-toplevel" href="#12" id="62">Procs</a> <ul class="simple simple-toc-section"> <li><a class="reference" href="#sanitizePath%2Cstring" @@ -921,12 +189,7 @@ function main() { <div id="tocRoot"></div> <p class="module-desc"></p> - <div class="section" id="6"> -<h1><a class="toc-backref" href="#6">Imports</a></h1> -<dl class="item"> -<a class="reference external" href="compat.html">compat</a> -</dl></div> -<div class="section" id="12"> + <div class="section" id="12"> <h1><a class="toc-backref" href="#12">Procs</a></h1> <dl class="item"> <a id="sanitizePath,string"></a> @@ -1078,8 +341,8 @@ Hard reset the git repository at the specified directory </dd> <a id="gitCheckout,string,string"></a> <dt><pre><span class="Keyword">proc</span> <a href="#gitCheckout%2Cstring%2Cstring"><span class="Identifier">gitCheckout</span></a><span class="Other">(</span><span class="Identifier">file</span><span class="Other">,</span> <span class="Identifier">outdir</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">,</span> - <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">Defect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> - <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ExecIOEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> + <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">Defect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> + <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ExecIOEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> <p>Checkout the specified <tt class="docutils literal"><span class="pre">file</span></tt> in the git repository at <tt class="docutils literal"><span class="pre">outdir</span></tt></p> @@ -1316,7 +579,7 @@ Check if <tt class="docutils literal"><span class="pre">-d:xxx</span></tt> is se <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small>Made with Nim. Generated: 2019-12-23 20:57:13 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2020-03-24 20:54:23 UTC</small> </div> </div> </div> diff --git a/cimport.html b/cimport.html index bbb467a..c4652d3 100644 --- a/cimport.html +++ b/cimport.html @@ -10,6 +10,7 @@ <!-- Favicon --> <link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/> +<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII="> <!-- Google fonts --> <link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/> @@ -17,772 +18,7 @@ <!-- CSS --> <title>cimport</title> -<style type="text/css" > -/* -Stylesheet for use with Docutils/rst2html. - -See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to -customize this style sheet. - -Modified from Chad Skeeters' rst2html-style -https://bitbucket.org/cskeeters/rst2html-style/ - -Modified by Boyd Greenfield and narimiran -*/ - -html { - font-size: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; } - -body { - font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; - font-weight: 400; - font-size: 1.125em; - line-height: 1.5; - color: #222; - background-color: #FCFCFC; } - -/* Skeleton grid */ -.container { - position: relative; - width: 100%; - max-width: 1050px; - margin: 0 auto; - padding: 0; - box-sizing: border-box; } - -.column, -.columns { - width: 100%; - float: left; - box-sizing: border-box; - margin-left: 1%; -} - -.column:first-child, -.columns:first-child { - margin-left: 0; } - -.three.columns { - width: 19%; } - -.nine.columns { - width: 80.0%; } - -.twelve.columns { - width: 100%; - margin-left: 0; } - -@media screen and (max-width: 860px) { - .three.columns { - display: none; - } - .nine.columns { - width: 98.0%; - } - body { - font-size: 1em; - line-height: 1.35; - } -} - -cite { - font-style: italic !important; } - - -/* Nim search input */ -div#searchInputDiv { - margin-bottom: 1em; -} -input#searchInput { - width: 80%; -} - -/* - * Some custom formatting for input forms. - * This also fixes input form colors on Firefox with a dark system theme on Linux. - */ -input { - -moz-appearance: none; - color: #333; - background-color: #f8f8f8; - border: 1px solid #aaa; - font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; - font-size: 0.9em; - padding: 6px; -} -input:focus { - border: 1px solid #1fa0eb; - box-shadow: 0 0 2px #1fa0eb; -} - -/* Docgen styles */ -/* Links */ -a { - color: #07b; - text-decoration: none; -} - -a span.Identifier { - text-decoration: underline; - text-decoration-color: #aab; -} - -a.reference-toplevel { - font-weight: bold; -} - -a.toc-backref { - text-decoration: none; - color: #222; } - -a.link-seesrc { - color: #607c9f; - font-size: 0.9em; - font-style: italic; } - -a:hover, -a:focus { - color: #607c9f; - text-decoration: underline; } - -a:hover span.Identifier { - color: #607c9f; -} - - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; } - -sup { - top: -0.5em; } - -sub { - bottom: -0.25em; } - -img { - width: auto; - height: auto; - max-width: 100%; - vertical-align: middle; - border: 0; - -ms-interpolation-mode: bicubic; } - -@media print { - * { - color: black !important; - text-shadow: none !important; - background: transparent !important; - box-shadow: none !important; } - - a, - a:visited { - text-decoration: underline; } - - a[href]:after { - content: " (" attr(href) ")"; } - - abbr[title]:after { - content: " (" attr(title) ")"; } - - .ir a:after, - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; } - - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; } - - thead { - display: table-header-group; } - - tr, - img { - page-break-inside: avoid; } - - img { - max-width: 100% !important; } - - @page { - margin: 0.5cm; } - - h1 { - page-break-before: always; } - - h1.title { - page-break-before: avoid; } - - p, - h2, - h3 { - orphans: 3; - widows: 3; } - - h2, - h3 { - page-break-after: avoid; } -} - - -p { - margin-top: 0.5em; - margin-bottom: 0.5em; -} - -small { - font-size: 85%; } - -strong { - font-weight: 600; - font-size: 0.95em; - color: #3c3c3c; -} - -em { - font-style: italic; } - -h1 { - font-size: 1.8em; - font-weight: 400; - padding-bottom: .25em; - border-bottom: 1px solid #aaa; - margin-top: 2.5em; - margin-bottom: 1em; - line-height: 1.2em; } - -h1.title { - padding-bottom: 1em; - border-bottom: 0px; - font-size: 2.5em; - text-align: center; - font-weight: 900; - margin-top: 0.75em; - margin-bottom: 0em; -} - -h2 { - font-size: 1.3em; - margin-top: 2em; } - -h2.subtitle { - text-align: center; } - -h3 { - font-size: 1.125em; - font-style: italic; - margin-top: 1.5em; } - -h4 { - font-size: 1.125em; - margin-top: 1em; } - -h5 { - font-size: 1.125em; - margin-top: 0.75em; } - -h6 { - font-size: 1.1em; } - - -ul, -ol { - padding: 0; - margin-top: 0.5em; - margin-left: 0.75em; } - -ul ul, -ul ol, -ol ol, -ol ul { - margin-bottom: 0; - margin-left: 1.25em; } - -li { - list-style-type: circle; -} - -ul.simple-boot li { - list-style-type: none; - margin-left: 0em; - margin-bottom: 0.5em; -} - -ol.simple > li, ul.simple > li { - margin-bottom: 0.25em; - margin-left: 0.4em } - -ul.simple.simple-toc > li { - margin-top: 1em; -} - -ul.simple-toc { - list-style: none; - font-size: 0.9em; - margin-left: -0.3em; - margin-top: 1em; } - -ul.simple-toc > li { - list-style-type: none; -} - -ul.simple-toc-section { - list-style-type: circle; - margin-left: 1em; - color: #6c9aae; } - - -ol.arabic { - list-style: decimal; } - -ol.loweralpha { - list-style: lower-alpha; } - -ol.upperalpha { - list-style: upper-alpha; } - -ol.lowerroman { - list-style: lower-roman; } - -ol.upperroman { - list-style: upper-roman; } - -ul.auto-toc { - list-style-type: none; } - - -dl { - margin-bottom: 1.5em; } - -dt { - margin-bottom: -0.5em; - margin-left: 0.0em; } - -dd { - margin-left: 2.0em; - margin-bottom: 3.0em; - margin-top: 0.5em; } - - -hr { - margin: 2em 0; - border: 0; - border-top: 1px solid #aaa; } - -blockquote { - font-size: 0.9em; - font-style: italic; - padding-left: 0.5em; - margin-left: 0; - border-left: 5px solid #bbc; -} - -.pre { - font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; - font-weight: 500; - font-size: 0.85em; - background-color: #f0f3ff; - padding-left: 3px; - padding-right: 3px; - border-radius: 4px; -} - -pre { - font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; - color: #222; - font-weight: 500; - display: inline-block; - box-sizing: border-box; - min-width: 100%; - padding: 0.5em; - margin-top: 0.5em; - margin-bottom: 0.5em; - font-size: 0.85em; - white-space: pre !important; - overflow-y: hidden; - overflow-x: visible; - background-color: ghostwhite; - border: 1px solid #dde; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; } - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; } - - -/* Nim line-numbered tables */ -.line-nums-table { - width: 100%; - table-layout: fixed; } - -table.line-nums-table { - border-radius: 4px; - border: 1px solid #cccccc; - background-color: ghostwhite; - border-collapse: separate; - margin-top: 15px; - margin-bottom: 25px; } - -.line-nums-table tbody { - border: none; } - -.line-nums-table td pre { - border: none; - background-color: transparent; } - -.line-nums-table td.blob-line-nums { - width: 28px; } - -.line-nums-table td.blob-line-nums pre { - color: #b0b0b0; - -webkit-filter: opacity(75%); - text-align: right; - border-color: transparent; - background-color: transparent; - padding-left: 0px; - margin-left: 0px; - padding-right: 0px; - margin-right: 0px; } - - -table { - max-width: 100%; - background-color: transparent; - margin-top: 0.5em; - margin-bottom: 1.5em; - border-collapse: collapse; - border-color: #ccc; - border-spacing: 0; - font-size: 0.9em; -} - -table th, table td { - padding: 0px 0.5em 0px; -} - -table th { - background-color: #e8e8e8; - font-weight: bold; } - -table th.docinfo-name { - background-color: transparent; -} - -table tr:hover { - background-color: ghostwhite; } - - -/* rst2html default used to remove borders from tables and images */ -.borderless, table.borderless td, table.borderless th { - border: 0; } - -table.borderless td, table.borderless th { - /* Override padding for "table.docutils td" with "! important". - The right padding separates the table cells. */ - padding: 0 0.5em 0 0 !important; } - -.first { - /* Override more specific margin styles with "! important". */ - margin-top: 0 !important; } - -.last, .with-subtitle { - margin-bottom: 0 !important; } - -.hidden { - display: none; } - -blockquote.epigraph { - margin: 2em 5em; } - -dl.docutils dd { - margin-bottom: 0.5em; } - -object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { - overflow: hidden; } - - -div.figure { - margin-left: 2em; - margin-right: 2em; } - -div.footer, div.header { - clear: both; - text-align: center; - color: #666; - font-size: smaller; } - -div.footer { - padding-top: 5em; -} - -div.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; } - -div.line-block div.line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; } - -div.topic { - margin: 2em; } - -div.search_results { - background-color: antiquewhite; - margin: 3em; - padding: 1em; - border: 1px solid #4d4d4d; -} - -div#global-links ul { - margin-left: 0; - list-style-type: none; -} - -div#global-links > simple-boot { - margin-left: 3em; -} - -hr.docutils { - width: 75%; } - -img.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; } - -img.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; } - -img.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; } - -.align-left { - text-align: left; } - -.align-center { - clear: both; - text-align: center; } - -.align-right { - text-align: right; } - -/* reset inner alignment in figures */ -div.align-right { - text-align: inherit; } - -p.attribution { - text-align: right; - margin-left: 50%; } - -p.caption { - font-style: italic; } - -p.credits { - font-style: italic; - font-size: smaller; } - -p.label { - white-space: nowrap; } - -p.rubric { - font-weight: bold; - font-size: larger; - color: maroon; - text-align: center; } - -p.topic-title { - font-weight: bold; } - -pre.address { - margin-bottom: 0; - margin-top: 0; - font: inherit; } - -pre.literal-block, pre.doctest-block, pre.math, pre.code { - margin-left: 2em; - margin-right: 2em; } - -pre.code .ln { - color: grey; } - -/* line numbers */ -pre.code, code { - background-color: #eeeeee; } - -pre.code .comment, code .comment { - color: #5c6576; } - -pre.code .keyword, code .keyword { - color: #3B0D06; - font-weight: bold; } - -pre.code .literal.string, code .literal.string { - color: #0c5404; } - -pre.code .name.builtin, code .name.builtin { - color: #352b84; } - -pre.code .deleted, code .deleted { - background-color: #DEB0A1; } - -pre.code .inserted, code .inserted { - background-color: #A3D289; } - -span.classifier { - font-style: oblique; } - -span.classifier-delimiter { - font-weight: bold; } - -span.option { - white-space: nowrap; } - -span.problematic { - color: #b30000; } - -span.section-subtitle { - /* font-size relative to parent (h1..h6 element) */ - font-size: 80%; } - -span.DecNumber { - color: #252dbe; } - -span.BinNumber { - color: #252dbe; } - -span.HexNumber { - color: #252dbe; } - -span.OctNumber { - color: #252dbe; } - -span.FloatNumber { - color: #252dbe; } - -span.Identifier { - color: #222; } - -span.Keyword { - font-weight: 600; - color: #5e8f60; } - -span.StringLit { - color: #a4255b; } - -span.LongStringLit { - color: #a4255b; } - -span.CharLit { - color: #a4255b; } - -span.EscapeSequence { - color: black; } - -span.Operator { - color: black; } - -span.Punctuation { - color: black; } - -span.Comment, span.LongComment { - font-style: italic; - font-weight: 400; - color: #484a86; } - -span.RegularExpression { - color: darkviolet; } - -span.TagStart { - color: darkviolet; } - -span.TagEnd { - color: darkviolet; } - -span.Key { - color: #252dbe; } - -span.Value { - color: #252dbe; } - -span.RawData { - color: #a4255b; } - -span.Assembler { - color: #252dbe; } - -span.Preprocessor { - color: #252dbe; } - -span.Directive { - color: #252dbe; } - -span.Command, span.Rule, span.Hyperlink, span.Label, span.Reference, -span.Other { - color: black; } - -/* Pop type, const, proc, and iterator defs in nim def blocks */ -dt pre > span.Identifier, dt pre > span.Operator { - color: #155da4; - font-weight: 700; } - -dt pre > span.Keyword ~ span.Identifier, dt pre > span.Identifier ~ span.Identifier, -dt pre > span.Operator ~ span.Identifier, dt pre > span.Other ~ span.Identifier { - color: inherit; - font-weight: inherit; } - -/* Nim sprite for the footer (taken from main page favicon) */ -.nim-sprite { - display: inline-block; - height: 16px; - width: 16px; - background-position: 0 0; - background-size: 16px 16px; - -webkit-filter: opacity(50%); - background-repeat: no-repeat; - background-image: url("data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="); - margin-bottom: -5px; } - -span.pragmadots { - /* Position: relative frees us up to make the dots - look really nice without fucking up the layout and - causing bulging in the parent container */ - position: relative; - /* 1px down looks slightly nicer */ - top: 1px; - padding: 2px; - background-color: #e8e8e8; - border-radius: 4px; - margin: 0 2px; - cursor: pointer; - font-size: 0.8em; -} - -span.pragmadots:hover { - background-color: #DBDBDB; -} -span.pragmawrap { - display: none; -} - -span.attachedType { - display: none; - visibility: hidden; -} -</style> +<link rel="stylesheet" type="text/css" href="nimdoc.out.css"> <script type="text/javascript" src="dochack.js"></script> @@ -797,6 +33,37 @@ function main() { event.target.parentNode.nextElementSibling.style.display = "inline"; } } + + const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]'); + function switchTheme(e) { + if (e.target.checked) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', 'light'); + localStorage.setItem('theme', 'light'); + } + } + + toggleSwitch.addEventListener('change', switchTheme, false); + + + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-theme', "dark"); + toggleSwitch.checked = true; + } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-theme', "light"); + toggleSwitch.checked = false; + } else { + const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null; + if (currentTheme) { + document.documentElement.setAttribute('data-theme', currentTheme); + + if (currentTheme === 'dark') { + toggleSwitch.checked = true; + } + } + } } </script> @@ -807,6 +74,13 @@ function main() { <h1 class="title">cimport</h1> <div class="row"> <div class="three columns"> + <div class="theme-switch-wrapper"> + <label class="theme-switch" for="checkbox"> + <input type="checkbox" id="checkbox" /> + <div class="slider round"></div> + </label> + <em>Dark Mode</em> + </div> <div id="global-links"> <ul class="simple"> </ul> @@ -830,6 +104,15 @@ function main() { </ul> </li> <li> + <a class="reference reference-toplevel" href="#7" id="57">Types</a> + <ul class="simple simple-toc-section"> + <li><a class="reference" href="#Feature" + title="Feature = enum + ast2"><wbr />Feature<span class="attachedType"></span></a></li> + + </ul> +</li> +<li> <a class="reference reference-toplevel" href="#12" id="62">Procs</a> <ul class="simple simple-toc-section"> <li><a class="reference" href="#cSkipSymbol%2Cseq%5BT%5D%5Bstring%5D" @@ -890,7 +173,20 @@ function main() { <div class="section" id="6"> <h1><a class="toc-backref" href="#6">Imports</a></h1> <dl class="item"> -<a class="reference external" href="plugin.html">plugin</a>, <a class="reference external" href="build.html">build</a>, <a class="reference external" href="compat.html">compat</a>, <a class="reference external" href="paths.html">paths</a>, <a class="reference external" href="types.html">types</a> +<a class="reference external" href="plugin.html">plugin</a>, <a class="reference external" href="build.html">build</a>, <a class="reference external" href="paths.html">paths</a>, <a class="reference external" href="types.html">types</a> +</dl></div> +<div class="section" id="7"> +<h1><a class="toc-backref" href="#7">Types</a></h1> +<dl class="item"> +<a id="Feature"></a> +<dt><pre><a href="cimport.html#Feature"><span class="Identifier">Feature</span></a> <span class="Other">=</span> <span class="Keyword">enum</span> + <span class="Identifier">ast2</span></pre></dt> +<dd> + + + +</dd> + </dl></div> <div class="section" id="12"> <h1><a class="toc-backref" href="#12">Procs</a></h1> @@ -1104,7 +400,7 @@ Add an include directory that is forwarded to the C/C++ preprocessor if called w <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small>Made with Nim. Generated: 2019-12-23 20:57:15 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2020-03-24 20:54:26 UTC</small> </div> </div> </div> diff --git a/cimport.idx b/cimport.idx index ac8ee27..1c392ae 100644 --- a/cimport.idx +++ b/cimport.idx @@ -1,3 +1,5 @@ +ast2 cimport.html#ast2 Feature.ast2 +Feature cimport.html#Feature cimport: Feature cOverride cimport.html#cOverride.m cimport: cOverride(body): untyped cSkipSymbol cimport.html#cSkipSymbol,seq[T][string] cimport: cSkipSymbol(skips: seq[string]) cPlugin cimport.html#cPlugin.m cimport: cPlugin(body): untyped diff --git a/compat.html b/compat.html index 16d342c..85fdf3b 100644 --- a/compat.html +++ b/compat.html @@ -10,6 +10,7 @@ <!-- Favicon --> <link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/> +<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII="> <!-- Google fonts --> <link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/> @@ -859,7 +860,7 @@ function main() { <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small>Made with Nim. Generated: 2019-12-23 20:57:13 UTC</small> + <small>Made with Nim. Generated: 2020-03-10 02:10:43 UTC</small> </div> </div> </div> @@ -1,6 +1,4 @@ -/* Generated by the Nim Compiler v1.0.4 */ -/* (c) 2019 Andreas Rumpf */ - +/* Generated by the Nim Compiler v1.1.1 */ var framePtr = null; var excHandler = 0; var lastJSError = null; @@ -12,257 +10,274 @@ if (typeof Uint16Array === 'undefined') Uint16Array = Array; if (typeof Uint32Array === 'undefined') Uint32Array = Array; if (typeof Float32Array === 'undefined') Float32Array = Array; if (typeof Float64Array === 'undefined') Float64Array = Array; -var NTI130 = {size: 0,kind: 1,base: null,node: null,finalizer: null}; -var NTI160074 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; -var NTI3662 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI162578 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI42448 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42444 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42440 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42436 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42432 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42428 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42424 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42420 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42416 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42412 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42408 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42404 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42400 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42396 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42392 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42388 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42384 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42380 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42376 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42372 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42205 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI42283 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI42281 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI42227 = {size: 0, kind: 14, base: null, node: null, finalizer: null}; -var NTI42565 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI42563 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI42561 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI42231 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI42229 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI44305 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI3650 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI3658 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI104 = {size: 0,kind: 31,base: null,node: null,finalizer: null}; -var NTI21156 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; -var NTI3608 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI3714 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI114 = {size: 0,kind: 40,base: null,node: null,finalizer: null}; -var NTI138 = {size: 0,kind: 28,base: null,node: null,finalizer: null}; -var NTI140 = {size: 0,kind: 29,base: null,node: null,finalizer: null}; -var NTI3708 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI3626 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI3628 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI3642 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI3646 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NNI3646 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI3646.node = NNI3646; -var NNI3642 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI3642.node = NNI3642; -var NNI3628 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI3628.node = NNI3628; -NTI3708.base = NTI3626; -NTI3714.base = NTI3626; -var NNI3626 = {kind: 2, len: 6, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI3708, name: "parent", sons: null}, -{kind: 1, offset: "name", len: 0, typ: NTI140, name: "name", sons: null}, -{kind: 1, offset: "message", len: 0, typ: NTI138, name: "msg", sons: null}, -{kind: 1, offset: "trace", len: 0, typ: NTI138, name: "trace", sons: null}, -{kind: 1, offset: "raiseId", len: 0, typ: NTI114, name: "raiseId", sons: null}, -{kind: 1, offset: "up", len: 0, typ: NTI3714, name: "up", sons: null}]}; -NTI3626.node = NNI3626; -var NNI3608 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI3608.node = NNI3608; -NTI3626.base = NTI3608; -NTI3628.base = NTI3626; -NTI3642.base = NTI3628; -NTI3646.base = NTI3642; -var NNI21156 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI140, name: "Field0", sons: null}, -{kind: 1, offset: "Field1", len: 0, typ: NTI104, name: "Field1", sons: null}]}; -NTI21156.node = NNI21156; -var NNI3658 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI3658.node = NNI3658; -NTI3658.base = NTI3628; -var NNI3650 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI3650.node = NNI3650; -NTI3650.base = NTI3628; -NTI42561.base = NTI42229; -NTI42563.base = NTI42229; -NTI42565.base = NTI42229; -var NNI42227 = {kind: 2, offset: 0, typ: null, name: null, len: 12, sons: {"1": {kind: 1, offset: 1, typ: NTI42227, name: "ElementNode", len: 0, sons: null}, -"2": {kind: 1, offset: 2, typ: NTI42227, name: "AttributeNode", len: 0, sons: null}, -"3": {kind: 1, offset: 3, typ: NTI42227, name: "TextNode", len: 0, sons: null}, -"4": {kind: 1, offset: 4, typ: NTI42227, name: "CDATANode", len: 0, sons: null}, -"5": {kind: 1, offset: 5, typ: NTI42227, name: "EntityRefNode", len: 0, sons: null}, -"6": {kind: 1, offset: 6, typ: NTI42227, name: "EntityNode", len: 0, sons: null}, -"7": {kind: 1, offset: 7, typ: NTI42227, name: "ProcessingInstructionNode", len: 0, sons: null}, -"8": {kind: 1, offset: 8, typ: NTI42227, name: "CommentNode", len: 0, sons: null}, -"9": {kind: 1, offset: 9, typ: NTI42227, name: "DocumentNode", len: 0, sons: null}, -"10": {kind: 1, offset: 10, typ: NTI42227, name: "DocumentTypeNode", len: 0, sons: null}, -"11": {kind: 1, offset: 11, typ: NTI42227, name: "DocumentFragmentNode", len: 0, sons: null}, -"12": {kind: 1, offset: 12, typ: NTI42227, name: "NotationNode", len: 0, sons: null}}}; -NTI42227.node = NNI42227; -var NNI42283 = {kind: 2, len: 92, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "background", len: 0, typ: NTI140, name: "background", sons: null}, -{kind: 1, offset: "backgroundAttachment", len: 0, typ: NTI140, name: "backgroundAttachment", sons: null}, -{kind: 1, offset: "backgroundColor", len: 0, typ: NTI140, name: "backgroundColor", sons: null}, -{kind: 1, offset: "backgroundImage", len: 0, typ: NTI140, name: "backgroundImage", sons: null}, -{kind: 1, offset: "backgroundPosition", len: 0, typ: NTI140, name: "backgroundPosition", sons: null}, -{kind: 1, offset: "backgroundRepeat", len: 0, typ: NTI140, name: "backgroundRepeat", sons: null}, -{kind: 1, offset: "border", len: 0, typ: NTI140, name: "border", sons: null}, -{kind: 1, offset: "borderBottom", len: 0, typ: NTI140, name: "borderBottom", sons: null}, -{kind: 1, offset: "borderBottomColor", len: 0, typ: NTI140, name: "borderBottomColor", sons: null}, -{kind: 1, offset: "borderBottomStyle", len: 0, typ: NTI140, name: "borderBottomStyle", sons: null}, -{kind: 1, offset: "borderBottomWidth", len: 0, typ: NTI140, name: "borderBottomWidth", sons: null}, -{kind: 1, offset: "borderColor", len: 0, typ: NTI140, name: "borderColor", sons: null}, -{kind: 1, offset: "borderLeft", len: 0, typ: NTI140, name: "borderLeft", sons: null}, -{kind: 1, offset: "borderLeftColor", len: 0, typ: NTI140, name: "borderLeftColor", sons: null}, -{kind: 1, offset: "borderLeftStyle", len: 0, typ: NTI140, name: "borderLeftStyle", sons: null}, -{kind: 1, offset: "borderLeftWidth", len: 0, typ: NTI140, name: "borderLeftWidth", sons: null}, -{kind: 1, offset: "borderRight", len: 0, typ: NTI140, name: "borderRight", sons: null}, -{kind: 1, offset: "borderRightColor", len: 0, typ: NTI140, name: "borderRightColor", sons: null}, -{kind: 1, offset: "borderRightStyle", len: 0, typ: NTI140, name: "borderRightStyle", sons: null}, -{kind: 1, offset: "borderRightWidth", len: 0, typ: NTI140, name: "borderRightWidth", sons: null}, -{kind: 1, offset: "borderStyle", len: 0, typ: NTI140, name: "borderStyle", sons: null}, -{kind: 1, offset: "borderTop", len: 0, typ: NTI140, name: "borderTop", sons: null}, -{kind: 1, offset: "borderTopColor", len: 0, typ: NTI140, name: "borderTopColor", sons: null}, -{kind: 1, offset: "borderTopStyle", len: 0, typ: NTI140, name: "borderTopStyle", sons: null}, -{kind: 1, offset: "borderTopWidth", len: 0, typ: NTI140, name: "borderTopWidth", sons: null}, -{kind: 1, offset: "borderWidth", len: 0, typ: NTI140, name: "borderWidth", sons: null}, -{kind: 1, offset: "bottom", len: 0, typ: NTI140, name: "bottom", sons: null}, -{kind: 1, offset: "captionSide", len: 0, typ: NTI140, name: "captionSide", sons: null}, -{kind: 1, offset: "clear", len: 0, typ: NTI140, name: "clear", sons: null}, -{kind: 1, offset: "clip", len: 0, typ: NTI140, name: "clip", sons: null}, -{kind: 1, offset: "color", len: 0, typ: NTI140, name: "color", sons: null}, -{kind: 1, offset: "cursor", len: 0, typ: NTI140, name: "cursor", sons: null}, -{kind: 1, offset: "direction", len: 0, typ: NTI140, name: "direction", sons: null}, -{kind: 1, offset: "display", len: 0, typ: NTI140, name: "display", sons: null}, -{kind: 1, offset: "emptyCells", len: 0, typ: NTI140, name: "emptyCells", sons: null}, -{kind: 1, offset: "cssFloat", len: 0, typ: NTI140, name: "cssFloat", sons: null}, -{kind: 1, offset: "font", len: 0, typ: NTI140, name: "font", sons: null}, -{kind: 1, offset: "fontFamily", len: 0, typ: NTI140, name: "fontFamily", sons: null}, -{kind: 1, offset: "fontSize", len: 0, typ: NTI140, name: "fontSize", sons: null}, -{kind: 1, offset: "fontStretch", len: 0, typ: NTI140, name: "fontStretch", sons: null}, -{kind: 1, offset: "fontStyle", len: 0, typ: NTI140, name: "fontStyle", sons: null}, -{kind: 1, offset: "fontVariant", len: 0, typ: NTI140, name: "fontVariant", sons: null}, -{kind: 1, offset: "fontWeight", len: 0, typ: NTI140, name: "fontWeight", sons: null}, -{kind: 1, offset: "height", len: 0, typ: NTI140, name: "height", sons: null}, -{kind: 1, offset: "left", len: 0, typ: NTI140, name: "left", sons: null}, -{kind: 1, offset: "letterSpacing", len: 0, typ: NTI140, name: "letterSpacing", sons: null}, -{kind: 1, offset: "lineHeight", len: 0, typ: NTI140, name: "lineHeight", sons: null}, -{kind: 1, offset: "listStyle", len: 0, typ: NTI140, name: "listStyle", sons: null}, -{kind: 1, offset: "listStyleImage", len: 0, typ: NTI140, name: "listStyleImage", sons: null}, -{kind: 1, offset: "listStylePosition", len: 0, typ: NTI140, name: "listStylePosition", sons: null}, -{kind: 1, offset: "listStyleType", len: 0, typ: NTI140, name: "listStyleType", sons: null}, -{kind: 1, offset: "margin", len: 0, typ: NTI140, name: "margin", sons: null}, -{kind: 1, offset: "marginBottom", len: 0, typ: NTI140, name: "marginBottom", sons: null}, -{kind: 1, offset: "marginLeft", len: 0, typ: NTI140, name: "marginLeft", sons: null}, -{kind: 1, offset: "marginRight", len: 0, typ: NTI140, name: "marginRight", sons: null}, -{kind: 1, offset: "marginTop", len: 0, typ: NTI140, name: "marginTop", sons: null}, -{kind: 1, offset: "maxHeight", len: 0, typ: NTI140, name: "maxHeight", sons: null}, -{kind: 1, offset: "maxWidth", len: 0, typ: NTI140, name: "maxWidth", sons: null}, -{kind: 1, offset: "minHeight", len: 0, typ: NTI140, name: "minHeight", sons: null}, -{kind: 1, offset: "minWidth", len: 0, typ: NTI140, name: "minWidth", sons: null}, -{kind: 1, offset: "opacity", len: 0, typ: NTI140, name: "opacity", sons: null}, -{kind: 1, offset: "overflow", len: 0, typ: NTI140, name: "overflow", sons: null}, -{kind: 1, offset: "padding", len: 0, typ: NTI140, name: "padding", sons: null}, -{kind: 1, offset: "paddingBottom", len: 0, typ: NTI140, name: "paddingBottom", sons: null}, -{kind: 1, offset: "paddingLeft", len: 0, typ: NTI140, name: "paddingLeft", sons: null}, -{kind: 1, offset: "paddingRight", len: 0, typ: NTI140, name: "paddingRight", sons: null}, -{kind: 1, offset: "paddingTop", len: 0, typ: NTI140, name: "paddingTop", sons: null}, -{kind: 1, offset: "pageBreakAfter", len: 0, typ: NTI140, name: "pageBreakAfter", sons: null}, -{kind: 1, offset: "pageBreakBefore", len: 0, typ: NTI140, name: "pageBreakBefore", sons: null}, -{kind: 1, offset: "pointerEvents", len: 0, typ: NTI140, name: "pointerEvents", sons: null}, -{kind: 1, offset: "position", len: 0, typ: NTI140, name: "position", sons: null}, -{kind: 1, offset: "right", len: 0, typ: NTI140, name: "right", sons: null}, -{kind: 1, offset: "scrollbar3dLightColor", len: 0, typ: NTI140, name: "scrollbar3dLightColor", sons: null}, -{kind: 1, offset: "scrollbarArrowColor", len: 0, typ: NTI140, name: "scrollbarArrowColor", sons: null}, -{kind: 1, offset: "scrollbarBaseColor", len: 0, typ: NTI140, name: "scrollbarBaseColor", sons: null}, -{kind: 1, offset: "scrollbarDarkshadowColor", len: 0, typ: NTI140, name: "scrollbarDarkshadowColor", sons: null}, -{kind: 1, offset: "scrollbarFaceColor", len: 0, typ: NTI140, name: "scrollbarFaceColor", sons: null}, -{kind: 1, offset: "scrollbarHighlightColor", len: 0, typ: NTI140, name: "scrollbarHighlightColor", sons: null}, -{kind: 1, offset: "scrollbarShadowColor", len: 0, typ: NTI140, name: "scrollbarShadowColor", sons: null}, -{kind: 1, offset: "scrollbarTrackColor", len: 0, typ: NTI140, name: "scrollbarTrackColor", sons: null}, -{kind: 1, offset: "tableLayout", len: 0, typ: NTI140, name: "tableLayout", sons: null}, -{kind: 1, offset: "textAlign", len: 0, typ: NTI140, name: "textAlign", sons: null}, -{kind: 1, offset: "textDecoration", len: 0, typ: NTI140, name: "textDecoration", sons: null}, -{kind: 1, offset: "textIndent", len: 0, typ: NTI140, name: "textIndent", sons: null}, -{kind: 1, offset: "textTransform", len: 0, typ: NTI140, name: "textTransform", sons: null}, -{kind: 1, offset: "transform", len: 0, typ: NTI140, name: "transform", sons: null}, -{kind: 1, offset: "top", len: 0, typ: NTI140, name: "top", sons: null}, -{kind: 1, offset: "verticalAlign", len: 0, typ: NTI140, name: "verticalAlign", sons: null}, -{kind: 1, offset: "visibility", len: 0, typ: NTI140, name: "visibility", sons: null}, -{kind: 1, offset: "width", len: 0, typ: NTI140, name: "width", sons: null}, -{kind: 1, offset: "wordSpacing", len: 0, typ: NTI140, name: "wordSpacing", sons: null}, -{kind: 1, offset: "zIndex", len: 0, typ: NTI104, name: "zIndex", sons: null}]}; -NTI42283.node = NNI42283; -NTI42283.base = NTI3608; -NTI42281.base = NTI42283; -var NNI42231 = {kind: 2, len: 14, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "attributes", len: 0, typ: NTI42561, name: "attributes", sons: null}, -{kind: 1, offset: "childNodes", len: 0, typ: NTI42563, name: "childNodes", sons: null}, -{kind: 1, offset: "children", len: 0, typ: NTI42565, name: "children", sons: null}, -{kind: 1, offset: "data", len: 0, typ: NTI140, name: "data", sons: null}, -{kind: 1, offset: "firstChild", len: 0, typ: NTI42229, name: "firstChild", sons: null}, -{kind: 1, offset: "lastChild", len: 0, typ: NTI42229, name: "lastChild", sons: null}, -{kind: 1, offset: "nextSibling", len: 0, typ: NTI42229, name: "nextSibling", sons: null}, -{kind: 1, offset: "nodeName", len: 0, typ: NTI140, name: "nodeName", sons: null}, -{kind: 1, offset: "nodeType", len: 0, typ: NTI42227, name: "nodeType", sons: null}, -{kind: 1, offset: "nodeValue", len: 0, typ: NTI140, name: "nodeValue", sons: null}, -{kind: 1, offset: "parentNode", len: 0, typ: NTI42229, name: "parentNode", sons: null}, -{kind: 1, offset: "previousSibling", len: 0, typ: NTI42229, name: "previousSibling", sons: null}, -{kind: 1, offset: "innerHTML", len: 0, typ: NTI140, name: "innerHTML", sons: null}, -{kind: 1, offset: "style", len: 0, typ: NTI42281, name: "style", sons: null}]}; -NTI42231.node = NNI42231; -var NNI42205 = {kind: 2, len: 20, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "onabort", len: 0, typ: NTI42372, name: "onabort", sons: null}, -{kind: 1, offset: "onblur", len: 0, typ: NTI42376, name: "onblur", sons: null}, -{kind: 1, offset: "onchange", len: 0, typ: NTI42380, name: "onchange", sons: null}, -{kind: 1, offset: "onclick", len: 0, typ: NTI42384, name: "onclick", sons: null}, -{kind: 1, offset: "ondblclick", len: 0, typ: NTI42388, name: "ondblclick", sons: null}, -{kind: 1, offset: "onerror", len: 0, typ: NTI42392, name: "onerror", sons: null}, -{kind: 1, offset: "onfocus", len: 0, typ: NTI42396, name: "onfocus", sons: null}, -{kind: 1, offset: "onkeydown", len: 0, typ: NTI42400, name: "onkeydown", sons: null}, -{kind: 1, offset: "onkeypress", len: 0, typ: NTI42404, name: "onkeypress", sons: null}, -{kind: 1, offset: "onkeyup", len: 0, typ: NTI42408, name: "onkeyup", sons: null}, -{kind: 1, offset: "onload", len: 0, typ: NTI42412, name: "onload", sons: null}, -{kind: 1, offset: "onmousedown", len: 0, typ: NTI42416, name: "onmousedown", sons: null}, -{kind: 1, offset: "onmousemove", len: 0, typ: NTI42420, name: "onmousemove", sons: null}, -{kind: 1, offset: "onmouseout", len: 0, typ: NTI42424, name: "onmouseout", sons: null}, -{kind: 1, offset: "onmouseover", len: 0, typ: NTI42428, name: "onmouseover", sons: null}, -{kind: 1, offset: "onmouseup", len: 0, typ: NTI42432, name: "onmouseup", sons: null}, -{kind: 1, offset: "onreset", len: 0, typ: NTI42436, name: "onreset", sons: null}, -{kind: 1, offset: "onselect", len: 0, typ: NTI42440, name: "onselect", sons: null}, -{kind: 1, offset: "onsubmit", len: 0, typ: NTI42444, name: "onsubmit", sons: null}, -{kind: 1, offset: "onunload", len: 0, typ: NTI42448, name: "onunload", sons: null}]}; -NTI42205.node = NNI42205; -NTI42205.base = NTI3608; -NTI42231.base = NTI42205; -NTI42229.base = NTI42231; -NTI44305.base = NTI42229; -NTI162578.base = NTI140; -var NNI3662 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI3662.node = NNI3662; -NTI3662.base = NTI3628; -var NNI160074 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI104, name: "Field0", sons: null}, -{kind: 1, offset: "Field1", len: 0, typ: NTI130, name: "Field1", sons: null}]}; -NTI160074.node = NNI160074; - -function makeNimstrLit(c_23270) { - var ln = c_23270.length; +var NTI163 = {size: 0,kind: 1,base: null,node: null,finalizer: null}; +var NTI9681058 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; +var NTI6098 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI9835571 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI622454 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622450 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622446 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622442 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622438 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622434 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622430 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622426 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622422 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622418 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622414 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622410 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622406 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622402 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622398 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622394 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622390 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622386 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622382 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622378 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI622205 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI622289 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI622287 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI622229 = {size: 0, kind: 14, base: null, node: null, finalizer: null}; +var NTI622574 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI622572 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI622570 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI622233 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI622231 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI624105 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI6086 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI6094 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI143 = {size: 0,kind: 31,base: null,node: null,finalizer: null}; +var NTI160043 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; +var NTI6008 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI6131 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI112 = {size: 0,kind: 28,base: null,node: null,finalizer: null}; +var NTI114 = {size: 0,kind: 29,base: null,node: null,finalizer: null}; +var NTI6126 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI6062 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI6064 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI6078 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI6082 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NNI6082 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI6082.node = NNI6082; +var NNI6078 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI6078.node = NNI6078; +var NNI6064 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI6064.node = NNI6064; +NTI6126.base = NTI6062; +NTI6131.base = NTI6062; +var NNI6062 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI6126, name: "parent", sons: null}, +{kind: 1, offset: "name", len: 0, typ: NTI114, name: "name", sons: null}, +{kind: 1, offset: "message", len: 0, typ: NTI112, name: "msg", sons: null}, +{kind: 1, offset: "trace", len: 0, typ: NTI112, name: "trace", sons: null}, +{kind: 1, offset: "up", len: 0, typ: NTI6131, name: "up", sons: null}]}; +NTI6062.node = NNI6062; +var NNI6008 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI6008.node = NNI6008; +NTI6062.base = NTI6008; +NTI6064.base = NTI6062; +NTI6078.base = NTI6064; +NTI6082.base = NTI6078; +var NNI160043 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI114, name: "Field0", sons: null}, +{kind: 1, offset: "Field1", len: 0, typ: NTI143, name: "Field1", sons: null}]}; +NTI160043.node = NNI160043; +var NNI6094 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI6094.node = NNI6094; +NTI6094.base = NTI6064; +var NNI6086 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI6086.node = NNI6086; +NTI6086.base = NTI6064; +NTI622570.base = NTI622231; +NTI622572.base = NTI622231; +NTI622574.base = NTI622231; +var NNI622229 = {kind: 2, offset: 0, typ: null, name: null, len: 12, sons: {"1": {kind: 1, offset: 1, typ: NTI622229, name: "ElementNode", len: 0, sons: null}, +"2": {kind: 1, offset: 2, typ: NTI622229, name: "AttributeNode", len: 0, sons: null}, +"3": {kind: 1, offset: 3, typ: NTI622229, name: "TextNode", len: 0, sons: null}, +"4": {kind: 1, offset: 4, typ: NTI622229, name: "CDATANode", len: 0, sons: null}, +"5": {kind: 1, offset: 5, typ: NTI622229, name: "EntityRefNode", len: 0, sons: null}, +"6": {kind: 1, offset: 6, typ: NTI622229, name: "EntityNode", len: 0, sons: null}, +"7": {kind: 1, offset: 7, typ: NTI622229, name: "ProcessingInstructionNode", len: 0, sons: null}, +"8": {kind: 1, offset: 8, typ: NTI622229, name: "CommentNode", len: 0, sons: null}, +"9": {kind: 1, offset: 9, typ: NTI622229, name: "DocumentNode", len: 0, sons: null}, +"10": {kind: 1, offset: 10, typ: NTI622229, name: "DocumentTypeNode", len: 0, sons: null}, +"11": {kind: 1, offset: 11, typ: NTI622229, name: "DocumentFragmentNode", len: 0, sons: null}, +"12": {kind: 1, offset: 12, typ: NTI622229, name: "NotationNode", len: 0, sons: null}}}; +NTI622229.node = NNI622229; +var NNI622289 = {kind: 2, len: 100, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "background", len: 0, typ: NTI114, name: "background", sons: null}, +{kind: 1, offset: "backgroundAttachment", len: 0, typ: NTI114, name: "backgroundAttachment", sons: null}, +{kind: 1, offset: "backgroundColor", len: 0, typ: NTI114, name: "backgroundColor", sons: null}, +{kind: 1, offset: "backgroundImage", len: 0, typ: NTI114, name: "backgroundImage", sons: null}, +{kind: 1, offset: "backgroundPosition", len: 0, typ: NTI114, name: "backgroundPosition", sons: null}, +{kind: 1, offset: "backgroundRepeat", len: 0, typ: NTI114, name: "backgroundRepeat", sons: null}, +{kind: 1, offset: "backgroundSize", len: 0, typ: NTI114, name: "backgroundSize", sons: null}, +{kind: 1, offset: "border", len: 0, typ: NTI114, name: "border", sons: null}, +{kind: 1, offset: "borderBottom", len: 0, typ: NTI114, name: "borderBottom", sons: null}, +{kind: 1, offset: "borderBottomColor", len: 0, typ: NTI114, name: "borderBottomColor", sons: null}, +{kind: 1, offset: "borderBottomStyle", len: 0, typ: NTI114, name: "borderBottomStyle", sons: null}, +{kind: 1, offset: "borderBottomWidth", len: 0, typ: NTI114, name: "borderBottomWidth", sons: null}, +{kind: 1, offset: "borderColor", len: 0, typ: NTI114, name: "borderColor", sons: null}, +{kind: 1, offset: "borderLeft", len: 0, typ: NTI114, name: "borderLeft", sons: null}, +{kind: 1, offset: "borderLeftColor", len: 0, typ: NTI114, name: "borderLeftColor", sons: null}, +{kind: 1, offset: "borderLeftStyle", len: 0, typ: NTI114, name: "borderLeftStyle", sons: null}, +{kind: 1, offset: "borderLeftWidth", len: 0, typ: NTI114, name: "borderLeftWidth", sons: null}, +{kind: 1, offset: "borderRadius", len: 0, typ: NTI114, name: "borderRadius", sons: null}, +{kind: 1, offset: "borderRight", len: 0, typ: NTI114, name: "borderRight", sons: null}, +{kind: 1, offset: "borderRightColor", len: 0, typ: NTI114, name: "borderRightColor", sons: null}, +{kind: 1, offset: "borderRightStyle", len: 0, typ: NTI114, name: "borderRightStyle", sons: null}, +{kind: 1, offset: "borderRightWidth", len: 0, typ: NTI114, name: "borderRightWidth", sons: null}, +{kind: 1, offset: "borderStyle", len: 0, typ: NTI114, name: "borderStyle", sons: null}, +{kind: 1, offset: "borderTop", len: 0, typ: NTI114, name: "borderTop", sons: null}, +{kind: 1, offset: "borderTopColor", len: 0, typ: NTI114, name: "borderTopColor", sons: null}, +{kind: 1, offset: "borderTopStyle", len: 0, typ: NTI114, name: "borderTopStyle", sons: null}, +{kind: 1, offset: "borderTopWidth", len: 0, typ: NTI114, name: "borderTopWidth", sons: null}, +{kind: 1, offset: "borderWidth", len: 0, typ: NTI114, name: "borderWidth", sons: null}, +{kind: 1, offset: "bottom", len: 0, typ: NTI114, name: "bottom", sons: null}, +{kind: 1, offset: "boxSizing", len: 0, typ: NTI114, name: "boxSizing", sons: null}, +{kind: 1, offset: "boxShadow", len: 0, typ: NTI114, name: "boxShadow", sons: null}, +{kind: 1, offset: "captionSide", len: 0, typ: NTI114, name: "captionSide", sons: null}, +{kind: 1, offset: "clear", len: 0, typ: NTI114, name: "clear", sons: null}, +{kind: 1, offset: "clip", len: 0, typ: NTI114, name: "clip", sons: null}, +{kind: 1, offset: "color", len: 0, typ: NTI114, name: "color", sons: null}, +{kind: 1, offset: "cursor", len: 0, typ: NTI114, name: "cursor", sons: null}, +{kind: 1, offset: "direction", len: 0, typ: NTI114, name: "direction", sons: null}, +{kind: 1, offset: "display", len: 0, typ: NTI114, name: "display", sons: null}, +{kind: 1, offset: "emptyCells", len: 0, typ: NTI114, name: "emptyCells", sons: null}, +{kind: 1, offset: "cssFloat", len: 0, typ: NTI114, name: "cssFloat", sons: null}, +{kind: 1, offset: "font", len: 0, typ: NTI114, name: "font", sons: null}, +{kind: 1, offset: "fontFamily", len: 0, typ: NTI114, name: "fontFamily", sons: null}, +{kind: 1, offset: "fontSize", len: 0, typ: NTI114, name: "fontSize", sons: null}, +{kind: 1, offset: "fontStretch", len: 0, typ: NTI114, name: "fontStretch", sons: null}, +{kind: 1, offset: "fontStyle", len: 0, typ: NTI114, name: "fontStyle", sons: null}, +{kind: 1, offset: "fontVariant", len: 0, typ: NTI114, name: "fontVariant", sons: null}, +{kind: 1, offset: "fontWeight", len: 0, typ: NTI114, name: "fontWeight", sons: null}, +{kind: 1, offset: "height", len: 0, typ: NTI114, name: "height", sons: null}, +{kind: 1, offset: "left", len: 0, typ: NTI114, name: "left", sons: null}, +{kind: 1, offset: "letterSpacing", len: 0, typ: NTI114, name: "letterSpacing", sons: null}, +{kind: 1, offset: "lineHeight", len: 0, typ: NTI114, name: "lineHeight", sons: null}, +{kind: 1, offset: "listStyle", len: 0, typ: NTI114, name: "listStyle", sons: null}, +{kind: 1, offset: "listStyleImage", len: 0, typ: NTI114, name: "listStyleImage", sons: null}, +{kind: 1, offset: "listStylePosition", len: 0, typ: NTI114, name: "listStylePosition", sons: null}, +{kind: 1, offset: "listStyleType", len: 0, typ: NTI114, name: "listStyleType", sons: null}, +{kind: 1, offset: "margin", len: 0, typ: NTI114, name: "margin", sons: null}, +{kind: 1, offset: "marginBottom", len: 0, typ: NTI114, name: "marginBottom", sons: null}, +{kind: 1, offset: "marginLeft", len: 0, typ: NTI114, name: "marginLeft", sons: null}, +{kind: 1, offset: "marginRight", len: 0, typ: NTI114, name: "marginRight", sons: null}, +{kind: 1, offset: "marginTop", len: 0, typ: NTI114, name: "marginTop", sons: null}, +{kind: 1, offset: "maxHeight", len: 0, typ: NTI114, name: "maxHeight", sons: null}, +{kind: 1, offset: "maxWidth", len: 0, typ: NTI114, name: "maxWidth", sons: null}, +{kind: 1, offset: "minHeight", len: 0, typ: NTI114, name: "minHeight", sons: null}, +{kind: 1, offset: "minWidth", len: 0, typ: NTI114, name: "minWidth", sons: null}, +{kind: 1, offset: "opacity", len: 0, typ: NTI114, name: "opacity", sons: null}, +{kind: 1, offset: "outline", len: 0, typ: NTI114, name: "outline", sons: null}, +{kind: 1, offset: "overflow", len: 0, typ: NTI114, name: "overflow", sons: null}, +{kind: 1, offset: "overflowX", len: 0, typ: NTI114, name: "overflowX", sons: null}, +{kind: 1, offset: "overflowY", len: 0, typ: NTI114, name: "overflowY", sons: null}, +{kind: 1, offset: "padding", len: 0, typ: NTI114, name: "padding", sons: null}, +{kind: 1, offset: "paddingBottom", len: 0, typ: NTI114, name: "paddingBottom", sons: null}, +{kind: 1, offset: "paddingLeft", len: 0, typ: NTI114, name: "paddingLeft", sons: null}, +{kind: 1, offset: "paddingRight", len: 0, typ: NTI114, name: "paddingRight", sons: null}, +{kind: 1, offset: "paddingTop", len: 0, typ: NTI114, name: "paddingTop", sons: null}, +{kind: 1, offset: "pageBreakAfter", len: 0, typ: NTI114, name: "pageBreakAfter", sons: null}, +{kind: 1, offset: "pageBreakBefore", len: 0, typ: NTI114, name: "pageBreakBefore", sons: null}, +{kind: 1, offset: "pointerEvents", len: 0, typ: NTI114, name: "pointerEvents", sons: null}, +{kind: 1, offset: "position", len: 0, typ: NTI114, name: "position", sons: null}, +{kind: 1, offset: "resize", len: 0, typ: NTI114, name: "resize", sons: null}, +{kind: 1, offset: "right", len: 0, typ: NTI114, name: "right", sons: null}, +{kind: 1, offset: "scrollbar3dLightColor", len: 0, typ: NTI114, name: "scrollbar3dLightColor", sons: null}, +{kind: 1, offset: "scrollbarArrowColor", len: 0, typ: NTI114, name: "scrollbarArrowColor", sons: null}, +{kind: 1, offset: "scrollbarBaseColor", len: 0, typ: NTI114, name: "scrollbarBaseColor", sons: null}, +{kind: 1, offset: "scrollbarDarkshadowColor", len: 0, typ: NTI114, name: "scrollbarDarkshadowColor", sons: null}, +{kind: 1, offset: "scrollbarFaceColor", len: 0, typ: NTI114, name: "scrollbarFaceColor", sons: null}, +{kind: 1, offset: "scrollbarHighlightColor", len: 0, typ: NTI114, name: "scrollbarHighlightColor", sons: null}, +{kind: 1, offset: "scrollbarShadowColor", len: 0, typ: NTI114, name: "scrollbarShadowColor", sons: null}, +{kind: 1, offset: "scrollbarTrackColor", len: 0, typ: NTI114, name: "scrollbarTrackColor", sons: null}, +{kind: 1, offset: "tableLayout", len: 0, typ: NTI114, name: "tableLayout", sons: null}, +{kind: 1, offset: "textAlign", len: 0, typ: NTI114, name: "textAlign", sons: null}, +{kind: 1, offset: "textDecoration", len: 0, typ: NTI114, name: "textDecoration", sons: null}, +{kind: 1, offset: "textIndent", len: 0, typ: NTI114, name: "textIndent", sons: null}, +{kind: 1, offset: "textTransform", len: 0, typ: NTI114, name: "textTransform", sons: null}, +{kind: 1, offset: "transform", len: 0, typ: NTI114, name: "transform", sons: null}, +{kind: 1, offset: "top", len: 0, typ: NTI114, name: "top", sons: null}, +{kind: 1, offset: "verticalAlign", len: 0, typ: NTI114, name: "verticalAlign", sons: null}, +{kind: 1, offset: "visibility", len: 0, typ: NTI114, name: "visibility", sons: null}, +{kind: 1, offset: "width", len: 0, typ: NTI114, name: "width", sons: null}, +{kind: 1, offset: "wordSpacing", len: 0, typ: NTI114, name: "wordSpacing", sons: null}, +{kind: 1, offset: "zIndex", len: 0, typ: NTI143, name: "zIndex", sons: null}]}; +NTI622289.node = NNI622289; +NTI622289.base = NTI6008; +NTI622287.base = NTI622289; +var NNI622233 = {kind: 2, len: 16, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "attributes", len: 0, typ: NTI622570, name: "attributes", sons: null}, +{kind: 1, offset: "childNodes", len: 0, typ: NTI622572, name: "childNodes", sons: null}, +{kind: 1, offset: "children", len: 0, typ: NTI622574, name: "children", sons: null}, +{kind: 1, offset: "data", len: 0, typ: NTI114, name: "data", sons: null}, +{kind: 1, offset: "firstChild", len: 0, typ: NTI622231, name: "firstChild", sons: null}, +{kind: 1, offset: "lastChild", len: 0, typ: NTI622231, name: "lastChild", sons: null}, +{kind: 1, offset: "nextSibling", len: 0, typ: NTI622231, name: "nextSibling", sons: null}, +{kind: 1, offset: "nodeName", len: 0, typ: NTI114, name: "nodeName", sons: null}, +{kind: 1, offset: "nodeType", len: 0, typ: NTI622229, name: "nodeType", sons: null}, +{kind: 1, offset: "nodeValue", len: 0, typ: NTI114, name: "nodeValue", sons: null}, +{kind: 1, offset: "parentNode", len: 0, typ: NTI622231, name: "parentNode", sons: null}, +{kind: 1, offset: "previousSibling", len: 0, typ: NTI622231, name: "previousSibling", sons: null}, +{kind: 1, offset: "innerHTML", len: 0, typ: NTI114, name: "innerHTML", sons: null}, +{kind: 1, offset: "innerText", len: 0, typ: NTI114, name: "innerText", sons: null}, +{kind: 1, offset: "textContent", len: 0, typ: NTI114, name: "textContent", sons: null}, +{kind: 1, offset: "style", len: 0, typ: NTI622287, name: "style", sons: null}]}; +NTI622233.node = NNI622233; +var NNI622205 = {kind: 2, len: 20, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "onabort", len: 0, typ: NTI622378, name: "onabort", sons: null}, +{kind: 1, offset: "onblur", len: 0, typ: NTI622382, name: "onblur", sons: null}, +{kind: 1, offset: "onchange", len: 0, typ: NTI622386, name: "onchange", sons: null}, +{kind: 1, offset: "onclick", len: 0, typ: NTI622390, name: "onclick", sons: null}, +{kind: 1, offset: "ondblclick", len: 0, typ: NTI622394, name: "ondblclick", sons: null}, +{kind: 1, offset: "onerror", len: 0, typ: NTI622398, name: "onerror", sons: null}, +{kind: 1, offset: "onfocus", len: 0, typ: NTI622402, name: "onfocus", sons: null}, +{kind: 1, offset: "onkeydown", len: 0, typ: NTI622406, name: "onkeydown", sons: null}, +{kind: 1, offset: "onkeypress", len: 0, typ: NTI622410, name: "onkeypress", sons: null}, +{kind: 1, offset: "onkeyup", len: 0, typ: NTI622414, name: "onkeyup", sons: null}, +{kind: 1, offset: "onload", len: 0, typ: NTI622418, name: "onload", sons: null}, +{kind: 1, offset: "onmousedown", len: 0, typ: NTI622422, name: "onmousedown", sons: null}, +{kind: 1, offset: "onmousemove", len: 0, typ: NTI622426, name: "onmousemove", sons: null}, +{kind: 1, offset: "onmouseout", len: 0, typ: NTI622430, name: "onmouseout", sons: null}, +{kind: 1, offset: "onmouseover", len: 0, typ: NTI622434, name: "onmouseover", sons: null}, +{kind: 1, offset: "onmouseup", len: 0, typ: NTI622438, name: "onmouseup", sons: null}, +{kind: 1, offset: "onreset", len: 0, typ: NTI622442, name: "onreset", sons: null}, +{kind: 1, offset: "onselect", len: 0, typ: NTI622446, name: "onselect", sons: null}, +{kind: 1, offset: "onsubmit", len: 0, typ: NTI622450, name: "onsubmit", sons: null}, +{kind: 1, offset: "onunload", len: 0, typ: NTI622454, name: "onunload", sons: null}]}; +NTI622205.node = NNI622205; +NTI622205.base = NTI6008; +NTI622233.base = NTI622205; +NTI622231.base = NTI622233; +NTI624105.base = NTI622231; +NTI9835571.base = NTI114; +var NNI6098 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI6098.node = NNI6098; +NTI6098.base = NTI6064; +var NNI9681058 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI143, name: "Field0", sons: null}, +{kind: 1, offset: "Field1", len: 0, typ: NTI163, name: "Field1", sons: null}]}; +NTI9681058.node = NNI9681058; + +function makeNimstrLit(c_225062) { + var ln = c_225062.length; var result = new Array(ln); for (var i = 0; i < ln; ++i) { - result[i] = c_23270.charCodeAt(i); + result[i] = c_225062.charCodeAt(i); } return result; - + +} + +function arrayConstr(len_250067, value_250068, typ_250069) { + var result = new Array(len_250067); + for (var i = 0; i < len_250067; ++i) result[i] = nimCopy(null, value_250068, typ_250069); + return result; + + + } function setConstr() { - var result = {}; + var result = {}; for (var i = 0; i < arguments.length; ++i) { var x = arguments[i]; if (typeof(x) == "object") { @@ -276,103 +291,94 @@ function setConstr() { return result; - + } var ConstSet1 = setConstr(17, 16, 4, 18, 27, 19, 23, 22, 21); -function nimCopy(dest_24827, src_24828, ti_24829) { - var result_25019 = null; - - switch (ti_24829.kind) { - case 21: - case 22: - case 23: - case 5: - if (!(is_fat_pointer_24801(ti_24829))) { - result_25019 = src_24828; - } - else { - result_25019 = [src_24828[0], src_24828[1]]; - } - - break; - case 19: - if (dest_24827 === null || dest_24827 === undefined) { - dest_24827 = {}; +function nimCopy(dest_240023, src_240024, ti_240025) { + var result_245219 = null; + + switch (ti_240025.kind) { + case 21: + case 22: + case 23: + case 5: + if (!(is_fat_pointer_235401(ti_240025))) { + result_245219 = src_240024; + } + else { + result_245219 = [src_240024[0], src_240024[1]]; + } + + break; + case 19: + if (dest_240023 === null || dest_240023 === undefined) { + dest_240023 = {}; } else { - for (var key in dest_24827) { delete dest_24827[key]; } + for (var key in dest_240023) { delete dest_240023[key]; } } - for (var key in src_24828) { dest_24827[key] = src_24828[key]; } - result_25019 = dest_24827; + for (var key in src_240024) { dest_240023[key] = src_240024[key]; } + result_245219 = dest_240023; - break; - case 18: - case 17: - if (!((ti_24829.base == null))) { - result_25019 = nimCopy(dest_24827, src_24828, ti_24829.base); - } - else { - if ((ti_24829.kind == 17)) { - result_25019 = (dest_24827 === null || dest_24827 === undefined) ? {m_type: ti_24829} : dest_24827; - } - else { - result_25019 = (dest_24827 === null || dest_24827 === undefined) ? {} : dest_24827; - } - } - nimCopyAux(result_25019, src_24828, ti_24829.node); - break; - case 24: - case 4: - case 27: - case 16: - if (src_24828 === null) { - result_25019 = null; + break; + case 18: + case 17: + if (!((ti_240025.base == null))) { + result_245219 = nimCopy(dest_240023, src_240024, ti_240025.base); } else { - if (dest_24827 === null || dest_24827 === undefined) { - dest_24827 = new Array(src_24828.length); + if ((ti_240025.kind == 17)) { + result_245219 = (dest_240023 === null || dest_240023 === undefined) ? {m_type: ti_240025} : dest_240023; + } + else { + result_245219 = (dest_240023 === null || dest_240023 === undefined) ? {} : dest_240023; + } + } + nimCopyAux(result_245219, src_240024, ti_240025.node); + break; + case 24: + case 4: + case 27: + case 16: + if (src_240024 === null) { + result_245219 = null; + } + else { + if (dest_240023 === null || dest_240023 === undefined) { + dest_240023 = new Array(src_240024.length); } else { - dest_24827.length = src_24828.length; + dest_240023.length = src_240024.length; } - result_25019 = dest_24827; - for (var i = 0; i < src_24828.length; ++i) { - result_25019[i] = nimCopy(result_25019[i], src_24828[i], ti_24829.base); + result_245219 = dest_240023; + for (var i = 0; i < src_240024.length; ++i) { + result_245219[i] = nimCopy(result_245219[i], src_240024[i], ti_240025.base); } } - break; - case 28: - if (src_24828 !== null) { - result_25019 = src_24828.slice(0); + break; + case 28: + if (src_240024 !== null) { + result_245219 = src_240024.slice(0); } - break; - default: - result_25019 = src_24828; - break; - } - - return result_25019; - -} + break; + default: + result_245219 = src_240024; + break; + } -function arrayConstr(len_25086, value_25087, typ_25088) { - var result = new Array(len_25086); - for (var i = 0; i < len_25086; ++i) result[i] = nimCopy(null, value_25087, typ_25088); - return result; - + return result_245219; - } -function cstrToNimstr(c_23287) { - var ln = c_23287.length; +function cstrToNimstr(c_225079) { + var ln = c_225079.length; var result = new Array(ln); var r = 0; for (var i = 0; i < ln; ++i) { - var ch = c_23287.charCodeAt(i); + var ch = c_225079.charCodeAt(i); if (ch < 128) { result[r] = ch; @@ -387,7 +393,7 @@ function cstrToNimstr(c_23287) { } else { ++i; - ch = 65536 + (((ch & 1023) << 10) | (c_23287.charCodeAt(i) & 1023)); + ch = 65536 + (((ch & 1023) << 10) | (c_225079.charCodeAt(i) & 1023)); result[r] = (ch >> 18) | 240; ++r; result[r] = ((ch >> 12) & 63) | 128; @@ -403,1448 +409,1429 @@ function cstrToNimstr(c_23287) { return result; - + } -function toJSStr(s_23304) { - var Tmp5; - var Tmp7; - - var result_23305 = null; - - var res_23363 = new_seq_23336((s_23304 != null ? s_23304.length : 0)); - var i_23365 = 0; - var j_23367 = 0; - L1: do { - L2: while (true) { - if (!(i_23365 < (s_23304 != null ? s_23304.length : 0))) break L2; - var c_23368 = s_23304[i_23365]; - if ((c_23368 < 128)) { - res_23363[j_23367] = String.fromCharCode(c_23368); - i_23365 += 1; - } - else { - var helper_23391 = new_seq_23336(0); - L3: do { - L4: while (true) { - if (!true) break L4; - var code_23392 = c_23368.toString(16); - if (((code_23392 != null ? code_23392.length : 0) == 1)) { - if (helper_23391 != null) { helper_23391.push("%0"); } else { helper_23391 = ["%0"]; }; - } - else { - if (helper_23391 != null) { helper_23391.push("%"); } else { helper_23391 = ["%"]; }; - } - - if (helper_23391 != null) { helper_23391.push(code_23392); } else { helper_23391 = [code_23392]; }; - i_23365 += 1; - if (((s_23304 != null ? s_23304.length : 0) <= i_23365)) Tmp5 = true; else { Tmp5 = (s_23304[i_23365] < 128); } if (Tmp5) { - break L3; - } - - c_23368 = s_23304[i_23365]; - } - } while(false); +function toJSStr(s_225096) { + var Tmp5; + var Tmp7; + + var result_225097 = null; + + var res_225170 = new_seq_225128((s_225096 != null ? s_225096.length : 0)); + var i_225172 = 0; + var j_225174 = 0; + L1: do { + L2: while (true) { + if (!(i_225172 < (s_225096 != null ? s_225096.length : 0))) break L2; + var c_225175 = s_225096[i_225172]; + if ((c_225175 < 128)) { + res_225170[j_225174] = String.fromCharCode(c_225175); + i_225172 += 1; + } + else { + var helper_225198 = new_seq_225128(0); + L3: do { + L4: while (true) { + if (!true) break L4; + var code_225199 = c_225175.toString(16); + if (((code_225199 != null ? code_225199.length : 0) == 1)) { + if (helper_225198 != null) { helper_225198.push("%0"); } else { helper_225198 = ["%0"]; }; + } + else { + if (helper_225198 != null) { helper_225198.push("%"); } else { helper_225198 = ["%"]; }; + } + + if (helper_225198 != null) { helper_225198.push(code_225199); } else { helper_225198 = [code_225199]; }; + i_225172 += 1; + if (((s_225096 != null ? s_225096.length : 0) <= i_225172)) Tmp5 = true; else { Tmp5 = (s_225096[i_225172] < 128); } if (Tmp5) { + break L3; + } + + c_225175 = s_225096[i_225172]; + } + } while(false); ++excHandler; - Tmp7 = framePtr; - try { - res_23363[j_23367] = decodeURIComponent(helper_23391.join("")); + Tmp7 = framePtr; + try { + res_225170[j_225174] = decodeURIComponent(helper_225198.join("")); --excHandler; } catch (EXC) { var prevJSError = lastJSError; lastJSError = EXC; --excHandler; - framePtr = Tmp7; - res_23363[j_23367] = helper_23391.join(""); - lastJSError = prevJSError; - } finally { - framePtr = Tmp7; - } - } - - j_23367 += 1; - } - } while(false); - if (res_23363 === null) res_23363 = []; - if (res_23363.length < j_23367) { for (var i=res_23363.length;i<j_23367;++i) res_23363.push(null); } - else { res_23363.length = j_23367; }; - result_23305 = res_23363.join(""); - - return result_23305; + framePtr = Tmp7; + res_225170[j_225174] = helper_225198.join(""); + lastJSError = prevJSError; + } finally { + framePtr = Tmp7; + } + } + + j_225174 += 1; + } + } while(false); + if (res_225170 === null) res_225170 = []; + if (res_225170.length < j_225174) { for (var i=res_225170.length;i<j_225174;++i) res_225170.push(null); } + else { res_225170.length = j_225174; }; + result_225097 = res_225170.join(""); + + return result_225097; } -function raiseException(e_21618, ename_21619) { - e_21618.name = ename_21619; - if ((excHandler == 0)) { - unhandledException(e_21618); - } - - e_21618.trace = nimCopy(null, raw_write_stack_trace_21468(), NTI138); - throw e_21618; +function raiseException(e_190218, ename_190219) { + e_190218.name = ename_190219; + if ((excHandler == 0)) { + unhandledException(e_190218); + } + + e_190218.trace = nimCopy(null, raw_write_stack_trace_180059(), NTI112); + throw e_190218; - + } -function addInt(a_23803, b_23804) { - var result = a_23803 + b_23804; +function addInt(a_230403, b_230404) { + var result = a_230403 + b_230404; if (result > 2147483647 || result < -2147483648) raiseOverflow(); return result; - + } -function chckIndx(i_25105, a_25106, b_25107) { - var Tmp1; +function chckIndx(i_250086, a_250087, b_250088) { + var Tmp1; - var result_25108 = 0; + var result_250089 = 0; - BeforeRet: do { - if (!(a_25106 <= i_25105)) Tmp1 = false; else { Tmp1 = (i_25105 <= b_25107); } if (Tmp1) { - result_25108 = i_25105; - break BeforeRet; - } - else { - raiseIndexError(i_25105, a_25106, b_25107); - } - - } while (false); + BeforeRet: do { + if (!(a_250087 <= i_250086)) Tmp1 = false; else { Tmp1 = (i_250086 <= b_250088); } if (Tmp1) { + result_250089 = i_250086; + break BeforeRet; + } + else { + raiseIndexError(i_250086, a_250087, b_250088); + } + + } while (false); - return result_25108; + return result_250089; } -function subInt(a_23821, b_23822) { - var result = a_23821 - b_23822; +function subInt(a_230421, b_230422) { + var result = a_230421 - b_230422; if (result > 2147483647 || result < -2147483648) raiseOverflow(); return result; - + } var ConstSet2 = setConstr([65, 90]); -function chckRange(i_25124, a_25125, b_25126) { - var Tmp1; +function chckRange(i_255016, a_255017, b_255018) { + var Tmp1; - var result_25127 = 0; + var result_255019 = 0; - BeforeRet: do { - if (!(a_25125 <= i_25124)) Tmp1 = false; else { Tmp1 = (i_25124 <= b_25126); } if (Tmp1) { - result_25127 = i_25124; - break BeforeRet; - } - else { - raiseRangeError(); - } - - } while (false); + BeforeRet: do { + if (!(a_255017 <= i_255016)) Tmp1 = false; else { Tmp1 = (i_255016 <= b_255018); } if (Tmp1) { + result_255019 = i_255016; + break BeforeRet; + } + else { + raiseRangeError(); + } + + } while (false); - return result_25127; + return result_255019; } var ConstSet3 = setConstr(95, 32, 46); var ConstSet4 = setConstr(95, 32, 46); -function mulInt(a_23839, b_23840) { - var result = a_23839 * b_23840; +function mulInt(a_230439, b_230440) { + var result = a_230439 * b_230440; if (result > 2147483647 || result < -2147483648) raiseOverflow(); return result; - + } var ConstSet5 = setConstr([97, 122]); var ConstSet6 = setConstr([65, 90], [97, 122]); var ConstSet7 = setConstr([97, 122]); var ConstSet8 = setConstr([65, 90]); -function nimMax(a_24221, b_24222) { - var Tmp1; +function nimMax(a_230821, b_230822) { + var Tmp1; - var result_24223 = 0; + var result_230823 = 0; - BeforeRet: do { - if ((b_24222 <= a_24221)) { - Tmp1 = a_24221; - } - else { - Tmp1 = b_24222; - } - - result_24223 = Tmp1; - break BeforeRet; - } while (false); + BeforeRet: do { + if ((b_230822 <= a_230821)) { + Tmp1 = a_230821; + } + else { + Tmp1 = b_230822; + } + + result_230823 = Tmp1; + break BeforeRet; + } while (false); - return result_24223; + return result_230823; } -function nimMin(a_24203, b_24204) { - var Tmp1; +function nimMin(a_230803, b_230804) { + var Tmp1; - var result_24205 = 0; + var result_230805 = 0; - BeforeRet: do { - if ((a_24203 <= b_24204)) { - Tmp1 = a_24203; - } - else { - Tmp1 = b_24204; - } - - result_24205 = Tmp1; - break BeforeRet; - } while (false); + BeforeRet: do { + if ((a_230803 <= b_230804)) { + Tmp1 = a_230803; + } + else { + Tmp1 = b_230804; + } + + result_230805 = Tmp1; + break BeforeRet; + } while (false); - return result_24205; + return result_230805; } var nim_program_result = 0; -var global_raise_hook_18618 = [null]; -var local_raise_hook_18623 = [null]; -var out_of_mem_hook_18626 = [null]; - if (!Math.trunc) { - Math.trunc = function(v) { - v = +v; - if (!isFinite(v)) return v; - - return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0); - }; - } -var alternative_162319 = [null]; +var global_raise_hook_142018 = [null]; +var local_raise_hook_142023 = [null]; +var out_of_mem_hook_142026 = [null]; +var unhandled_exception_hook_142031 = [null]; +if (!Math.trunc) { + Math.trunc = function(v) { + v = +v; + if (!isFinite(v)) return v; + return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0); + }; +} + +var alternative_9835319 = [null]; -function is_fat_pointer_24801(ti_24803) { - var result_24804 = false; +function add_142042(x_142045, x_142045_Idx, y_142046) { + if (x_142045[x_142045_Idx] === null) { x_142045[x_142045_Idx] = []; } + var off = x_142045[x_142045_Idx].length; + x_142045[x_142045_Idx].length += y_142046.length; + for (var i = 0; i < y_142046.length; ++i) { + x_142045[x_142045_Idx][off+i] = y_142046.charCodeAt(i); + } + + + +} - BeforeRet: do { - result_24804 = !((ConstSet1[ti_24803.base.kind] != undefined)); - break BeforeRet; - } while (false); +function is_fat_pointer_235401(ti_235403) { + var result_235404 = false; - return result_24804; + BeforeRet: do { + result_235404 = !((ConstSet1[ti_235403.base.kind] != undefined)); + break BeforeRet; + } while (false); + + return result_235404; } -function nimCopyAux(dest_24832, src_24833, n_24835) { - switch (n_24835.kind) { - case 0: - break; - case 1: - dest_24832[n_24835.offset] = nimCopy(dest_24832[n_24835.offset], src_24833[n_24835.offset], n_24835.typ); +function nimCopyAux(dest_240028, src_240029, n_240031) { + switch (n_240031.kind) { + case 0: + break; + case 1: + dest_240028[n_240031.offset] = nimCopy(dest_240028[n_240031.offset], src_240029[n_240031.offset], n_240031.typ); - break; - case 2: - for (var i = 0; i < n_24835.sons.length; i++) { - nimCopyAux(dest_24832, src_24833, n_24835.sons[i]); + break; + case 2: + for (var i = 0; i < n_240031.sons.length; i++) { + nimCopyAux(dest_240028, src_240029, n_240031.sons[i]); } - break; - case 3: - dest_24832[n_24835.offset] = nimCopy(dest_24832[n_24835.offset], src_24833[n_24835.offset], n_24835.typ); - for (var i = 0; i < n_24835.sons.length; ++i) { - nimCopyAux(dest_24832, src_24833, n_24835.sons[i][1]); + break; + case 3: + dest_240028[n_240031.offset] = nimCopy(dest_240028[n_240031.offset], src_240029[n_240031.offset], n_240031.typ); + for (var i = 0; i < n_240031.sons.length; ++i) { + nimCopyAux(dest_240028, src_240029, n_240031.sons[i][1]); } - break; - } + break; + } - + } -function add_18638(x_18641, x_18641_Idx, y_18642) { - if (x_18641[x_18641_Idx] === null) { x_18641[x_18641_Idx] = []; } - var off = x_18641[x_18641_Idx].length; - x_18641[x_18641_Idx].length += y_18642.length; - for (var i = 0; i < y_18642.length; ++i) { - x_18641[x_18641_Idx][off+i] = y_18642.charCodeAt(i); - } +function aux_write_stack_trace_160038(f_160040) { + var Tmp3; + + var result_160041 = [null]; + + var it_160049 = f_160040; + var i_160051 = 0; + var total_160053 = 0; + var temp_frames_160060 = arrayConstr(64, {Field0: null, Field1: 0}, NTI160043); + L1: do { + L2: while (true) { + if (!!((it_160049 == null))) Tmp3 = false; else { Tmp3 = (i_160051 <= 63); } if (!Tmp3) break L2; + temp_frames_160060[i_160051].Field0 = it_160049.procname; + temp_frames_160060[i_160051].Field1 = it_160049.line; + i_160051 += 1; + total_160053 += 1; + it_160049 = it_160049.prev; + } + } while(false); + L4: do { + L5: while (true) { + if (!!((it_160049 == null))) break L5; + total_160053 += 1; + it_160049 = it_160049.prev; + } + } while(false); + result_160041[0] = nimCopy(null, [], NTI112); + if (!((total_160053 == i_160051))) { + if (result_160041[0] != null) { result_160041[0] = (result_160041[0]).concat(makeNimstrLit("(")); } else { result_160041[0] = makeNimstrLit("("); }; + if (result_160041[0] != null) { result_160041[0] = (result_160041[0]).concat(cstrToNimstr(((total_160053 - i_160051))+"")); } else { result_160041[0] = cstrToNimstr(((total_160053 - i_160051))+"").slice(); }; + if (result_160041[0] != null) { result_160041[0] = (result_160041[0]).concat(makeNimstrLit(" calls omitted) ...\x0A")); } else { result_160041[0] = makeNimstrLit(" calls omitted) ...\x0A"); }; + } - - -} - -function aux_write_stack_trace_21151(f_21153) { - var Tmp3; - - var result_21154 = [null]; - - var it_21162 = f_21153; - var i_21164 = 0; - var total_21166 = 0; - var temp_frames_21173 = arrayConstr(64, {Field0: null, Field1: 0}, NTI21156); - L1: do { - L2: while (true) { - if (!!((it_21162 == null))) Tmp3 = false; else { Tmp3 = (i_21164 <= 63); } if (!Tmp3) break L2; - temp_frames_21173[i_21164].Field0 = it_21162.procname; - temp_frames_21173[i_21164].Field1 = it_21162.line; - i_21164 += 1; - total_21166 += 1; - it_21162 = it_21162.prev; - } - } while(false); - L4: do { - L5: while (true) { - if (!!((it_21162 == null))) break L5; - total_21166 += 1; - it_21162 = it_21162.prev; - } - } while(false); - result_21154[0] = nimCopy(null, [], NTI138); - if (!((total_21166 == i_21164))) { - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(makeNimstrLit("(")); } else { result_21154[0] = makeNimstrLit("("); }; - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(cstrToNimstr(((total_21166 - i_21164))+"")); } else { result_21154[0] = cstrToNimstr(((total_21166 - i_21164))+"").slice(); }; - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(makeNimstrLit(" calls omitted) ...\x0A")); } else { result_21154[0] = makeNimstrLit(" calls omitted) ...\x0A"); }; - } - - L6: do { - var j_21421 = 0; - var colontmp__162466 = 0; - colontmp__162466 = (i_21164 - 1); - var res_162471 = colontmp__162466; - L7: do { - L8: while (true) { - if (!(0 <= res_162471)) break L8; - j_21421 = res_162471; - add_18638(result_21154, 0, temp_frames_21173[j_21421].Field0); - if ((0 < temp_frames_21173[j_21421].Field1)) { - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(makeNimstrLit(", line: ")); } else { result_21154[0] = makeNimstrLit(", line: "); }; - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(cstrToNimstr((temp_frames_21173[j_21421].Field1)+"")); } else { result_21154[0] = cstrToNimstr((temp_frames_21173[j_21421].Field1)+"").slice(); }; - } - - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(makeNimstrLit("\x0A")); } else { result_21154[0] = makeNimstrLit("\x0A"); }; - res_162471 -= 1; - } - } while(false); - } while(false); - - return result_21154[0]; + L6: do { + var j_175236 = 0; + var colontmp__9835463 = 0; + colontmp__9835463 = (i_160051 - 1); + var res_9835468 = colontmp__9835463; + L7: do { + L8: while (true) { + if (!(0 <= res_9835468)) break L8; + j_175236 = res_9835468; + add_142042(result_160041, 0, temp_frames_160060[j_175236].Field0); + if ((0 < temp_frames_160060[j_175236].Field1)) { + if (result_160041[0] != null) { result_160041[0] = (result_160041[0]).concat(makeNimstrLit(", line: ")); } else { result_160041[0] = makeNimstrLit(", line: "); }; + if (result_160041[0] != null) { result_160041[0] = (result_160041[0]).concat(cstrToNimstr((temp_frames_160060[j_175236].Field1)+"")); } else { result_160041[0] = cstrToNimstr((temp_frames_160060[j_175236].Field1)+"").slice(); }; + } + + if (result_160041[0] != null) { result_160041[0] = (result_160041[0]).concat(makeNimstrLit("\x0A")); } else { result_160041[0] = makeNimstrLit("\x0A"); }; + res_9835468 -= 1; + } + } while(false); + } while(false); + + return result_160041[0]; } -function raw_write_stack_trace_21468() { - var result_21470 = null; +function raw_write_stack_trace_180059() { + var result_180061 = null; - if (!((framePtr == null))) { - result_21470 = nimCopy(null, (makeNimstrLit("Traceback (most recent call last)\x0A") || []).concat(aux_write_stack_trace_21151(framePtr) || []), NTI138); - } - else { - result_21470 = nimCopy(null, makeNimstrLit("No stack traceback available\x0A"), NTI138); - } - + if (!((framePtr == null))) { + result_180061 = nimCopy(null, (makeNimstrLit("Traceback (most recent call last)\x0A") || []).concat(aux_write_stack_trace_160038(framePtr) || []), NTI112); + } + else { + result_180061 = nimCopy(null, makeNimstrLit("No stack traceback available\x0A"), NTI112); + } + - return result_21470; + return result_180061; } -function new_seq_23336(len_23339) { - var result_23341 = null; +function new_seq_225128(len_225131) { + var result_225133 = null; - var F={procname:"newSeq.newSeq",prev:framePtr,filename:"system.nim",line:0}; - framePtr = F; - F.line = 997; - result_23341 = new Array(len_23339); for (var i=0;i<len_23339;++i) {result_23341[i]=null;} framePtr = F.prev; + var F={procname:"newSeq.newSeq",prev:framePtr,filename:"system.nim",line:0}; + framePtr = F; + F.line = 626; + result_225133 = new Array(len_225131); for (var i=0;i<len_225131;++i) {result_225133[i]=null;} framePtr = F.prev; - return result_23341; + return result_225133; } -function unhandledException(e_21529) { - var buf_21530 = [[]]; - if (!(((e_21529.message != null ? e_21529.message.length : 0) == 0))) { - if (buf_21530[0] != null) { buf_21530[0] = (buf_21530[0]).concat(makeNimstrLit("Error: unhandled exception: ")); } else { buf_21530[0] = makeNimstrLit("Error: unhandled exception: "); }; - if (buf_21530[0] != null) { buf_21530[0] = (buf_21530[0]).concat(e_21529.message); } else { buf_21530[0] = e_21529.message.slice(); }; - } - else { - if (buf_21530[0] != null) { buf_21530[0] = (buf_21530[0]).concat(makeNimstrLit("Error: unhandled exception")); } else { buf_21530[0] = makeNimstrLit("Error: unhandled exception"); }; - } - - if (buf_21530[0] != null) { buf_21530[0] = (buf_21530[0]).concat(makeNimstrLit(" [")); } else { buf_21530[0] = makeNimstrLit(" ["); }; - add_18638(buf_21530, 0, e_21529.name); - if (buf_21530[0] != null) { buf_21530[0] = (buf_21530[0]).concat(makeNimstrLit("]\x0A")); } else { buf_21530[0] = makeNimstrLit("]\x0A"); }; - if (buf_21530[0] != null) { buf_21530[0] = (buf_21530[0]).concat(raw_write_stack_trace_21468()); } else { buf_21530[0] = raw_write_stack_trace_21468().slice(); }; - var cbuf_21601 = toJSStr(buf_21530[0]); - framePtr = null; - if (typeof(Error) !== "undefined") { - throw new Error(cbuf_21601); +function unhandledException(e_185059) { + var buf_185060 = [[]]; + if (!(((e_185059.message != null ? e_185059.message.length : 0) == 0))) { + if (buf_185060[0] != null) { buf_185060[0] = (buf_185060[0]).concat(makeNimstrLit("Error: unhandled exception: ")); } else { buf_185060[0] = makeNimstrLit("Error: unhandled exception: "); }; + if (buf_185060[0] != null) { buf_185060[0] = (buf_185060[0]).concat(e_185059.message); } else { buf_185060[0] = e_185059.message.slice(); }; + } + else { + if (buf_185060[0] != null) { buf_185060[0] = (buf_185060[0]).concat(makeNimstrLit("Error: unhandled exception")); } else { buf_185060[0] = makeNimstrLit("Error: unhandled exception"); }; + } + + if (buf_185060[0] != null) { buf_185060[0] = (buf_185060[0]).concat(makeNimstrLit(" [")); } else { buf_185060[0] = makeNimstrLit(" ["); }; + add_142042(buf_185060, 0, e_185059.name); + if (buf_185060[0] != null) { buf_185060[0] = (buf_185060[0]).concat(makeNimstrLit("]\x0A")); } else { buf_185060[0] = makeNimstrLit("]\x0A"); }; + if (buf_185060[0] != null) { buf_185060[0] = (buf_185060[0]).concat(raw_write_stack_trace_180059()); } else { buf_185060[0] = raw_write_stack_trace_180059().slice(); }; + var cbuf_190201 = toJSStr(buf_185060[0]); + framePtr = null; + if (typeof(Error) !== "undefined") { + throw new Error(cbuf_190201); } else { - throw cbuf_21601; + throw cbuf_190201; } - + } function raiseOverflow() { - var eHEX60gensym22058_22203 = null; - eHEX60gensym22058_22203 = {m_type: NTI3646, parent: null, name: null, message: null, trace: null, raiseId: 0, up: null}; - eHEX60gensym22058_22203.message = nimCopy(null, makeNimstrLit("over- or underflow"), NTI138); - eHEX60gensym22058_22203.parent = null; - raiseException(eHEX60gensym22058_22203, "OverflowError"); + raiseException({message: makeNimstrLit("over- or underflow"), parent: null, m_type: NTI6082, name: null, trace: null, up: null}, "OverflowError"); - + } -function is_whitespace_161654(text_161656) { - return !/[^\s]/.test(text_161656); +function is_whitespace_9810101(text_9810103) { + return !/[^\s]/.test(text_9810103); - + } -function is_whitespace_161671(x_161673) { - var Tmp1; - var Tmp2; +function is_whitespace_9810118(x_9810120) { + var Tmp1; + var Tmp2; - var result_161674 = false; + var result_9810121 = false; - var F={procname:"dochack.isWhitespace",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - F.line = 134; - if (!(x_161673.nodeName == "#text")) Tmp2 = false; else { Tmp2 = is_whitespace_161654(x_161673.textContent); } if (Tmp2) Tmp1 = true; else { Tmp1 = (x_161673.nodeName == "#comment"); } result_161674 = Tmp1; - framePtr = F.prev; + var F={procname:"dochack.isWhitespace",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + F.line = 134; + if (!(x_9810120.nodeName == "#text")) Tmp2 = false; else { Tmp2 = is_whitespace_9810101(x_9810120.textContent); } if (Tmp2) Tmp1 = true; else { Tmp1 = (x_9810120.nodeName == "#comment"); } result_9810121 = Tmp1; + framePtr = F.prev; - return result_161674; + return result_9810121; } -function raiseIndexError(i_22655, a_22656, b_22657) { - var Tmp1; - - var eHEX60gensym22802_23003 = null; - eHEX60gensym22802_23003 = {m_type: NTI3658, parent: null, name: null, message: null, trace: null, raiseId: 0, up: null}; - if ((b_22657 < a_22656)) { - Tmp1 = makeNimstrLit("index out of bounds, the container is empty"); - } - else { - Tmp1 = (makeNimstrLit("index ") || []).concat(cstrToNimstr((i_22655)+"") || [],makeNimstrLit(" not in ") || [],cstrToNimstr((a_22656)+"") || [],makeNimstrLit(" .. ") || [],cstrToNimstr((b_22657)+"") || []); - } - - eHEX60gensym22802_23003.message = nimCopy(null, Tmp1, NTI138); - eHEX60gensym22802_23003.parent = null; - raiseException(eHEX60gensym22802_23003, "IndexError"); - - +function raiseIndexError(i_210047, a_210048, b_210049) { + var Tmp1; + + if ((b_210049 < a_210048)) { + Tmp1 = makeNimstrLit("index out of bounds, the container is empty"); + } + else { + Tmp1 = (makeNimstrLit("index ") || []).concat(cstrToNimstr((i_210047)+"") || [],makeNimstrLit(" not in ") || [],cstrToNimstr((a_210048)+"") || [],makeNimstrLit(" .. ") || [],cstrToNimstr((b_210049)+"") || []); + } + + raiseException({message: nimCopy(null, Tmp1, NTI112), parent: null, m_type: NTI6094, name: null, trace: null, up: null}, "IndexError"); + + } -function to_toc_161688(x_161690, father_161691) { - var Tmp5; - var Tmp6; - var Tmp7; - var Tmp8; - var Tmp15; - - var F={procname:"dochack.toToc",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - if ((x_161690.nodeName == "UL")) { - F.line = 139; - var f_161712 = {heading: null, kids: [], sortId: (father_161691.kids != null ? father_161691.kids.length : 0), doSort: false}; - F.line = 140; - var i_161714 = 0; - L1: do { - F.line = 141; - L2: while (true) { - if (!(i_161714 < x_161690.childNodes.length)) break L2; - F.line = 142; - var nxt_161715 = addInt(i_161714, 1); - L3: do { - F.line = 143; - L4: while (true) { - if (!(nxt_161715 < x_161690.childNodes.length)) Tmp5 = false; else { Tmp5 = is_whitespace_161671(x_161690.childNodes[nxt_161715]); } if (!Tmp5) break L4; - F.line = 144; - nxt_161715 = addInt(nxt_161715, 1); - } - } while(false); - if (!(nxt_161715 < x_161690.childNodes.length)) Tmp8 = false; else { Tmp8 = (x_161690.childNodes[i_161714].nodeName == "LI"); } if (!Tmp8) Tmp7 = false; else { Tmp7 = (x_161690.childNodes[i_161714].childNodes.length == 1); } if (!Tmp7) Tmp6 = false; else { Tmp6 = (x_161690.childNodes[nxt_161715].nodeName == "UL"); } if (Tmp6) { - F.line = 147; - var e_161742 = {heading: x_161690.childNodes[i_161714].childNodes[0], kids: [], sortId: (f_161712.kids != null ? f_161712.kids.length : 0), doSort: false}; - F.line = 148; - var it_161743 = x_161690.childNodes[nxt_161715]; - L9: do { - F.line = 149; - var j_161751 = 0; - F.line = 2737; - var colontmp__162442 = 0; - F.line = 149; - colontmp__162442 = it_161743.childNodes.length; - F.line = 2739; - var i_162443 = 0; - L10: do { - F.line = 2740; - L11: while (true) { - if (!(i_162443 < colontmp__162442)) break L11; - F.line = 149; - j_161751 = i_162443; - F.line = 150; - to_toc_161688(it_161743.childNodes[j_161751], e_161742); - F.line = 2742; - i_162443 = addInt(i_162443, 1); - } - } while(false); - } while(false); - F.line = 151; - if (f_161712.kids != null) { f_161712.kids.push(e_161742); } else { f_161712.kids = [e_161742]; }; - F.line = 152; - i_161714 = addInt(nxt_161715, 1); - } - else { - F.line = 154; - to_toc_161688(x_161690.childNodes[i_161714], f_161712); - F.line = 155; - i_161714 = addInt(i_161714, 1); - } - - } - } while(false); - F.line = 156; - if (father_161691.kids != null) { father_161691.kids.push(f_161712); } else { father_161691.kids = [f_161712]; }; - } - else { - if (is_whitespace_161671(x_161690)) { - } - else { - if ((x_161690.nodeName == "LI")) { - F.line = 160; - var idx_161788 = []; - L12: do { - F.line = 161; - var i_161796 = 0; - F.line = 2737; - var colontmp__162447 = 0; - F.line = 161; - colontmp__162447 = x_161690.childNodes.length; - F.line = 2739; - var i_162448 = 0; - L13: do { - F.line = 2740; - L14: while (true) { - if (!(i_162448 < colontmp__162447)) break L14; - F.line = 161; - i_161796 = i_162448; - if (!(is_whitespace_161671(x_161690.childNodes[i_161796]))) { - F.line = 162; - if (idx_161788 != null) { idx_161788.push(i_161796); } else { idx_161788 = [i_161796]; }; - } - - F.line = 2742; - i_162448 = addInt(i_162448, 1); - } - } while(false); - } while(false); - if (!((idx_161788 != null ? idx_161788.length : 0) == 2)) Tmp15 = false; else { Tmp15 = (x_161690.childNodes[idx_161788[chckIndx(1, 0, (idx_161788 != null ? idx_161788.length : 0)+0-1)-0]].nodeName == "UL"); } if (Tmp15) { - F.line = 164; - var e_161829 = {heading: x_161690.childNodes[idx_161788[chckIndx(0, 0, (idx_161788 != null ? idx_161788.length : 0)+0-1)-0]], kids: [], sortId: (father_161691.kids != null ? father_161691.kids.length : 0), doSort: false}; - F.line = 166; - var it_161830 = x_161690.childNodes[idx_161788[chckIndx(1, 0, (idx_161788 != null ? idx_161788.length : 0)+0-1)-0]]; - L16: do { - F.line = 167; - var j_161838 = 0; - F.line = 2737; - var colontmp__162453 = 0; - F.line = 167; - colontmp__162453 = it_161830.childNodes.length; - F.line = 2739; - var i_162454 = 0; - L17: do { - F.line = 2740; - L18: while (true) { - if (!(i_162454 < colontmp__162453)) break L18; - F.line = 167; - j_161838 = i_162454; - F.line = 168; - to_toc_161688(it_161830.childNodes[j_161838], e_161829); - F.line = 2742; - i_162454 = addInt(i_162454, 1); - } - } while(false); - } while(false); - F.line = 169; - if (father_161691.kids != null) { father_161691.kids.push(e_161829); } else { father_161691.kids = [e_161829]; }; - } - else { - L19: do { - F.line = 171; - var i_161853 = 0; - F.line = 2737; - var colontmp__162458 = 0; - F.line = 171; - colontmp__162458 = x_161690.childNodes.length; - F.line = 2739; - var i_162459 = 0; - L20: do { - F.line = 2740; - L21: while (true) { - if (!(i_162459 < colontmp__162458)) break L21; - F.line = 171; - i_161853 = i_162459; - F.line = 172; - to_toc_161688(x_161690.childNodes[i_161853], father_161691); - F.line = 2742; - i_162459 = addInt(i_162459, 1); - } - } while(false); - } while(false); - } - - } - else { - F.line = 174; - if (father_161691.kids != null) { father_161691.kids.push({heading: x_161690, kids: [], sortId: (father_161691.kids != null ? father_161691.kids.length : 0), doSort: false}); } else { father_161691.kids = [{heading: x_161690, kids: [], sortId: (father_161691.kids != null ? father_161691.kids.length : 0), doSort: false}]; }; - } - }} - framePtr = F.prev; - - +function to_toc_9810135(x_9810137, father_9810138) { + var Tmp5; + var Tmp6; + var Tmp7; + var Tmp8; + var Tmp15; + + var F={procname:"dochack.toToc",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + if ((x_9810137.nodeName == "UL")) { + F.line = 139; + var f_9810159 = {heading: null, kids: [], sortId: (father_9810138.kids != null ? father_9810138.kids.length : 0), doSort: false}; + F.line = 140; + var i_9810161 = 0; + L1: do { + F.line = 141; + L2: while (true) { + if (!(i_9810161 < x_9810137.childNodes.length)) break L2; + F.line = 142; + var nxt_9810162 = addInt(i_9810161, 1); + L3: do { + F.line = 143; + L4: while (true) { + if (!(nxt_9810162 < x_9810137.childNodes.length)) Tmp5 = false; else { Tmp5 = is_whitespace_9810118(x_9810137.childNodes[nxt_9810162]); } if (!Tmp5) break L4; + F.line = 144; + nxt_9810162 = addInt(nxt_9810162, 1); + } + } while(false); + if (!(nxt_9810162 < x_9810137.childNodes.length)) Tmp8 = false; else { Tmp8 = (x_9810137.childNodes[i_9810161].nodeName == "LI"); } if (!Tmp8) Tmp7 = false; else { Tmp7 = (x_9810137.childNodes[i_9810161].childNodes.length == 1); } if (!Tmp7) Tmp6 = false; else { Tmp6 = (x_9810137.childNodes[nxt_9810162].nodeName == "UL"); } if (Tmp6) { + F.line = 147; + var e_9810189 = {heading: x_9810137.childNodes[i_9810161].childNodes[0], kids: [], sortId: (f_9810159.kids != null ? f_9810159.kids.length : 0), doSort: false}; + F.line = 148; + var it_9810190 = x_9810137.childNodes[nxt_9810162]; + L9: do { + F.line = 149; + var j_9810198 = 0; + F.line = 104; + var colontmp__9835442 = 0; + F.line = 149; + colontmp__9835442 = it_9810190.childNodes.length; + F.line = 106; + var i_9835443 = 0; + L10: do { + F.line = 107; + L11: while (true) { + if (!(i_9835443 < colontmp__9835442)) break L11; + F.line = 149; + j_9810198 = i_9835443; + F.line = 150; + to_toc_9810135(it_9810190.childNodes[j_9810198], e_9810189); + F.line = 109; + i_9835443 = addInt(i_9835443, 1); + } + } while(false); + } while(false); + F.line = 151; + if (f_9810159.kids != null) { f_9810159.kids.push(e_9810189); } else { f_9810159.kids = [e_9810189]; }; + F.line = 152; + i_9810161 = addInt(nxt_9810162, 1); + } + else { + F.line = 154; + to_toc_9810135(x_9810137.childNodes[i_9810161], f_9810159); + F.line = 155; + i_9810161 = addInt(i_9810161, 1); + } + + } + } while(false); + F.line = 156; + if (father_9810138.kids != null) { father_9810138.kids.push(f_9810159); } else { father_9810138.kids = [f_9810159]; }; + } + else { + if (is_whitespace_9810118(x_9810137)) { + } + else { + if ((x_9810137.nodeName == "LI")) { + F.line = 160; + var idx_9810235 = []; + L12: do { + F.line = 161; + var i_9810243 = 0; + F.line = 104; + var colontmp__9835446 = 0; + F.line = 161; + colontmp__9835446 = x_9810137.childNodes.length; + F.line = 106; + var i_9835447 = 0; + L13: do { + F.line = 107; + L14: while (true) { + if (!(i_9835447 < colontmp__9835446)) break L14; + F.line = 161; + i_9810243 = i_9835447; + if (!(is_whitespace_9810118(x_9810137.childNodes[i_9810243]))) { + F.line = 162; + if (idx_9810235 != null) { idx_9810235.push(i_9810243); } else { idx_9810235 = [i_9810243]; }; + } + + F.line = 109; + i_9835447 = addInt(i_9835447, 1); + } + } while(false); + } while(false); + if (!((idx_9810235 != null ? idx_9810235.length : 0) == 2)) Tmp15 = false; else { Tmp15 = (x_9810137.childNodes[idx_9810235[chckIndx(1, 0, (idx_9810235 != null ? idx_9810235.length : 0)+0-1)-0]].nodeName == "UL"); } if (Tmp15) { + F.line = 164; + var e_9810276 = {heading: x_9810137.childNodes[idx_9810235[chckIndx(0, 0, (idx_9810235 != null ? idx_9810235.length : 0)+0-1)-0]], kids: [], sortId: (father_9810138.kids != null ? father_9810138.kids.length : 0), doSort: false}; + F.line = 166; + var it_9810277 = x_9810137.childNodes[idx_9810235[chckIndx(1, 0, (idx_9810235 != null ? idx_9810235.length : 0)+0-1)-0]]; + L16: do { + F.line = 167; + var j_9810285 = 0; + F.line = 104; + var colontmp__9835451 = 0; + F.line = 167; + colontmp__9835451 = it_9810277.childNodes.length; + F.line = 106; + var i_9835452 = 0; + L17: do { + F.line = 107; + L18: while (true) { + if (!(i_9835452 < colontmp__9835451)) break L18; + F.line = 167; + j_9810285 = i_9835452; + F.line = 168; + to_toc_9810135(it_9810277.childNodes[j_9810285], e_9810276); + F.line = 109; + i_9835452 = addInt(i_9835452, 1); + } + } while(false); + } while(false); + F.line = 169; + if (father_9810138.kids != null) { father_9810138.kids.push(e_9810276); } else { father_9810138.kids = [e_9810276]; }; + } + else { + L19: do { + F.line = 171; + var i_9810300 = 0; + F.line = 104; + var colontmp__9835455 = 0; + F.line = 171; + colontmp__9835455 = x_9810137.childNodes.length; + F.line = 106; + var i_9835456 = 0; + L20: do { + F.line = 107; + L21: while (true) { + if (!(i_9835456 < colontmp__9835455)) break L21; + F.line = 171; + i_9810300 = i_9835456; + F.line = 172; + to_toc_9810135(x_9810137.childNodes[i_9810300], father_9810138); + F.line = 109; + i_9835456 = addInt(i_9835456, 1); + } + } while(false); + } while(false); + } + + } + else { + F.line = 174; + if (father_9810138.kids != null) { father_9810138.kids.push({heading: x_9810137, kids: [], sortId: (father_9810138.kids != null ? father_9810138.kids.length : 0), doSort: false}); } else { father_9810138.kids = [{heading: x_9810137, kids: [], sortId: (father_9810138.kids != null ? father_9810138.kids.length : 0), doSort: false}]; }; + } + }} + framePtr = F.prev; + + } -function extract_items_161339(x_161341, heading_161342, items_161345, items_161345_Idx) { - var Tmp1; - - var F={procname:"dochack.extractItems",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - BeforeRet: do { - if ((x_161341 == null)) { - F.line = 81; - break BeforeRet; - } - - if (!!((x_161341.heading == null))) Tmp1 = false; else { Tmp1 = (x_161341.heading.textContent == heading_161342); } if (Tmp1) { - L2: do { - F.line = 83; - var i_161374 = 0; - F.line = 2737; - var colontmp__162487 = 0; - F.line = 83; - colontmp__162487 = (x_161341.kids != null ? x_161341.kids.length : 0); - F.line = 2739; - var i_162488 = 0; - L3: do { - F.line = 2740; - L4: while (true) { - if (!(i_162488 < colontmp__162487)) break L4; - F.line = 83; - i_161374 = i_162488; - F.line = 84; - if (items_161345[items_161345_Idx] != null) { items_161345[items_161345_Idx].push(x_161341.kids[chckIndx(i_161374, 0, (x_161341.kids != null ? x_161341.kids.length : 0)+0-1)-0].heading); } else { items_161345[items_161345_Idx] = [x_161341.kids[chckIndx(i_161374, 0, (x_161341.kids != null ? x_161341.kids.length : 0)+0-1)-0].heading]; }; - F.line = 2742; - i_162488 = addInt(i_162488, 1); - } - } while(false); - } while(false); - } - else { - L5: do { - F.line = 86; - var i_161394 = 0; - F.line = 2737; - var colontmp__162492 = 0; - F.line = 86; - colontmp__162492 = (x_161341.kids != null ? x_161341.kids.length : 0); - F.line = 2739; - var i_162493 = 0; - L6: do { - F.line = 2740; - L7: while (true) { - if (!(i_162493 < colontmp__162492)) break L7; - F.line = 86; - i_161394 = i_162493; - F.line = 87; - var it_161395 = x_161341.kids[chckIndx(i_161394, 0, (x_161341.kids != null ? x_161341.kids.length : 0)+0-1)-0]; - F.line = 88; - extract_items_161339(it_161395, heading_161342, items_161345, items_161345_Idx); - F.line = 2742; - i_162493 = addInt(i_162493, 1); - } - } while(false); - } while(false); - } - - } while (false); - framePtr = F.prev; - - +function extract_items_9765074(x_9765076, heading_9765077, items_9765080, items_9765080_Idx) { + var Tmp1; + + var F={procname:"dochack.extractItems",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + BeforeRet: do { + if ((x_9765076 == null)) { + F.line = 81; + break BeforeRet; + } + + if (!!((x_9765076.heading == null))) Tmp1 = false; else { Tmp1 = (x_9765076.heading.textContent == heading_9765077); } if (Tmp1) { + L2: do { + F.line = 83; + var i_9770021 = 0; + F.line = 104; + var colontmp__9835485 = 0; + F.line = 83; + colontmp__9835485 = (x_9765076.kids != null ? x_9765076.kids.length : 0); + F.line = 106; + var i_9835486 = 0; + L3: do { + F.line = 107; + L4: while (true) { + if (!(i_9835486 < colontmp__9835485)) break L4; + F.line = 83; + i_9770021 = i_9835486; + F.line = 84; + if (items_9765080[items_9765080_Idx] != null) { items_9765080[items_9765080_Idx].push(x_9765076.kids[chckIndx(i_9770021, 0, (x_9765076.kids != null ? x_9765076.kids.length : 0)+0-1)-0].heading); } else { items_9765080[items_9765080_Idx] = [x_9765076.kids[chckIndx(i_9770021, 0, (x_9765076.kids != null ? x_9765076.kids.length : 0)+0-1)-0].heading]; }; + F.line = 109; + i_9835486 = addInt(i_9835486, 1); + } + } while(false); + } while(false); + } + else { + L5: do { + F.line = 86; + var i_9770041 = 0; + F.line = 104; + var colontmp__9835489 = 0; + F.line = 86; + colontmp__9835489 = (x_9765076.kids != null ? x_9765076.kids.length : 0); + F.line = 106; + var i_9835490 = 0; + L6: do { + F.line = 107; + L7: while (true) { + if (!(i_9835490 < colontmp__9835489)) break L7; + F.line = 86; + i_9770041 = i_9835490; + F.line = 87; + var it_9770042 = x_9765076.kids[chckIndx(i_9770041, 0, (x_9765076.kids != null ? x_9765076.kids.length : 0)+0-1)-0]; + F.line = 88; + extract_items_9765074(it_9770042, heading_9765077, items_9765080, items_9765080_Idx); + F.line = 109; + i_9835490 = addInt(i_9835490, 1); + } + } while(false); + } while(false); + } + + } while (false); + framePtr = F.prev; + + } -function tree_161020(tag_161022, kids_161024) { - var result_161025 = null; - - var F={procname:"dochack.tree",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - F.line = 11; - result_161025 = document.createElement(toJSStr(tag_161022)); - L1: do { - F.line = 12; - var k_161056 = null; - F.line = 3; - var i_162510 = 0; - L2: do { - F.line = 4; - L3: while (true) { - if (!(i_162510 < (kids_161024 != null ? kids_161024.length : 0))) break L3; - F.line = 12; - k_161056 = kids_161024[chckIndx(i_162510, 0, (kids_161024 != null ? kids_161024.length : 0)+0-1)-0]; - F.line = 13; - result_161025.appendChild(k_161056); - F.line = 6; - i_162510 = addInt(i_162510, 1); - } - } while(false); - } while(false); - framePtr = F.prev; - - return result_161025; +function tree_9756020(tag_9756022, kids_9756024) { + var result_9756025 = null; + + var F={procname:"dochack.tree",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + F.line = 11; + result_9756025 = document.createElement(toJSStr(tag_9756022)); + L1: do { + F.line = 12; + var k_9756056 = null; + F.line = 3; + var i_9835506 = 0; + L2: do { + F.line = 4; + L3: while (true) { + if (!(i_9835506 < (kids_9756024 != null ? kids_9756024.length : 0))) break L3; + F.line = 12; + k_9756056 = kids_9756024[chckIndx(i_9835506, 0, (kids_9756024 != null ? kids_9756024.length : 0)+0-1)-0]; + F.line = 13; + result_9756025.appendChild(k_9756056); + F.line = 6; + i_9835506 = addInt(i_9835506, 1); + } + } while(false); + } while(false); + framePtr = F.prev; + + return result_9756025; } -function text_161152(s_161154) { - var result_161155 = null; +function text_9756152(s_9756154) { + var result_9756155 = null; - var F={procname:"dochack.text",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - F.line = 27; - result_161155 = document.createTextNode(s_161154); - framePtr = F.prev; + var F={procname:"dochack.text",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + F.line = 27; + result_9756155 = document.createTextNode(s_9756154); + framePtr = F.prev; - return result_161155; + return result_9756155; } -function sys_fatal_15062(message_15066) { - var F={procname:"sysFatal.sysFatal",prev:framePtr,filename:"fatal.nim",line:0}; - framePtr = F; - F.line = 34; - var e_15203 = null; - F.line = 37; - e_15203 = {m_type: NTI3650, parent: null, name: null, message: null, trace: null, raiseId: 0, up: null}; - F.line = 38; - e_15203.message = nimCopy(null, message_15066, NTI138); - F.line = 39; - raiseException(e_15203, "AssertionError"); - framePtr = F.prev; - - +function sys_fatal_102618(message_102622) { + var F={procname:"sysFatal.sysFatal",prev:framePtr,filename:"fatal.nim",line:0}; + framePtr = F; + F.line = 49; + raiseException({message: nimCopy(null, message_102622, NTI112), m_type: NTI6086, parent: null, name: null, trace: null, up: null}, "AssertionError"); + framePtr = F.prev; + + } -function raise_assert_15058(msg_15060) { - var F={procname:"assertions.raiseAssert",prev:framePtr,filename:"assertions.nim",line:0}; - framePtr = F; - F.line = 20; - sys_fatal_15062(msg_15060); - framePtr = F.prev; +function raise_assert_102614(msg_102616) { + var F={procname:"assertions.raiseAssert",prev:framePtr,filename:"assertions.nim",line:0}; + framePtr = F; + F.line = 22; + sys_fatal_102618(msg_102616); + framePtr = F.prev; - + } -function failed_assert_impl_15266(msg_15268) { - var F={procname:"assertions.failedAssertImpl",prev:framePtr,filename:"assertions.nim",line:0}; - framePtr = F; - F.line = 27; - raise_assert_15058(msg_15268); - framePtr = F.prev; +function failed_assert_impl_102680(msg_102682) { + var F={procname:"assertions.failedAssertImpl",prev:framePtr,filename:"assertions.nim",line:0}; + framePtr = F; + F.line = 29; + raise_assert_102614(msg_102682); + framePtr = F.prev; - + } -function uncovered_161950(x_161952) { - var Tmp1; - var Tmp2; - - var result_161953 = null; - - var F={procname:"dochack.uncovered",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - BeforeRet: do { - if (!((x_161952.kids != null ? x_161952.kids.length : 0) == 0)) Tmp1 = false; else { Tmp1 = !((x_161952.heading == null)); } if (Tmp1) { - F.line = 194; - if (!(x_161952.heading.hasOwnProperty('__karaxMarker__'))) { - Tmp2 = x_161952; - } - else { - Tmp2 = null; - } - - result_161953 = Tmp2; - break BeforeRet; - } - - F.line = 195; - result_161953 = {heading: x_161952.heading, kids: [], sortId: x_161952.sortId, doSort: x_161952.doSort}; - L3: do { - F.line = 197; - var i_161994 = 0; - F.line = 2737; - var colontmp__162522 = 0; - F.line = 197; - colontmp__162522 = (x_161952.kids != null ? x_161952.kids.length : 0); - F.line = 2739; - var i_162523 = 0; - L4: do { - F.line = 2740; - L5: while (true) { - if (!(i_162523 < colontmp__162522)) break L5; - F.line = 197; - i_161994 = i_162523; - F.line = 198; - var y_161995 = uncovered_161950(x_161952.kids[chckIndx(i_161994, 0, (x_161952.kids != null ? x_161952.kids.length : 0)+0-1)-0]); - if (!((y_161995 == null))) { - F.line = 199; - if (result_161953.kids != null) { result_161953.kids.push(y_161995); } else { result_161953.kids = [y_161995]; }; - } - - F.line = 2742; - i_162523 = addInt(i_162523, 1); - } - } while(false); - } while(false); - if (((result_161953.kids != null ? result_161953.kids.length : 0) == 0)) { - F.line = 200; - result_161953 = null; - } - - } while (false); - framePtr = F.prev; - - return result_161953; +function uncovered_9815022(x_9815024) { + var Tmp1; + var Tmp2; + + var result_9815025 = null; + + var F={procname:"dochack.uncovered",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + BeforeRet: do { + if (!((x_9815024.kids != null ? x_9815024.kids.length : 0) == 0)) Tmp1 = false; else { Tmp1 = !((x_9815024.heading == null)); } if (Tmp1) { + F.line = 194; + if (!(x_9815024.heading.hasOwnProperty('__karaxMarker__'))) { + Tmp2 = x_9815024; + } + else { + Tmp2 = null; + } + + result_9815025 = Tmp2; + break BeforeRet; + } + + F.line = 195; + result_9815025 = {heading: x_9815024.heading, kids: [], sortId: x_9815024.sortId, doSort: x_9815024.doSort}; + L3: do { + F.line = 197; + var i_9820036 = 0; + F.line = 104; + var colontmp__9835517 = 0; + F.line = 197; + colontmp__9835517 = (x_9815024.kids != null ? x_9815024.kids.length : 0); + F.line = 106; + var i_9835518 = 0; + L4: do { + F.line = 107; + L5: while (true) { + if (!(i_9835518 < colontmp__9835517)) break L5; + F.line = 197; + i_9820036 = i_9835518; + F.line = 198; + var y_9820037 = uncovered_9815022(x_9815024.kids[chckIndx(i_9820036, 0, (x_9815024.kids != null ? x_9815024.kids.length : 0)+0-1)-0]); + if (!((y_9820037 == null))) { + F.line = 199; + if (result_9815025.kids != null) { result_9815025.kids.push(y_9820037); } else { result_9815025.kids = [y_9820037]; }; + } + + F.line = 109; + i_9835518 = addInt(i_9835518, 1); + } + } while(false); + } while(false); + if (((result_9815025.kids != null ? result_9815025.kids.length : 0) == 0)) { + F.line = 200; + result_9815025 = null; + } + + } while (false); + framePtr = F.prev; + + return result_9815025; } -function merge_tocs_162029(orig_162031, news_162032) { - var result_162033 = null; - - var F={procname:"dochack.mergeTocs",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - F.line = 203; - result_162033 = uncovered_161950(orig_162031); - if ((result_162033 == null)) { - F.line = 205; - result_162033 = news_162032; - } - else { - L1: do { - F.line = 207; - var i_162054 = 0; - F.line = 2737; - var colontmp__162516 = 0; - F.line = 207; - colontmp__162516 = (news_162032.kids != null ? news_162032.kids.length : 0); - F.line = 2739; - var i_162517 = 0; - L2: do { - F.line = 2740; - L3: while (true) { - if (!(i_162517 < colontmp__162516)) break L3; - F.line = 207; - i_162054 = i_162517; - F.line = 208; - if (result_162033.kids != null) { result_162033.kids.push(news_162032.kids[chckIndx(i_162054, 0, (news_162032.kids != null ? news_162032.kids.length : 0)+0-1)-0]); } else { result_162033.kids = [news_162032.kids[chckIndx(i_162054, 0, (news_162032.kids != null ? news_162032.kids.length : 0)+0-1)-0]]; }; - F.line = 2742; - i_162517 = addInt(i_162517, 1); - } - } while(false); - } while(false); - } - - framePtr = F.prev; - - return result_162033; +function merge_tocs_9825034(orig_9825036, news_9825037) { + var result_9825038 = null; + + var F={procname:"dochack.mergeTocs",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + F.line = 203; + result_9825038 = uncovered_9815022(orig_9825036); + if ((result_9825038 == null)) { + F.line = 205; + result_9825038 = news_9825037; + } + else { + L1: do { + F.line = 207; + var i_9825059 = 0; + F.line = 104; + var colontmp__9835512 = 0; + F.line = 207; + colontmp__9835512 = (news_9825037.kids != null ? news_9825037.kids.length : 0); + F.line = 106; + var i_9835513 = 0; + L2: do { + F.line = 107; + L3: while (true) { + if (!(i_9835513 < colontmp__9835512)) break L3; + F.line = 207; + i_9825059 = i_9835513; + F.line = 208; + if (result_9825038.kids != null) { result_9825038.kids.push(news_9825037.kids[chckIndx(i_9825059, 0, (news_9825037.kids != null ? news_9825037.kids.length : 0)+0-1)-0]); } else { result_9825038.kids = [news_9825037.kids[chckIndx(i_9825059, 0, (news_9825037.kids != null ? news_9825037.kids.length : 0)+0-1)-0]]; }; + F.line = 109; + i_9835513 = addInt(i_9835513, 1); + } + } while(false); + } while(false); + } + + framePtr = F.prev; + + return result_9825038; } -function build_toc_162075(orig_162077, types_162079, procs_162080) { - var result_162081 = null; - - var F={procname:"dochack.buildToc",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - F.line = 211; - var new_stuff_162097 = {heading: null, kids: [], doSort: true, sortId: 0}; - L1: do { - F.line = 212; - var t_162214 = null; - F.line = 184; - var i_162505 = 0; - F.line = 185; - var l_162506 = (types_162079 != null ? types_162079.length : 0); - L2: do { - F.line = 186; - L3: while (true) { - if (!(i_162505 < l_162506)) break L3; - F.line = 212; - t_162214 = types_162079[chckIndx(i_162505, 0, (types_162079 != null ? types_162079.length : 0)+0-1)-0]; - F.line = 213; - var c_162230 = {heading: t_162214.cloneNode(true), kids: [], doSort: true, sortId: 0}; - F.line = 214; - t_162214.__karaxMarker__ = true; - L4: do { - F.line = 215; - var p_162237 = null; - F.line = 184; - var i_162502 = 0; - F.line = 185; - var l_162503 = (procs_162080 != null ? procs_162080.length : 0); - L5: do { - F.line = 186; - L6: while (true) { - if (!(i_162502 < l_162503)) break L6; - F.line = 215; - p_162237 = procs_162080[chckIndx(i_162502, 0, (procs_162080 != null ? procs_162080.length : 0)+0-1)-0]; - if (!(p_162237.hasOwnProperty('__karaxMarker__'))) { - F.line = 217; - var xx_162238 = p_162237.parentNode.getElementsByClassName("attachedType"); - if ((((xx_162238 != null ? xx_162238.length : 0) == 1) && (xx_162238[chckIndx(0, 0, (xx_162238 != null ? xx_162238.length : 0)+0-1)-0].textContent == t_162214.textContent))) { - F.line = 220; - var q_162246 = tree_161020(makeNimstrLit("A"), [text_161152(p_162237.title)]); - F.line = 221; - q_162246.setAttribute("href", p_162237.getAttribute("href")); - F.line = 222; - if (c_162230.kids != null) { c_162230.kids.push({heading: q_162246, kids: [], sortId: 0, doSort: false}); } else { c_162230.kids = [{heading: q_162246, kids: [], sortId: 0, doSort: false}]; }; - F.line = 223; - p_162237.__karaxMarker__ = true; - } - - } - - F.line = 188; - i_162502 = addInt(i_162502, 1); - if (!(((procs_162080 != null ? procs_162080.length : 0) == l_162503))) { - F.line = 189; - failed_assert_impl_15266(makeNimstrLit("/home/genotrance/.choosenim/toolchains/nim-1.0.4/lib/system/iterators.nim(189, 11) `len(a) == L` the length of the seq changed while iterating over it")); - } - - } - } while(false); - } while(false); - F.line = 224; - if (new_stuff_162097.kids != null) { new_stuff_162097.kids.push(c_162230); } else { new_stuff_162097.kids = [c_162230]; }; - F.line = 188; - i_162505 = addInt(i_162505, 1); - if (!(((types_162079 != null ? types_162079.length : 0) == l_162506))) { - F.line = 189; - failed_assert_impl_15266(makeNimstrLit("/home/genotrance/.choosenim/toolchains/nim-1.0.4/lib/system/iterators.nim(189, 11) `len(a) == L` the length of the seq changed while iterating over it")); - } - - } - } while(false); - } while(false); - F.line = 225; - result_162081 = merge_tocs_162029(orig_162077, new_stuff_162097); - framePtr = F.prev; - - return result_162081; +function build_toc_9825080(orig_9825082, types_9825084, procs_9825085) { + var Tmp7; + + var result_9825086 = null; + + var F={procname:"dochack.buildToc",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + F.line = 211; + var new_stuff_9825102 = {heading: null, kids: [], doSort: true, sortId: 0}; + L1: do { + F.line = 212; + var t_9835214 = null; + F.line = 184; + var i_9835501 = 0; + F.line = 185; + var l_9835502 = (types_9825084 != null ? types_9825084.length : 0); + L2: do { + F.line = 186; + L3: while (true) { + if (!(i_9835501 < l_9835502)) break L3; + F.line = 212; + t_9835214 = types_9825084[chckIndx(i_9835501, 0, (types_9825084 != null ? types_9825084.length : 0)+0-1)-0]; + F.line = 213; + var c_9835230 = {heading: t_9835214.cloneNode(true), kids: [], doSort: true, sortId: 0}; + F.line = 214; + t_9835214.__karaxMarker__ = true; + L4: do { + F.line = 215; + var p_9835237 = null; + F.line = 184; + var i_9835498 = 0; + F.line = 185; + var l_9835499 = (procs_9825085 != null ? procs_9825085.length : 0); + L5: do { + F.line = 186; + L6: while (true) { + if (!(i_9835498 < l_9835499)) break L6; + F.line = 215; + p_9835237 = procs_9825085[chckIndx(i_9835498, 0, (procs_9825085 != null ? procs_9825085.length : 0)+0-1)-0]; + if (!(p_9835237.hasOwnProperty('__karaxMarker__'))) { + F.line = 217; + var xx_9835238 = p_9835237.parentNode.getElementsByClassName("attachedType"); + if (!((xx_9835238 != null ? xx_9835238.length : 0) == 1)) Tmp7 = false; else { Tmp7 = (xx_9835238[chckIndx(0, 0, (xx_9835238 != null ? xx_9835238.length : 0)+0-1)-0].textContent == t_9835214.textContent); } if (Tmp7) { + F.line = 220; + var q_9835246 = tree_9756020(makeNimstrLit("A"), [text_9756152(p_9835237.title)]); + F.line = 221; + q_9835246.setAttribute("href", p_9835237.getAttribute("href")); + F.line = 222; + if (c_9835230.kids != null) { c_9835230.kids.push({heading: q_9835246, kids: [], sortId: 0, doSort: false}); } else { c_9835230.kids = [{heading: q_9835246, kids: [], sortId: 0, doSort: false}]; }; + F.line = 223; + p_9835237.__karaxMarker__ = true; + } + + } + + F.line = 188; + i_9835498 = addInt(i_9835498, 1); + if (!(((procs_9825085 != null ? procs_9825085.length : 0) == l_9835499))) { + F.line = 189; + failed_assert_impl_102680(makeNimstrLit("/home/genotrance/.choosenim/toolchains/nim-#devel/lib/system/iterators.nim(189, 11) `len(a) == L` the length of the seq changed while iterating over it")); + } + + } + } while(false); + } while(false); + F.line = 224; + if (new_stuff_9825102.kids != null) { new_stuff_9825102.kids.push(c_9835230); } else { new_stuff_9825102.kids = [c_9835230]; }; + F.line = 188; + i_9835501 = addInt(i_9835501, 1); + if (!(((types_9825084 != null ? types_9825084.length : 0) == l_9835502))) { + F.line = 189; + failed_assert_impl_102680(makeNimstrLit("/home/genotrance/.choosenim/toolchains/nim-#devel/lib/system/iterators.nim(189, 11) `len(a) == L` the length of the seq changed while iterating over it")); + } + + } + } while(false); + } while(false); + F.line = 225; + result_9825086 = merge_tocs_9825034(orig_9825082, new_stuff_9825102); + framePtr = F.prev; + + return result_9825086; } -function add_161085(parent_161087, kid_161088) { - var Tmp1; - var Tmp2; - - var F={procname:"dochack.add",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - if (!(parent_161087.nodeName == "TR")) Tmp1 = false; else { if ((kid_161088.nodeName == "TD")) Tmp2 = true; else { Tmp2 = (kid_161088.nodeName == "TH"); } Tmp1 = Tmp2; } if (Tmp1) { - F.line = 18; - var k_161089 = document.createElement("TD"); - F.line = 19; - k_161089.appendChild(kid_161088); - F.line = 20; - parent_161087.appendChild(k_161089); - } - else { - F.line = 22; - parent_161087.appendChild(kid_161088); - } - - framePtr = F.prev; - - +function add_9756100(parent_9756102, kid_9756103) { + var Tmp1; + var Tmp2; + + var F={procname:"dochack.add",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + if (!(parent_9756102.nodeName == "TR")) Tmp1 = false; else { if ((kid_9756103.nodeName == "TD")) Tmp2 = true; else { Tmp2 = (kid_9756103.nodeName == "TH"); } Tmp1 = Tmp2; } if (Tmp1) { + F.line = 18; + var k_9756104 = document.createElement("TD"); + F.line = 19; + k_9756104.appendChild(kid_9756103); + F.line = 20; + parent_9756102.appendChild(k_9756104); + } + else { + F.line = 22; + parent_9756102.appendChild(kid_9756103); + } + + framePtr = F.prev; + + } -function set_class_161103(e_161105, value_161106) { - var F={procname:"dochack.setClass",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - F.line = 25; - e_161105.setAttribute("class", toJSStr(value_161106)); - framePtr = F.prev; +function set_class_9756118(e_9756120, value_9756121) { + var F={procname:"dochack.setClass",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + F.line = 25; + e_9756120.setAttribute("class", toJSStr(value_9756121)); + framePtr = F.prev; - + } -function to_html_161424(x_161426, is_root_161427) { - var Tmp1; - - function HEX3Aanonymous_161467(a_161469, b_161470) { - var Tmp1; - - var result_161471 = 0; - - var F={procname:"toHtml.:anonymous",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - BeforeRet: do { - if (!!((a_161469.heading == null))) Tmp1 = false; else { Tmp1 = !((b_161470.heading == null)); } if (Tmp1) { - F.line = 106; - var x_161488 = a_161469.heading.textContent; - F.line = 107; - var y_161489 = b_161470.heading.textContent; - if ((x_161488 < y_161489)) { - F.line = 108; - result_161471 = -1; - break BeforeRet; - } - - if ((y_161489 < x_161488)) { - F.line = 109; - result_161471 = 1; - break BeforeRet; - } - - F.line = 110; - result_161471 = 0; - break BeforeRet; - } - else { - F.line = 113; - result_161471 = subInt(a_161469.sortId, b_161470.sortId); - break BeforeRet; - } - - } while (false); - framePtr = F.prev; - - return result_161471; - - } - - var result_161428 = null; - - var F={procname:"dochack.toHtml",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - BeforeRet: do { - if ((x_161426 == null)) { - F.line = 91; - result_161428 = null; - break BeforeRet; - } - - if (((x_161426.kids != null ? x_161426.kids.length : 0) == 0)) { - if ((x_161426.heading == null)) { - F.line = 93; - result_161428 = null; - break BeforeRet; - } - - F.line = 94; - result_161428 = x_161426.heading.cloneNode(true); - break BeforeRet; - } - - F.line = 95; - result_161428 = tree_161020(makeNimstrLit("DIV"), []); - if (!!((x_161426.heading == null))) Tmp1 = false; else { Tmp1 = !(x_161426.heading.hasOwnProperty('__karaxMarker__')); } if (Tmp1) { - F.line = 97; - add_161085(result_161428, x_161426.heading.cloneNode(true)); - } - - F.line = 98; - var ul_161464 = tree_161020(makeNimstrLit("UL"), []); - if (is_root_161427) { - F.line = 100; - set_class_161103(ul_161464, makeNimstrLit("simple simple-toc")); - } - else { - F.line = 102; - set_class_161103(ul_161464, makeNimstrLit("simple")); - } - - if (x_161426.doSort) { - F.line = 104; - x_161426.kids.sort(HEX3Aanonymous_161467); - } - - L2: do { - F.line = 115; - var k_161614 = null; - F.line = 182; - var colontmp__162529 = null; - F.line = 115; - colontmp__162529 = x_161426.kids; - F.line = 184; - var i_162531 = 0; - F.line = 185; - var l_162532 = (colontmp__162529 != null ? colontmp__162529.length : 0); - L3: do { - F.line = 186; - L4: while (true) { - if (!(i_162531 < l_162532)) break L4; - F.line = 115; - k_161614 = colontmp__162529[chckIndx(i_162531, 0, (colontmp__162529 != null ? colontmp__162529.length : 0)+0-1)-0]; - F.line = 116; - var y_161615 = to_html_161424(k_161614, false); - if (!((y_161615 == null))) { - F.line = 118; - add_161085(ul_161464, tree_161020(makeNimstrLit("LI"), [y_161615])); - } - - F.line = 188; - i_162531 = addInt(i_162531, 1); - if (!(((colontmp__162529 != null ? colontmp__162529.length : 0) == l_162532))) { - F.line = 189; - failed_assert_impl_15266(makeNimstrLit("/home/genotrance/.choosenim/toolchains/nim-1.0.4/lib/system/iterators.nim(189, 11) `len(a) == L` the length of the seq changed while iterating over it")); - } - - } - } while(false); - } while(false); - if (!((ul_161464.childNodes.length == 0))) { - F.line = 119; - add_161085(result_161428, ul_161464); - } - - if ((result_161428.childNodes.length == 0)) { - F.line = 120; - result_161428 = null; - } - - } while (false); - framePtr = F.prev; - - return result_161428; +function to_html_9770071(x_9770073, is_root_9770074) { + var Tmp1; + + function HEX3Aanonymous_9775015(a_9775017, b_9775018) { + var Tmp1; + + var result_9775019 = 0; + + var F={procname:"toHtml.:anonymous",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + BeforeRet: do { + if (!!((a_9775017.heading == null))) Tmp1 = false; else { Tmp1 = !((b_9775018.heading == null)); } if (Tmp1) { + F.line = 106; + var x_9785009 = a_9775017.heading.textContent; + F.line = 107; + var y_9785010 = b_9775018.heading.textContent; + if ((x_9785009 < y_9785010)) { + F.line = 108; + result_9775019 = -1; + break BeforeRet; + } + + if ((y_9785010 < x_9785009)) { + F.line = 109; + result_9775019 = 1; + break BeforeRet; + } + + F.line = 110; + result_9775019 = 0; + break BeforeRet; + } + else { + F.line = 113; + result_9775019 = subInt(a_9775017.sortId, b_9775018.sortId); + break BeforeRet; + } + + } while (false); + framePtr = F.prev; + + return result_9775019; + + } + + var result_9770075 = null; + + var F={procname:"dochack.toHtml",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + BeforeRet: do { + if ((x_9770073 == null)) { + F.line = 91; + result_9770075 = null; + break BeforeRet; + } + + if (((x_9770073.kids != null ? x_9770073.kids.length : 0) == 0)) { + if ((x_9770073.heading == null)) { + F.line = 93; + result_9770075 = null; + break BeforeRet; + } + + F.line = 94; + result_9770075 = x_9770073.heading.cloneNode(true); + break BeforeRet; + } + + F.line = 95; + result_9770075 = tree_9756020(makeNimstrLit("DIV"), []); + if (!!((x_9770073.heading == null))) Tmp1 = false; else { Tmp1 = !(x_9770073.heading.hasOwnProperty('__karaxMarker__')); } if (Tmp1) { + F.line = 97; + add_9756100(result_9770075, x_9770073.heading.cloneNode(true)); + } + + F.line = 98; + var ul_9775012 = tree_9756020(makeNimstrLit("UL"), []); + if (is_root_9770074) { + F.line = 100; + set_class_9756118(ul_9775012, makeNimstrLit("simple simple-toc")); + } + else { + F.line = 102; + set_class_9756118(ul_9775012, makeNimstrLit("simple")); + } + + if (x_9770073.doSort) { + F.line = 104; + x_9770073.kids.sort(HEX3Aanonymous_9775015); + } + + L2: do { + F.line = 115; + var k_9800214 = null; + F.line = 184; + var i_9835524 = 0; + F.line = 185; + var l_9835525 = (x_9770073.kids != null ? x_9770073.kids.length : 0); + L3: do { + F.line = 186; + L4: while (true) { + if (!(i_9835524 < l_9835525)) break L4; + F.line = 115; + k_9800214 = x_9770073.kids[chckIndx(i_9835524, 0, (x_9770073.kids != null ? x_9770073.kids.length : 0)+0-1)-0]; + F.line = 116; + var y_9800215 = to_html_9770071(k_9800214, false); + if (!((y_9800215 == null))) { + F.line = 118; + add_9756100(ul_9775012, tree_9756020(makeNimstrLit("LI"), [y_9800215])); + } + + F.line = 188; + i_9835524 = addInt(i_9835524, 1); + if (!(((x_9770073.kids != null ? x_9770073.kids.length : 0) == l_9835525))) { + F.line = 189; + failed_assert_impl_102680(makeNimstrLit("/home/genotrance/.choosenim/toolchains/nim-#devel/lib/system/iterators.nim(189, 11) `len(a) == L` the length of the seq changed while iterating over it")); + } + + } + } while(false); + } while(false); + if (!((ul_9775012.childNodes.length == 0))) { + F.line = 119; + add_9756100(result_9770075, ul_9775012); + } + + if ((result_9770075.childNodes.length == 0)) { + F.line = 120; + result_9770075 = null; + } + + } while (false); + framePtr = F.prev; + + return result_9770075; } -function replace_by_id_161172(id_161174, new_tree_161175) { - var F={procname:"dochack.replaceById",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - F.line = 32; - var x_161176 = document.getElementById(id_161174); - F.line = 33; - x_161176.parentNode.replaceChild(new_tree_161175, x_161176); - F.line = 34; - new_tree_161175.id = id_161174; - framePtr = F.prev; - - +function replace_by_id_9756172(id_9756174, new_tree_9756175) { + var F={procname:"dochack.replaceById",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + F.line = 32; + var x_9756176 = document.getElementById(id_9756174); + F.line = 33; + x_9756176.parentNode.replaceChild(new_tree_9756175, x_9756176); + F.line = 34; + new_tree_9756175.id = id_9756174; + framePtr = F.prev; + + } -function togglevis_162333(d_162335) { - var F={procname:"dochack.togglevis",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - F.line = 230; - if (d_162335.style.display == 'none') - d_162335.style.display = 'inline'; +function togglevis_9835333(d_9835335) { + var F={procname:"dochack.togglevis",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + F.line = 230; + if (d_9835335.style.display == 'none') + d_9835335.style.display = 'inline'; else - d_162335.style.display = 'none'; + d_9835335.style.display = 'none'; - framePtr = F.prev; + framePtr = F.prev; - + } -function groupBy(value_162351) { - var F={procname:"dochack.groupBy",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - F.line = 238; - var toc_162352 = document.getElementById("toc-list"); - if ((alternative_162319[0] == null)) { - F.line = 240; - var tt_162373 = {heading: null, kids: [], sortId: 0, doSort: false}; - F.line = 241; - to_toc_161688(toc_162352, tt_162373); - F.line = 242; - tt_162373 = tt_162373.kids[chckIndx(0, 0, (tt_162373.kids != null ? tt_162373.kids.length : 0)+0-1)-0]; - F.line = 244; - var types_162390 = [[]]; - F.line = 245; - var procs_162407 = [[]]; - F.line = 247; - extract_items_161339(tt_162373, "Types", types_162390, 0); - F.line = 248; - extract_items_161339(tt_162373, "Procs", procs_162407, 0); - F.line = 249; - extract_items_161339(tt_162373, "Converters", procs_162407, 0); - F.line = 250; - extract_items_161339(tt_162373, "Methods", procs_162407, 0); - F.line = 251; - extract_items_161339(tt_162373, "Templates", procs_162407, 0); - F.line = 252; - extract_items_161339(tt_162373, "Macros", procs_162407, 0); - F.line = 253; - extract_items_161339(tt_162373, "Iterators", procs_162407, 0); - F.line = 255; - var ntoc_162415 = build_toc_162075(tt_162373, types_162390[0], procs_162407[0]); - F.line = 256; - var x_162416 = to_html_161424(ntoc_162415, true); - F.line = 257; - alternative_162319[0] = tree_161020(makeNimstrLit("DIV"), [x_162416]); - } - - if ((value_162351 == "type")) { - F.line = 259; - replace_by_id_161172("tocRoot", alternative_162319[0]); - } - else { - F.line = 261; - replace_by_id_161172("tocRoot", tree_161020(makeNimstrLit("DIV"), [])); - } - - F.line = 262; - togglevis_162333(document.getElementById("toc-list")); - framePtr = F.prev; - - +function groupBy(value_9835351) { + var F={procname:"dochack.groupBy",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + F.line = 238; + var toc_9835352 = document.getElementById("toc-list"); + if ((alternative_9835319[0] == null)) { + F.line = 240; + var tt_9835373 = {heading: null, kids: [], sortId: 0, doSort: false}; + F.line = 241; + to_toc_9810135(toc_9835352, tt_9835373); + F.line = 242; + tt_9835373 = tt_9835373.kids[chckIndx(0, 0, (tt_9835373.kids != null ? tt_9835373.kids.length : 0)+0-1)-0]; + F.line = 244; + var types_9835390 = [[]]; + F.line = 245; + var procs_9835407 = [[]]; + F.line = 247; + extract_items_9765074(tt_9835373, "Types", types_9835390, 0); + F.line = 248; + extract_items_9765074(tt_9835373, "Procs", procs_9835407, 0); + F.line = 249; + extract_items_9765074(tt_9835373, "Converters", procs_9835407, 0); + F.line = 250; + extract_items_9765074(tt_9835373, "Methods", procs_9835407, 0); + F.line = 251; + extract_items_9765074(tt_9835373, "Templates", procs_9835407, 0); + F.line = 252; + extract_items_9765074(tt_9835373, "Macros", procs_9835407, 0); + F.line = 253; + extract_items_9765074(tt_9835373, "Iterators", procs_9835407, 0); + F.line = 255; + var ntoc_9835415 = build_toc_9825080(tt_9835373, types_9835390[0], procs_9835407[0]); + F.line = 256; + var x_9835416 = to_html_9770071(ntoc_9835415, true); + F.line = 257; + alternative_9835319[0] = tree_9756020(makeNimstrLit("DIV"), [x_9835416]); + } + + if ((value_9835351 == "type")) { + F.line = 259; + replace_by_id_9756172("tocRoot", alternative_9835319[0]); + } + else { + F.line = 261; + replace_by_id_9756172("tocRoot", tree_9756020(makeNimstrLit("DIV"), [])); + } + + F.line = 262; + togglevis_9835333(document.getElementById("toc-list")); + framePtr = F.prev; + + } -var db_162535 = [null]; -var contents_162537 = [null]; -var oldtoc_162961 = [null]; -var timer_162962 = [null]; +var db_9835528 = [null]; +var contents_9835530 = [null]; +var oldtoc_9845403 = [null]; +var timer_9845404 = [null]; function raiseRangeError() { - var eHEX60gensym22457_22603 = null; - eHEX60gensym22457_22603 = {m_type: NTI3662, parent: null, name: null, message: null, trace: null, raiseId: 0, up: null}; - eHEX60gensym22457_22603.message = nimCopy(null, makeNimstrLit("value out of range"), NTI138); - eHEX60gensym22457_22603.parent = null; - raiseException(eHEX60gensym22457_22603, "RangeError"); + raiseException({message: makeNimstrLit("value out of range"), parent: null, m_type: NTI6098, name: null, trace: null, up: null}, "RangeError"); - + } -function nsuToLowerAsciiChar(c_149380) { - var result_149381 = 0; +function nsuToLowerAsciiChar(c_8730023) { + var result_8730024 = 0; - var F={procname:"strutils.toLowerAscii",prev:framePtr,filename:"strutils.nim",line:0}; - framePtr = F; - if ((ConstSet2[c_149380] != undefined)) { - F.line = 222; - result_149381 = chckRange(addInt(c_149380, 32), 0, 255); - } - else { - F.line = 224; - result_149381 = c_149380; - } - - framePtr = F.prev; + var F={procname:"strutils.toLowerAscii",prev:framePtr,filename:"strutils.nim",line:0}; + framePtr = F; + if ((ConstSet2[c_8730023] != undefined)) { + F.line = 209; + result_8730024 = chckRange(addInt(c_8730023, 32), 0, 255); + } + else { + F.line = 211; + result_8730024 = c_8730023; + } + + framePtr = F.prev; - return result_149381; + return result_8730024; } -function fuzzy_match_160070(pattern_160072, str_160073) { - var Tmp4; - var Tmp5; - var Tmp6; - - var result_160077 = {Field0: 0, Field1: false}; - - var F={procname:"fuzzysearch.fuzzyMatch",prev:framePtr,filename:"fuzzysearch.nim",line:0}; - framePtr = F; - F.line = 37; - var score_state_160078 = -100; - F.line = 38; - var header_matched_160079 = false; - F.line = 39; - var unmatched_leading_char_count_160081 = 0; - F.line = 40; - var consecutive_match_count_160083 = 0; - F.line = 41; - var str_index_160085 = 0; - F.line = 42; - var pat_index_160087 = 0; - F.line = 43; - var score_160089 = 0; - L1: do { - F.line = 49; - L2: while (true) { - if (!((str_index_160085 < (str_160073 != null ? str_160073.length : 0)) && (pat_index_160087 < (pattern_160072 != null ? pattern_160072.length : 0)))) break L2; - L3: do { - F.line = 51; - var pattern_char_160095 = nsuToLowerAsciiChar(pattern_160072.charCodeAt(chckIndx(pat_index_160087, 0, (pattern_160072 != null ? pattern_160072.length : 0)+0-1)-0)); - F.line = 52; - var str_char_160096 = nsuToLowerAsciiChar(str_160073.charCodeAt(chckIndx(str_index_160085, 0, (str_160073 != null ? str_160073.length : 0)+0-1)-0)); - if ((ConstSet3[pattern_char_160095] != undefined)) { - F.line = 56; - pat_index_160087 = addInt(pat_index_160087, 1); - F.line = 57; - break L3; - } - - if ((ConstSet4[str_char_160096] != undefined)) { - F.line = 59; - str_index_160085 = addInt(str_index_160085, 1); - F.line = 60; - break L3; - } - - if ((!(header_matched_160079) && (str_char_160096 == 58))) { - F.line = 65; - header_matched_160079 = true; - F.line = 66; - score_state_160078 = -100; - F.line = 67; - score_160089 = ((Math.floor((5.0000000000000000e-01 * score_160089)))|0); - F.line = 68; - pat_index_160087 = 0; - F.line = 69; - str_index_160085 = addInt(str_index_160085, 1); - F.line = 70; - break L3; - } - - if ((str_char_160096 == pattern_char_160095)) { - F.line = 73; - switch (score_state_160078) { - case -100: - case 20: - F.line = 75; - score_state_160078 = 10; - break; - case 0: - F.line = 78; - score_state_160078 = 5; - F.line = 78; - score_160089 = addInt(score_160089, score_state_160078); - break; - case 10: - case 5: - F.line = 81; - consecutive_match_count_160083 = addInt(consecutive_match_count_160083, 1); - F.line = 82; - score_state_160078 = 5; - F.line = 83; - score_160089 = addInt(score_160089, mulInt(5, consecutive_match_count_160083)); - if ((score_state_160078 == 10)) { - F.line = 86; - score_160089 = addInt(score_160089, 10); - } - - F.line = 88; - var on_boundary_160171 = (pat_index_160087 == (pattern_160072 != null ? (pattern_160072.length-1) : -1)); - if ((!(on_boundary_160171) && (str_index_160085 < (str_160073 != null ? (str_160073.length-1) : -1)))) { - F.line = 91; - var next_pattern_char_160172 = nsuToLowerAsciiChar(pattern_160072.charCodeAt(chckIndx(addInt(pat_index_160087, 1), 0, (pattern_160072 != null ? pattern_160072.length : 0)+0-1)-0)); - F.line = 92; - var next_str_char_160173 = nsuToLowerAsciiChar(str_160073.charCodeAt(chckIndx(addInt(str_index_160085, 1), 0, (str_160073 != null ? str_160073.length : 0)+0-1)-0)); - F.line = 95; - if (!!((ConstSet5[next_str_char_160173] != undefined))) Tmp4 = false; else { Tmp4 = !((next_str_char_160173 == next_pattern_char_160172)); } on_boundary_160171 = Tmp4; - } - - if (on_boundary_160171) { - F.line = 100; - score_state_160078 = 20; - F.line = 100; - score_160089 = addInt(score_160089, score_state_160078); - } - - break; - case -1: - case -3: - F.line = 103; - if (!((ConstSet6[str_160073.charCodeAt(chckIndx(subInt(str_index_160085, 1), 0, (str_160073 != null ? str_160073.length : 0)+0-1)-0)] != undefined))) Tmp5 = true; else { if (!(ConstSet7[str_160073.charCodeAt(chckIndx(subInt(str_index_160085, 1), 0, (str_160073 != null ? str_160073.length : 0)+0-1)-0)] != undefined)) Tmp6 = false; else { Tmp6 = (ConstSet8[str_160073.charCodeAt(chckIndx(str_index_160085, 0, (str_160073 != null ? str_160073.length : 0)+0-1)-0)] != undefined); } Tmp5 = Tmp6; } var is_leading_char_160211 = Tmp5; - if (is_leading_char_160211) { - F.line = 110; - score_state_160078 = 10; - } - else { - F.line = 114; - score_state_160078 = 0; - F.line = 114; - score_160089 = addInt(score_160089, score_state_160078); - } - - break; - } - F.line = 115; - pat_index_160087 = addInt(pat_index_160087, 1); - } - else { - F.line = 118; - switch (score_state_160078) { - case -100: - F.line = 120; - score_state_160078 = -3; - F.line = 120; - score_160089 = addInt(score_160089, score_state_160078); - break; - case 5: - F.line = 123; - score_state_160078 = -1; - F.line = 123; - score_160089 = addInt(score_160089, score_state_160078); - F.line = 124; - consecutive_match_count_160083 = 0; - break; - case -3: - if ((unmatched_leading_char_count_160081 < 3)) { - F.line = 128; - score_state_160078 = -3; - F.line = 128; - score_160089 = addInt(score_160089, score_state_160078); - } - - F.line = 129; - unmatched_leading_char_count_160081 = addInt(unmatched_leading_char_count_160081, 1); - break; - default: - F.line = 132; - score_state_160078 = -1; - F.line = 132; - score_160089 = addInt(score_160089, score_state_160078); - break; - } - } - - F.line = 134; - str_index_160085 = addInt(str_index_160085, 1); - } while(false); - } - } while(false); - F.line = 137; - var colontmp__163067 = nimMax(0, score_160089); - F.line = 138; - var colontmp__163068 = (0 < score_160089); - F.line = 136; - nimCopy(result_160077, {Field0: colontmp__163067, Field1: colontmp__163068}, NTI160074); - framePtr = F.prev; - - return result_160077; +function fuzzy_match_9681054(pattern_9681056, str_9681057) { + var Tmp4; + var Tmp5; + var Tmp6; + + var result_9681061 = {Field0: 0, Field1: false}; + + var F={procname:"fuzzysearch.fuzzyMatch",prev:framePtr,filename:"fuzzysearch.nim",line:0}; + framePtr = F; + F.line = 36; + var score_state_9681062 = -100; + F.line = 37; + var header_matched_9681063 = false; + F.line = 38; + var unmatched_leading_char_count_9681065 = 0; + F.line = 39; + var consecutive_match_count_9681067 = 0; + F.line = 40; + var str_index_9681069 = 0; + F.line = 41; + var pat_index_9681071 = 0; + F.line = 42; + var score_9681073 = 0; + L1: do { + F.line = 48; + L2: while (true) { + if (!((str_index_9681069 < (str_9681057 != null ? str_9681057.length : 0)) && (pat_index_9681071 < (pattern_9681056 != null ? pattern_9681056.length : 0)))) break L2; + L3: do { + F.line = 50; + var pattern_char_9681079 = nsuToLowerAsciiChar(pattern_9681056.charCodeAt(chckIndx(pat_index_9681071, 0, (pattern_9681056 != null ? pattern_9681056.length : 0)+0-1)-0)); + F.line = 51; + var str_char_9681080 = nsuToLowerAsciiChar(str_9681057.charCodeAt(chckIndx(str_index_9681069, 0, (str_9681057 != null ? str_9681057.length : 0)+0-1)-0)); + if ((ConstSet3[pattern_char_9681079] != undefined)) { + F.line = 55; + pat_index_9681071 = addInt(pat_index_9681071, 1); + F.line = 56; + break L3; + } + + if ((ConstSet4[str_char_9681080] != undefined)) { + F.line = 58; + str_index_9681069 = addInt(str_index_9681069, 1); + F.line = 59; + break L3; + } + + if ((!(header_matched_9681063) && (str_char_9681080 == 58))) { + F.line = 64; + header_matched_9681063 = true; + F.line = 65; + score_state_9681062 = -100; + F.line = 66; + score_9681073 = ((Math.floor((5.0000000000000000e-01 * score_9681073)))|0); + F.line = 67; + pat_index_9681071 = 0; + F.line = 68; + str_index_9681069 = addInt(str_index_9681069, 1); + F.line = 69; + break L3; + } + + if ((str_char_9681080 == pattern_char_9681079)) { + F.line = 72; + switch (score_state_9681062) { + case -100: + case 20: + F.line = 74; + score_state_9681062 = 10; + break; + case 0: + F.line = 77; + score_state_9681062 = 5; + F.line = 77; + score_9681073 = addInt(score_9681073, score_state_9681062); + break; + case 10: + case 5: + F.line = 80; + consecutive_match_count_9681067 = addInt(consecutive_match_count_9681067, 1); + F.line = 81; + score_state_9681062 = 5; + F.line = 82; + score_9681073 = addInt(score_9681073, mulInt(5, consecutive_match_count_9681067)); + if ((score_state_9681062 == 10)) { + F.line = 85; + score_9681073 = addInt(score_9681073, 10); + } + + F.line = 87; + var on_boundary_9695042 = (pat_index_9681071 == (pattern_9681056 != null ? (pattern_9681056.length-1) : -1)); + if ((!(on_boundary_9695042) && (str_index_9681069 < (str_9681057 != null ? (str_9681057.length-1) : -1)))) { + F.line = 90; + var next_pattern_char_9695043 = nsuToLowerAsciiChar(pattern_9681056.charCodeAt(chckIndx(addInt(pat_index_9681071, 1), 0, (pattern_9681056 != null ? pattern_9681056.length : 0)+0-1)-0)); + F.line = 91; + var next_str_char_9695044 = nsuToLowerAsciiChar(str_9681057.charCodeAt(chckIndx(addInt(str_index_9681069, 1), 0, (str_9681057 != null ? str_9681057.length : 0)+0-1)-0)); + F.line = 94; + if (!!((ConstSet5[next_str_char_9695044] != undefined))) Tmp4 = false; else { Tmp4 = !((next_str_char_9695044 == next_pattern_char_9695043)); } on_boundary_9695042 = Tmp4; + } + + if (on_boundary_9695042) { + F.line = 99; + score_state_9681062 = 20; + F.line = 99; + score_9681073 = addInt(score_9681073, score_state_9681062); + } + + break; + case -1: + case -3: + F.line = 102; + if (!((ConstSet6[str_9681057.charCodeAt(chckIndx(subInt(str_index_9681069, 1), 0, (str_9681057 != null ? str_9681057.length : 0)+0-1)-0)] != undefined))) Tmp5 = true; else { if (!(ConstSet7[str_9681057.charCodeAt(chckIndx(subInt(str_index_9681069, 1), 0, (str_9681057 != null ? str_9681057.length : 0)+0-1)-0)] != undefined)) Tmp6 = false; else { Tmp6 = (ConstSet8[str_9681057.charCodeAt(chckIndx(str_index_9681069, 0, (str_9681057 != null ? str_9681057.length : 0)+0-1)-0)] != undefined); } Tmp5 = Tmp6; } var is_leading_char_9725008 = Tmp5; + if (is_leading_char_9725008) { + F.line = 109; + score_state_9681062 = 10; + } + else { + F.line = 113; + score_state_9681062 = 0; + F.line = 113; + score_9681073 = addInt(score_9681073, score_state_9681062); + } + + break; + } + F.line = 114; + pat_index_9681071 = addInt(pat_index_9681071, 1); + } + else { + F.line = 117; + switch (score_state_9681062) { + case -100: + F.line = 119; + score_state_9681062 = -3; + F.line = 119; + score_9681073 = addInt(score_9681073, score_state_9681062); + break; + case 5: + F.line = 122; + score_state_9681062 = -1; + F.line = 122; + score_9681073 = addInt(score_9681073, score_state_9681062); + F.line = 123; + consecutive_match_count_9681067 = 0; + break; + case -3: + if ((unmatched_leading_char_count_9681065 < 3)) { + F.line = 127; + score_state_9681062 = -3; + F.line = 127; + score_9681073 = addInt(score_9681073, score_state_9681062); + } + + F.line = 128; + unmatched_leading_char_count_9681065 = addInt(unmatched_leading_char_count_9681065, 1); + break; + default: + F.line = 131; + score_state_9681062 = -1; + F.line = 131; + score_9681073 = addInt(score_9681073, score_state_9681062); + break; + } + } + + F.line = 133; + str_index_9681069 = addInt(str_index_9681069, 1); + } while(false); + } + } while(false); + F.line = 136; + var colontmp__9855060 = nimMax(0, score_9681073); + F.line = 137; + var colontmp__9855061 = (0 < score_9681073); + F.line = 135; + nimCopy(result_9681061, {Field0: colontmp__9855060, Field1: colontmp__9855061}, NTI9681058); + framePtr = F.prev; + + return result_9681061; } -function text_161120(s_161122) { - var result_161123 = null; +function text_9756135(s_9756137) { + var result_9756138 = null; - var F={procname:"dochack.text",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - F.line = 26; - result_161123 = document.createTextNode(toJSStr(s_161122)); - framePtr = F.prev; + var F={procname:"dochack.text",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + F.line = 26; + result_9756138 = document.createTextNode(toJSStr(s_9756137)); + framePtr = F.prev; - return result_161123; + return result_9756138; } -function dosearch_162554(value_162556) { +function dosearch_9835547(value_9835549) { - function HEX3Aanonymous_162873(a_162882, b_162883) { - var result_162887 = 0; + function HEX3Aanonymous_9845273(a_9845282, b_9845283) { + var result_9845287 = 0; - var F={procname:"dosearch.:anonymous",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - F.line = 305; - result_162887 = subInt(b_162883["Field1"], a_162882["Field1"]); - framePtr = F.prev; + var F={procname:"dosearch.:anonymous",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + F.line = 305; + result_9845287 = subInt(b_9845283["Field1"], a_9845282["Field1"]); + framePtr = F.prev; - return result_162887; + return result_9845287; - } + } - var result_162557 = null; + var result_9835550 = null; - var F={procname:"dochack.dosearch",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - if (((db_162535[0] != null ? db_162535[0].length : 0) == 0)) { - F.line = 272; - var stuff_162563 = null; - F.line = 273; - var request = new XMLHttpRequest(); + var F={procname:"dochack.dosearch",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + if (((db_9835528[0] != null ? db_9835528[0].length : 0) == 0)) { + F.line = 272; + var stuff_9835556 = null; + F.line = 273; + var request = new XMLHttpRequest(); request.open("GET", "theindex.html", false); request.send(null); @@ -1854,177 +1841,171 @@ function dosearch_162554(value_162556) { //parser=new DOMParser(); //doc=parser.parseFromString("<html></html>", "text/html"); - stuff_162563 = doc.documentElement; + stuff_9835556 = doc.documentElement; - F.line = 286; - db_162535[0] = nimCopy(null, stuff_162563.getElementsByClassName("reference"), NTI44305); - F.line = 287; - contents_162537[0] = nimCopy(null, [], NTI162578); - L1: do { - F.line = 288; - var ahref_162814 = null; - F.line = 184; - var i_163045 = 0; - F.line = 185; - var l_163046 = (db_162535[0] != null ? db_162535[0].length : 0); - L2: do { - F.line = 186; - L3: while (true) { - if (!(i_163045 < l_163046)) break L3; - F.line = 288; - ahref_162814 = db_162535[0][chckIndx(i_163045, 0, (db_162535[0] != null ? db_162535[0].length : 0)+0-1)-0]; - F.line = 289; - if (contents_162537[0] != null) { contents_162537[0].push(ahref_162814.getAttribute("data-doc-search-tag")); } else { contents_162537[0] = [ahref_162814.getAttribute("data-doc-search-tag")]; }; - F.line = 188; - i_163045 = addInt(i_163045, 1); - if (!(((db_162535[0] != null ? db_162535[0].length : 0) == l_163046))) { - F.line = 189; - failed_assert_impl_15266(makeNimstrLit("/home/genotrance/.choosenim/toolchains/nim-1.0.4/lib/system/iterators.nim(189, 11) `len(a) == L` the length of the seq changed while iterating over it")); - } - - } - } while(false); - } while(false); - } - - F.line = 290; - var ul_162825 = tree_161020(makeNimstrLit("UL"), []); - F.line = 291; - result_162557 = tree_161020(makeNimstrLit("DIV"), []); - F.line = 292; - set_class_161103(result_162557, makeNimstrLit("search_results")); - F.line = 293; - var matches_162846 = []; - L4: do { - F.line = 294; - var i_162859 = 0; - F.line = 2737; - var colontmp__163052 = 0; - F.line = 294; - colontmp__163052 = (db_162535[0] != null ? db_162535[0].length : 0); - F.line = 2739; - var i_163053 = 0; - L5: do { - F.line = 2740; - L6: while (true) { - if (!(i_163053 < colontmp__163052)) break L6; - F.line = 294; - i_162859 = i_163053; - L7: do { - F.line = 295; - var c_162860 = contents_162537[0][chckIndx(i_162859, 0, (contents_162537[0] != null ? contents_162537[0].length : 0)+0-1)-0]; - if (((c_162860 == "Examples") || (c_162860 == "PEG construction"))) { - F.line = 300; - break L7; - } - - F.line = 301; - var colontmp__163062 = {Field0: 0, Field1: false}; - F.line = 301; - var score_162861 = 0; - F.line = 301; - var matched_162862 = false; - F.line = 301; - nimCopy(colontmp__163062, fuzzy_match_160070(value_162556, c_162860), NTI160074); - F.line = 301; - score_162861 = colontmp__163062["Field0"]; - F.line = 301; - matched_162862 = colontmp__163062["Field1"]; - if (matched_162862) { - F.line = 303; - if (matches_162846 != null) { matches_162846.push({Field0: db_162535[0][chckIndx(i_162859, 0, (db_162535[0] != null ? db_162535[0].length : 0)+0-1)-0], Field1: score_162861}); } else { matches_162846 = [{Field0: db_162535[0][chckIndx(i_162859, 0, (db_162535[0] != null ? db_162535[0].length : 0)+0-1)-0], Field1: score_162861}]; }; - } - - } while(false); - F.line = 2742; - i_163053 = addInt(i_163053, 1); - } - } while(false); - } while(false); - F.line = 305; - matches_162846.sort(HEX3Aanonymous_162873); - L8: do { - F.line = 306; - var i_162926 = 0; - F.line = 2737; - var colontmp__163058 = 0; - F.line = 306; - colontmp__163058 = nimMin((matches_162846 != null ? matches_162846.length : 0), 19); - F.line = 2739; - var i_163059 = 0; - L9: do { - F.line = 2740; - L10: while (true) { - if (!(i_163059 < colontmp__163058)) break L10; - F.line = 306; - i_162926 = i_163059; - F.line = 307; - matches_162846[chckIndx(i_162926, 0, (matches_162846 != null ? matches_162846.length : 0)+0-1)-0]["Field0"].innerHTML = matches_162846[chckIndx(i_162926, 0, (matches_162846 != null ? matches_162846.length : 0)+0-1)-0]["Field0"].getAttribute("data-doc-search-tag"); - F.line = 308; - add_161085(ul_162825, tree_161020(makeNimstrLit("LI"), [matches_162846[chckIndx(i_162926, 0, (matches_162846 != null ? matches_162846.length : 0)+0-1)-0]["Field0"]])); - F.line = 2742; - i_163059 = addInt(i_163059, 1); - } - } while(false); - } while(false); - if ((ul_162825.childNodes.length == 0)) { - F.line = 310; - add_161085(result_162557, tree_161020(makeNimstrLit("B"), [text_161120(makeNimstrLit("no search results"))])); - } - else { - F.line = 312; - add_161085(result_162557, tree_161020(makeNimstrLit("B"), [text_161120(makeNimstrLit("search results"))])); - F.line = 313; - add_161085(result_162557, ul_162825); - } - - framePtr = F.prev; - - return result_162557; + F.line = 286; + db_9835528[0] = nimCopy(null, stuff_9835556.getElementsByClassName("reference"), NTI624105); + F.line = 287; + contents_9835530[0] = nimCopy(null, [], NTI9835571); + L1: do { + F.line = 288; + var ahref_9845214 = null; + F.line = 184; + var i_9855040 = 0; + F.line = 185; + var l_9855041 = (db_9835528[0] != null ? db_9835528[0].length : 0); + L2: do { + F.line = 186; + L3: while (true) { + if (!(i_9855040 < l_9855041)) break L3; + F.line = 288; + ahref_9845214 = db_9835528[0][chckIndx(i_9855040, 0, (db_9835528[0] != null ? db_9835528[0].length : 0)+0-1)-0]; + F.line = 289; + if (contents_9835530[0] != null) { contents_9835530[0].push(ahref_9845214.getAttribute("data-doc-search-tag")); } else { contents_9835530[0] = [ahref_9845214.getAttribute("data-doc-search-tag")]; }; + F.line = 188; + i_9855040 = addInt(i_9855040, 1); + if (!(((db_9835528[0] != null ? db_9835528[0].length : 0) == l_9855041))) { + F.line = 189; + failed_assert_impl_102680(makeNimstrLit("/home/genotrance/.choosenim/toolchains/nim-#devel/lib/system/iterators.nim(189, 11) `len(a) == L` the length of the seq changed while iterating over it")); + } + + } + } while(false); + } while(false); + } + + F.line = 290; + var ul_9845225 = tree_9756020(makeNimstrLit("UL"), []); + F.line = 291; + result_9835550 = tree_9756020(makeNimstrLit("DIV"), []); + F.line = 292; + set_class_9756118(result_9835550, makeNimstrLit("search_results")); + F.line = 293; + var matches_9845246 = []; + L4: do { + F.line = 294; + var i_9845259 = 0; + F.line = 104; + var colontmp__9855047 = 0; + F.line = 294; + colontmp__9855047 = (db_9835528[0] != null ? db_9835528[0].length : 0); + F.line = 106; + var i_9855048 = 0; + L5: do { + F.line = 107; + L6: while (true) { + if (!(i_9855048 < colontmp__9855047)) break L6; + F.line = 294; + i_9845259 = i_9855048; + L7: do { + F.line = 295; + var c_9845260 = contents_9835530[0][chckIndx(i_9845259, 0, (contents_9835530[0] != null ? contents_9835530[0].length : 0)+0-1)-0]; + if (((c_9845260 == "Examples") || (c_9845260 == "PEG construction"))) { + F.line = 300; + break L7; + } + + F.line = 301; + var colontmp__9855055 = fuzzy_match_9681054(value_9835549, c_9845260); + F.line = 301; + var score_9845261 = colontmp__9855055["Field0"]; + F.line = 301; + var matched_9845262 = colontmp__9855055["Field1"]; + if (matched_9845262) { + F.line = 303; + if (matches_9845246 != null) { matches_9845246.push({Field0: db_9835528[0][chckIndx(i_9845259, 0, (db_9835528[0] != null ? db_9835528[0].length : 0)+0-1)-0], Field1: score_9845261}); } else { matches_9845246 = [{Field0: db_9835528[0][chckIndx(i_9845259, 0, (db_9835528[0] != null ? db_9835528[0].length : 0)+0-1)-0], Field1: score_9845261}]; }; + } + + } while(false); + F.line = 109; + i_9855048 = addInt(i_9855048, 1); + } + } while(false); + } while(false); + F.line = 305; + matches_9845246.sort(HEX3Aanonymous_9845273); + L8: do { + F.line = 306; + var i_9845326 = 0; + F.line = 104; + var colontmp__9855052 = 0; + F.line = 306; + colontmp__9855052 = nimMin((matches_9845246 != null ? matches_9845246.length : 0), 19); + F.line = 106; + var i_9855053 = 0; + L9: do { + F.line = 107; + L10: while (true) { + if (!(i_9855053 < colontmp__9855052)) break L10; + F.line = 306; + i_9845326 = i_9855053; + F.line = 307; + matches_9845246[chckIndx(i_9845326, 0, (matches_9845246 != null ? matches_9845246.length : 0)+0-1)-0]["Field0"].innerHTML = matches_9845246[chckIndx(i_9845326, 0, (matches_9845246 != null ? matches_9845246.length : 0)+0-1)-0]["Field0"].getAttribute("data-doc-search-tag"); + F.line = 308; + add_9756100(ul_9845225, tree_9756020(makeNimstrLit("LI"), [matches_9845246[chckIndx(i_9845326, 0, (matches_9845246 != null ? matches_9845246.length : 0)+0-1)-0]["Field0"]])); + F.line = 109; + i_9855053 = addInt(i_9855053, 1); + } + } while(false); + } while(false); + if ((ul_9845225.childNodes.length == 0)) { + F.line = 310; + add_9756100(result_9835550, tree_9756020(makeNimstrLit("B"), [text_9756135(makeNimstrLit("no search results"))])); + } + else { + F.line = 312; + add_9756100(result_9835550, tree_9756020(makeNimstrLit("B"), [text_9756135(makeNimstrLit("search results"))])); + F.line = 313; + add_9756100(result_9835550, ul_9845225); + } + + framePtr = F.prev; + + return result_9835550; } function search() { - function wrapper_162993() { - var F={procname:"search.wrapper",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - F.line = 320; - var elem_162995 = document.getElementById("searchInput"); - F.line = 321; - var value_162996 = elem_162995.value; - if (!(((value_162996 != null ? value_162996.length : 0) == 0))) { - if ((oldtoc_162961[0] == null)) { - F.line = 324; - oldtoc_162961[0] = document.getElementById("tocRoot"); - } - - F.line = 325; - var results_163002 = dosearch_162554(value_162996); - F.line = 326; - replace_by_id_161172("tocRoot", results_163002); - } - else { - if (!((oldtoc_162961[0] == null))) { - F.line = 328; - replace_by_id_161172("tocRoot", oldtoc_162961[0]); - } - } - framePtr = F.prev; - - - } - - var F={procname:"dochack.search",prev:framePtr,filename:"dochack.nim",line:0}; - framePtr = F; - if (!((timer_162962[0] == null))) { - F.line = 330; - clearTimeout(timer_162962[0]); - } - - F.line = 331; - timer_162962[0] = setTimeout(wrapper_162993, 400); - framePtr = F.prev; - - + function wrapper_9845435() { + var F={procname:"search.wrapper",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + F.line = 320; + var elem_9845437 = document.getElementById("searchInput"); + F.line = 321; + var value_9845438 = elem_9845437.value; + if (!(((value_9845438 != null ? value_9845438.length : 0) == 0))) { + if ((oldtoc_9845403[0] == null)) { + F.line = 324; + oldtoc_9845403[0] = document.getElementById("tocRoot"); + } + + F.line = 325; + var results_9850006 = dosearch_9835547(value_9845438); + F.line = 326; + replace_by_id_9756172("tocRoot", results_9850006); + } + else { + if (!((oldtoc_9845403[0] == null))) { + F.line = 328; + replace_by_id_9756172("tocRoot", oldtoc_9845403[0]); + } + } + framePtr = F.prev; + + + } + + var F={procname:"dochack.search",prev:framePtr,filename:"dochack.nim",line:0}; + framePtr = F; + if (!((timer_9845404[0] == null))) { + F.line = 330; + clearTimeout(timer_9845404[0]); + } + + F.line = 331; + timer_9845404[0] = setTimeout(wrapper_9845435, 400); + framePtr = F.prev; + + } diff --git a/docs.html b/docs.html new file mode 100644 index 0000000..d7955c5 --- /dev/null +++ b/docs.html @@ -0,0 +1,152 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- This file is generated by Nim. --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<!-- Favicon --> +<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/> +<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII="> + +<!-- Google fonts --> +<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/> +<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/> + +<!-- CSS --> +<title>docs</title> +<link rel="stylesheet" type="text/css" href="nimdoc.out.css"> + +<script type="text/javascript" src="dochack.js"></script> + +<script type="text/javascript"> +function main() { + var pragmaDots = document.getElementsByClassName("pragmadots"); + for (var i = 0; i < pragmaDots.length; i++) { + pragmaDots[i].onclick = function(event) { + // Hide tease + event.target.parentNode.style.display = "none"; + // Show actual + event.target.parentNode.nextElementSibling.style.display = "inline"; + } + } + + const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]'); + function switchTheme(e) { + if (e.target.checked) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', 'light'); + localStorage.setItem('theme', 'light'); + } + } + + toggleSwitch.addEventListener('change', switchTheme, false); + + + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-theme', "dark"); + toggleSwitch.checked = true; + } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-theme', "light"); + toggleSwitch.checked = false; + } else { + const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null; + if (currentTheme) { + document.documentElement.setAttribute('data-theme', currentTheme); + + if (currentTheme === 'dark') { + toggleSwitch.checked = true; + } + } + } +} +</script> + +</head> +<body onload="main()"> +<div class="document" id="documentId"> + <div class="container"> + <h1 class="title">docs</h1> + <div class="row"> + <div class="three columns"> + <div class="theme-switch-wrapper"> + <label class="theme-switch" for="checkbox"> + <input type="checkbox" id="checkbox" /> + <div class="slider round"></div> + </label> + <em>Dark Mode</em> + </div> + <div id="global-links"> + <ul class="simple"> + </ul> + </div> + <div id="searchInputDiv"> + Search: <input type="text" id="searchInput" + onkeyup="search()" /> + </div> + <div> + Group by: + <select onchange="groupBy(this.value)"> + <option value="section">Section</option> + <option value="type">Type</option> + </select> + </div> + <ul class="simple simple-toc" id="toc-list"> +<li> + <a class="reference reference-toplevel" href="#12" id="62">Procs</a> + <ul class="simple simple-toc-section"> + <li><a class="reference" href="#buildDocs%2CopenArray%5Bstring%5D%2Cstring%2CopenArray%5Bstring%5D" + title="buildDocs(files: openArray[string]; path: string; baseDir = getProjectPath() & "/"; + defines: openArray[string] = @[])"><wbr />build<wbr />Docs<span class="attachedType"></span></a></li> + + </ul> +</li> + +</ul> + + </div> + <div class="nine columns" id="content"> + <div id="tocRoot"></div> + + <p class="module-desc"></p> + <div class="section" id="12"> +<h1><a class="toc-backref" href="#12">Procs</a></h1> +<dl class="item"> +<a id="buildDocs,openArray[string],string,openArray[string]"></a> +<dt><pre><span class="Keyword">proc</span> <a href="#buildDocs%2CopenArray%5Bstring%5D%2Cstring%2CopenArray%5Bstring%5D"><span class="Identifier">buildDocs</span></a><span class="Other">(</span><span class="Identifier">files</span><span class="Other">:</span> <span class="Identifier">openArray</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> + <span class="Identifier">baseDir</span> <span class="Other">=</span> <span class="Identifier">getProjectPath</span><span class="Other">(</span><span class="Other">)</span> <span class="Operator">&</span> <span class="StringLit">"/"</span><span class="Other">;</span> <span class="Identifier">defines</span><span class="Other">:</span> <span class="Identifier">openArray</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span> <span class="Other">=</span> <span class="Operator">@</span><span class="Other">[</span><span class="Other">]</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"> + <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadIOEffect</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> +<dd> + +<p>Generate docs for all specified nim <tt class="docutils literal"><span class="pre">files</span></tt> to the specified <tt class="docutils literal"><span class="pre">path</span></tt></p> +<p><tt class="docutils literal"><span class="pre">baseDir</span></tt> is the project path by default and <tt class="docutils literal"><span class="pre">files</span></tt> and <tt class="docutils literal"><span class="pre">path</span></tt> are relative to that directory. Set to "" if using absolute paths.</p> +<p><tt class="docutils literal"><span class="pre">defines</span></tt> is a list of <tt class="docutils literal"><span class="pre">-d:xxx</span></tt> define flags (the <tt class="docutils literal"><span class="pre">xxx</span></tt> part) that should be passed to <tt class="docutils literal"><span class="pre">nim doc</span></tt> so that <tt class="docutils literal"><span class="pre">getHeader()</span></tt> is invoked correctly.</p> +<p>Use the <tt class="docutils literal"><span class="pre">--publish</span></tt> flag with nimble to publish docs contained in <tt class="docutils literal"><span class="pre">path</span></tt> to Github in the <tt class="docutils literal"><span class="pre">gh-pages</span></tt> branch. This requires the ghp-import package for Python: <tt class="docutils literal"><span class="pre">pip install ghp-import</span></tt></p> +<p>WARNING: <tt class="docutils literal"><span class="pre">--publish</span></tt> will destroy any existing content in this branch.</p> +<p>NOTE: <tt class="docutils literal"><span class="pre">buildDocs()</span></tt> only works correctly on Windows with Nim 1.0+ since <a class="reference external" href="https://github.com/nim-lang/Nim/pull/11814">https://github.com/nim-lang/Nim/pull/11814</a> is required.</p> + + +</dd> + +</dl></div> + + </div> +</div> + + <div class="row"> + <div class="twelve-columns footer"> + <span class="nim-sprite"></span> + <br/> + <small style="color: var(--hint);">Made with Nim. Generated: 2020-03-24 20:54:10 UTC</small> + </div> + </div> + </div> +</div> + +</body> +</html> diff --git a/docs.idx b/docs.idx new file mode 100644 index 0000000..e494dcb --- /dev/null +++ b/docs.idx @@ -0,0 +1 @@ +buildDocs docs.html#buildDocs,openArray[string],string,openArray[string] docs: buildDocs(files: openArray[string]; path: string; baseDir = getProjectPath() & "/";\n defines: openArray[string] = @[]) diff --git a/nimdoc.out.css b/nimdoc.out.css new file mode 100644 index 0000000..4ee73ea --- /dev/null +++ b/nimdoc.out.css @@ -0,0 +1,891 @@ +/*
+Stylesheet for use with Docutils/rst2html.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+
+Modified from Chad Skeeters' rst2html-style
+https://bitbucket.org/cskeeters/rst2html-style/
+
+Modified by Boyd Greenfield and narimiran
+*/
+
+:root {
+ --primary-background: #fff;
+ --secondary-background: ghostwhite;
+ --third-background: #e8e8e8;
+ --border: #dde;
+ --text: #222;
+ --anchor: #07b;
+ --anchor-focus: #607c9f;
+ --input-focus: #1fa0eb;
+ --strong: #3c3c3c;
+ --hint: #9A9A9A;
+ --nim-sprite-base64: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAN4AAAA9CAYAAADCt9ebAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTEyLTAzVDAxOjAzOjQ4KzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0xMi0wM1QwMjoyODo0MSswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMi0wM1QwMjoyODo0MSswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMzM0ZjAxYS0yMDExLWE1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");
+
+ --keyword: #5e8f60;
+ --identifier: #222;
+ --comment: #484a86;
+ --operator: #155da4;
+ --punctuation: black;
+ --other: black;
+ --escapeSequence: #c4891b;
+ --number: #252dbe;
+ --literal: #a4255b;
+ --raw-data: #a4255b;
+}
+
+[data-theme="dark"] {
+ --primary-background: #171921;
+ --secondary-background: #1e202a;
+ --third-background: #2b2e3b;
+ --border: #0e1014;
+ --text: #fff;
+ --anchor: #8be9fd;
+ --anchor-focus: #8be9fd;
+ --input-focus: #8be9fd;
+ --strong: #bd93f9;
+ --hint: #7A7C85;
+ --nim-sprite-base64: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARMAAABMCAYAAABOBlMuAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTEyLTAzVDAxOjE4OjIyKzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0xMi0wM1QwMToyMDoxMCswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMi0wM1QwMToyMDoxMCswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDplZGViMzU3MC1iNmZjLWQy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");
+
+ --keyword: #ff79c6;
+ --identifier: #f8f8f2;
+ --comment: #6272a4;
+ --operator: #ff79c6;
+ --punctuation: #f8f8f2;
+ --other: #f8f8f2;
+ --escapeSequence: #bd93f9;
+ --number: #bd93f9;
+ --literal: #f1fa8c;
+ --raw-data: #8be9fd;
+}
+
+.theme-switch-wrapper {
+ display: flex;
+ align-items: center;
+
+ em {
+ margin-left: 10px;
+ font-size: 1rem;
+ }
+}
+.theme-switch {
+ display: inline-block;
+ height: 22px;
+ position: relative;
+ width: 50px;
+}
+
+.theme-switch input {
+ display: none;
+}
+
+.slider {
+ background-color: #ccc;
+ bottom: 0;
+ cursor: pointer;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0;
+ transition: .4s;
+}
+
+.slider:before {
+ background-color: #fff;
+ bottom: 4px;
+ content: "";
+ height: 13px;
+ left: 4px;
+ position: absolute;
+ transition: .4s;
+ width: 13px;
+}
+
+input:checked + .slider {
+ background-color: #66bb6a;
+}
+
+input:checked + .slider:before {
+ transform: translateX(26px);
+}
+
+.slider.round {
+ border-radius: 17px;
+}
+
+.slider.round:before {
+ border-radius: 50%;
+}
+
+html {
+ font-size: 100%;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%; }
+
+body {
+ font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;
+ font-weight: 400;
+ font-size: 1.125em;
+ line-height: 1.5;
+ color: var(--text);
+ background-color: var(--primary-background); }
+
+/* Skeleton grid */
+.container {
+ position: relative;
+ width: 100%;
+ max-width: 1050px;
+ margin: 0 auto;
+ padding: 0;
+ box-sizing: border-box; }
+
+.column,
+.columns {
+ width: 100%;
+ float: left;
+ box-sizing: border-box;
+ margin-left: 1%;
+}
+
+.column:first-child,
+.columns:first-child {
+ margin-left: 0; }
+
+.three.columns {
+ width: 19%; }
+
+.nine.columns {
+ width: 80.0%; }
+
+.twelve.columns {
+ width: 100%;
+ margin-left: 0; }
+
+@media screen and (max-width: 860px) {
+ .three.columns {
+ display: none;
+ }
+ .nine.columns {
+ width: 98.0%;
+ }
+ body {
+ font-size: 1em;
+ line-height: 1.35;
+ }
+}
+
+cite {
+ font-style: italic !important; }
+
+
+/* Nim search input */
+div#searchInputDiv {
+ margin-bottom: 1em;
+}
+input#searchInput {
+ width: 80%;
+}
+
+/*
+ * Some custom formatting for input forms.
+ * This also fixes input form colors on Firefox with a dark system theme on Linux.
+ */
+input {
+ -moz-appearance: none;
+ background-color: var(--secondary-background);
+ color: var(--text);
+ border: 1px solid var(--border);
+ font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;
+ font-size: 0.9em;
+ padding: 6px;
+}
+
+input:focus {
+ border: 1px solid var(--input-focus);
+ box-shadow: 0 0 3px var(--input-focus);
+}
+
+select {
+ -moz-appearance: none;
+ background-color: var(--secondary-background);
+ color: var(--text);
+ border: 1px solid var(--border);
+ font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;
+ font-size: 0.9em;
+ padding: 6px;
+}
+
+select:focus {
+ border: 1px solid var(--input-focus);
+ box-shadow: 0 0 3px var(--input-focus);
+}
+
+/* Docgen styles */
+/* Links */
+a {
+ color: var(--anchor);
+ text-decoration: none;
+}
+
+a span.Identifier {
+ text-decoration: underline;
+ text-decoration-color: #aab;
+}
+
+a.reference-toplevel {
+ font-weight: bold;
+}
+
+a.toc-backref {
+ text-decoration: none;
+ color: var(--text); }
+
+a.link-seesrc {
+ color: #607c9f;
+ font-size: 0.9em;
+ font-style: italic; }
+
+a:hover,
+a:focus {
+ color: var(--anchor-focus);
+ text-decoration: underline; }
+
+a:hover span.Identifier {
+ color: var(--anchor);
+}
+
+
+sub,
+sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline; }
+
+sup {
+ top: -0.5em; }
+
+sub {
+ bottom: -0.25em; }
+
+img {
+ width: auto;
+ height: auto;
+ max-width: 100%;
+ vertical-align: middle;
+ border: 0;
+ -ms-interpolation-mode: bicubic; }
+
+@media print {
+ * {
+ color: black !important;
+ text-shadow: none !important;
+ background: transparent !important;
+ box-shadow: none !important; }
+
+ a,
+ a:visited {
+ text-decoration: underline; }
+
+ a[href]:after {
+ content: " (" attr(href) ")"; }
+
+ abbr[title]:after {
+ content: " (" attr(title) ")"; }
+
+ .ir a:after,
+ a[href^="javascript:"]:after,
+ a[href^="#"]:after {
+ content: ""; }
+
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid; }
+
+ thead {
+ display: table-header-group; }
+
+ tr,
+ img {
+ page-break-inside: avoid; }
+
+ img {
+ max-width: 100% !important; }
+
+ @page {
+ margin: 0.5cm; }
+
+ h1 {
+ page-break-before: always; }
+
+ h1.title {
+ page-break-before: avoid; }
+
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3; }
+
+ h2,
+ h3 {
+ page-break-after: avoid; }
+}
+
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+small {
+ font-size: 85%; }
+
+strong {
+ font-weight: 600;
+ font-size: 0.95em;
+ color: var(--strong);
+}
+
+em {
+ font-style: italic; }
+
+h1 {
+ font-size: 1.8em;
+ font-weight: 400;
+ padding-bottom: .25em;
+ border-bottom: 6px solid var(--third-background);
+ margin-top: 2.5em;
+ margin-bottom: 1em;
+ line-height: 1.2em; }
+
+h1.title {
+ padding-bottom: 1em;
+ border-bottom: 0px;
+ font-size: 2.5em;
+ text-align: center;
+ font-weight: 900;
+ margin-top: 0.75em;
+ margin-bottom: 0em;
+}
+
+h2 {
+ font-size: 1.3em;
+ margin-top: 2em; }
+
+h2.subtitle {
+ text-align: center; }
+
+h3 {
+ font-size: 1.125em;
+ font-style: italic;
+ margin-top: 1.5em; }
+
+h4 {
+ font-size: 1.125em;
+ margin-top: 1em; }
+
+h5 {
+ font-size: 1.125em;
+ margin-top: 0.75em; }
+
+h6 {
+ font-size: 1.1em; }
+
+
+ul,
+ol {
+ padding: 0;
+ margin-top: 0.5em;
+ margin-left: 0.75em; }
+
+ul ul,
+ul ol,
+ol ol,
+ol ul {
+ margin-bottom: 0;
+ margin-left: 1.25em; }
+
+li {
+ list-style-type: circle;
+}
+
+ul.simple-boot li {
+ list-style-type: none;
+ margin-left: 0em;
+ margin-bottom: 0.5em;
+}
+
+ol.simple > li, ul.simple > li {
+ margin-bottom: 0.25em;
+ margin-left: 0.4em }
+
+ul.simple.simple-toc > li {
+ margin-top: 1em;
+}
+
+ul.simple-toc {
+ list-style: none;
+ font-size: 0.9em;
+ margin-left: -0.3em;
+ margin-top: 1em; }
+
+ul.simple-toc > li {
+ list-style-type: none;
+}
+
+ul.simple-toc-section {
+ list-style-type: circle;
+ margin-left: 1em;
+ color: #6c9aae; }
+
+
+ol.arabic {
+ list-style: decimal; }
+
+ol.loweralpha {
+ list-style: lower-alpha; }
+
+ol.upperalpha {
+ list-style: upper-alpha; }
+
+ol.lowerroman {
+ list-style: lower-roman; }
+
+ol.upperroman {
+ list-style: upper-roman; }
+
+ul.auto-toc {
+ list-style-type: none; }
+
+
+dl {
+ margin-bottom: 1.5em; }
+
+dt {
+ margin-bottom: -0.5em;
+ margin-left: 0.0em; }
+
+dd {
+ margin-left: 2.0em;
+ margin-bottom: 3.0em;
+ margin-top: 0.5em; }
+
+
+hr {
+ margin: 2em 0;
+ border: 0;
+ border-top: 1px solid #aaa; }
+
+blockquote {
+ font-size: 0.9em;
+ font-style: italic;
+ padding-left: 0.5em;
+ margin-left: 0;
+ border-left: 5px solid #bbc;
+}
+
+.pre {
+ font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace;
+ font-weight: 500;
+ font-size: 0.85em;
+ color: var(--text);
+ background-color: var(--third-background);
+ padding-left: 3px;
+ padding-right: 3px;
+ border-radius: 4px;
+}
+
+pre {
+ font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace;
+ color: var(--text);
+ font-weight: 500;
+ display: inline-block;
+ box-sizing: border-box;
+ min-width: 100%;
+ padding: 0.5em;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ font-size: 0.85em;
+ white-space: pre !important;
+ overflow-y: hidden;
+ overflow-x: visible;
+ background-color: var(--secondary-background);
+ border: 1px solid var(--border);
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px; }
+
+.pre-scrollable {
+ max-height: 340px;
+ overflow-y: scroll; }
+
+
+/* Nim line-numbered tables */
+.line-nums-table {
+ width: 100%;
+ table-layout: fixed; }
+
+table.line-nums-table {
+ border-radius: 4px;
+ border: 1px solid #cccccc;
+ background-color: ghostwhite;
+ border-collapse: separate;
+ margin-top: 15px;
+ margin-bottom: 25px; }
+
+.line-nums-table tbody {
+ border: none; }
+
+.line-nums-table td pre {
+ border: none;
+ background-color: transparent; }
+
+.line-nums-table td.blob-line-nums {
+ width: 28px; }
+
+.line-nums-table td.blob-line-nums pre {
+ color: #b0b0b0;
+ -webkit-filter: opacity(75%);
+ text-align: right;
+ border-color: transparent;
+ background-color: transparent;
+ padding-left: 0px;
+ margin-left: 0px;
+ padding-right: 0px;
+ margin-right: 0px; }
+
+
+table {
+ max-width: 100%;
+ background-color: transparent;
+ margin-top: 0.5em;
+ margin-bottom: 1.5em;
+ border-collapse: collapse;
+ border-color: var(--third-background);
+ border-spacing: 0;
+ font-size: 0.9em;
+}
+
+table th, table td {
+ padding: 0px 0.5em 0px;
+ border-color: var(--third-background);
+}
+
+table th {
+ background-color: var(--third-background);
+ border-color: var(--third-background);
+ font-weight: bold; }
+
+table th.docinfo-name {
+ background-color: transparent;
+}
+
+table tr:hover {
+ background-color: var(--third-background); }
+
+
+/* rst2html default used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+ border: 0; }
+
+table.borderless td, table.borderless th {
+ /* Override padding for "table.docutils td" with "! important".
+ The right padding separates the table cells. */
+ padding: 0 0.5em 0 0 !important; }
+
+.first {
+ /* Override more specific margin styles with "! important". */
+ margin-top: 0 !important; }
+
+.last, .with-subtitle {
+ margin-bottom: 0 !important; }
+
+.hidden {
+ display: none; }
+
+blockquote.epigraph {
+ margin: 2em 5em; }
+
+dl.docutils dd {
+ margin-bottom: 0.5em; }
+
+object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
+ overflow: hidden; }
+
+
+div.figure {
+ margin-left: 2em;
+ margin-right: 2em; }
+
+div.footer, div.header {
+ clear: both;
+ text-align: center;
+ color: #666;
+ font-size: smaller; }
+
+div.footer {
+ padding-top: 5em;
+}
+
+div.line-block {
+ display: block;
+ margin-top: 1em;
+ margin-bottom: 1em; }
+
+div.line-block div.line-block {
+ margin-top: 0;
+ margin-bottom: 0;
+ margin-left: 1.5em; }
+
+div.topic {
+ margin: 2em; }
+
+div.search_results {
+ background-color: antiquewhite;
+ margin: 3em;
+ padding: 1em;
+ border: 1px solid #4d4d4d;
+}
+
+div#global-links ul {
+ margin-left: 0;
+ list-style-type: none;
+}
+
+div#global-links > simple-boot {
+ margin-left: 3em;
+}
+
+hr.docutils {
+ width: 75%; }
+
+img.align-left, .figure.align-left, object.align-left {
+ clear: left;
+ float: left;
+ margin-right: 1em; }
+
+img.align-right, .figure.align-right, object.align-right {
+ clear: right;
+ float: right;
+ margin-left: 1em; }
+
+img.align-center, .figure.align-center, object.align-center {
+ display: block;
+ margin-left: auto;
+ margin-right: auto; }
+
+.align-left {
+ text-align: left; }
+
+.align-center {
+ clear: both;
+ text-align: center; }
+
+.align-right {
+ text-align: right; }
+
+/* reset inner alignment in figures */
+div.align-right {
+ text-align: inherit; }
+
+p.attribution {
+ text-align: right;
+ margin-left: 50%; }
+
+p.caption {
+ font-style: italic; }
+
+p.credits {
+ font-style: italic;
+ font-size: smaller; }
+
+p.label {
+ white-space: nowrap; }
+
+p.rubric {
+ font-weight: bold;
+ font-size: larger;
+ color: maroon;
+ text-align: center; }
+
+p.topic-title {
+ font-weight: bold; }
+
+pre.address {
+ margin-bottom: 0;
+ margin-top: 0;
+ font: inherit; }
+
+pre.literal-block, pre.doctest-block, pre.math, pre.code {
+ margin-left: 2em;
+ margin-right: 2em; }
+
+pre.code .ln {
+ color: grey; }
+
+/* line numbers */
+pre.code, code {
+ background-color: #eeeeee; }
+
+pre.code .comment, code .comment {
+ color: #5c6576; }
+
+pre.code .keyword, code .keyword {
+ color: #3B0D06;
+ font-weight: bold; }
+
+pre.code .literal.string, code .literal.string {
+ color: #0c5404; }
+
+pre.code .name.builtin, code .name.builtin {
+ color: #352b84; }
+
+pre.code .deleted, code .deleted {
+ background-color: #DEB0A1; }
+
+pre.code .inserted, code .inserted {
+ background-color: #A3D289; }
+
+span.classifier {
+ font-style: oblique; }
+
+span.classifier-delimiter {
+ font-weight: bold; }
+
+span.option {
+ white-space: nowrap; }
+
+span.problematic {
+ color: #b30000; }
+
+span.section-subtitle {
+ /* font-size relative to parent (h1..h6 element) */
+ font-size: 80%; }
+
+span.DecNumber {
+ color: var(--number); }
+
+span.BinNumber {
+ color: var(--number); }
+
+span.HexNumber {
+ color: var(--number); }
+
+span.OctNumber {
+ color: var(--number); }
+
+span.FloatNumber {
+ color: var(--number); }
+
+span.Identifier {
+ color: var(--identifier); }
+
+span.Keyword {
+ font-weight: 600;
+ color: var(--keyword); }
+
+span.StringLit {
+ color: var(--literal); }
+
+span.LongStringLit {
+ color: var(--literal); }
+
+span.CharLit {
+ color: var(--literal); }
+
+span.EscapeSequence {
+ color: var(--escapeSequence); }
+
+span.Operator {
+ color: var(--operator); }
+
+span.Punctuation {
+ color: var(--punctuation); }
+
+span.Comment, span.LongComment {
+ font-style: italic;
+ font-weight: 400;
+ color: var(--comment); }
+
+span.RegularExpression {
+ color: darkviolet; }
+
+span.TagStart {
+ color: darkviolet; }
+
+span.TagEnd {
+ color: darkviolet; }
+
+span.Key {
+ color: #252dbe; }
+
+span.Value {
+ color: #252dbe; }
+
+span.RawData {
+ color: var(--raw-data); }
+
+span.Assembler {
+ color: #252dbe; }
+
+span.Preprocessor {
+ color: #252dbe; }
+
+span.Directive {
+ color: #252dbe; }
+
+span.Command, span.Rule, span.Hyperlink, span.Label, span.Reference,
+span.Other {
+ color: var(--other); }
+
+/* Pop type, const, proc, and iterator defs in nim def blocks */
+dt pre > span.Identifier, dt pre > span.Operator {
+ color: var(--identifier);
+ font-weight: 700; }
+
+dt pre > span.Keyword ~ span.Identifier, dt pre > span.Identifier ~ span.Identifier,
+dt pre > span.Operator ~ span.Identifier, dt pre > span.Other ~ span.Identifier {
+ color: var(--identifier);
+ font-weight: inherit; }
+
+/* Nim sprite for the footer (taken from main page favicon) */
+.nim-sprite {
+ display: inline-block;
+ width: 51px;
+ height: 14px;
+ background-position: 0 0;
+ background-size: 51px 14px;
+ -webkit-filter: opacity(50%);
+ background-repeat: no-repeat;
+ background-image: var(--nim-sprite-base64);
+ margin-bottom: 5px; }
+
+span.pragmadots {
+ /* Position: relative frees us up to make the dots
+ look really nice without fucking up the layout and
+ causing bulging in the parent container */
+ position: relative;
+ /* 1px down looks slightly nicer */
+ top: 1px;
+ padding: 2px;
+ background-color: var(--third-background);
+ border-radius: 4px;
+ margin: 0 2px;
+ cursor: pointer;
+ font-size: 0.8em;
+}
+
+span.pragmadots:hover {
+ background-color: var(--hint);
+}
+span.pragmawrap {
+ display: none;
+}
+
+span.attachedType {
+ display: none;
+ visibility: hidden;
+}
\ No newline at end of file @@ -10,6 +10,7 @@ <!-- Favicon --> <link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/> +<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII="> <!-- Google fonts --> <link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/> @@ -17,772 +18,7 @@ <!-- CSS --> <title>paths</title> -<style type="text/css" > -/* -Stylesheet for use with Docutils/rst2html. - -See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to -customize this style sheet. - -Modified from Chad Skeeters' rst2html-style -https://bitbucket.org/cskeeters/rst2html-style/ - -Modified by Boyd Greenfield and narimiran -*/ - -html { - font-size: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; } - -body { - font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; - font-weight: 400; - font-size: 1.125em; - line-height: 1.5; - color: #222; - background-color: #FCFCFC; } - -/* Skeleton grid */ -.container { - position: relative; - width: 100%; - max-width: 1050px; - margin: 0 auto; - padding: 0; - box-sizing: border-box; } - -.column, -.columns { - width: 100%; - float: left; - box-sizing: border-box; - margin-left: 1%; -} - -.column:first-child, -.columns:first-child { - margin-left: 0; } - -.three.columns { - width: 19%; } - -.nine.columns { - width: 80.0%; } - -.twelve.columns { - width: 100%; - margin-left: 0; } - -@media screen and (max-width: 860px) { - .three.columns { - display: none; - } - .nine.columns { - width: 98.0%; - } - body { - font-size: 1em; - line-height: 1.35; - } -} - -cite { - font-style: italic !important; } - - -/* Nim search input */ -div#searchInputDiv { - margin-bottom: 1em; -} -input#searchInput { - width: 80%; -} - -/* - * Some custom formatting for input forms. - * This also fixes input form colors on Firefox with a dark system theme on Linux. - */ -input { - -moz-appearance: none; - color: #333; - background-color: #f8f8f8; - border: 1px solid #aaa; - font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; - font-size: 0.9em; - padding: 6px; -} -input:focus { - border: 1px solid #1fa0eb; - box-shadow: 0 0 2px #1fa0eb; -} - -/* Docgen styles */ -/* Links */ -a { - color: #07b; - text-decoration: none; -} - -a span.Identifier { - text-decoration: underline; - text-decoration-color: #aab; -} - -a.reference-toplevel { - font-weight: bold; -} - -a.toc-backref { - text-decoration: none; - color: #222; } - -a.link-seesrc { - color: #607c9f; - font-size: 0.9em; - font-style: italic; } - -a:hover, -a:focus { - color: #607c9f; - text-decoration: underline; } - -a:hover span.Identifier { - color: #607c9f; -} - - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; } - -sup { - top: -0.5em; } - -sub { - bottom: -0.25em; } - -img { - width: auto; - height: auto; - max-width: 100%; - vertical-align: middle; - border: 0; - -ms-interpolation-mode: bicubic; } - -@media print { - * { - color: black !important; - text-shadow: none !important; - background: transparent !important; - box-shadow: none !important; } - - a, - a:visited { - text-decoration: underline; } - - a[href]:after { - content: " (" attr(href) ")"; } - - abbr[title]:after { - content: " (" attr(title) ")"; } - - .ir a:after, - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; } - - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; } - - thead { - display: table-header-group; } - - tr, - img { - page-break-inside: avoid; } - - img { - max-width: 100% !important; } - - @page { - margin: 0.5cm; } - - h1 { - page-break-before: always; } - - h1.title { - page-break-before: avoid; } - - p, - h2, - h3 { - orphans: 3; - widows: 3; } - - h2, - h3 { - page-break-after: avoid; } -} - - -p { - margin-top: 0.5em; - margin-bottom: 0.5em; -} - -small { - font-size: 85%; } - -strong { - font-weight: 600; - font-size: 0.95em; - color: #3c3c3c; -} - -em { - font-style: italic; } - -h1 { - font-size: 1.8em; - font-weight: 400; - padding-bottom: .25em; - border-bottom: 1px solid #aaa; - margin-top: 2.5em; - margin-bottom: 1em; - line-height: 1.2em; } - -h1.title { - padding-bottom: 1em; - border-bottom: 0px; - font-size: 2.5em; - text-align: center; - font-weight: 900; - margin-top: 0.75em; - margin-bottom: 0em; -} - -h2 { - font-size: 1.3em; - margin-top: 2em; } - -h2.subtitle { - text-align: center; } - -h3 { - font-size: 1.125em; - font-style: italic; - margin-top: 1.5em; } - -h4 { - font-size: 1.125em; - margin-top: 1em; } - -h5 { - font-size: 1.125em; - margin-top: 0.75em; } - -h6 { - font-size: 1.1em; } - - -ul, -ol { - padding: 0; - margin-top: 0.5em; - margin-left: 0.75em; } - -ul ul, -ul ol, -ol ol, -ol ul { - margin-bottom: 0; - margin-left: 1.25em; } - -li { - list-style-type: circle; -} - -ul.simple-boot li { - list-style-type: none; - margin-left: 0em; - margin-bottom: 0.5em; -} - -ol.simple > li, ul.simple > li { - margin-bottom: 0.25em; - margin-left: 0.4em } - -ul.simple.simple-toc > li { - margin-top: 1em; -} - -ul.simple-toc { - list-style: none; - font-size: 0.9em; - margin-left: -0.3em; - margin-top: 1em; } - -ul.simple-toc > li { - list-style-type: none; -} - -ul.simple-toc-section { - list-style-type: circle; - margin-left: 1em; - color: #6c9aae; } - - -ol.arabic { - list-style: decimal; } - -ol.loweralpha { - list-style: lower-alpha; } - -ol.upperalpha { - list-style: upper-alpha; } - -ol.lowerroman { - list-style: lower-roman; } - -ol.upperroman { - list-style: upper-roman; } - -ul.auto-toc { - list-style-type: none; } - - -dl { - margin-bottom: 1.5em; } - -dt { - margin-bottom: -0.5em; - margin-left: 0.0em; } - -dd { - margin-left: 2.0em; - margin-bottom: 3.0em; - margin-top: 0.5em; } - - -hr { - margin: 2em 0; - border: 0; - border-top: 1px solid #aaa; } - -blockquote { - font-size: 0.9em; - font-style: italic; - padding-left: 0.5em; - margin-left: 0; - border-left: 5px solid #bbc; -} - -.pre { - font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; - font-weight: 500; - font-size: 0.85em; - background-color: #f0f3ff; - padding-left: 3px; - padding-right: 3px; - border-radius: 4px; -} - -pre { - font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; - color: #222; - font-weight: 500; - display: inline-block; - box-sizing: border-box; - min-width: 100%; - padding: 0.5em; - margin-top: 0.5em; - margin-bottom: 0.5em; - font-size: 0.85em; - white-space: pre !important; - overflow-y: hidden; - overflow-x: visible; - background-color: ghostwhite; - border: 1px solid #dde; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; } - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; } - - -/* Nim line-numbered tables */ -.line-nums-table { - width: 100%; - table-layout: fixed; } - -table.line-nums-table { - border-radius: 4px; - border: 1px solid #cccccc; - background-color: ghostwhite; - border-collapse: separate; - margin-top: 15px; - margin-bottom: 25px; } - -.line-nums-table tbody { - border: none; } - -.line-nums-table td pre { - border: none; - background-color: transparent; } - -.line-nums-table td.blob-line-nums { - width: 28px; } - -.line-nums-table td.blob-line-nums pre { - color: #b0b0b0; - -webkit-filter: opacity(75%); - text-align: right; - border-color: transparent; - background-color: transparent; - padding-left: 0px; - margin-left: 0px; - padding-right: 0px; - margin-right: 0px; } - - -table { - max-width: 100%; - background-color: transparent; - margin-top: 0.5em; - margin-bottom: 1.5em; - border-collapse: collapse; - border-color: #ccc; - border-spacing: 0; - font-size: 0.9em; -} - -table th, table td { - padding: 0px 0.5em 0px; -} - -table th { - background-color: #e8e8e8; - font-weight: bold; } - -table th.docinfo-name { - background-color: transparent; -} - -table tr:hover { - background-color: ghostwhite; } - - -/* rst2html default used to remove borders from tables and images */ -.borderless, table.borderless td, table.borderless th { - border: 0; } - -table.borderless td, table.borderless th { - /* Override padding for "table.docutils td" with "! important". - The right padding separates the table cells. */ - padding: 0 0.5em 0 0 !important; } - -.first { - /* Override more specific margin styles with "! important". */ - margin-top: 0 !important; } - -.last, .with-subtitle { - margin-bottom: 0 !important; } - -.hidden { - display: none; } - -blockquote.epigraph { - margin: 2em 5em; } - -dl.docutils dd { - margin-bottom: 0.5em; } - -object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { - overflow: hidden; } - - -div.figure { - margin-left: 2em; - margin-right: 2em; } - -div.footer, div.header { - clear: both; - text-align: center; - color: #666; - font-size: smaller; } - -div.footer { - padding-top: 5em; -} - -div.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; } - -div.line-block div.line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; } - -div.topic { - margin: 2em; } - -div.search_results { - background-color: antiquewhite; - margin: 3em; - padding: 1em; - border: 1px solid #4d4d4d; -} - -div#global-links ul { - margin-left: 0; - list-style-type: none; -} - -div#global-links > simple-boot { - margin-left: 3em; -} - -hr.docutils { - width: 75%; } - -img.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; } - -img.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; } - -img.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; } - -.align-left { - text-align: left; } - -.align-center { - clear: both; - text-align: center; } - -.align-right { - text-align: right; } - -/* reset inner alignment in figures */ -div.align-right { - text-align: inherit; } - -p.attribution { - text-align: right; - margin-left: 50%; } - -p.caption { - font-style: italic; } - -p.credits { - font-style: italic; - font-size: smaller; } - -p.label { - white-space: nowrap; } - -p.rubric { - font-weight: bold; - font-size: larger; - color: maroon; - text-align: center; } - -p.topic-title { - font-weight: bold; } - -pre.address { - margin-bottom: 0; - margin-top: 0; - font: inherit; } - -pre.literal-block, pre.doctest-block, pre.math, pre.code { - margin-left: 2em; - margin-right: 2em; } - -pre.code .ln { - color: grey; } - -/* line numbers */ -pre.code, code { - background-color: #eeeeee; } - -pre.code .comment, code .comment { - color: #5c6576; } - -pre.code .keyword, code .keyword { - color: #3B0D06; - font-weight: bold; } - -pre.code .literal.string, code .literal.string { - color: #0c5404; } - -pre.code .name.builtin, code .name.builtin { - color: #352b84; } - -pre.code .deleted, code .deleted { - background-color: #DEB0A1; } - -pre.code .inserted, code .inserted { - background-color: #A3D289; } - -span.classifier { - font-style: oblique; } - -span.classifier-delimiter { - font-weight: bold; } - -span.option { - white-space: nowrap; } - -span.problematic { - color: #b30000; } - -span.section-subtitle { - /* font-size relative to parent (h1..h6 element) */ - font-size: 80%; } - -span.DecNumber { - color: #252dbe; } - -span.BinNumber { - color: #252dbe; } - -span.HexNumber { - color: #252dbe; } - -span.OctNumber { - color: #252dbe; } - -span.FloatNumber { - color: #252dbe; } - -span.Identifier { - color: #222; } - -span.Keyword { - font-weight: 600; - color: #5e8f60; } - -span.StringLit { - color: #a4255b; } - -span.LongStringLit { - color: #a4255b; } - -span.CharLit { - color: #a4255b; } - -span.EscapeSequence { - color: black; } - -span.Operator { - color: black; } - -span.Punctuation { - color: black; } - -span.Comment, span.LongComment { - font-style: italic; - font-weight: 400; - color: #484a86; } - -span.RegularExpression { - color: darkviolet; } - -span.TagStart { - color: darkviolet; } - -span.TagEnd { - color: darkviolet; } - -span.Key { - color: #252dbe; } - -span.Value { - color: #252dbe; } - -span.RawData { - color: #a4255b; } - -span.Assembler { - color: #252dbe; } - -span.Preprocessor { - color: #252dbe; } - -span.Directive { - color: #252dbe; } - -span.Command, span.Rule, span.Hyperlink, span.Label, span.Reference, -span.Other { - color: black; } - -/* Pop type, const, proc, and iterator defs in nim def blocks */ -dt pre > span.Identifier, dt pre > span.Operator { - color: #155da4; - font-weight: 700; } - -dt pre > span.Keyword ~ span.Identifier, dt pre > span.Identifier ~ span.Identifier, -dt pre > span.Operator ~ span.Identifier, dt pre > span.Other ~ span.Identifier { - color: inherit; - font-weight: inherit; } - -/* Nim sprite for the footer (taken from main page favicon) */ -.nim-sprite { - display: inline-block; - height: 16px; - width: 16px; - background-position: 0 0; - background-size: 16px 16px; - -webkit-filter: opacity(50%); - background-repeat: no-repeat; - background-image: url("data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="); - margin-bottom: -5px; } - -span.pragmadots { - /* Position: relative frees us up to make the dots - look really nice without fucking up the layout and - causing bulging in the parent container */ - position: relative; - /* 1px down looks slightly nicer */ - top: 1px; - padding: 2px; - background-color: #e8e8e8; - border-radius: 4px; - margin: 0 2px; - cursor: pointer; - font-size: 0.8em; -} - -span.pragmadots:hover { - background-color: #DBDBDB; -} -span.pragmawrap { - display: none; -} - -span.attachedType { - display: none; - visibility: hidden; -} -</style> +<link rel="stylesheet" type="text/css" href="nimdoc.out.css"> <script type="text/javascript" src="dochack.js"></script> @@ -797,6 +33,37 @@ function main() { event.target.parentNode.nextElementSibling.style.display = "inline"; } } + + const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]'); + function switchTheme(e) { + if (e.target.checked) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', 'light'); + localStorage.setItem('theme', 'light'); + } + } + + toggleSwitch.addEventListener('change', switchTheme, false); + + + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-theme', "dark"); + toggleSwitch.checked = true; + } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-theme', "light"); + toggleSwitch.checked = false; + } else { + const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null; + if (currentTheme) { + document.documentElement.setAttribute('data-theme', currentTheme); + + if (currentTheme === 'dark') { + toggleSwitch.checked = true; + } + } + } } </script> @@ -807,6 +74,13 @@ function main() { <h1 class="title">paths</h1> <div class="row"> <div class="three columns"> + <div class="theme-switch-wrapper"> + <label class="theme-switch" for="checkbox"> + <input type="checkbox" id="checkbox" /> + <div class="slider round"></div> + </label> + <em>Dark Mode</em> + </div> <div id="global-links"> <ul class="simple"> </ul> @@ -917,7 +191,7 @@ function main() { <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small>Made with Nim. Generated: 2019-12-23 20:57:13 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2020-03-24 20:54:23 UTC</small> </div> </div> </div> diff --git a/plugin.html b/plugin.html index 9b3a724..da0ff7e 100644 --- a/plugin.html +++ b/plugin.html @@ -10,6 +10,7 @@ <!-- Favicon --> <link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/> +<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII="> <!-- Google fonts --> <link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/> @@ -17,772 +18,7 @@ <!-- CSS --> <title>plugin</title> -<style type="text/css" > -/* -Stylesheet for use with Docutils/rst2html. - -See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to -customize this style sheet. - -Modified from Chad Skeeters' rst2html-style -https://bitbucket.org/cskeeters/rst2html-style/ - -Modified by Boyd Greenfield and narimiran -*/ - -html { - font-size: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; } - -body { - font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; - font-weight: 400; - font-size: 1.125em; - line-height: 1.5; - color: #222; - background-color: #FCFCFC; } - -/* Skeleton grid */ -.container { - position: relative; - width: 100%; - max-width: 1050px; - margin: 0 auto; - padding: 0; - box-sizing: border-box; } - -.column, -.columns { - width: 100%; - float: left; - box-sizing: border-box; - margin-left: 1%; -} - -.column:first-child, -.columns:first-child { - margin-left: 0; } - -.three.columns { - width: 19%; } - -.nine.columns { - width: 80.0%; } - -.twelve.columns { - width: 100%; - margin-left: 0; } - -@media screen and (max-width: 860px) { - .three.columns { - display: none; - } - .nine.columns { - width: 98.0%; - } - body { - font-size: 1em; - line-height: 1.35; - } -} - -cite { - font-style: italic !important; } - - -/* Nim search input */ -div#searchInputDiv { - margin-bottom: 1em; -} -input#searchInput { - width: 80%; -} - -/* - * Some custom formatting for input forms. - * This also fixes input form colors on Firefox with a dark system theme on Linux. - */ -input { - -moz-appearance: none; - color: #333; - background-color: #f8f8f8; - border: 1px solid #aaa; - font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; - font-size: 0.9em; - padding: 6px; -} -input:focus { - border: 1px solid #1fa0eb; - box-shadow: 0 0 2px #1fa0eb; -} - -/* Docgen styles */ -/* Links */ -a { - color: #07b; - text-decoration: none; -} - -a span.Identifier { - text-decoration: underline; - text-decoration-color: #aab; -} - -a.reference-toplevel { - font-weight: bold; -} - -a.toc-backref { - text-decoration: none; - color: #222; } - -a.link-seesrc { - color: #607c9f; - font-size: 0.9em; - font-style: italic; } - -a:hover, -a:focus { - color: #607c9f; - text-decoration: underline; } - -a:hover span.Identifier { - color: #607c9f; -} - - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; } - -sup { - top: -0.5em; } - -sub { - bottom: -0.25em; } - -img { - width: auto; - height: auto; - max-width: 100%; - vertical-align: middle; - border: 0; - -ms-interpolation-mode: bicubic; } - -@media print { - * { - color: black !important; - text-shadow: none !important; - background: transparent !important; - box-shadow: none !important; } - - a, - a:visited { - text-decoration: underline; } - - a[href]:after { - content: " (" attr(href) ")"; } - - abbr[title]:after { - content: " (" attr(title) ")"; } - - .ir a:after, - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; } - - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; } - - thead { - display: table-header-group; } - - tr, - img { - page-break-inside: avoid; } - - img { - max-width: 100% !important; } - - @page { - margin: 0.5cm; } - - h1 { - page-break-before: always; } - - h1.title { - page-break-before: avoid; } - - p, - h2, - h3 { - orphans: 3; - widows: 3; } - - h2, - h3 { - page-break-after: avoid; } -} - - -p { - margin-top: 0.5em; - margin-bottom: 0.5em; -} - -small { - font-size: 85%; } - -strong { - font-weight: 600; - font-size: 0.95em; - color: #3c3c3c; -} - -em { - font-style: italic; } - -h1 { - font-size: 1.8em; - font-weight: 400; - padding-bottom: .25em; - border-bottom: 1px solid #aaa; - margin-top: 2.5em; - margin-bottom: 1em; - line-height: 1.2em; } - -h1.title { - padding-bottom: 1em; - border-bottom: 0px; - font-size: 2.5em; - text-align: center; - font-weight: 900; - margin-top: 0.75em; - margin-bottom: 0em; -} - -h2 { - font-size: 1.3em; - margin-top: 2em; } - -h2.subtitle { - text-align: center; } - -h3 { - font-size: 1.125em; - font-style: italic; - margin-top: 1.5em; } - -h4 { - font-size: 1.125em; - margin-top: 1em; } - -h5 { - font-size: 1.125em; - margin-top: 0.75em; } - -h6 { - font-size: 1.1em; } - - -ul, -ol { - padding: 0; - margin-top: 0.5em; - margin-left: 0.75em; } - -ul ul, -ul ol, -ol ol, -ol ul { - margin-bottom: 0; - margin-left: 1.25em; } - -li { - list-style-type: circle; -} - -ul.simple-boot li { - list-style-type: none; - margin-left: 0em; - margin-bottom: 0.5em; -} - -ol.simple > li, ul.simple > li { - margin-bottom: 0.25em; - margin-left: 0.4em } - -ul.simple.simple-toc > li { - margin-top: 1em; -} - -ul.simple-toc { - list-style: none; - font-size: 0.9em; - margin-left: -0.3em; - margin-top: 1em; } - -ul.simple-toc > li { - list-style-type: none; -} - -ul.simple-toc-section { - list-style-type: circle; - margin-left: 1em; - color: #6c9aae; } - - -ol.arabic { - list-style: decimal; } - -ol.loweralpha { - list-style: lower-alpha; } - -ol.upperalpha { - list-style: upper-alpha; } - -ol.lowerroman { - list-style: lower-roman; } - -ol.upperroman { - list-style: upper-roman; } - -ul.auto-toc { - list-style-type: none; } - - -dl { - margin-bottom: 1.5em; } - -dt { - margin-bottom: -0.5em; - margin-left: 0.0em; } - -dd { - margin-left: 2.0em; - margin-bottom: 3.0em; - margin-top: 0.5em; } - - -hr { - margin: 2em 0; - border: 0; - border-top: 1px solid #aaa; } - -blockquote { - font-size: 0.9em; - font-style: italic; - padding-left: 0.5em; - margin-left: 0; - border-left: 5px solid #bbc; -} - -.pre { - font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; - font-weight: 500; - font-size: 0.85em; - background-color: #f0f3ff; - padding-left: 3px; - padding-right: 3px; - border-radius: 4px; -} - -pre { - font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; - color: #222; - font-weight: 500; - display: inline-block; - box-sizing: border-box; - min-width: 100%; - padding: 0.5em; - margin-top: 0.5em; - margin-bottom: 0.5em; - font-size: 0.85em; - white-space: pre !important; - overflow-y: hidden; - overflow-x: visible; - background-color: ghostwhite; - border: 1px solid #dde; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; } - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; } - - -/* Nim line-numbered tables */ -.line-nums-table { - width: 100%; - table-layout: fixed; } - -table.line-nums-table { - border-radius: 4px; - border: 1px solid #cccccc; - background-color: ghostwhite; - border-collapse: separate; - margin-top: 15px; - margin-bottom: 25px; } - -.line-nums-table tbody { - border: none; } - -.line-nums-table td pre { - border: none; - background-color: transparent; } - -.line-nums-table td.blob-line-nums { - width: 28px; } - -.line-nums-table td.blob-line-nums pre { - color: #b0b0b0; - -webkit-filter: opacity(75%); - text-align: right; - border-color: transparent; - background-color: transparent; - padding-left: 0px; - margin-left: 0px; - padding-right: 0px; - margin-right: 0px; } - - -table { - max-width: 100%; - background-color: transparent; - margin-top: 0.5em; - margin-bottom: 1.5em; - border-collapse: collapse; - border-color: #ccc; - border-spacing: 0; - font-size: 0.9em; -} - -table th, table td { - padding: 0px 0.5em 0px; -} - -table th { - background-color: #e8e8e8; - font-weight: bold; } - -table th.docinfo-name { - background-color: transparent; -} - -table tr:hover { - background-color: ghostwhite; } - - -/* rst2html default used to remove borders from tables and images */ -.borderless, table.borderless td, table.borderless th { - border: 0; } - -table.borderless td, table.borderless th { - /* Override padding for "table.docutils td" with "! important". - The right padding separates the table cells. */ - padding: 0 0.5em 0 0 !important; } - -.first { - /* Override more specific margin styles with "! important". */ - margin-top: 0 !important; } - -.last, .with-subtitle { - margin-bottom: 0 !important; } - -.hidden { - display: none; } - -blockquote.epigraph { - margin: 2em 5em; } - -dl.docutils dd { - margin-bottom: 0.5em; } - -object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { - overflow: hidden; } - - -div.figure { - margin-left: 2em; - margin-right: 2em; } - -div.footer, div.header { - clear: both; - text-align: center; - color: #666; - font-size: smaller; } - -div.footer { - padding-top: 5em; -} - -div.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; } - -div.line-block div.line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; } - -div.topic { - margin: 2em; } - -div.search_results { - background-color: antiquewhite; - margin: 3em; - padding: 1em; - border: 1px solid #4d4d4d; -} - -div#global-links ul { - margin-left: 0; - list-style-type: none; -} - -div#global-links > simple-boot { - margin-left: 3em; -} - -hr.docutils { - width: 75%; } - -img.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; } - -img.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; } - -img.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; } - -.align-left { - text-align: left; } - -.align-center { - clear: both; - text-align: center; } - -.align-right { - text-align: right; } - -/* reset inner alignment in figures */ -div.align-right { - text-align: inherit; } - -p.attribution { - text-align: right; - margin-left: 50%; } - -p.caption { - font-style: italic; } - -p.credits { - font-style: italic; - font-size: smaller; } - -p.label { - white-space: nowrap; } - -p.rubric { - font-weight: bold; - font-size: larger; - color: maroon; - text-align: center; } - -p.topic-title { - font-weight: bold; } - -pre.address { - margin-bottom: 0; - margin-top: 0; - font: inherit; } - -pre.literal-block, pre.doctest-block, pre.math, pre.code { - margin-left: 2em; - margin-right: 2em; } - -pre.code .ln { - color: grey; } - -/* line numbers */ -pre.code, code { - background-color: #eeeeee; } - -pre.code .comment, code .comment { - color: #5c6576; } - -pre.code .keyword, code .keyword { - color: #3B0D06; - font-weight: bold; } - -pre.code .literal.string, code .literal.string { - color: #0c5404; } - -pre.code .name.builtin, code .name.builtin { - color: #352b84; } - -pre.code .deleted, code .deleted { - background-color: #DEB0A1; } - -pre.code .inserted, code .inserted { - background-color: #A3D289; } - -span.classifier { - font-style: oblique; } - -span.classifier-delimiter { - font-weight: bold; } - -span.option { - white-space: nowrap; } - -span.problematic { - color: #b30000; } - -span.section-subtitle { - /* font-size relative to parent (h1..h6 element) */ - font-size: 80%; } - -span.DecNumber { - color: #252dbe; } - -span.BinNumber { - color: #252dbe; } - -span.HexNumber { - color: #252dbe; } - -span.OctNumber { - color: #252dbe; } - -span.FloatNumber { - color: #252dbe; } - -span.Identifier { - color: #222; } - -span.Keyword { - font-weight: 600; - color: #5e8f60; } - -span.StringLit { - color: #a4255b; } - -span.LongStringLit { - color: #a4255b; } - -span.CharLit { - color: #a4255b; } - -span.EscapeSequence { - color: black; } - -span.Operator { - color: black; } - -span.Punctuation { - color: black; } - -span.Comment, span.LongComment { - font-style: italic; - font-weight: 400; - color: #484a86; } - -span.RegularExpression { - color: darkviolet; } - -span.TagStart { - color: darkviolet; } - -span.TagEnd { - color: darkviolet; } - -span.Key { - color: #252dbe; } - -span.Value { - color: #252dbe; } - -span.RawData { - color: #a4255b; } - -span.Assembler { - color: #252dbe; } - -span.Preprocessor { - color: #252dbe; } - -span.Directive { - color: #252dbe; } - -span.Command, span.Rule, span.Hyperlink, span.Label, span.Reference, -span.Other { - color: black; } - -/* Pop type, const, proc, and iterator defs in nim def blocks */ -dt pre > span.Identifier, dt pre > span.Operator { - color: #155da4; - font-weight: 700; } - -dt pre > span.Keyword ~ span.Identifier, dt pre > span.Identifier ~ span.Identifier, -dt pre > span.Operator ~ span.Identifier, dt pre > span.Other ~ span.Identifier { - color: inherit; - font-weight: inherit; } - -/* Nim sprite for the footer (taken from main page favicon) */ -.nim-sprite { - display: inline-block; - height: 16px; - width: 16px; - background-position: 0 0; - background-size: 16px 16px; - -webkit-filter: opacity(50%); - background-repeat: no-repeat; - background-image: url("data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="); - margin-bottom: -5px; } - -span.pragmadots { - /* Position: relative frees us up to make the dots - look really nice without fucking up the layout and - causing bulging in the parent container */ - position: relative; - /* 1px down looks slightly nicer */ - top: 1px; - padding: 2px; - background-color: #e8e8e8; - border-radius: 4px; - margin: 0 2px; - cursor: pointer; - font-size: 0.8em; -} - -span.pragmadots:hover { - background-color: #DBDBDB; -} -span.pragmawrap { - display: none; -} - -span.attachedType { - display: none; - visibility: hidden; -} -</style> +<link rel="stylesheet" type="text/css" href="nimdoc.out.css"> <script type="text/javascript" src="dochack.js"></script> @@ -797,6 +33,37 @@ function main() { event.target.parentNode.nextElementSibling.style.display = "inline"; } } + + const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]'); + function switchTheme(e) { + if (e.target.checked) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', 'light'); + localStorage.setItem('theme', 'light'); + } + } + + toggleSwitch.addEventListener('change', switchTheme, false); + + + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-theme', "dark"); + toggleSwitch.checked = true; + } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-theme', "light"); + toggleSwitch.checked = false; + } else { + const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null; + if (currentTheme) { + document.documentElement.setAttribute('data-theme', currentTheme); + + if (currentTheme === 'dark') { + toggleSwitch.checked = true; + } + } + } } </script> @@ -807,6 +74,13 @@ function main() { <h1 class="title">plugin</h1> <div class="row"> <div class="three columns"> + <div class="theme-switch-wrapper"> + <label class="theme-switch" for="checkbox"> + <input type="checkbox" id="checkbox" /> + <div class="slider round"></div> + </label> + <em>Dark Mode</em> + </div> <div id="global-links"> <ul class="simple"> </ul> @@ -835,7 +109,7 @@ function main() { <li><a class="reference" href="#OnSymbol" title="OnSymbol = proc (sym: var Symbol) {.cdecl.}"><wbr />On<wbr />Symbol<span class="attachedType"></span></a></li> <li><a class="reference" href="#OnSymbolOverrideFinal" - title="OnSymbolOverrideFinal = proc (typ: string): HashSet[string] {.cdecl.}"><wbr />On<wbr />Symbol<wbr />Override<wbr />Final<span class="attachedType"></span></a></li> + title="OnSymbolOverrideFinal = proc (typ: string): StringHash {.cdecl.}"><wbr />On<wbr />Symbol<wbr />Override<wbr />Final<span class="attachedType"></span></a></li> </ul> </li> @@ -843,7 +117,7 @@ function main() { <a class="reference reference-toplevel" href="#8" id="58">Vars</a> <ul class="simple simple-toc-section"> <li><a class="reference" href="#cOverrides" - title="cOverrides: Table[string, HashSet[string]]"><wbr />c<wbr />Overrides<span class="attachedType"></span></a></li> + title="cOverrides: Table[string, StringHash]"><wbr />c<wbr />Overrides<span class="attachedType"></span></a></li> </ul> </li> @@ -851,7 +125,7 @@ function main() { <a class="reference reference-toplevel" href="#12" id="62">Procs</a> <ul class="simple simple-toc-section"> <li><a class="reference" href="#onSymbolOverrideFinal%2Cstring" - title="onSymbolOverrideFinal(typ: string): HashSet[string]"><wbr />on<wbr />Symbol<wbr />Override<wbr />Final<span class="attachedType"></span></a></li> + title="onSymbolOverrideFinal(typ: string): StringHash"><wbr />on<wbr />Symbol<wbr />Override<wbr />Final<span class="attachedType"></span></a></li> </ul> </li> @@ -886,7 +160,7 @@ function main() { </dd> <a id="OnSymbolOverrideFinal"></a> -<dt><pre><a href="plugin.html#OnSymbolOverrideFinal"><span class="Identifier">OnSymbolOverrideFinal</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">HashSet</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt> +<dt><pre><a href="plugin.html#OnSymbolOverrideFinal"><span class="Identifier">OnSymbolOverrideFinal</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">StringHash</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt> <dd> @@ -898,7 +172,7 @@ function main() { <h1><a class="toc-backref" href="#8">Vars</a></h1> <dl class="item"> <a id="cOverrides"></a> -<dt><pre><a href="plugin.html#cOverrides"><span class="Identifier">cOverrides</span></a><span class="Other">:</span> <span class="Identifier">Table</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">HashSet</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span><span class="Other">]</span></pre></dt> +<dt><pre><a href="plugin.html#cOverrides"><span class="Identifier">cOverrides</span></a><span class="Other">:</span> <span class="Identifier">Table</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">,</span> <span class="Identifier">StringHash</span><span class="Other">]</span></pre></dt> <dd> @@ -910,7 +184,7 @@ function main() { <h1><a class="toc-backref" href="#12">Procs</a></h1> <dl class="item"> <a id="onSymbolOverrideFinal,string"></a> -<dt><pre><span class="Keyword">proc</span> <a href="#onSymbolOverrideFinal%2Cstring"><span class="Identifier">onSymbolOverrideFinal</span></a><span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">HashSet</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">exportc</span><span class="Other">,</span> <span class="Identifier">dynlib</span><span class="Other">,</span> +<dt><pre><span class="Keyword">proc</span> <a href="#onSymbolOverrideFinal%2Cstring"><span class="Identifier">onSymbolOverrideFinal</span></a><span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">StringHash</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">exportc</span><span class="Other">,</span> <span class="Identifier">dynlib</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt> <dd> @@ -927,7 +201,7 @@ function main() { <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small>Made with Nim. Generated: 2019-12-23 20:57:13 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2020-03-24 20:54:23 UTC</small> </div> </div> </div> @@ -2,4 +2,4 @@ Symbol plugin.html#Symbol plugin: Symbol OnSymbol plugin.html#OnSymbol plugin: OnSymbol OnSymbolOverrideFinal plugin.html#OnSymbolOverrideFinal plugin: OnSymbolOverrideFinal cOverrides plugin.html#cOverrides plugin: cOverrides -onSymbolOverrideFinal plugin.html#onSymbolOverrideFinal,string plugin: onSymbolOverrideFinal(typ: string): HashSet[string] +onSymbolOverrideFinal plugin.html#onSymbolOverrideFinal,string plugin: onSymbolOverrideFinal(typ: string): StringHash diff --git a/theindex.html b/theindex.html index fd650e2..c04d88d 100644 --- a/theindex.html +++ b/theindex.html @@ -10,6 +10,7 @@ <!-- Favicon --> <link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/> +<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII="> <!-- Google fonts --> <link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/> @@ -17,772 +18,7 @@ <!-- CSS --> <title>Index</title> -<style type="text/css" > -/* -Stylesheet for use with Docutils/rst2html. - -See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to -customize this style sheet. - -Modified from Chad Skeeters' rst2html-style -https://bitbucket.org/cskeeters/rst2html-style/ - -Modified by Boyd Greenfield and narimiran -*/ - -html { - font-size: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; } - -body { - font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; - font-weight: 400; - font-size: 1.125em; - line-height: 1.5; - color: #222; - background-color: #FCFCFC; } - -/* Skeleton grid */ -.container { - position: relative; - width: 100%; - max-width: 1050px; - margin: 0 auto; - padding: 0; - box-sizing: border-box; } - -.column, -.columns { - width: 100%; - float: left; - box-sizing: border-box; - margin-left: 1%; -} - -.column:first-child, -.columns:first-child { - margin-left: 0; } - -.three.columns { - width: 19%; } - -.nine.columns { - width: 80.0%; } - -.twelve.columns { - width: 100%; - margin-left: 0; } - -@media screen and (max-width: 860px) { - .three.columns { - display: none; - } - .nine.columns { - width: 98.0%; - } - body { - font-size: 1em; - line-height: 1.35; - } -} - -cite { - font-style: italic !important; } - - -/* Nim search input */ -div#searchInputDiv { - margin-bottom: 1em; -} -input#searchInput { - width: 80%; -} - -/* - * Some custom formatting for input forms. - * This also fixes input form colors on Firefox with a dark system theme on Linux. - */ -input { - -moz-appearance: none; - color: #333; - background-color: #f8f8f8; - border: 1px solid #aaa; - font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; - font-size: 0.9em; - padding: 6px; -} -input:focus { - border: 1px solid #1fa0eb; - box-shadow: 0 0 2px #1fa0eb; -} - -/* Docgen styles */ -/* Links */ -a { - color: #07b; - text-decoration: none; -} - -a span.Identifier { - text-decoration: underline; - text-decoration-color: #aab; -} - -a.reference-toplevel { - font-weight: bold; -} - -a.toc-backref { - text-decoration: none; - color: #222; } - -a.link-seesrc { - color: #607c9f; - font-size: 0.9em; - font-style: italic; } - -a:hover, -a:focus { - color: #607c9f; - text-decoration: underline; } - -a:hover span.Identifier { - color: #607c9f; -} - - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; } - -sup { - top: -0.5em; } - -sub { - bottom: -0.25em; } - -img { - width: auto; - height: auto; - max-width: 100%; - vertical-align: middle; - border: 0; - -ms-interpolation-mode: bicubic; } - -@media print { - * { - color: black !important; - text-shadow: none !important; - background: transparent !important; - box-shadow: none !important; } - - a, - a:visited { - text-decoration: underline; } - - a[href]:after { - content: " (" attr(href) ")"; } - - abbr[title]:after { - content: " (" attr(title) ")"; } - - .ir a:after, - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; } - - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; } - - thead { - display: table-header-group; } - - tr, - img { - page-break-inside: avoid; } - - img { - max-width: 100% !important; } - - @page { - margin: 0.5cm; } - - h1 { - page-break-before: always; } - - h1.title { - page-break-before: avoid; } - - p, - h2, - h3 { - orphans: 3; - widows: 3; } - - h2, - h3 { - page-break-after: avoid; } -} - - -p { - margin-top: 0.5em; - margin-bottom: 0.5em; -} - -small { - font-size: 85%; } - -strong { - font-weight: 600; - font-size: 0.95em; - color: #3c3c3c; -} - -em { - font-style: italic; } - -h1 { - font-size: 1.8em; - font-weight: 400; - padding-bottom: .25em; - border-bottom: 1px solid #aaa; - margin-top: 2.5em; - margin-bottom: 1em; - line-height: 1.2em; } - -h1.title { - padding-bottom: 1em; - border-bottom: 0px; - font-size: 2.5em; - text-align: center; - font-weight: 900; - margin-top: 0.75em; - margin-bottom: 0em; -} - -h2 { - font-size: 1.3em; - margin-top: 2em; } - -h2.subtitle { - text-align: center; } - -h3 { - font-size: 1.125em; - font-style: italic; - margin-top: 1.5em; } - -h4 { - font-size: 1.125em; - margin-top: 1em; } - -h5 { - font-size: 1.125em; - margin-top: 0.75em; } - -h6 { - font-size: 1.1em; } - - -ul, -ol { - padding: 0; - margin-top: 0.5em; - margin-left: 0.75em; } - -ul ul, -ul ol, -ol ol, -ol ul { - margin-bottom: 0; - margin-left: 1.25em; } - -li { - list-style-type: circle; -} - -ul.simple-boot li { - list-style-type: none; - margin-left: 0em; - margin-bottom: 0.5em; -} - -ol.simple > li, ul.simple > li { - margin-bottom: 0.25em; - margin-left: 0.4em } - -ul.simple.simple-toc > li { - margin-top: 1em; -} - -ul.simple-toc { - list-style: none; - font-size: 0.9em; - margin-left: -0.3em; - margin-top: 1em; } - -ul.simple-toc > li { - list-style-type: none; -} - -ul.simple-toc-section { - list-style-type: circle; - margin-left: 1em; - color: #6c9aae; } - - -ol.arabic { - list-style: decimal; } - -ol.loweralpha { - list-style: lower-alpha; } - -ol.upperalpha { - list-style: upper-alpha; } - -ol.lowerroman { - list-style: lower-roman; } - -ol.upperroman { - list-style: upper-roman; } - -ul.auto-toc { - list-style-type: none; } - - -dl { - margin-bottom: 1.5em; } - -dt { - margin-bottom: -0.5em; - margin-left: 0.0em; } - -dd { - margin-left: 2.0em; - margin-bottom: 3.0em; - margin-top: 0.5em; } - - -hr { - margin: 2em 0; - border: 0; - border-top: 1px solid #aaa; } - -blockquote { - font-size: 0.9em; - font-style: italic; - padding-left: 0.5em; - margin-left: 0; - border-left: 5px solid #bbc; -} - -.pre { - font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; - font-weight: 500; - font-size: 0.85em; - background-color: #f0f3ff; - padding-left: 3px; - padding-right: 3px; - border-radius: 4px; -} - -pre { - font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; - color: #222; - font-weight: 500; - display: inline-block; - box-sizing: border-box; - min-width: 100%; - padding: 0.5em; - margin-top: 0.5em; - margin-bottom: 0.5em; - font-size: 0.85em; - white-space: pre !important; - overflow-y: hidden; - overflow-x: visible; - background-color: ghostwhite; - border: 1px solid #dde; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; } - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; } - - -/* Nim line-numbered tables */ -.line-nums-table { - width: 100%; - table-layout: fixed; } - -table.line-nums-table { - border-radius: 4px; - border: 1px solid #cccccc; - background-color: ghostwhite; - border-collapse: separate; - margin-top: 15px; - margin-bottom: 25px; } - -.line-nums-table tbody { - border: none; } - -.line-nums-table td pre { - border: none; - background-color: transparent; } - -.line-nums-table td.blob-line-nums { - width: 28px; } - -.line-nums-table td.blob-line-nums pre { - color: #b0b0b0; - -webkit-filter: opacity(75%); - text-align: right; - border-color: transparent; - background-color: transparent; - padding-left: 0px; - margin-left: 0px; - padding-right: 0px; - margin-right: 0px; } - - -table { - max-width: 100%; - background-color: transparent; - margin-top: 0.5em; - margin-bottom: 1.5em; - border-collapse: collapse; - border-color: #ccc; - border-spacing: 0; - font-size: 0.9em; -} - -table th, table td { - padding: 0px 0.5em 0px; -} - -table th { - background-color: #e8e8e8; - font-weight: bold; } - -table th.docinfo-name { - background-color: transparent; -} - -table tr:hover { - background-color: ghostwhite; } - - -/* rst2html default used to remove borders from tables and images */ -.borderless, table.borderless td, table.borderless th { - border: 0; } - -table.borderless td, table.borderless th { - /* Override padding for "table.docutils td" with "! important". - The right padding separates the table cells. */ - padding: 0 0.5em 0 0 !important; } - -.first { - /* Override more specific margin styles with "! important". */ - margin-top: 0 !important; } - -.last, .with-subtitle { - margin-bottom: 0 !important; } - -.hidden { - display: none; } - -blockquote.epigraph { - margin: 2em 5em; } - -dl.docutils dd { - margin-bottom: 0.5em; } - -object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { - overflow: hidden; } - - -div.figure { - margin-left: 2em; - margin-right: 2em; } - -div.footer, div.header { - clear: both; - text-align: center; - color: #666; - font-size: smaller; } - -div.footer { - padding-top: 5em; -} - -div.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; } - -div.line-block div.line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; } - -div.topic { - margin: 2em; } - -div.search_results { - background-color: antiquewhite; - margin: 3em; - padding: 1em; - border: 1px solid #4d4d4d; -} - -div#global-links ul { - margin-left: 0; - list-style-type: none; -} - -div#global-links > simple-boot { - margin-left: 3em; -} - -hr.docutils { - width: 75%; } - -img.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; } - -img.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; } - -img.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; } - -.align-left { - text-align: left; } - -.align-center { - clear: both; - text-align: center; } - -.align-right { - text-align: right; } - -/* reset inner alignment in figures */ -div.align-right { - text-align: inherit; } - -p.attribution { - text-align: right; - margin-left: 50%; } - -p.caption { - font-style: italic; } - -p.credits { - font-style: italic; - font-size: smaller; } - -p.label { - white-space: nowrap; } - -p.rubric { - font-weight: bold; - font-size: larger; - color: maroon; - text-align: center; } - -p.topic-title { - font-weight: bold; } - -pre.address { - margin-bottom: 0; - margin-top: 0; - font: inherit; } - -pre.literal-block, pre.doctest-block, pre.math, pre.code { - margin-left: 2em; - margin-right: 2em; } - -pre.code .ln { - color: grey; } - -/* line numbers */ -pre.code, code { - background-color: #eeeeee; } - -pre.code .comment, code .comment { - color: #5c6576; } - -pre.code .keyword, code .keyword { - color: #3B0D06; - font-weight: bold; } - -pre.code .literal.string, code .literal.string { - color: #0c5404; } - -pre.code .name.builtin, code .name.builtin { - color: #352b84; } - -pre.code .deleted, code .deleted { - background-color: #DEB0A1; } - -pre.code .inserted, code .inserted { - background-color: #A3D289; } - -span.classifier { - font-style: oblique; } - -span.classifier-delimiter { - font-weight: bold; } - -span.option { - white-space: nowrap; } - -span.problematic { - color: #b30000; } - -span.section-subtitle { - /* font-size relative to parent (h1..h6 element) */ - font-size: 80%; } - -span.DecNumber { - color: #252dbe; } - -span.BinNumber { - color: #252dbe; } - -span.HexNumber { - color: #252dbe; } - -span.OctNumber { - color: #252dbe; } - -span.FloatNumber { - color: #252dbe; } - -span.Identifier { - color: #222; } - -span.Keyword { - font-weight: 600; - color: #5e8f60; } - -span.StringLit { - color: #a4255b; } - -span.LongStringLit { - color: #a4255b; } - -span.CharLit { - color: #a4255b; } - -span.EscapeSequence { - color: black; } - -span.Operator { - color: black; } - -span.Punctuation { - color: black; } - -span.Comment, span.LongComment { - font-style: italic; - font-weight: 400; - color: #484a86; } - -span.RegularExpression { - color: darkviolet; } - -span.TagStart { - color: darkviolet; } - -span.TagEnd { - color: darkviolet; } - -span.Key { - color: #252dbe; } - -span.Value { - color: #252dbe; } - -span.RawData { - color: #a4255b; } - -span.Assembler { - color: #252dbe; } - -span.Preprocessor { - color: #252dbe; } - -span.Directive { - color: #252dbe; } - -span.Command, span.Rule, span.Hyperlink, span.Label, span.Reference, -span.Other { - color: black; } - -/* Pop type, const, proc, and iterator defs in nim def blocks */ -dt pre > span.Identifier, dt pre > span.Operator { - color: #155da4; - font-weight: 700; } - -dt pre > span.Keyword ~ span.Identifier, dt pre > span.Identifier ~ span.Identifier, -dt pre > span.Operator ~ span.Identifier, dt pre > span.Other ~ span.Identifier { - color: inherit; - font-weight: inherit; } - -/* Nim sprite for the footer (taken from main page favicon) */ -.nim-sprite { - display: inline-block; - height: 16px; - width: 16px; - background-position: 0 0; - background-size: 16px 16px; - -webkit-filter: opacity(50%); - background-repeat: no-repeat; - background-image: url("data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="); - margin-bottom: -5px; } - -span.pragmadots { - /* Position: relative frees us up to make the dots - look really nice without fucking up the layout and - causing bulging in the parent container */ - position: relative; - /* 1px down looks slightly nicer */ - top: 1px; - padding: 2px; - background-color: #e8e8e8; - border-radius: 4px; - margin: 0 2px; - cursor: pointer; - font-size: 0.8em; -} - -span.pragmadots:hover { - background-color: #DBDBDB; -} -span.pragmawrap { - display: none; -} - -span.attachedType { - display: none; - visibility: hidden; -} -</style> +<link rel="stylesheet" type="text/css" href="nimdoc.out.css"> <script type="text/javascript" src="dochack.js"></script> @@ -797,6 +33,37 @@ function main() { event.target.parentNode.nextElementSibling.style.display = "inline"; } } + + const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]'); + function switchTheme(e) { + if (e.target.checked) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', 'light'); + localStorage.setItem('theme', 'light'); + } + } + + toggleSwitch.addEventListener('change', switchTheme, false); + + + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-theme', "dark"); + toggleSwitch.checked = true; + } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-theme', "light"); + toggleSwitch.checked = false; + } else { + const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null; + if (currentTheme) { + document.documentElement.setAttribute('data-theme', currentTheme); + + if (currentTheme === 'dark') { + toggleSwitch.checked = true; + } + } + } } </script> @@ -805,8 +72,18 @@ function main() { <div class="document" id="documentId"> <div class="container"> <h1 class="title">Index</h1> - Modules: <a href="build.html">build</a>, <a href="cimport.html">cimport</a>, <a href="compat.html">compat</a>, <a href="paths.html">paths</a>, <a href="plugin.html">plugin</a>, <a href="types.html">types</a>.<br/><p /><h2>API symbols</h2> -<dl><dt><a name="c2nImport" href="#c2nImport"><span>c2nImport:</span></a></dt><dd><ul class="simple"> + Modules: <a href="build.html">build</a>, <a href="cimport.html">cimport</a>, <a href="compat.html">compat</a>, <a href="docs.html">docs</a>, <a href="paths.html">paths</a>, <a href="plugin.html">plugin</a>, <a href="types.html">types</a>.<br/><p /><h2>API symbols</h2> +<dl><dt><a name="ast2" href="#ast2"><span>ast2:</span></a></dt><dd><ul class="simple"> +<li><a class="reference external" + data-doc-search-tag="Feature.ast2" href="cimport.html#ast2">Feature.ast2</a></li> + </ul></dd> +<dt><a name="buildDocs" href="#buildDocs"><span>buildDocs:</span></a></dt><dd><ul class="simple"> +<li><a class="reference external" + data-doc-search-tag="docs: buildDocs(files: openArray[string]; path: string; baseDir = getProjectPath() & "/"; + defines: openArray[string] = @[])" href="docs.html#buildDocs%2CopenArray%5Bstring%5D%2Cstring%2CopenArray%5Bstring%5D">docs: buildDocs(files: openArray[string]; path: string; baseDir = getProjectPath() & "/"; + defines: openArray[string] = @[])</a></li> + </ul></dd> +<dt><a name="c2nImport" href="#c2nImport"><span>c2nImport:</span></a></dt><dd><ul class="simple"> <li><a class="reference external" data-doc-search-tag="cimport: c2nImport(filename: static string; recurse: static bool = false; dynlib: static string = ""; mode: static string = "c"; flags: static string = ""): untyped" href="cimport.html#c2nImport.m%2C%2Cstring%2Cstring%2Cstring">cimport: c2nImport(filename: static string; recurse: static bool = false; @@ -912,6 +189,10 @@ function main() { <li><a class="reference external" data-doc-search-tag="build: extractZip(zipfile, outdir: string)" href="build.html#extractZip%2Cstring%2Cstring">build: extractZip(zipfile, outdir: string)</a></li> </ul></dd> +<dt><a name="Feature" href="#Feature"><span>Feature:</span></a></dt><dd><ul class="simple"> +<li><a class="reference external" + data-doc-search-tag="cimport: Feature" href="cimport.html#Feature">cimport: Feature</a></li> + </ul></dd> <dt><a name="findExe" href="#findExe"><span>findExe:</span></a></dt><dd><ul class="simple"> <li><a class="reference external" data-doc-search-tag="build: findExe(exe: string): string" href="build.html#findExe%2Cstring">build: findExe(exe: string): string</a></li> @@ -1012,7 +293,7 @@ function main() { </ul></dd> <dt><a name="onSymbolOverrideFinal" href="#onSymbolOverrideFinal"><span>onSymbolOverrideFinal:</span></a></dt><dd><ul class="simple"> <li><a class="reference external" - data-doc-search-tag="plugin: onSymbolOverrideFinal(typ: string): HashSet[string]" href="plugin.html#onSymbolOverrideFinal%2Cstring">plugin: onSymbolOverrideFinal(typ: string): HashSet[string]</a></li> + data-doc-search-tag="plugin: onSymbolOverrideFinal(typ: string): StringHash" href="plugin.html#onSymbolOverrideFinal%2Cstring">plugin: onSymbolOverrideFinal(typ: string): StringHash</a></li> </ul></dd> <dt><a name="ptrdiff_t" href="#ptrdiff_t"><span>ptrdiff_t:</span></a></dt><dd><ul class="simple"> <li><a class="reference external" @@ -1083,7 +364,7 @@ function main() { <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small>Made with Nim. Generated: 2019-12-23 20:57:15 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2020-03-24 20:54:26 UTC</small> </div> </div> </div> @@ -10,6 +10,7 @@ <!-- Favicon --> <link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/> +<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII="> <!-- Google fonts --> <link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/> @@ -17,772 +18,7 @@ <!-- CSS --> <title>types</title> -<style type="text/css" > -/* -Stylesheet for use with Docutils/rst2html. - -See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to -customize this style sheet. - -Modified from Chad Skeeters' rst2html-style -https://bitbucket.org/cskeeters/rst2html-style/ - -Modified by Boyd Greenfield and narimiran -*/ - -html { - font-size: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; } - -body { - font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; - font-weight: 400; - font-size: 1.125em; - line-height: 1.5; - color: #222; - background-color: #FCFCFC; } - -/* Skeleton grid */ -.container { - position: relative; - width: 100%; - max-width: 1050px; - margin: 0 auto; - padding: 0; - box-sizing: border-box; } - -.column, -.columns { - width: 100%; - float: left; - box-sizing: border-box; - margin-left: 1%; -} - -.column:first-child, -.columns:first-child { - margin-left: 0; } - -.three.columns { - width: 19%; } - -.nine.columns { - width: 80.0%; } - -.twelve.columns { - width: 100%; - margin-left: 0; } - -@media screen and (max-width: 860px) { - .three.columns { - display: none; - } - .nine.columns { - width: 98.0%; - } - body { - font-size: 1em; - line-height: 1.35; - } -} - -cite { - font-style: italic !important; } - - -/* Nim search input */ -div#searchInputDiv { - margin-bottom: 1em; -} -input#searchInput { - width: 80%; -} - -/* - * Some custom formatting for input forms. - * This also fixes input form colors on Firefox with a dark system theme on Linux. - */ -input { - -moz-appearance: none; - color: #333; - background-color: #f8f8f8; - border: 1px solid #aaa; - font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; - font-size: 0.9em; - padding: 6px; -} -input:focus { - border: 1px solid #1fa0eb; - box-shadow: 0 0 2px #1fa0eb; -} - -/* Docgen styles */ -/* Links */ -a { - color: #07b; - text-decoration: none; -} - -a span.Identifier { - text-decoration: underline; - text-decoration-color: #aab; -} - -a.reference-toplevel { - font-weight: bold; -} - -a.toc-backref { - text-decoration: none; - color: #222; } - -a.link-seesrc { - color: #607c9f; - font-size: 0.9em; - font-style: italic; } - -a:hover, -a:focus { - color: #607c9f; - text-decoration: underline; } - -a:hover span.Identifier { - color: #607c9f; -} - - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; } - -sup { - top: -0.5em; } - -sub { - bottom: -0.25em; } - -img { - width: auto; - height: auto; - max-width: 100%; - vertical-align: middle; - border: 0; - -ms-interpolation-mode: bicubic; } - -@media print { - * { - color: black !important; - text-shadow: none !important; - background: transparent !important; - box-shadow: none !important; } - - a, - a:visited { - text-decoration: underline; } - - a[href]:after { - content: " (" attr(href) ")"; } - - abbr[title]:after { - content: " (" attr(title) ")"; } - - .ir a:after, - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; } - - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; } - - thead { - display: table-header-group; } - - tr, - img { - page-break-inside: avoid; } - - img { - max-width: 100% !important; } - - @page { - margin: 0.5cm; } - - h1 { - page-break-before: always; } - - h1.title { - page-break-before: avoid; } - - p, - h2, - h3 { - orphans: 3; - widows: 3; } - - h2, - h3 { - page-break-after: avoid; } -} - - -p { - margin-top: 0.5em; - margin-bottom: 0.5em; -} - -small { - font-size: 85%; } - -strong { - font-weight: 600; - font-size: 0.95em; - color: #3c3c3c; -} - -em { - font-style: italic; } - -h1 { - font-size: 1.8em; - font-weight: 400; - padding-bottom: .25em; - border-bottom: 1px solid #aaa; - margin-top: 2.5em; - margin-bottom: 1em; - line-height: 1.2em; } - -h1.title { - padding-bottom: 1em; - border-bottom: 0px; - font-size: 2.5em; - text-align: center; - font-weight: 900; - margin-top: 0.75em; - margin-bottom: 0em; -} - -h2 { - font-size: 1.3em; - margin-top: 2em; } - -h2.subtitle { - text-align: center; } - -h3 { - font-size: 1.125em; - font-style: italic; - margin-top: 1.5em; } - -h4 { - font-size: 1.125em; - margin-top: 1em; } - -h5 { - font-size: 1.125em; - margin-top: 0.75em; } - -h6 { - font-size: 1.1em; } - - -ul, -ol { - padding: 0; - margin-top: 0.5em; - margin-left: 0.75em; } - -ul ul, -ul ol, -ol ol, -ol ul { - margin-bottom: 0; - margin-left: 1.25em; } - -li { - list-style-type: circle; -} - -ul.simple-boot li { - list-style-type: none; - margin-left: 0em; - margin-bottom: 0.5em; -} - -ol.simple > li, ul.simple > li { - margin-bottom: 0.25em; - margin-left: 0.4em } - -ul.simple.simple-toc > li { - margin-top: 1em; -} - -ul.simple-toc { - list-style: none; - font-size: 0.9em; - margin-left: -0.3em; - margin-top: 1em; } - -ul.simple-toc > li { - list-style-type: none; -} - -ul.simple-toc-section { - list-style-type: circle; - margin-left: 1em; - color: #6c9aae; } - - -ol.arabic { - list-style: decimal; } - -ol.loweralpha { - list-style: lower-alpha; } - -ol.upperalpha { - list-style: upper-alpha; } - -ol.lowerroman { - list-style: lower-roman; } - -ol.upperroman { - list-style: upper-roman; } - -ul.auto-toc { - list-style-type: none; } - - -dl { - margin-bottom: 1.5em; } - -dt { - margin-bottom: -0.5em; - margin-left: 0.0em; } - -dd { - margin-left: 2.0em; - margin-bottom: 3.0em; - margin-top: 0.5em; } - - -hr { - margin: 2em 0; - border: 0; - border-top: 1px solid #aaa; } - -blockquote { - font-size: 0.9em; - font-style: italic; - padding-left: 0.5em; - margin-left: 0; - border-left: 5px solid #bbc; -} - -.pre { - font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; - font-weight: 500; - font-size: 0.85em; - background-color: #f0f3ff; - padding-left: 3px; - padding-right: 3px; - border-radius: 4px; -} - -pre { - font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; - color: #222; - font-weight: 500; - display: inline-block; - box-sizing: border-box; - min-width: 100%; - padding: 0.5em; - margin-top: 0.5em; - margin-bottom: 0.5em; - font-size: 0.85em; - white-space: pre !important; - overflow-y: hidden; - overflow-x: visible; - background-color: ghostwhite; - border: 1px solid #dde; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; } - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; } - - -/* Nim line-numbered tables */ -.line-nums-table { - width: 100%; - table-layout: fixed; } - -table.line-nums-table { - border-radius: 4px; - border: 1px solid #cccccc; - background-color: ghostwhite; - border-collapse: separate; - margin-top: 15px; - margin-bottom: 25px; } - -.line-nums-table tbody { - border: none; } - -.line-nums-table td pre { - border: none; - background-color: transparent; } - -.line-nums-table td.blob-line-nums { - width: 28px; } - -.line-nums-table td.blob-line-nums pre { - color: #b0b0b0; - -webkit-filter: opacity(75%); - text-align: right; - border-color: transparent; - background-color: transparent; - padding-left: 0px; - margin-left: 0px; - padding-right: 0px; - margin-right: 0px; } - - -table { - max-width: 100%; - background-color: transparent; - margin-top: 0.5em; - margin-bottom: 1.5em; - border-collapse: collapse; - border-color: #ccc; - border-spacing: 0; - font-size: 0.9em; -} - -table th, table td { - padding: 0px 0.5em 0px; -} - -table th { - background-color: #e8e8e8; - font-weight: bold; } - -table th.docinfo-name { - background-color: transparent; -} - -table tr:hover { - background-color: ghostwhite; } - - -/* rst2html default used to remove borders from tables and images */ -.borderless, table.borderless td, table.borderless th { - border: 0; } - -table.borderless td, table.borderless th { - /* Override padding for "table.docutils td" with "! important". - The right padding separates the table cells. */ - padding: 0 0.5em 0 0 !important; } - -.first { - /* Override more specific margin styles with "! important". */ - margin-top: 0 !important; } - -.last, .with-subtitle { - margin-bottom: 0 !important; } - -.hidden { - display: none; } - -blockquote.epigraph { - margin: 2em 5em; } - -dl.docutils dd { - margin-bottom: 0.5em; } - -object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { - overflow: hidden; } - - -div.figure { - margin-left: 2em; - margin-right: 2em; } - -div.footer, div.header { - clear: both; - text-align: center; - color: #666; - font-size: smaller; } - -div.footer { - padding-top: 5em; -} - -div.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; } - -div.line-block div.line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; } - -div.topic { - margin: 2em; } - -div.search_results { - background-color: antiquewhite; - margin: 3em; - padding: 1em; - border: 1px solid #4d4d4d; -} - -div#global-links ul { - margin-left: 0; - list-style-type: none; -} - -div#global-links > simple-boot { - margin-left: 3em; -} - -hr.docutils { - width: 75%; } - -img.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; } - -img.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; } - -img.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; } - -.align-left { - text-align: left; } - -.align-center { - clear: both; - text-align: center; } - -.align-right { - text-align: right; } - -/* reset inner alignment in figures */ -div.align-right { - text-align: inherit; } - -p.attribution { - text-align: right; - margin-left: 50%; } - -p.caption { - font-style: italic; } - -p.credits { - font-style: italic; - font-size: smaller; } - -p.label { - white-space: nowrap; } - -p.rubric { - font-weight: bold; - font-size: larger; - color: maroon; - text-align: center; } - -p.topic-title { - font-weight: bold; } - -pre.address { - margin-bottom: 0; - margin-top: 0; - font: inherit; } - -pre.literal-block, pre.doctest-block, pre.math, pre.code { - margin-left: 2em; - margin-right: 2em; } - -pre.code .ln { - color: grey; } - -/* line numbers */ -pre.code, code { - background-color: #eeeeee; } - -pre.code .comment, code .comment { - color: #5c6576; } - -pre.code .keyword, code .keyword { - color: #3B0D06; - font-weight: bold; } - -pre.code .literal.string, code .literal.string { - color: #0c5404; } - -pre.code .name.builtin, code .name.builtin { - color: #352b84; } - -pre.code .deleted, code .deleted { - background-color: #DEB0A1; } - -pre.code .inserted, code .inserted { - background-color: #A3D289; } - -span.classifier { - font-style: oblique; } - -span.classifier-delimiter { - font-weight: bold; } - -span.option { - white-space: nowrap; } - -span.problematic { - color: #b30000; } - -span.section-subtitle { - /* font-size relative to parent (h1..h6 element) */ - font-size: 80%; } - -span.DecNumber { - color: #252dbe; } - -span.BinNumber { - color: #252dbe; } - -span.HexNumber { - color: #252dbe; } - -span.OctNumber { - color: #252dbe; } - -span.FloatNumber { - color: #252dbe; } - -span.Identifier { - color: #222; } - -span.Keyword { - font-weight: 600; - color: #5e8f60; } - -span.StringLit { - color: #a4255b; } - -span.LongStringLit { - color: #a4255b; } - -span.CharLit { - color: #a4255b; } - -span.EscapeSequence { - color: black; } - -span.Operator { - color: black; } - -span.Punctuation { - color: black; } - -span.Comment, span.LongComment { - font-style: italic; - font-weight: 400; - color: #484a86; } - -span.RegularExpression { - color: darkviolet; } - -span.TagStart { - color: darkviolet; } - -span.TagEnd { - color: darkviolet; } - -span.Key { - color: #252dbe; } - -span.Value { - color: #252dbe; } - -span.RawData { - color: #a4255b; } - -span.Assembler { - color: #252dbe; } - -span.Preprocessor { - color: #252dbe; } - -span.Directive { - color: #252dbe; } - -span.Command, span.Rule, span.Hyperlink, span.Label, span.Reference, -span.Other { - color: black; } - -/* Pop type, const, proc, and iterator defs in nim def blocks */ -dt pre > span.Identifier, dt pre > span.Operator { - color: #155da4; - font-weight: 700; } - -dt pre > span.Keyword ~ span.Identifier, dt pre > span.Identifier ~ span.Identifier, -dt pre > span.Operator ~ span.Identifier, dt pre > span.Other ~ span.Identifier { - color: inherit; - font-weight: inherit; } - -/* Nim sprite for the footer (taken from main page favicon) */ -.nim-sprite { - display: inline-block; - height: 16px; - width: 16px; - background-position: 0 0; - background-size: 16px 16px; - -webkit-filter: opacity(50%); - background-repeat: no-repeat; - background-image: url("data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="); - margin-bottom: -5px; } - -span.pragmadots { - /* Position: relative frees us up to make the dots - look really nice without fucking up the layout and - causing bulging in the parent container */ - position: relative; - /* 1px down looks slightly nicer */ - top: 1px; - padding: 2px; - background-color: #e8e8e8; - border-radius: 4px; - margin: 0 2px; - cursor: pointer; - font-size: 0.8em; -} - -span.pragmadots:hover { - background-color: #DBDBDB; -} -span.pragmawrap { - display: none; -} - -span.attachedType { - display: none; - visibility: hidden; -} -</style> +<link rel="stylesheet" type="text/css" href="nimdoc.out.css"> <script type="text/javascript" src="dochack.js"></script> @@ -797,6 +33,37 @@ function main() { event.target.parentNode.nextElementSibling.style.display = "inline"; } } + + const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]'); + function switchTheme(e) { + if (e.target.checked) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', 'light'); + localStorage.setItem('theme', 'light'); + } + } + + toggleSwitch.addEventListener('change', switchTheme, false); + + + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-theme', "dark"); + toggleSwitch.checked = true; + } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-theme', "light"); + toggleSwitch.checked = false; + } else { + const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null; + if (currentTheme) { + document.documentElement.setAttribute('data-theme', currentTheme); + + if (currentTheme === 'dark') { + toggleSwitch.checked = true; + } + } + } } </script> @@ -807,6 +74,13 @@ function main() { <h1 class="title">types</h1> <div class="row"> <div class="three columns"> + <div class="theme-switch-wrapper"> + <label class="theme-switch" for="checkbox"> + <input type="checkbox" id="checkbox" /> + <div class="slider round"></div> + </label> + <em>Dark Mode</em> + </div> <div id="global-links"> <ul class="simple"> </ul> @@ -924,7 +198,7 @@ function main() { <div class="twelve-columns footer"> <span class="nim-sprite"></span> <br/> - <small>Made with Nim. Generated: 2019-12-23 20:57:13 UTC</small> + <small style="color: var(--hint);">Made with Nim. Generated: 2020-03-24 20:54:23 UTC</small> </div> </div> </div> |
