diff --git a/src/includes/docs/details.html b/src/old/includes/docs/details.html
similarity index 100%
rename from src/includes/docs/details.html
rename to src/old/includes/docs/details.html
diff --git a/src/old/includes/docs/head.html b/src/old/includes/docs/head.html
new file mode 100644
index 0000000..47c57cf
--- /dev/null
+++ b/src/old/includes/docs/head.html
@@ -0,0 +1,13 @@
+{{define "docs-head"}}
+ {{import "/old/includes/head.html"}}
+ {{template "head"}}
+
+ {{$directives := list }}
+ {{range $i, $file := (listFiles "/docs/markdown/caddyfile/directives")}}
+ {{$directives = append $directives ($file | trimSuffix ".md")}}
+ {{end}}
+
+
+
+{{end}}
diff --git a/src/old/includes/docs/header.html b/src/old/includes/docs/header.html
new file mode 100644
index 0000000..a11ccd5
--- /dev/null
+++ b/src/old/includes/docs/header.html
@@ -0,0 +1,12 @@
+
\ No newline at end of file
diff --git a/src/includes/docs/hovercard.html b/src/old/includes/docs/hovercard.html
similarity index 100%
rename from src/includes/docs/hovercard.html
rename to src/old/includes/docs/hovercard.html
diff --git a/src/includes/docs/nav.html b/src/old/includes/docs/nav.html
similarity index 96%
rename from src/includes/docs/nav.html
rename to src/old/includes/docs/nav.html
index 7b25c4c..a60803b 100644
--- a/src/includes/docs/nav.html
+++ b/src/old/includes/docs/nav.html
@@ -1,7 +1,7 @@
diff --git a/src/includes/docs/renderbox.html b/src/old/includes/docs/renderbox.html
similarity index 100%
rename from src/includes/docs/renderbox.html
rename to src/old/includes/docs/renderbox.html
diff --git a/src/old/includes/footer.html b/src/old/includes/footer.html
new file mode 100644
index 0000000..1b90a11
--- /dev/null
+++ b/src/old/includes/footer.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
diff --git a/new/includes/head.html b/src/old/includes/head.html
similarity index 52%
rename from new/includes/head.html
rename to src/old/includes/head.html
index 632c9ba..0311c67 100644
--- a/new/includes/head.html
+++ b/src/old/includes/head.html
@@ -9,52 +9,50 @@
+
{{end}}
+
diff --git a/src/includes/header-nav.html b/src/old/includes/header-nav.html
similarity index 73%
rename from src/includes/header-nav.html
rename to src/old/includes/header-nav.html
index 64fced9..05fa201 100644
--- a/src/includes/header-nav.html
+++ b/src/old/includes/header-nav.html
@@ -1,11 +1,11 @@
diff --git a/src/resources/css/account/common.css b/src/old/resources/css/account/common.css
similarity index 100%
rename from src/resources/css/account/common.css
rename to src/old/resources/css/account/common.css
diff --git a/src/resources/css/account/dashboard.css b/src/old/resources/css/account/dashboard.css
similarity index 100%
rename from src/resources/css/account/dashboard.css
rename to src/old/resources/css/account/dashboard.css
diff --git a/src/resources/css/business.css b/src/old/resources/css/business.css
similarity index 100%
rename from src/resources/css/business.css
rename to src/old/resources/css/business.css
diff --git a/src/old/resources/css/chroma.css b/src/old/resources/css/chroma.css
new file mode 100644
index 0000000..193432e
--- /dev/null
+++ b/src/old/resources/css/chroma.css
@@ -0,0 +1,161 @@
+/*
+ Derived from https://gist.github.com/nicolashery/5765395
+ Adjusted to be high-contrast
+*/
+
+
+/*
+ Solarized Light (High Contrast)
+ Derived from http://ethanschoonover.com/solarized
+*/
+.chroma {
+ background: linear-gradient(0deg, #f8fbfd 0%, #edf5fd 100%);
+ color: #254048;
+}
+.chroma .c { color: #93a1a1 } /* Comment */
+.chroma .err { color: #586e75 } /* Error */
+.chroma .g { color: #586e75 } /* Generic */
+.chroma .k { color: #577b00 } /* Keyword */
+.chroma .l { color: #586e75 } /* Literal */
+.chroma .n { color: #586e75 } /* Name */
+.chroma .o { color: #577b00 } /* Operator */
+.chroma .x { color: #d03d00 } /* Other */
+.chroma .p { color: #586e75 } /* Punctuation */
+.chroma .cm { color: #93a1a1 } /* Comment.Multiline */
+.chroma .cp { color: #577b00 } /* Comment.Preproc */
+.chroma .c1 { color: #93a1a1 } /* Comment.Single */
+.chroma .cs { color: #577b00 } /* Comment.Special */
+.chroma .gd { color: #dc322f; background-color: #efdede } /* Generic.Deleted */
+.chroma .ge { color: #586e75; font-style: italic } /* Generic.Emph */
+.chroma .gr { color: #dc322f } /* Generic.Error */
+.chroma .gh { color: #d03d00 } /* Generic.Heading */
+.chroma .gi { color: #577b00; background-color: #ddecdc } /* Generic.Inserted */
+.chroma .go { color: #586e75 } /* Generic.Output */
+.chroma .gp { color: #586e75 } /* Generic.Prompt */
+.chroma .gs { color: #586e75; font-weight: bold } /* Generic.Strong */
+.chroma .gu { color: #d03d00 } /* Generic.Subheading */
+.chroma .gt { color: #586e75 } /* Generic.Traceback */
+.chroma .kc { color: #d03d00 } /* Keyword.Constant */
+.chroma .kd { color: #0673bf } /* Keyword.Declaration */
+.chroma .kn { color: #577b00 } /* Keyword.Namespace */
+.chroma .kp { color: #577b00 } /* Keyword.Pseudo */
+.chroma .kr { color: #0673bf } /* Keyword.Reserved */
+.chroma .kt { color: #dc322f } /* Keyword.Type */
+.chroma .ld { color: #586e75 } /* Literal.Date */
+.chroma .m { color: #008076 } /* Literal.Number */
+.chroma .s { color: #008076 } /* Literal.String */
+.chroma .na { color: #586e75 } /* Name.Attribute */
+.chroma .nb { color: #B58900 } /* Name.Builtin */
+.chroma .nc { color: #0673bf } /* Name.Class */
+.chroma .no { color: #d03d00 } /* Name.Constant */
+.chroma .nd { color: #0673bf } /* Name.Decorator */
+.chroma .ni { color: #d03d00 } /* Name.Entity */
+.chroma .ne { color: #d03d00 } /* Name.Exception */
+.chroma .nf { color: #0673bf } /* Name.Function */
+.chroma .nl { color: #586e75 } /* Name.Label */
+.chroma .nn { color: #586e75 } /* Name.Namespace */
+.chroma .nx { color: #586e75 } /* Name.Other */
+.chroma .py { color: #586e75 } /* Name.Property */
+.chroma .nt { color: #0673bf } /* Name.Tag */
+.chroma .nv { color: #0673bf } /* Name.Variable */
+.chroma .ow { color: #577b00 } /* Operator.Word */
+.chroma .w { color: #586e75 } /* Text.Whitespace */
+.chroma .mf { color: #008076 } /* Literal.Number.Float */
+.chroma .mh { color: #008076 } /* Literal.Number.Hex */
+.chroma .mi { color: #008076 } /* Literal.Number.Integer */
+.chroma .mo { color: #008076 } /* Literal.Number.Oct */
+.chroma .sb { color: #93a1a1 } /* Literal.String.Backtick */
+.chroma .sc { color: #008076 } /* Literal.String.Char */
+.chroma .sd { color: #586e75 } /* Literal.String.Doc */
+.chroma .s2 { color: #008076 } /* Literal.String.Double */
+.chroma .se { color: #d03d00 } /* Literal.String.Escape */
+.chroma .sh { color: #586e75 } /* Literal.String.Heredoc */
+.chroma .si { color: #008076 } /* Literal.String.Interpol */
+.chroma .sx { color: #008076 } /* Literal.String.Other */
+.chroma .sr { color: #dc322f } /* Literal.String.Regex */
+.chroma .s1 { color: #008076 } /* Literal.String.Single */
+.chroma .ss { color: #008076 } /* Literal.String.Symbol */
+.chroma .bp { color: #0673bf } /* Name.Builtin.Pseudo */
+.chroma .vc { color: #0673bf } /* Name.Variable.Class */
+.chroma .vg { color: #0673bf } /* Name.Variable.Global */
+.chroma .vi { color: #0673bf } /* Name.Variable.Instance */
+.chroma .il { color: #008076 } /* Literal.Number.Integer.Long */
+
+@media (prefers-color-scheme: dark) {
+ /*
+ Solarized Dark (High Contrast)
+ Derived from http://ethanschoonover.com/solarized
+ */
+ .chroma {
+ background: linear-gradient(0deg, #18384d 0%, #122537 100%);
+ color: #93a1a1;
+ }
+ .chroma .c { color: #586e75 } /* Comment */
+ .chroma .err { color: #93a1a1 } /* Error */
+ .chroma .g { color: #93a1a1 } /* Generic */
+ .chroma .k { color: #76a507 } /* Keyword */
+ .chroma .l { color: #93a1a1 } /* Literal */
+ .chroma .n { color: #93a1a1 } /* Name */
+ .chroma .o { color: #76a507 } /* Operator */
+ .chroma .x { color: #ec662e } /* Other */
+ .chroma .p { color: #93a1a1 } /* Punctuation */
+ .chroma .cm { color: #586e75 } /* Comment.Multiline */
+ .chroma .cp { color: #76a507 } /* Comment.Preproc */
+ .chroma .c1 { color: #586e75 } /* Comment.Single */
+ .chroma .cs { color: #76a507 } /* Comment.Special */
+ .chroma .gd { color: #dc322f; background-color: #efdede } /* Generic.Deleted */
+ .chroma .ge { color: #93a1a1; font-style: italic } /* Generic.Emph */
+ .chroma .gr { color: #dc322f } /* Generic.Error */
+ .chroma .gh { color: #ec662e } /* Generic.Heading */
+ .chroma .gi { color: #76a507 } /* Generic.Inserted */
+ .chroma .go { color: #93a1a1 } /* Generic.Output */
+ .chroma .gp { color: #93a1a1 } /* Generic.Prompt */
+ .chroma .gs { color: #93a1a1; font-weight: bold } /* Generic.Strong */
+ .chroma .gu { color: #ec662e } /* Generic.Subheading */
+ .chroma .gt { color: #93a1a1 } /* Generic.Traceback */
+ .chroma .kc { color: #ec662e } /* Keyword.Constant */
+ .chroma .kd { color: #0090f5 } /* Keyword.Declaration */
+ .chroma .kn { color: #76a507 } /* Keyword.Namespace */
+ .chroma .kp { color: #76a507 } /* Keyword.Pseudo */
+ .chroma .kr { color: #0090f5 } /* Keyword.Reserved */
+ .chroma .kt { color: #dc322f } /* Keyword.Type */
+ .chroma .ld { color: #93a1a1 } /* Literal.Date */
+ .chroma .m { color: #09a598 } /* Literal.Number */
+ .chroma .s { color: #09a598 } /* Literal.String */
+ .chroma .na { color: #93a1a1 } /* Name.Attribute */
+ .chroma .nb { color: #B58900 } /* Name.Builtin */
+ .chroma .nc { color: #0090f5 } /* Name.Class */
+ .chroma .no { color: #ec662e } /* Name.Constant */
+ .chroma .nd { color: #0090f5 } /* Name.Decorator */
+ .chroma .ni { color: #ec662e } /* Name.Entity */
+ .chroma .ne { color: #ec662e } /* Name.Exception */
+ .chroma .nf { color: #0090f5 } /* Name.Function */
+ .chroma .nl { color: #93a1a1 } /* Name.Label */
+ .chroma .nn { color: #93a1a1 } /* Name.Namespace */
+ .chroma .nx { color: #93a1a1 } /* Name.Other */
+ .chroma .py { color: #93a1a1 } /* Name.Property */
+ .chroma .nt { color: #0090f5 } /* Name.Tag */
+ .chroma .nv { color: #0090f5 } /* Name.Variable */
+ .chroma .ow { color: #76a507 } /* Operator.Word */
+ .chroma .w { color: #93a1a1 } /* Text.Whitespace */
+ .chroma .mf { color: #09a598 } /* Literal.Number.Float */
+ .chroma .mh { color: #09a598 } /* Literal.Number.Hex */
+ .chroma .mi { color: #09a598 } /* Literal.Number.Integer */
+ .chroma .mo { color: #09a598 } /* Literal.Number.Oct */
+ .chroma .sb { color: #586e75 } /* Literal.String.Backtick */
+ .chroma .sc { color: #09a598 } /* Literal.String.Char */
+ .chroma .sd { color: #93a1a1 } /* Literal.String.Doc */
+ .chroma .s2 { color: #09a598 } /* Literal.String.Double */
+ .chroma .se { color: #ec662e } /* Literal.String.Escape */
+ .chroma .sh { color: #93a1a1 } /* Literal.String.Heredoc */
+ .chroma .si { color: #09a598 } /* Literal.String.Interpol */
+ .chroma .sx { color: #09a598 } /* Literal.String.Other */
+ .chroma .sr { color: #dc322f } /* Literal.String.Regex */
+ .chroma .s1 { color: #09a598 } /* Literal.String.Single */
+ .chroma .ss { color: #09a598 } /* Literal.String.Symbol */
+ .chroma .bp { color: #0090f5 } /* Name.Builtin.Pseudo */
+ .chroma .vc { color: #0090f5 } /* Name.Variable.Class */
+ .chroma .vg { color: #0090f5 } /* Name.Variable.Global */
+ .chroma .vi { color: #0090f5 } /* Name.Variable.Instance */
+ .chroma .il { color: #09a598 } /* Literal.Number.Integer.Long */
+}
diff --git a/src/old/resources/css/common.css b/src/old/resources/css/common.css
new file mode 100644
index 0000000..a6216e7
--- /dev/null
+++ b/src/old/resources/css/common.css
@@ -0,0 +1,283 @@
+* {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+}
+
+body {
+ font-family: Inter, sans-serif;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ tab-size: 4;
+ -moz-tab-size: 4;
+}
+
+.wrapper {
+ max-width: 1400px;
+ margin-left: auto;
+ margin-right: auto;
+ padding-left: 40px;
+ padding-right: 40px;
+}
+
+.text-center {
+ text-align: center;
+}
+
+.text-right {
+ text-align: right;
+}
+
+.float-right {
+ float: right;
+}
+
+a {
+ color: #0694f1;
+ text-decoration: none;
+}
+
+a:hover {
+ color: #ff3f2c;
+}
+
+header {
+ display: flex;
+ justify-content: space-between;
+ padding: 25px 0;
+}
+
+#logo-container {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-end;
+}
+
+#logo {
+ height: 50px;
+}
+
+#zerossl-project {
+ font-size: 12px;
+ margin-top: -5px;
+}
+
+#zerossl-logo {
+ height: 1.5em;
+ vertical-align: middle;
+}
+
+header nav {
+ text-align: right;
+ line-height: 40px;
+}
+
+header nav > a {
+ display: inline-block;
+ padding-left: 12px;
+ padding-right: 12px;
+ text-decoration: none;
+ color: inherit;
+}
+
+header nav > a:hover {
+ color: #ff3f2c;
+}
+
+header nav > a.current {
+ font-weight: bold;
+}
+
+/* Algolia DocSearch */
+#search {
+ display: inline-block;
+ vertical-align: middle;
+}
+.DocSearch-Container {
+ color: initial;
+}
+.DocSearch-Footer {
+ margin-top: 0;
+}
+/* End Algolia DocSearch */
+
+header nav .new {
+ background-color: #ffe300;
+ font-size: 75%;
+ vertical-align: top;
+ padding: 4px 8px;
+ border-radius: 1em;
+}
+
+header nav .button {
+ margin: 0 0 0 10px;
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+button,
+.button {
+ border-radius: 2em;
+ padding: 10px 20px;
+ margin: 15px 0;
+ height: auto;
+ transition: all .2s;
+ text-decoration: none;
+ display: inline-block;
+ border: 0;
+ cursor: pointer;
+}
+
+button:hover,
+.button:hover {
+ transform: scale(1.05);
+}
+
+button:active,
+.button:active {
+ transform: translateY(2px);
+}
+
+button.red,
+.button.red {
+ background-color: #d9552b;
+ color: white;
+}
+
+button.red:hover,
+.button.red:hover {
+ background-color: #fd511a;
+}
+
+button.blue,
+.button.blue {
+ background-color: #0082d0;
+ color: white;
+}
+
+button.blue:hover,
+.button.blue:hover {
+ background-color: #00aaff;
+}
+
+button.gray,
+.button.gray {
+ background-color: #4c6a79;
+ color: white;
+}
+
+button.gray:hover,
+.button.gray:hover {
+ background-color: #4f8098;
+}
+
+button.big,
+.button.big {
+ font-size: 125%;
+ text-transform: uppercase;
+ font-weight: bold;
+ padding: 20px 50px;
+ margin-right: 20px;
+}
+
+button.disabled,
+.button.disabled,
+button:disabled,
+.button:disabled {
+ background-color: #aaa !important;
+ color: white !important;
+ transform: none !important;
+ cursor: not-allowed;
+}
+
+
+p button,
+p .button {
+ font-size: 18px;
+ padding: 12px 30px;
+}
+
+
+article a:hover {
+ text-decoration: underline;
+}
+
+pre,
+code,
+kbd {
+ font-family: 'PT Mono', 'Source Code Pro', monospace;
+ padding: 3px 6px;
+ font-size: 95%;
+ line-height: 1.5em;
+}
+
+kbd {
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ font-size: 80%;
+ font-weight: bold;
+}
+
+
+footer {
+ display: flex;
+ justify-content: space-between;
+ margin-top: 100px;
+ padding-bottom: 100px;
+ line-height: 125%;
+}
+
+footer > div {
+ width: 50%;
+}
+
+#footer-logo {
+ float: left;
+ max-width: 150px;
+ margin-right: 35px;
+ vertical-align: middle;
+ margin-top: -4px;
+}
+
+.copyright {
+ text-align: right;
+ font-size: 14px;
+ color: #999;
+}
+
+@media (max-width: 900px) {
+ header {
+ flex-direction: column;
+ gap: 1em;
+ }
+
+ #logo-container {
+ align-items: center;
+ }
+
+ header nav {
+ text-align: center;
+ }
+
+ footer {
+ flex-direction: column;
+ margin-top: 0;
+ padding: 20px 0;
+ }
+
+ footer > div {
+ width: initial;
+ text-align: center;
+ margin: 10px 0;
+ }
+
+ #footer-logo {
+ float: none;
+ display: block;
+ margin: 0 auto 25px;
+ }
+
+ .copyright {
+ text-align: center;
+ }
+}
diff --git a/src/resources/css/docs-json.css b/src/old/resources/css/docs-json.css
similarity index 100%
rename from src/resources/css/docs-json.css
rename to src/old/resources/css/docs-json.css
diff --git a/src/old/resources/css/docs.css b/src/old/resources/css/docs.css
new file mode 100644
index 0000000..0b25e3a
--- /dev/null
+++ b/src/old/resources/css/docs.css
@@ -0,0 +1,1106 @@
+body {
+ font-family: Maven Pro, sans-serif;
+ background: #f1f4f5;
+}
+
+header {
+ padding: 20px 40px;
+}
+
+#logo-container {
+ align-items: flex-start;
+}
+
+#logo-docs-container {
+ display: flex;
+ align-items: center;
+}
+
+#logo {
+ height: 35px;
+}
+
+#logo-docs {
+ font-family: Montserrat, sans-serif;
+ font-weight: bold;
+ text-transform: uppercase;
+ color: #0e495e;
+ margin-left: 10px;
+ font-size: 12px;
+}
+
+#zerossl-project {
+ padding-left: 2em;
+}
+
+#search {
+ margin-top: 0;
+}
+
+header nav {
+ font-size: 16px;
+ line-height: 2em;
+}
+
+header nav .button {
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+
+.breadcrumbs {
+ padding: 10px 20px !important;
+ margin-bottom: 0 !important;
+ color: #2861aa;
+ font-size: 16px;
+ font-weight: bold;
+ line-height: 1.75em;
+}
+
+#top-breadcrumb {
+ font-weight: bold;
+}
+
+#top-breadcrumb:not(:hover) {
+ color: #2861aa;
+}
+
+.breadcrumbs a {
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.breadcrumb-siblings-title {
+ padding: 10px;
+ font-weight: bold;
+}
+
+.breadcrumb-siblings a {
+ display: block;
+ padding: 0 10px;
+ text-decoration: none;
+}
+
+.breadcrumb-siblings a+a {
+ padding-top: 10px;
+}
+
+.breadcrumb-siblings a:last-child {
+ padding-bottom: 10px;
+}
+
+main {
+ display: flex;
+ justify-content: space-between;
+}
+
+main > .sidebar {
+ width: 18%;
+ flex-shrink: 0;
+ flex-grow: 1;
+ padding: 20px;
+ max-width: 400px;
+}
+
+main > .sidebar:last-child {
+ flex-shrink: 1;
+}
+
+main > nav.sidebar {
+ position: relative;
+ font-size: 16px;
+}
+
+main nav li img,
+article li img,
+img.external-link {
+ max-height: .9em;
+}
+
+main nav ul {
+ list-style-type: none;
+}
+
+main nav li {
+ position: relative;
+}
+
+main nav li a {
+ display: block;
+ text-decoration: none;
+ color: inherit;
+ border-radius: 1.5em;
+ padding: 6px 18px 6px 28px;
+ color: #546c75;
+}
+
+
+
+main nav li a:hover {
+ color: #01324b;
+}
+
+main nav li a:before {
+ content: '\203A';
+ font-weight: bold;
+ font-size: 20px;
+ line-height: 1rem;
+ position: absolute;
+ opacity: 0;
+ left: 0;
+ transition: left .15s, opacity .15s;
+}
+
+main nav li a:hover:before {
+ opacity: 1;
+ left: .75em;
+}
+
+main nav li li a:hover:before {
+ left: 1.25em;
+}
+
+main nav li a.current {
+ background-color: #e0e8f0;
+}
+
+main nav li.heading {
+ font-weight: bold;
+ text-transform: uppercase;
+ font-size: 90%;
+ letter-spacing: 1px;
+ padding: 10px 20px 10px 2em;
+}
+
+main nav li.heading:not(:first-child) {
+ margin-top: 20px;
+}
+
+main nav li li a {
+ padding-top: 6px;
+ padding-bottom: 4px;
+ padding-left: 3em;
+ font-size: 90%;
+}
+
+.paper {
+ width: 100%;
+
+ background: white;
+ border-radius: 4px;
+ box-shadow: 1px 2px 4px 1px rgba(0, 0, 0, .15);
+}
+
+#paper1,
+#paper2 {
+ background: #f8fafb;
+ max-height: 1500px;
+}
+
+#paper1 {
+ margin-top: -20px;
+ margin-left: 20px;
+ transform: rotate(3deg);
+ z-index: -1;
+}
+
+#paper2 {
+ margin-top: 30px;
+ margin-left: calc(-100% - 20px);
+ transform: rotate(-5deg);
+ z-index: -1;
+}
+
+.paper3 {
+ margin-top: 20px;
+ margin-left: -100%;
+}
+
+.article-container {
+ display: flex;
+ align-content: flex-start;
+ flex-grow: 1;
+ min-width: 0;
+ margin: 20px;
+ margin-bottom: 0;
+ width: 100%;
+ max-width: 1100px;
+}
+
+.pad {
+ padding-top: 8%;
+}
+
+article {
+ padding-top: 8%;
+ padding-bottom: 8%;
+ font-size: 20px;
+ word-wrap: break-word;
+}
+
+/*
+while we want most elements that are rendered
+server-side from markdown to have a constrained
+width, a few elements should be allowed to
+extend to the borders of the page
+*/
+article > :not(.fullwidth),
+article > .fullwidth > *,
+.pad {
+ padding-left: 8%;
+ padding-right: 8%;
+}
+article > :not(h1),
+dd,
+article p,
+article ol,
+article ul,
+article pre,
+article table {
+ margin-bottom: 1.5rem;
+}
+article > .fullwidth { margin-bottom: 1.5rem; }
+article > .fullwidth > * { margin-bottom: 0; }
+
+article > pre.chroma > code {
+ background: none;
+ padding: 0;
+}
+article > pre.chroma {
+ padding-top: 2em;
+ padding-bottom: 2em;
+}
+
+article ul,
+article ol,
+#hovercard ul,
+#hovercard ol {
+ margin-left: 2.5em;
+}
+
+article ul ul,
+article ol ol,
+article ol ul,
+article ul ol {
+ margin-bottom: 0;
+}
+
+article p,
+article li {
+ line-height: 1.5em;
+}
+
+article li p,
+article li ul,
+article li ol {
+ margin-bottom: .5em;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ /* to ensure that the anchor-link icons stay inside the heading */
+ position: relative;
+}
+
+h1,
+h2 {
+ text-align: center;
+}
+
+h1 {
+ font-size: 72px;
+ color: #0e3e5b;
+ letter-spacing: -2px;
+ margin-bottom: 50px;
+}
+
+h2 {
+ font-size: 46px;
+ padding-bottom: 15px;
+ border-bottom: 4px solid #72abe8;
+ margin: 100px 0 40px !important;
+}
+
+h3 {
+ font-size: 40px;
+ margin: 50px 0 20px;
+}
+
+h4 {
+ font-size: 32px;
+ margin: 25px 0 15px;
+}
+
+h5 {
+ font-size: 26px;
+ margin: 2em 0 1em;
+}
+
+h6 {
+ font-size: 20px;
+ margin: 2em 0 1em;
+}
+
+.anchor-link {
+ opacity: 0;
+ font-size: .6em;
+ border-radius: 10px;
+ padding: .3em .5em;
+ margin-left: .25em;
+ position: absolute;
+ top: 5px;
+}
+
+*:hover > .anchor-link,
+.anchor-link:focus {
+ opacity: 1;
+ text-decoration: none;
+}
+
+.anchor-link:hover {
+ background-color: rgba(0, 0, 0, .075);
+}
+
+code,
+kbd {
+ background-color: #e9f1fb;
+ border-radius: 5px;
+}
+
+code.cmd {
+ background-color: #333;
+ color: #eaeaea;
+}
+
+pre > code,
+pre.chroma,
+.group {
+ display: block;
+ white-space: pre;
+}
+
+pre > code,
+article > pre {
+ padding: 1em;
+ overflow: auto;
+}
+
+pre > code.cmd {
+ border-radius: 5px;
+}
+
+code.cmd.bash,
+code.cmd .bash,
+code.cmd.bash-continuation,
+code.cmd .bash-continuation {
+ font-weight: bold;
+}
+
+code.cmd.bash::before,
+code.cmd .bash::before {
+ content: '$';
+ margin-right: .5rem;
+}
+
+code.cmd.bash-continuation::before,
+code.cmd .bash-continuation::before {
+ content: '>';
+ margin-right: .5rem;
+}
+
+dt:hover .inline-link {
+ visibility: visible;
+}
+
+dd {
+ margin-left: 1em;
+}
+
+#field-list-header {
+ display: none;
+}
+
+.field-name {
+ display: block;
+ font-family: 'Source Code Pro', monospace;
+ margin-top: 2em;
+ font-weight: bold;
+ margin-bottom: .5em;
+}
+
+.inline-link {
+ text-decoration: none;
+ position: absolute;
+ margin-left: -1.5em;
+ /* margin-top: -.1em; */
+ padding-right: .3em;
+ padding-left: .2em;
+ visibility: hidden;
+}
+
+.inline-link:hover {
+ text-decoration: none;
+}
+
+hr {
+ border: none;
+ border-top: 8px solid #34669b;
+ margin: 4em 0;
+}
+
+article img {
+ max-width: 100%;
+}
+
+iframe {
+ margin: 1em 0 2em;
+}
+
+.nonstandard-notice {
+ font-size: 14px;
+ max-width: 500px;
+ margin: 25px auto;
+ border: 1px solid #ecd200;
+ background: #fffddf;
+ border-radius: 5px;
+ padding: 10px;
+ color: #886c00;
+ line-height: 1.4em;
+ display: none;
+}
+
+.nonstandard {
+ color: rgb(214, 145, 16);
+}
+
+.standard-flag,
+.nonstandard-flag {
+ cursor: help;
+ font-size: 8px;
+ line-height: 1em;
+ padding: 4px 8px;
+ text-transform: uppercase;
+ font-weight: bold;
+ color: white;
+ border-radius: 4px;
+ white-space: nowrap;
+ vertical-align: middle;
+}
+
+.standard-flag {
+ background-color: rgb(34, 163, 23);
+}
+
+.nonstandard-flag {
+ background-color: rgb(238, 167, 34);
+}
+
+.module-repo-differentiator {
+ font-size: 11px;
+ font-weight: bold;
+ color: #555;
+ line-height: 1em;
+}
+
+
+
+
+
+
+
+.json {
+ line-height: 1.5em;
+}
+.json .qu { color: #5c91bf; }
+.json .key { color: #1c83dc; font-weight: bold; }
+.json .str { color: #2f8598; }
+.json .num { color: #038a3f; }
+.json .bool { color: #9b5e14; }
+.json .key a:not([href]) { color: #222; }
+article .json a {
+ text-decoration: none;
+ font-weight: bold;
+}
+.json .has-popup { border-bottom: 1px dashed #222; }
+.json a[href].has-popup { border-bottom-color: #1c82dc; }
+.json .has-popup.module { border-bottom: none; }
+
+
+#hovercard {
+ max-width: 450px;
+ border-radius: 10px;
+ filter: drop-shadow(0 5px 5px rgba(0, 0, 0, .25));
+ position: absolute;
+ font-size: 16px;
+ transition: transform .25s ease-in-out, opacity .25s ease-in-out;
+ /* TODO: This would be nice, but it breaks the arrow-box... */
+ /* max-height: 50%;
+ overflow-y: auto; */
+}
+
+#hovercard:not(.popup) {
+ opacity: 0;
+ display: none;
+ transform: translateY(0);
+}
+
+.popup {
+ display: block;
+ opacity: 1;
+ transform: translateY(-10px);
+}
+
+.arrow-box {
+ position: relative;
+ background: white;
+}
+
+.arrow-box:after {
+ bottom: 100%;
+ left: 50%;
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute;
+ pointer-events: none;
+ border-color: rgba(255, 255, 255, 0);
+ border-bottom-color: white;
+ border-width: 10px;
+ margin-left: -10px;
+}
+
+#hovercard p {
+ padding: 1em;
+ line-height: 1.4em;
+}
+
+#hovercard p+p {
+ padding-top: 0;
+}
+
+#hovercard li {
+ margin: .25em;
+}
+
+#hovercard pre > code {
+ border-radius: 0;
+}
+
+#hovercard li {
+ padding-top: 0;
+ padding-bottom: 0;
+}
+
+#hovercard .nonstandard-flag {
+ float: right;
+}
+
+#hovercard .module-link {
+ display: block;
+ text-decoration: none;
+ font-size: 18px;
+ line-height: 1em;
+ font-weight: bold;
+ padding: .5em 1em;
+}
+
+#hovercard .module-link:hover {
+ background: #f5f5f5;
+}
+
+#hovercard .module-link:last-child {
+ border-bottom-left-radius: 10px;
+ border-bottom-right-radius: 10px;
+}
+
+#hovercard .module-link-description {
+ font-size: 14px;
+ color: #555;
+ margin-left: .5em;
+ font-weight: normal;
+}
+
+#hovercard-namespace-box,
+#hovercard-inline-link {
+ border: 0px solid #f0f6f7;
+}
+
+#hovercard-namespace-box {
+ border-bottom-width: 1px;
+}
+
+#hovercard-inline-link {
+ border-top-width: 1px;
+}
+
+#hovercard-inline-link a {
+ display: block;
+ padding: 8px 10px;
+ text-decoration: none;
+ font-size: 85%;
+ font-weight: bold;
+ text-align: center;
+}
+
+#hovercard-namespace {
+ font-weight: bold;
+}
+
+.explain {
+ font-style: italic;
+ color: #777;
+}
+
+article aside {
+ position: relative;
+ font-size: 16px;
+ margin: 2em auto 3em !important;
+ max-width: 800px;
+}
+
+article aside.tip,
+article aside.advice {
+ padding-left: calc(8% + 50px) !important;
+}
+
+article aside.tip::before,
+article aside.advice::before {
+ font-size: 45px;
+ position: absolute;
+ top: -4px;
+ left: 8%;
+}
+
+article aside.tip {
+ color: #706b95;
+}
+article aside.advice {
+ color: #826848;
+}
+
+article aside.tip:nth-child(even)::before {
+ content: '๐โโ๏ธ';
+}
+article aside.tip:nth-child(odd)::before {
+ content: '๐โโ๏ธ';
+}
+
+article aside.advice::before {
+ content: '๐คฆ';
+}
+
+article aside.complete {
+ color: #6b6b6b;
+ border: 2px dotted #88db88;
+ text-align: center;
+ max-width: 500px;
+ padding: 15px 25px !important;
+}
+
+article aside.complete::before {
+ content: 'โ
complete';
+ color: #39c849;
+ text-transform: uppercase;
+ font-size: 14px;
+ font-weight: bold;
+ letter-spacing: 1px;
+ margin-right: 2em;
+ margin-bottom: .5em;
+}
+
+table {
+ table-layout: fixed;
+ border-collapse: collapse;
+ font-size: 16px;
+}
+
+article > table {
+ margin: 25px auto;
+}
+
+th, td {
+ border-bottom: 1px solid #ddd;
+ padding: 10px;
+ line-height: 1.4em;
+ vertical-align: top;
+ word-wrap: break-word;
+}
+
+th {
+ text-align: left;
+ background: #eee;
+}
+
+td code {
+ font-size: 14px;
+ word-wrap: break-word;
+}
+
+blockquote {
+ background-color: #f0f5f1;
+ padding-top: 2em;
+ padding-bottom: 2em;
+}
+
+
+
+
+
+#module-docs-container,
+#module-list-container,
+#module-template {
+ display: none;
+}
+
+#module-list-container {
+ overflow-x: auto;
+}
+
+#module-list {
+ margin-top: 50px;
+}
+
+#module-list td:first-child {
+ word-wrap: break-word;
+ max-width: 400px;
+}
+
+#module-list .module-link {
+ font-weight: bold;
+ font-size: 20px;
+}
+
+
+#module-multiple-repos {
+ display: none;
+ margin: 25px;
+}
+
+.module-repo-selector {
+ font-size: 26px;
+ padding: 25px;
+ font-weight: bold;
+ border-bottom: 1px solid #888;
+ cursor: pointer;
+}
+
+.module-repo-selector:hover {
+ color: #009cda;
+ background: rgb(246, 250, 252);
+}
+
+.module-repo-selector-arrow {
+ margin: 10px;
+}
+
+
+
+
+.tabs .tab-buttons {
+ display: flex;
+ font-size: 0;
+ border-bottom: 2px solid #ccc;
+ border-radius: 0.5em;
+ margin: 0 16px 0 16px;
+}
+.tabs .tab-buttons button {
+ font-family: inherit;
+ border-radius: 0.5em 0.5em 0 0;
+ background-color: transparent;
+ border: 2px solid;
+ border-color: transparent;
+ font-size: 16px;
+ margin-bottom: 0;
+ margin-right: 8px;
+ margin-bottom: -2px;
+ transition: unset;
+ transform: unset;
+}
+.tabs .tab-buttons button:hover {
+ border-color: #ddd;
+ border-bottom-color: #ccc;
+}
+.tabs .tab-buttons button.active {
+ border-color: #ccc;
+ border-bottom-color: white;
+}
+
+.tabs .tab {
+ border-style: solid;
+ border-color: #ccc;
+ border-width: 0;
+ padding: 1.5rem 16px 0 20px;
+ margin-top: -2px;
+}
+.tabs .tab pre {
+ padding: 0;
+}
+.tabs .tab.bordered {
+ border-width: 2px;
+ border-radius: 8px;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@media (max-width: 1400px) {
+ table {
+ font-size: 14px;
+ }
+
+ h1 {
+ font-size: 60px;
+ }
+
+ h2 {
+ font-size: 38px;
+ margin-top: 65px;
+ }
+
+ h3 {
+ font-size: 28px;
+ margin-top: 40px;
+ }
+}
+
+@media (max-width: 1100px) {
+ header {
+ padding-bottom: 0;
+ }
+
+ main > .sidebar {
+ min-width: 200px;
+ padding: 20px 10px 0 0;
+ }
+
+ main > .sidebar:last-child {
+ display: none;
+ }
+
+ #paper1,
+ #paper2 {
+ display: none;
+ }
+ .paper3 {
+ margin-top: 0;
+ margin-left: 0;
+ }
+
+ article {
+ font-size: 18px;
+ padding-top: 40px;
+ padding-bottom: 40px;
+ }
+
+ article > :not(.fullwidth),
+ article > .fullwidth > * {
+ padding-left: 40px;
+ padding-right: 40px;
+ }
+ article > :not(h1) {
+ margin-bottom: 1.5rem;
+ }
+
+ article > pre.chroma {
+ padding-top: 1em;
+ padding-bottom: 1em;
+ }
+
+ h1 {
+ font-size: 45px;
+ }
+
+ h2 {
+ font-size: 32px;
+ }
+}
+
+@media (max-width: 900px) {
+ #logo-container {
+ align-items: center;
+ }
+
+ #logo {
+ height: 55px;
+ }
+
+ #logo-docs {
+ display: none;
+ }
+
+ main {
+ flex-direction: column-reverse;
+ align-items: center;
+ }
+
+ main > .sidebar {
+ width: 100%;
+ border-width: 0;
+ border-top-width: 2px;
+ }
+
+ .article-container {
+ max-width: 100%; /* TODO: why is this necessary?? without it, article overflows super wide on narrow screen */
+ margin: 20px 0;
+ }
+
+ .paper {
+ border-radius: 0;
+ box-shadow: none;
+ }
+}
+
+
+
+@media (prefers-color-scheme: dark) {
+ body {
+ background-color: #060e17;
+ color: #bdd6f7;
+ }
+
+ header nav .new {
+ color: black;
+ }
+
+ /* Algolia DocSearch */
+ #search {
+ --docsearch-searchbox-background: rgb(28, 52, 79);
+ --docsearch-searchbox-focus-background: rgb(28, 52, 79);
+ --docsearch-text-color: #bdd6f7;
+ --docsearch-muted-color: #96a9c4;
+ --docsearch-key-gradient: linear-gradient(-26.5deg, #060e17 0%, rgb(47, 62, 72) 100%);
+ --docsearch-key-shadow: inset 0 -2px 0 0 #4c4c56, inset 0 0 1px 1px rgb(70, 70, 70), 0 1px 2px 1px rgba(77, 79, 91, 0.4);
+ }
+ /* End Algolia DocSearch */
+
+ #paper1,
+ #paper2 {
+ background-color: #030a11;
+ }
+ .paper3 {
+ background-color: #051628;
+ }
+
+ #logo {
+ filter: invert(1) hue-rotate(180deg);
+ }
+ #zerossl-logo {
+ filter: invert(1) hue-rotate(180deg);
+ }
+ #footer-logo {
+ filter: invert(1) hue-rotate(180deg);
+ }
+
+ #logo-docs {
+ color: #5aa3dc;
+ }
+
+ .breadcrumbs {
+ color: #5aa3dc;
+ }
+
+ main nav li a {
+ color: #668d9b;
+ }
+
+ main nav ul li a:hover {
+ color: #5aa3dc;
+ }
+
+ main nav ul li a.current {
+ background-color: #061b35;
+ }
+
+ .breadcrumbs {
+ border-color: #061b35;
+ }
+
+ h1 {
+ color: #5aa3dc;
+ }
+
+ code,
+ kbd {
+ background-color: #122844;
+ }
+
+ code.cmd {
+ background-color: #000;
+ color: #ccc;
+ }
+
+ .json .key a:not([href]) {
+ color: #bdd6f7
+ }
+
+ #hovercard,
+ .arrow-box {
+ background-color: #0a192b;
+ }
+
+ .arrow-box:after {
+ border-bottom-color: #0a192b;
+ }
+
+ #hovercard .module-link:hover {
+ background: #0f2c50;
+ }
+
+ #hovercard .module-link-description {
+ color: rgb(167, 167, 167);
+ }
+
+ #hovercard-namespace-box,
+ #hovercard-inline-link {
+ border-color: #0a2b53;
+ }
+
+ article aside.tip {
+ color: #8c81e4;
+ }
+
+ th {
+ background-color: #142638;
+ }
+
+ th,
+ td {
+ border-bottom-color: #233444;
+ }
+
+ blockquote {
+ background-color: #101010;
+ }
+
+ .tabs .tab-buttons {
+ border-color: #33659a;
+ }
+ .tabs .tab-buttons button {
+ color: #bdd6f7;
+ }
+ .tabs .tab-buttons button:hover {
+ border-color: #284c71;
+ border-bottom-color: #33659a;
+ }
+ .tabs .tab-buttons button.active {
+ border-color: #33659a;
+ border-bottom-color: #051628;
+ }
+ .tabs .tab {
+ border-color: #33659a;
+ }
+}
diff --git a/src/resources/css/download.css b/src/old/resources/css/download.css
similarity index 100%
rename from src/resources/css/download.css
rename to src/old/resources/css/download.css
diff --git a/src/old/resources/css/home.css b/src/old/resources/css/home.css
new file mode 100644
index 0000000..c66165a
--- /dev/null
+++ b/src/old/resources/css/home.css
@@ -0,0 +1,334 @@
+body {
+ font-family: 'Inter', sans-serif;
+}
+
+.hero {
+ background-image: url('/resources/images/bg-teal.jpg');
+ background-repeat: no-repeat;
+ background-size: cover;
+ padding-bottom: 100px;
+ background-position: center;
+}
+
+h1 {
+ text-transform: uppercase;
+ font-size: 70px;
+ font-family: Montserrat, sans-serif;
+ text-align: center;
+ margin: 70px 0 20px;
+}
+
+h2 {
+ font-size: 28px;
+ font-weight: normal;
+ text-align: center;
+ max-width: 60rem;
+ margin: 0 auto 50px;
+ line-height: 1.5em;
+}
+
+h3 {
+ font-family: Montserrat, sans-serif;
+ font-weight: 400;
+ font-size: 55px;
+}
+
+p {
+ font-size: 20px;
+ max-width: 600px;
+ margin-top: 20px;
+ line-height: 1.5em;
+}
+
+.download-container {
+ text-align: center;
+ margin-top: 50px;
+}
+
+.download-container .button.big {
+ margin-bottom: 15px;
+}
+
+section {
+ padding: 100px 0;
+}
+
+section.alternate:nth-child(even) {
+ background-color: #f5f8f9;
+}
+
+section.alternate:nth-child(odd) .side-by-side {
+ flex-direction: row-reverse;
+}
+
+.side-by-side {
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.side-by-side > * {
+ width: 48%;
+}
+
+.side-by-side img {
+ max-height: 400px;
+}
+
+.code-caption {
+ font-size: 24px;
+ font-weight: bold;
+ margin: 75px auto 20px;
+}
+
+code {
+ font-family: 'PT Mono', monospace;
+}
+
+code.block {
+ display: block;
+ background: #2f2f2f;
+ color: #eee;
+ font-size: 20px;
+ padding-top: 30px;
+ padding-bottom: 30px;
+ line-height: 1.25em;
+ white-space: pre-wrap;
+}
+
+.actions {
+ padding-top: 100px;
+}
+
+code.caddyfile {
+ background-color: #dbebf3;
+ color: black;
+}
+
+.cf-key {
+ color: #d22500;
+ font-weight: bold;
+}
+
+.cf-comment {
+ color: #7291a0;
+}
+
+.cf-dir {
+ color: #006c96;
+ font-weight: bold;
+}
+
+.cf-arg {
+ color: #008000;
+}
+
+.cf-subdir {
+ color: #835234;
+}
+
+code.rest {
+ background-color: #f0f5f4; /*#073d59;*/
+ color: #253a28;
+}
+
+.footnote {
+ font-size: 18px;
+ text-align: center;
+}
+
+
+@media (max-width: 1100px) {
+ .side-by-side,
+ section.alternate:nth-child(odd) .side-by-side {
+ flex-direction: column;
+ }
+ section.alternate:nth-child(odd) .side-by-side > img {
+ flex-direction: column-reverse;
+ margin-bottom: 50px;
+ }
+
+ .side-by-side-content {
+ margin-bottom: 50px;
+ }
+
+ .side-by-side > * {
+ width: initial;
+ }
+
+ p {
+ max-width: 900px;
+ }
+}
+
+@media (max-width: 900px) {
+ h1 {
+ font-size: 50px;
+ word-wrap: break-word;
+ }
+
+ h2 {
+ font-size: 24px;
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/* TODO: */
+/* TAKEN FROM features.css */
+
+.features-start {
+ background: linear-gradient(0deg, #13a8f5 0%, #18b125 100%);
+ color: white;
+ padding: 35px 0;
+}
+
+
+.main-features {
+ display: flex;
+ justify-content: space-between;
+ flex-wrap: wrap;
+ padding-top: 2rem;
+}
+
+.main-feature {
+ text-align: center;
+ padding: 0 2rem;
+ margin: 3rem 0;
+ width: 25%;
+}
+
+.main-feature img {
+ height: 130px;
+ margin-bottom: 15px;
+}
+
+.main-feature .title {
+ font-size: 24px;
+ font-weight: bold;
+ margin-bottom: 15px;
+}
+
+.main-feature p {
+ text-align: left;
+ font-size: 16px;
+ margin: 0;
+}
+
+.feature-points {
+ display: flex;
+ justify-content: space-around;
+ flex-wrap: wrap;
+ font-size: 28px;
+}
+
+.feature-point {
+ width: 33.333%;
+ min-width: 300px;
+ padding: 1rem 3rem;
+}
+
+#features-title {
+ width: 80%;
+ max-width: 700px;
+ display: block;
+ margin: 50px auto 0;
+ position: relative;
+ top: 40px;
+}
+
+.features-area h3 {
+ border-bottom: 3px solid #2BABED;
+}
+
+.features-area h4 {
+ text-align: center;
+ padding-top: 80px;
+ padding-bottom: 40px;
+ font-family: Montserrat, sans-serif;
+ font-size: 40px;
+}
+
+.features-area h5 {
+ font-size: 18px;
+ text-transform: uppercase;
+ letter-spacing: 1px;
+}
+
+.section-heading {
+ font-style: italic;
+ font-size: 20px;
+ line-height: 2rem;
+ color: #000;
+ max-width: 550px;
+ text-align: center;
+ margin: 2rem auto 0;
+}
+
+.features {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.feature {
+ width: 33.333%;
+ padding: 25px;
+}
+
+.feature p {
+ margin-top: 5px;
+ color: #333;
+ font-size: 18px;
+}
+
+@media (max-width: 900px) {
+ .main-feature {
+ width: 50%;
+ margin: 3rem 0;
+ padding: 0 1rem;
+ }
+
+ .feature {
+ width: 50%;
+ }
+}
+
+@media (max-width: 700px) {
+ .pitch {
+ width: 100%;
+ border-right: none;
+ }
+
+ .feature-highlight {
+ padding: 1rem;
+ }
+}
+
+@media (max-width: 500px) {
+ .main-feature {
+ width: 100%;
+ }
+
+ .feature {
+ width: 100%;
+ }
+}
\ No newline at end of file
diff --git a/src/resources/css/v2-landing.css b/src/old/resources/css/v2-landing.css
similarity index 100%
rename from src/resources/css/v2-landing.css
rename to src/old/resources/css/v2-landing.css
diff --git a/src/resources/images/apilayer-logo.svg b/src/old/resources/images/apilayer-logo.svg
similarity index 100%
rename from src/resources/images/apilayer-logo.svg
rename to src/old/resources/images/apilayer-logo.svg
diff --git a/src/resources/images/ardan-labs.svg b/src/old/resources/images/ardan-labs.svg
similarity index 100%
rename from src/resources/images/ardan-labs.svg
rename to src/old/resources/images/ardan-labs.svg
diff --git a/src/resources/images/bg-teal.jpg b/src/old/resources/images/bg-teal.jpg
similarity index 100%
rename from src/resources/images/bg-teal.jpg
rename to src/old/resources/images/bg-teal.jpg
diff --git a/src/resources/images/box.svg b/src/old/resources/images/box.svg
similarity index 100%
rename from src/resources/images/box.svg
rename to src/old/resources/images/box.svg
diff --git a/src/resources/images/caddy-circle-lock.svg b/src/old/resources/images/caddy-circle-lock.svg
similarity index 100%
rename from src/resources/images/caddy-circle-lock.svg
rename to src/old/resources/images/caddy-circle-lock.svg
diff --git a/src/resources/images/caddy-lock.png b/src/old/resources/images/caddy-lock.png
similarity index 100%
rename from src/resources/images/caddy-lock.png
rename to src/old/resources/images/caddy-lock.png
diff --git a/src/resources/images/caddy-logo.svg b/src/old/resources/images/caddy-logo.svg
similarity index 100%
rename from src/resources/images/caddy-logo.svg
rename to src/old/resources/images/caddy-logo.svg
diff --git a/src/resources/images/caddy-open-graph.jpg b/src/old/resources/images/caddy-open-graph.jpg
similarity index 100%
rename from src/resources/images/caddy-open-graph.jpg
rename to src/old/resources/images/caddy-open-graph.jpg
diff --git a/src/resources/images/caddy-wordmark.svg b/src/old/resources/images/caddy-wordmark.svg
similarity index 100%
rename from src/resources/images/caddy-wordmark.svg
rename to src/old/resources/images/caddy-wordmark.svg
diff --git a/src/resources/images/caddyfile-visual.png b/src/old/resources/images/caddyfile-visual.png
similarity index 100%
rename from src/resources/images/caddyfile-visual.png
rename to src/old/resources/images/caddyfile-visual.png
diff --git a/src/resources/images/external-link.svg b/src/old/resources/images/external-link.svg
similarity index 100%
rename from src/resources/images/external-link.svg
rename to src/old/resources/images/external-link.svg
diff --git a/src/old/resources/images/favicon.png b/src/old/resources/images/favicon.png
new file mode 100644
index 0000000..6e87127
Binary files /dev/null and b/src/old/resources/images/favicon.png differ
diff --git a/src/resources/images/features.svg b/src/old/resources/images/features.svg
similarity index 100%
rename from src/resources/images/features.svg
rename to src/old/resources/images/features.svg
diff --git a/src/resources/images/moving-parts.svg b/src/old/resources/images/moving-parts.svg
similarity index 100%
rename from src/resources/images/moving-parts.svg
rename to src/old/resources/images/moving-parts.svg
diff --git a/src/resources/images/padlock.svg b/src/old/resources/images/padlock.svg
similarity index 100%
rename from src/resources/images/padlock.svg
rename to src/old/resources/images/padlock.svg
diff --git a/src/resources/images/plug.svg b/src/old/resources/images/plug.svg
similarity index 100%
rename from src/resources/images/plug.svg
rename to src/old/resources/images/plug.svg
diff --git a/src/resources/images/profile-diff.png b/src/old/resources/images/profile-diff.png
similarity index 100%
rename from src/resources/images/profile-diff.png
rename to src/old/resources/images/profile-diff.png
diff --git a/src/resources/images/profile.png b/src/old/resources/images/profile.png
similarity index 100%
rename from src/resources/images/profile.png
rename to src/old/resources/images/profile.png
diff --git a/src/resources/images/proxy-file-server.svg b/src/old/resources/images/proxy-file-server.svg
similarity index 100%
rename from src/resources/images/proxy-file-server.svg
rename to src/old/resources/images/proxy-file-server.svg
diff --git a/src/resources/images/smallstep.png b/src/old/resources/images/smallstep.png
similarity index 100%
rename from src/resources/images/smallstep.png
rename to src/old/resources/images/smallstep.png
diff --git a/src/resources/images/stack.svg b/src/old/resources/images/stack.svg
similarity index 100%
rename from src/resources/images/stack.svg
rename to src/old/resources/images/stack.svg
diff --git a/src/resources/images/v2-landing.png b/src/old/resources/images/v2-landing.png
similarity index 100%
rename from src/resources/images/v2-landing.png
rename to src/old/resources/images/v2-landing.png
diff --git a/src/resources/images/zerossl-logo.svg b/src/old/resources/images/zerossl-logo.svg
similarity index 100%
rename from src/resources/images/zerossl-logo.svg
rename to src/old/resources/images/zerossl-logo.svg
diff --git a/src/resources/js/account/common.js b/src/old/resources/js/account/common.js
similarity index 100%
rename from src/resources/js/account/common.js
rename to src/old/resources/js/account/common.js
diff --git a/src/resources/js/account/create.js b/src/old/resources/js/account/create.js
similarity index 100%
rename from src/resources/js/account/create.js
rename to src/old/resources/js/account/create.js
diff --git a/src/resources/js/account/dashboard.js b/src/old/resources/js/account/dashboard.js
similarity index 100%
rename from src/resources/js/account/dashboard.js
rename to src/old/resources/js/account/dashboard.js
diff --git a/src/resources/js/account/login.js b/src/old/resources/js/account/login.js
similarity index 100%
rename from src/resources/js/account/login.js
rename to src/old/resources/js/account/login.js
diff --git a/src/resources/js/account/logout.js b/src/old/resources/js/account/logout.js
similarity index 100%
rename from src/resources/js/account/logout.js
rename to src/old/resources/js/account/logout.js
diff --git a/src/resources/js/account/register-package.js b/src/old/resources/js/account/register-package.js
similarity index 100%
rename from src/resources/js/account/register-package.js
rename to src/old/resources/js/account/register-package.js
diff --git a/src/resources/js/account/reset-password.js b/src/old/resources/js/account/reset-password.js
similarity index 100%
rename from src/resources/js/account/reset-password.js
rename to src/old/resources/js/account/reset-password.js
diff --git a/src/resources/js/account/verify.js b/src/old/resources/js/account/verify.js
similarity index 100%
rename from src/resources/js/account/verify.js
rename to src/old/resources/js/account/verify.js
diff --git a/src/old/resources/js/common.js b/src/old/resources/js/common.js
new file mode 100644
index 0000000..da256a9
--- /dev/null
+++ b/src/old/resources/js/common.js
@@ -0,0 +1,81 @@
+document.addEventListener('DOMContentLoaded', function() {
+ // Algolia search
+ docsearch({
+ appId: "BH4D9OD16A",
+ apiKey: '14275a785f6ebd31d162f9d2d8fc0125',
+ indexName: 'caddyserver',
+ container: '#search',
+ });
+});
+
+const caddyImportPath = 'github.com/caddyserver/caddy/v2';
+
+function isStandard(packagePath) {
+ return packagePath.startsWith(caddyImportPath);
+}
+
+function truncate(str, maxLen) {
+ if (!str) return "";
+ str = str.trim();
+ let firstPeriod = str.match(/\.(\s|$)/); // first dot not in the middle of a word, or at end of string
+ let terminate = firstPeriod ? firstPeriod.index+1 : str.length;
+ str = str.substring(0, terminate);
+ if (str.length <= maxLen) {
+ return str;
+ }
+ return str+"...";
+}
+
+function moduleDocsPreview(mod, maxLen) {
+ if (!mod || !mod.docs) return "";
+ let short = truncate(mod.docs, maxLen);
+ if (short.indexOf(mod.name) === 0) {
+ short = short.substr(mod.name.length).trim();
+ }
+ return short;
+}
+
+function detectPlatform() {
+ // assume 32-bit linux, then change OS and architecture if justified
+ var os = "linux", arch = "amd64";
+
+ // change os
+ if (/Macintosh/i.test(navigator.userAgent)) {
+ os = "darwin";
+ } else if (/Windows/i.test(navigator.userAgent)) {
+ os = "windows";
+ } else if (/FreeBSD/i.test(navigator.userAgent)) {
+ os = "freebsd";
+ } else if (/OpenBSD/i.test(navigator.userAgent)) {
+ os = "openbsd";
+ }
+
+ // change architecture
+ if (os == "darwin" || /amd64|x64|x86_64|Win64|WOW64|i686|64-bit/i.test(navigator.userAgent)) {
+ arch = "amd64";
+ } else if (/arm64/.test(navigator.userAgent)) {
+ arch = "arm64";
+ } else if (/ ARM| armv/.test(navigator.userAgent)) {
+ arch = "arm";
+ }
+
+ // change arm version
+ if (arch == "arm") {
+ var arm = "7"; // assume version 7 by default
+ if (/armv6/.test(navigator.userAgent)) {
+ arm = "6";
+ } else if (/armv5/.test(navigator.userAgent)) {
+ arm = "5";
+ }
+ arch += arm;
+ }
+
+ return [os, arch];
+}
+
+// Detect the platform OS, but with an allow-list of values
+// and if the value is not allowed, return the default.
+function defaultOS(allowed, def) {
+ var [os] = detectPlatform();
+ return allowed.includes(os) ? os : def;
+}
diff --git a/src/resources/js/docs-api.js b/src/old/resources/js/docs-api.js
similarity index 100%
rename from src/resources/js/docs-api.js
rename to src/old/resources/js/docs-api.js
diff --git a/src/old/resources/js/docs.js b/src/old/resources/js/docs.js
new file mode 100644
index 0000000..01c4ba5
--- /dev/null
+++ b/src/old/resources/js/docs.js
@@ -0,0 +1,87 @@
+$(function() {
+ function hasPrefix(str, prefix) {
+ if (!prefix) return true;
+ if (!str) return false;
+ return str.indexOf(prefix) === 0;
+ }
+
+ // highlight current page in left nav
+ var $currentPageLink = $('main nav a[href="'+window.location.pathname+'"]');
+ if (hasPrefix(window.location.pathname, "/docs/json/")) {
+ // as a special case, highlight the JSON structure link anywhere within it
+ $currentPageLink = $('main nav a[href="/docs/json/"]');
+ }
+ if (hasPrefix(window.location.pathname, "/docs/modules/")) {
+ // as another special case, highlight the modules link anywhere within it
+ $currentPageLink = $('main nav a[href="/docs/modules/"]');
+ }
+ $currentPageLink.addClass('current');
+
+ // add anchor links, inspired by https://github.com/bryanbraun/anchorjs
+ $('article > h1[id], article > h2[id], article > h3[id], article > h4[id], article > h5[id], article > h6[id]').each(function() {
+ var $anchor = $('
');
+ $(this).append($anchor);
+ });
+
+ // the server-side markdown renderer annoyingly renders
+ // colored code blocks differently from plain ones, in that
+ // colorized ones do not have the additional
inside
+ // the ; this line finds those and adds a .chroma class
+ // to the outer pre element, and our CSS file has a style to
+ // ensure the inner code block does not produce extra padding
+ $('article > pre:not(.chroma) > code:not(.cmd)').parent().addClass('chroma');
+
+ // Add links to Caddyfile directive tokens in code blocks.
+ // See include/docs-head.html for the whitelist bootstrapping logic
+ $('pre.chroma .k')
+ .filter((k, item) =>
+ window.CaddyfileDirectives.includes(item.innerText)
+ || item.innerText === ''
+ )
+ .map(function(k, item) {
+ let text = item.innerText;
+ let url = text === ''
+ ? '/docs/caddyfile/directives'
+ : '/docs/caddyfile/directives/' + text;
+ text = text.replace(//g,'>');
+ $(item).html('' + text + ' ');
+ });
+
+ // Add links to [] or named matcher tokens in code blocks.
+ // The matcher text includes <> characters which are parsed as HTML,
+ // so we must use text() to change the link text.
+ $('pre.chroma .nd')
+ .map(function(k, item) {
+ let text = item.innerText.replace(//g,'>');
+ $(item).html('' + text + ' ');
+ });
+});
+
+// addLinkaddLinksToSubdirectivessToAnchors finds all the ID anchors
+// in the article, and turns any directive or subdirective span into
+// links that have an ID on the page. This is opt-in for each page,
+// because it's not necessary to run everywhere.
+function addLinksToSubdirectives() {
+ let anchors = $('article *[id]').map((i, el) => el.id).toArray();
+ $('pre.chroma .k')
+ .filter((k, item) => anchors.includes(item.innerText))
+ .map(function(k, item) {
+ let text = item.innerText.replace(//g,'>');
+ let url = '#' + item.innerText;
+ $(item).html('' + text + ' ');
+ });
+}
+
+function stripScheme(url) {
+ return url.substring(url.indexOf("://")+3);
+}
+
+// splitTypeName splits a fully qualified type name into
+// its package path and type name components, for example:
+// "github.com/foo/bar.Type" => "github.com/foo/bar" and "Type".
+function splitTypeName(fqtn) {
+ let lastDotPos = fqtn.lastIndexOf('.');
+ let pkg = fqtn.substr(0, lastDotPos);
+ let typeName = fqtn.substr(lastDotPos+1);
+ return {pkg: pkg, typeName: typeName};
+}
diff --git a/src/resources/js/download.js b/src/old/resources/js/download.js
similarity index 100%
rename from src/resources/js/download.js
rename to src/old/resources/js/download.js
diff --git a/src/resources/js/jquery-3.4.1.min.js b/src/old/resources/js/jquery-3.4.1.min.js
similarity index 100%
rename from src/resources/js/jquery-3.4.1.min.js
rename to src/old/resources/js/jquery-3.4.1.min.js
diff --git a/src/resources/js/json-docs.js b/src/old/resources/js/json-docs.js
similarity index 100%
rename from src/resources/js/json-docs.js
rename to src/old/resources/js/json-docs.js
diff --git a/src/resources/js/marked-0.8.0.min.js b/src/old/resources/js/marked-0.8.0.min.js
similarity index 100%
rename from src/resources/js/marked-0.8.0.min.js
rename to src/old/resources/js/marked-0.8.0.min.js
diff --git a/src/resources/js/module-docs.js b/src/old/resources/js/module-docs.js
similarity index 100%
rename from src/resources/js/module-docs.js
rename to src/old/resources/js/module-docs.js
diff --git a/src/resources/js/sweetalert.min.js b/src/old/resources/js/sweetalert.min.js
similarity index 100%
rename from src/resources/js/sweetalert.min.js
rename to src/old/resources/js/sweetalert.min.js
diff --git a/new/on-demand-tls.html b/src/on-demand-tls.html
similarity index 100%
rename from new/on-demand-tls.html
rename to src/on-demand-tls.html
diff --git a/src/resources/321140.cast b/src/resources/321140.cast
deleted file mode 100644
index 03d717e..0000000
--- a/src/resources/321140.cast
+++ /dev/null
@@ -1,233 +0,0 @@
-{"version": 2, "width": 79, "height": 20, "timestamp": 1587149050, "env": {"SHELL": "/bin/zsh", "TERM": "xterm-256color"}}
-[0.022225, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
-[0.023339, "o", "\u001b]7;file://Shadowfax.local/Users/matt/demo\u0007"]
-[0.023501, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J \r\n\u001b[90mโ[\u001b[32mโ \u001b[38;5;81mmatt\u001b[90m@\u001b[38;5;82mShadowfax\u001b[90m:\u001b[38;5;81m~/demo\u001b[90m] \r\nโ>\u001b[39m% \u001b[K"]
-[0.023536, "o", "\u001b[?2004h"]
-[1.887934, "o", "n"]
-[2.000861, "o", "\bna"]
-[2.072314, "o", "n"]
-[2.148447, "o", "o"]
-[2.304342, "o", " "]
-[2.444706, "o", "C"]
-[2.564064, "o", "a"]
-[2.66464, "o", "d"]
-[2.825937, "o", "d"]
-[2.946425, "o", "y"]
-[3.129396, "o", "f"]
-[3.287358, "o", "i"]
-[3.359465, "o", "l"]
-[3.487032, "o", "e"]
-[3.66006, "o", "\u001b[?2004l\r\r\n"]
-[3.667071, "o", "\u001b[?1049h\u001b[1;20r\u001b(B\u001b[m\u001b[4l\u001b[?7h\u001b[?12l\u001b[?25h\u001b[?1h\u001b="]
-[3.667109, "o", "\u001b[?1h\u001b=\u001b[?1h\u001b="]
-[3.667473, "o", "\u001b[39;49m\u001b[39;49m\u001b(B\u001b[m\u001b[H\u001b[2J\u001b(B\u001b[0;7m GNU nano 2.0.6 File: Caddyfile \u001b[18;34H[ New File ]\r\u001b[19d^G\u001b(B\u001b[m Get Help \u001b(B\u001b[0;7m^O\u001b(B\u001b[m WriteOut \u001b(B\u001b[0;7m^R\u001b(B\u001b[m Read File \u001b(B\u001b[0;7m^Y\u001b(B\u001b[m Prev Page \u001b(B\u001b[0;7m^K\u001b(B\u001b[m Cut Text \u001b(B\u001b[0;7m^C\u001b(B\u001b[m Cur Pos\r\u001b[20d\u001b(B\u001b[0;7m^X\u001b(B\u001b[m Exit\u001b[14G\u001b(B\u001b[0;7m^J\u001b(B\u001b[m Justify \u001b(B\u001b[0;7m^W\u001b(B\u001b[m Where Is \u001b(B\u001b[0;7m^V\u001b(B\u001b[m Next Page \u001b(B\u001b[0;7m^U\u001b(B\u001b[m UnCut Text\u001b(B\u001b[0;7m^T\u001b(B\u001b[m To Spell\r\u001b[3d"]
-[4.535698, "o", "\u001b[1;70H\u001b(B\u001b[0;7mModified\r\u001b[3d\u001b(B\u001b[md"]
-[4.67723, "o", "e"]
-[4.755158, "o", "m"]
-[4.806295, "o", "o"]
-[5.029033, "o", "."]
-[5.165983, "o", "h"]
-[5.227794, "o", "t"]
-[5.353038, "o", "t"]
-[5.414159, "o", "p"]
-[5.523791, "o", "s"]
-[5.627998, "o", "."]
-[5.710455, "o", "d"]
-[5.840252, "o", "e"]
-[5.963799, "o", "v"]
-[6.647743, "o", "\r\u001b[4d"]
-[6.775947, "o", "\u001b[5d"]
-[6.933264, "o", "r"]
-[7.004905, "o", "o"]
-[7.122765, "o", "o"]
-[7.163639, "o", "t"]
-[7.244083, "o", " "]
-[7.346443, "o", "*"]
-[7.44394, "o", " "]
-[7.578595, "o", "/"]
-[7.826323, "o", "v"]
-[7.959474, "o", "\r\u001b[18d\u001b[K\u001b[5;10Ha"]
-[8.015511, "o", "r"]
-[8.103944, "o", "/"]
-[8.244526, "o", "w"]
-[8.52161, "o", "w"]
-[8.671104, "o", "w"]
-[9.968752, "o", "\r\u001b[6d"]
-[10.097106, "o", "\u001b[7d"]
-[10.218855, "o", "f"]
-[10.319563, "o", "i"]
-[10.391213, "o", "l"]
-[10.438339, "o", "e"]
-[10.606098, "o", "_"]
-[10.68185, "o", "s"]
-[10.767465, "o", "e"]
-[10.813916, "o", "r"]
-[11.008647, "o", "v"]
-[11.138442, "o", "e"]
-[11.178214, "o", "r"]
-[11.300523, "o", "\r\u001b[8d"]
-[11.477734, "o", "l"]
-[11.606149, "o", "o"]
-[11.66293, "o", "g"]
-[12.48292, "o", "\r\u001b[9d"]
-[12.649606, "o", "\u001b[10d"]
-[12.849532, "o", "#"]
-[13.198356, "o", " "]
-[13.299546, "o", "l"]
-[13.452749, "o", "o"]
-[13.51259, "o", "a"]
-[13.56063, "o", "d"]
-[13.690761, "o", " "]
-[13.771, "o", "b"]
-[13.911226, "o", "a"]
-[13.950191, "o", "l"]
-[14.047689, "o", "a"]
-[14.131014, "o", "n"]
-[14.214907, "o", "c"]
-[14.282838, "o", "e"]
-[14.325811, "o", " "]
-[14.466908, "o", "b"]
-[14.612588, "o", "e"]
-[14.685894, "o", "t"]
-[14.785785, "o", "w"]
-[14.84735, "o", "e"]
-[14.991994, "o", "e"]
-[15.089862, "o", "n"]
-[15.198188, "o", " "]
-[15.269788, "o", "t"]
-[15.32201, "o", "w"]
-[15.441701, "o", "o"]
-[15.517416, "o", " "]
-[15.614119, "o", "b"]
-[15.78414, "o", "a"]
-[15.869248, "o", "c"]
-[15.945455, "o", "k"]
-[16.028741, "o", "e"]
-[16.115068, "o", "n"]
-[16.19984, "o", "d"]
-[16.248232, "o", "s"]
-[16.442928, "o", "\r\u001b[11d"]
-[16.911683, "o", "r"]
-[16.97932, "o", "e"]
-[17.141613, "o", "v"]
-[17.282014, "o", "e"]
-[17.370161, "o", "r"]
-[17.490939, "o", "s"]
-[17.547477, "o", "e"]
-[17.740609, "o", "_"]
-[17.940825, "o", "p"]
-[17.992396, "o", "r"]
-[18.091587, "o", "o"]
-[18.185345, "o", "x"]
-[18.308829, "o", "y"]
-[18.361527, "o", " "]
-[18.651444, "o", "/"]
-[18.825604, "o", "a"]
-[18.904857, "o", "p"]
-[18.964969, "o", "i"]
-[19.188263, "o", "/"]
-[19.445601, "o", "*"]
-[19.505049, "o", " "]
-[20.21481, "o", "l"]
-[20.366859, "o", "o"]
-[20.442428, "o", "c"]
-[20.483119, "o", "a"]
-[20.542915, "o", "l"]
-[20.682475, "o", "h"]
-[20.747016, "o", "o"]
-[20.757983, "o", "s"]
-[20.845264, "o", "t"]
-[20.998991, "o", ":"]
-[21.173825, "o", "8"]
-[21.281686, "o", "0"]
-[21.84701, "o", "8"]
-[21.906424, "o", "0"]
-[22.062149, "o", " "]
-[22.305605, "o", "l"]
-[22.451357, "o", "o"]
-[22.520031, "o", "c"]
-[22.568039, "o", "a"]
-[22.632047, "o", "l"]
-[22.751563, "o", "h"]
-[22.816958, "o", "o"]
-[22.842836, "o", "s"]
-[22.914777, "o", "t"]
-[23.051619, "o", ":"]
-[23.221017, "o", "8"]
-[23.301663, "o", "0"]
-[23.679979, "o", "8"]
-[23.82229, "o", "1"]
-[25.554339, "o", "\r\u001b[18d\u001b(B\u001b[0;7mFile Name to Write: Caddyfile \u001b[19;14H\u001b(B\u001b[m \u001b(B\u001b[0;7m^T\u001b(B\u001b[m To Files \u001b(B\u001b[0;7mM-M\u001b(B\u001b[m Mac Format \u001b(B\u001b[0;7mM-P\u001b(B\u001b[m Prepend\u001b[K\u001b[20;2H\u001b(B\u001b[0;7mC\u001b(B\u001b[m Cancel \u001b(B\u001b[0;7mM-D\u001b(B\u001b[m DOS Format \u001b(B\u001b[0;7mM-A\u001b(B\u001b[m Append \u001b(B\u001b[0;7mM-B\u001b(B\u001b[m Backup File\u001b[K\u001b[18;30H"]
-[25.798317, "o", "\u001b[1;70H\u001b[39;49m\u001b(B\u001b[0;7m \u001b[18;31H\u001b(B\u001b[m\u001b[1K \u001b(B\u001b[0;7m[ Wrote 9 lines ]\u001b(B\u001b[m\u001b[K\u001b[19;14H\u001b(B\u001b[0;7m^O\u001b(B\u001b[m WriteOut \u001b(B\u001b[0;7m^R\u001b(B\u001b[m Read File \u001b(B\u001b[0;7m^Y\u001b(B\u001b[m Prev Page \u001b(B\u001b[0;7m^K\u001b(B\u001b[m Cut Text \u001b(B\u001b[0;7m^C\u001b(B\u001b[m Cur Pos\u001b[20;2H\u001b(B\u001b[0;7mX\u001b(B\u001b[m Exit \u001b(B\u001b[0;7m^J\u001b(B\u001b[m Justify \u001b(B\u001b[0;7m^W\u001b(B\u001b[m Where Is \u001b(B\u001b[0;7m^V\u001b(B\u001b[m Next Page \u001b(B\u001b[0;7m^U\u001b(B\u001b[m UnCut Text\u001b(B\u001b[0;7m^T\u001b(B\u001b[m To Spell\u001b[11;51H"]
-[26.578003, "o", "\r\u001b[19d\u001b[J\u001b[20;79H\u001b[20;1H\u001b[?1049l\r\u001b[?1l\u001b>"]
-[26.578762, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
-[26.57933, "o", "\u001b]7;file://Shadowfax.local/Users/matt/demo\u0007"]
-[26.579475, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J \r\n\u001b[90mโ[\u001b[32mโ \u001b[38;5;81mmatt\u001b[90m@\u001b[38;5;82mShadowfax\u001b[90m:\u001b[38;5;81m~/demo\u001b[90m] \r\nโ>\u001b[39m% \u001b[K\u001b[?2004h"]
-[28.181852, "o", "c"]
-[28.231774, "o", "\bca"]
-[28.339992, "o", "d"]
-[28.467448, "o", "d"]
-[28.551971, "o", "y"]
-[28.666558, "o", " "]
-[28.710012, "o", "s"]
-[28.773903, "o", "t"]
-[28.936621, "o", "a"]
-[28.995575, "o", "r"]
-[29.128429, "o", "t"]
-[30.256599, "o", "\u001b[?2004l\r\r\n"]
-[30.320169, "o", "2020/04/17 18:44:40.540\t\u001b[34mINFO\u001b[0m\tusing adjacent Caddyfile\r\n"]
-[30.322723, "o", "2020/04/17 18:44:40.543\t\u001b[34mINFO\u001b[0m\tadmin\tadmin endpoint started\t{\"address\": \"tcp/localhost:2019\", \"enforce_origin\": false, \"origins\": [\"localhost:2019\", \"[::1]:2019\", \"127.0.0.1:2019\"]}\r\n"]
-[30.322934, "o", "2020/04/17 12:44:40 [INFO][cache:0xc000849d10] Started certificate maintenance routine\r\n"]
-[30.322962, "o", "2020/04/17 18:44:40.543\t\u001b[34mINFO\u001b[0m\thttp\tserver is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS\t{\"server_name\": \"srv0\", \"https_port\": 443}\r\n2020/04/17 18:44:40.543\t\u001b[34mINFO\u001b[0m\thttp\tenabling automatic HTTP->HTTPS redirects\t{\"server_name\": \"srv0\"}\r\n"]
-[30.329471, "o", "2020/04/17 18:44:40.550\t\u001b[34mINFO\u001b[0m\ttls\tcleaned up storage units\r\n"]
-[30.32956, "o", "2020/04/17 18:44:40.550\t\u001b[34mINFO\u001b[0m\thttp\tenabling automatic TLS certificate management\t{\"domains\": [\"demo.https.dev\"]}\r\n"]
-[30.329848, "o", "2020/04/17 18:44:40.550\t\u001b[34mINFO\u001b[0m\tautosaved config\t{\"file\": \"/Users/matt/Library/Application Support/Caddy/autosave.json\"}\r\n2020/04/17 18:44:40.550\t\u001b[34mINFO\u001b[0m\tserving initial configuration\r\n"]
-[30.330126, "o", "Successfully started Caddy (pid=41376) - Caddy is running in the background\r\n"]
-[30.331898, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
-[30.332211, "o", "\u001b]7;file://Shadowfax.local/Users/matt/demo\u0007"]
-[30.332308, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J \r\n\u001b[90mโ[\u001b[32mโ \u001b[38;5;81mmatt\u001b[90m@\u001b[38;5;82mShadowfax\u001b[90m:\u001b[38;5;81m~/demo\u001b[90m] \r\nโ>\u001b[39m% \u001b[K\u001b[?2004h"]
-[30.336942, "o", "2020/04/17 12:44:40 [INFO][demo.https.dev] Obtain certificate; acquiring lock...\r\n"]
-[30.337162, "o", "2020/04/17 12:44:40 [INFO][demo.https.dev] Obtain: Lock acquired; proceeding...\r\n"]
-[31.96302, "o", "2020/04/17 12:44:42 [INFO][demo.https.dev] Waiting on rate limiter...\r\n2020/04/17 12:44:42 [INFO][demo.https.dev] Done waiting\r\n2020/04/17 12:44:42 [INFO] [demo.https.dev] acme: Obtaining bundled SAN certificate given a CSR\r\n"]
-[33.570607, "o", "2020/04/17 12:44:43 [INFO] [demo.https.dev] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/4019233382\r\n2020/04/17 12:44:43 [INFO] [demo.https.dev] acme: Could not find solver for: tls-alpn-01\r\n2020/04/17 12:44:43 [INFO] [demo.https.dev] acme: use http-01 solver\r\n2020/04/17 12:44:43 [INFO] [demo.https.dev] acme: Trying to solve HTTP-01\r\n"]
-[34.951173, "o", "2020/04/17 12:44:45 [INFO][demo.https.dev] Served key authentication (HTTP challenge)\r\n"]
-[34.989119, "o", "2020/04/17 12:44:45 [INFO][demo.https.dev] Served key authentication (HTTP challenge)\r\n"]
-[35.027001, "o", "2020/04/17 12:44:45 [INFO][demo.https.dev] Served key authentication (HTTP challenge)\r\n"]
-[35.104125, "o", "2020/04/17 12:44:45 [INFO][demo.https.dev] Served key authentication (HTTP challenge)\r\n"]
-[36.574519, "o", "2020/04/17 12:44:46 [INFO] [demo.https.dev] The server validated our request\r\n"]
-[36.575029, "o", "2020/04/17 12:44:46 [INFO] [demo.https.dev] acme: Validations succeeded; requesting certificates\r\n"]
-[37.414882, "o", "2020/04/17 12:44:47 [INFO] [demo.https.dev] Server responded with a certificate.\r\n"]
-[37.416159, "o", "2020/04/17 12:44:47 [INFO][demo.https.dev] Certificate obtained successfully\r\n2020/04/17 12:44:47 [INFO][demo.https.dev] Obtain: Releasing lock\r\n"]
-[39.497929, "o", "\u001b[?2004l\r\r\n"]
-[39.498104, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
-[39.498581, "o", "\u001b]7;file://Shadowfax.local/Users/matt/demo\u0007"]
-[39.498738, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J \r\n\u001b[90mโ[\u001b[32mโ \u001b[38;5;81mmatt\u001b[90m@\u001b[38;5;82mShadowfax\u001b[90m:\u001b[38;5;81m~/demo\u001b[90m] \r\nโ>\u001b[39m% \u001b[K\u001b[?2004h"]
-[40.091454, "o", "c"]
-[40.173651, "o", "\bcu"]
-[40.257827, "o", "r"]
-[40.350059, "o", "l"]
-[40.44162, "o", " "]
-[40.619544, "o", "-"]
-[40.993026, "o", "L"]
-[41.085153, "o", " "]
-[41.865854, "o", "d"]
-[41.982983, "o", "e"]
-[42.063097, "o", "m"]
-[42.113574, "o", "o"]
-[42.326516, "o", "."]
-[42.71396, "o", "h"]
-[42.773776, "o", "t"]
-[42.896163, "o", "t"]
-[42.935898, "o", "p"]
-[43.051751, "o", "s"]
-[43.155986, "o", "."]
-[43.238445, "o", "d"]
-[43.36391, "o", "e"]
-[43.459323, "o", "v"]
-[43.674326, "o", "\u001b[?2004l\r\r\n"]
-[43.703356, "o", "2020/04/17 18:44:53.923\t\u001b[34mINFO\u001b[0m\thttp.log.access\thandled request\t{\"request\": {\"method\": \"GET\", \"uri\": \"/\", \"proto\": \"HTTP/2.0\", \"remote_addr\": \"127.0.0.1:51883\", \"host\": \"demo.https.dev\", \"headers\": {\"User-Agent\": [\"curl/7.64.1\"], \"Accept\": [\"*/*\"]}, \"tls\": {\"resumed\": false, \"version\": 771, \"ciphersuite\": 49196, \"proto\": \"h2\", \"proto_mutual\": true, \"server_name\": \"demo.https.dev\"}}, \"common_log\": \"127.0.0.1 - - [17/Apr/2020:12:44:53 -0600] \\\"GET / HTTP/2.0\\\" 200 39\", \"latency\": 0.004248752, \"size\": 39, \"status\": 200, \"resp_headers\": {\"Server\": [\"Caddy\"], \"Etag\": [\"\\\"q8y3zo13\\\"\"], \"Content-Type\": [\"text/html; charset=utf-8\"], \"Last-Modified\": [\"Fri, 17 Apr 2020 18:43:00 GMT\"], \"Accept-Ranges\": [\"bytes\"], \"Content-Length\": [\"39\"]}}\r\n"]
-[43.703537, "o", "๐ Easy HTTPS, just like that! ๐\r\n\r\n"]
-[43.706045, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
-[43.706405, "o", "\u001b]7;file://Shadowfax.local/Users/matt/demo\u0007"]
-[43.706517, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J \r\n\u001b[90mโ[\u001b[32mโ \u001b[38;5;81mmatt\u001b[90m@\u001b[38;5;82mShadowfax\u001b[90m:\u001b[38;5;81m~/demo\u001b[90m] \r\nโ>\u001b[39m% \u001b[K\u001b[?2004h"]
-[48.347301, "o", "\u001b[?2004l\r\r\n"]
diff --git a/src/resources/css/asciinema-player-2.6.1.css b/src/resources/css/asciinema-player-2.6.1.css
deleted file mode 100644
index 8d77df4..0000000
--- a/src/resources/css/asciinema-player-2.6.1.css
+++ /dev/null
@@ -1,2563 +0,0 @@
-.asciinema-player-wrapper {
- position: relative;
- text-align: center;
- outline: none;
-}
-.asciinema-player-wrapper .title-bar {
- display: none;
- top: -78px;
- transition: top 0.15s linear;
- position: absolute;
- left: 0;
- right: 0;
- box-sizing: content-box;
- font-size: 20px;
- line-height: 1em;
- padding: 15px;
- font-family: sans-serif;
- color: white;
- background-color: rgba(0, 0, 0, 0.8);
-}
-.asciinema-player-wrapper .title-bar img {
- vertical-align: middle;
- height: 48px;
- margin-right: 16px;
-}
-.asciinema-player-wrapper .title-bar a {
- color: white;
- text-decoration: underline;
-}
-.asciinema-player-wrapper .title-bar a:hover {
- text-decoration: none;
-}
-.asciinema-player-wrapper:fullscreen {
- background-color: #000;
- width: 100%;
- height: 100%;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-justify-content: center;
- justify-content: center;
- -webkit-align-items: center;
- align-items: center;
-}
-.asciinema-player-wrapper:fullscreen .asciinema-player {
- position: static;
-}
-.asciinema-player-wrapper:fullscreen .title-bar {
- display: initial;
-}
-.asciinema-player-wrapper:fullscreen.hud .title-bar {
- top: 0;
-}
-.asciinema-player-wrapper:-webkit-full-screen {
- background-color: #000;
- width: 100%;
- height: 100%;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-justify-content: center;
- justify-content: center;
- -webkit-align-items: center;
- align-items: center;
-}
-.asciinema-player-wrapper:-webkit-full-screen .asciinema-player {
- position: static;
-}
-.asciinema-player-wrapper:-webkit-full-screen .title-bar {
- display: initial;
-}
-.asciinema-player-wrapper:-webkit-full-screen.hud .title-bar {
- top: 0;
-}
-.asciinema-player-wrapper:-moz-full-screen {
- background-color: #000;
- width: 100%;
- height: 100%;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-justify-content: center;
- justify-content: center;
- -webkit-align-items: center;
- align-items: center;
-}
-.asciinema-player-wrapper:-moz-full-screen .asciinema-player {
- position: static;
-}
-.asciinema-player-wrapper:-moz-full-screen .title-bar {
- display: initial;
-}
-.asciinema-player-wrapper:-moz-full-screen.hud .title-bar {
- top: 0;
-}
-.asciinema-player-wrapper:-ms-fullscreen {
- background-color: #000;
- width: 100%;
- height: 100%;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-justify-content: center;
- justify-content: center;
- -webkit-align-items: center;
- align-items: center;
-}
-.asciinema-player-wrapper:-ms-fullscreen .asciinema-player {
- position: static;
-}
-.asciinema-player-wrapper:-ms-fullscreen .title-bar {
- display: initial;
-}
-.asciinema-player-wrapper:-ms-fullscreen.hud .title-bar {
- top: 0;
-}
-.asciinema-player-wrapper .asciinema-player {
- text-align: left;
- display: inline-block;
- padding: 0px;
- position: relative;
- box-sizing: content-box;
- -moz-box-sizing: content-box;
- -webkit-box-sizing: content-box;
- overflow: hidden;
- max-width: 100%;
-}
-.asciinema-terminal {
- box-sizing: content-box;
- -moz-box-sizing: content-box;
- -webkit-box-sizing: content-box;
- overflow: hidden;
- padding: 0;
- margin: 0px;
- display: block;
- white-space: pre;
- border: 0;
- word-wrap: normal;
- word-break: normal;
- border-radius: 0;
- border-style: solid;
- cursor: text;
- border-width: 0.5em;
- font-family: Consolas, Menlo, 'Bitstream Vera Sans Mono', monospace, 'Powerline Symbols';
- line-height: 1.3333333333em;
-}
-.asciinema-terminal .line {
- letter-spacing: normal;
- overflow: hidden;
- height: 1.3333333333em;
-}
-.asciinema-terminal .line span {
- padding: 0;
- display: inline-block;
- height: 1.3333333333em;
-}
-.asciinema-terminal .line {
- display: block;
- width: 200%;
-}
-.asciinema-terminal .bright {
- font-weight: bold;
-}
-.asciinema-terminal .underline {
- text-decoration: underline;
-}
-.asciinema-terminal .italic {
- font-style: italic;
-}
-.asciinema-terminal.font-small {
- font-size: 12px;
-}
-.asciinema-terminal.font-medium {
- font-size: 18px;
-}
-.asciinema-terminal.font-big {
- font-size: 24px;
-}
-.asciinema-player .control-bar {
- width: 100%;
- height: 32px;
- background: rgba(0, 0, 0, 0.8);
- /* no gradient fallback */
- background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%);
- /* FF3.6-15 */
- background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%);
- /* Chrome10-25,Safari5.1-6 */
- background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%);
- /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
- color: #bbbbbb;
- box-sizing: content-box;
- line-height: 1;
- position: absolute;
- bottom: -35px;
- left: 0;
- transition: bottom 0.15s linear;
-}
-.asciinema-player .control-bar * {
- box-sizing: inherit;
- font-size: 0;
-}
-.asciinema-player .control-bar svg.icon path {
- fill: #bbbbbb;
-}
-.asciinema-player .control-bar .playback-button {
- display: block;
- float: left;
- cursor: pointer;
- height: 12px;
- width: 12px;
- padding: 10px;
-}
-.asciinema-player .control-bar .playback-button svg {
- height: 12px;
- width: 12px;
-}
-.asciinema-player .control-bar .timer {
- display: block;
- float: left;
- width: 50px;
- height: 100%;
- text-align: center;
- font-family: Helvetica, Arial, sans-serif;
- font-size: 11px;
- font-weight: bold;
- line-height: 32px;
- cursor: default;
-}
-.asciinema-player .control-bar .timer span {
- display: inline-block;
- font-size: inherit;
-}
-.asciinema-player .control-bar .timer .time-remaining {
- display: none;
-}
-.asciinema-player .control-bar .timer:hover .time-elapsed {
- display: none;
-}
-.asciinema-player .control-bar .timer:hover .time-remaining {
- display: inline;
-}
-.asciinema-player .control-bar .progressbar {
- display: block;
- overflow: hidden;
- height: 100%;
- padding: 0 10px;
-}
-.asciinema-player .control-bar .progressbar .bar {
- display: block;
- cursor: pointer;
- height: 100%;
- padding-top: 15px;
- font-size: 0;
-}
-.asciinema-player .control-bar .progressbar .bar .gutter {
- display: block;
- height: 3px;
- background-color: #333;
-}
-.asciinema-player .control-bar .progressbar .bar .gutter span {
- display: inline-block;
- height: 100%;
- background-color: #bbbbbb;
- border-radius: 3px;
-}
-.asciinema-player .control-bar.live .progressbar .bar {
- cursor: default;
-}
-.asciinema-player .control-bar .fullscreen-button {
- display: block;
- float: right;
- width: 14px;
- height: 14px;
- padding: 9px;
- cursor: pointer;
-}
-.asciinema-player .control-bar .fullscreen-button svg {
- width: 14px;
- height: 14px;
-}
-.asciinema-player .control-bar .fullscreen-button svg:first-child {
- display: inline;
-}
-.asciinema-player .control-bar .fullscreen-button svg:last-child {
- display: none;
-}
-.asciinema-player-wrapper.hud .control-bar {
- bottom: 0px;
-}
-.asciinema-player-wrapper:fullscreen .fullscreen-button svg:first-child {
- display: none;
-}
-.asciinema-player-wrapper:fullscreen .fullscreen-button svg:last-child {
- display: inline;
-}
-.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:first-child {
- display: none;
-}
-.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:last-child {
- display: inline;
-}
-.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:first-child {
- display: none;
-}
-.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:last-child {
- display: inline;
-}
-.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:first-child {
- display: none;
-}
-.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:last-child {
- display: inline;
-}
-.asciinema-player .loading {
- z-index: 10;
- background-repeat: no-repeat;
- background-position: center;
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 32px;
- background-color: rgba(0, 0, 0, 0.5);
-}
-.asciinema-player .start-prompt {
- z-index: 10;
- background-repeat: no-repeat;
- background-position: center;
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 32px;
- z-index: 20;
- cursor: pointer;
-}
-.asciinema-player .start-prompt .play-button {
- font-size: 0px;
-}
-.asciinema-player .start-prompt .play-button {
- position: absolute;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- text-align: center;
- color: white;
- display: table;
- width: 100%;
- height: 100%;
-}
-.asciinema-player .start-prompt .play-button div {
- vertical-align: middle;
- display: table-cell;
-}
-.asciinema-player .start-prompt .play-button div span {
- width: 96px;
- height: 96px;
- display: inline-block;
-}
-@-webkit-keyframes expand {
- 0% {
- -webkit-transform: scale(0);
- }
- 50% {
- -webkit-transform: scale(1);
- }
- 100% {
- z-index: 1;
- }
-}
-@-moz-keyframes expand {
- 0% {
- -moz-transform: scale(0);
- }
- 50% {
- -moz-transform: scale(1);
- }
- 100% {
- z-index: 1;
- }
-}
-@-o-keyframes expand {
- 0% {
- -o-transform: scale(0);
- }
- 50% {
- -o-transform: scale(1);
- }
- 100% {
- z-index: 1;
- }
-}
-@keyframes expand {
- 0% {
- transform: scale(0);
- }
- 50% {
- transform: scale(1);
- }
- 100% {
- z-index: 1;
- }
-}
-.loader {
- position: absolute;
- left: 50%;
- top: 50%;
- margin: -20px 0 0 -20px;
- background-color: white;
- border-radius: 50%;
- box-shadow: 0 0 0 6.66667px #141414;
- width: 40px;
- height: 40px;
-}
-.loader:before,
-.loader:after {
- content: "";
- position: absolute;
- left: 50%;
- top: 50%;
- display: block;
- margin: -21px 0 0 -21px;
- border-radius: 50%;
- z-index: 2;
- width: 42px;
- height: 42px;
-}
-.loader:before {
- background-color: #141414;
- -webkit-animation: expand 1.6s linear infinite both;
- -moz-animation: expand 1.6s linear infinite both;
- animation: expand 1.6s linear infinite both;
-}
-.loader:after {
- background-color: white;
- -webkit-animation: expand 1.6s linear 0.8s infinite both;
- -moz-animation: expand 1.6s linear 0.8s infinite both;
- animation: expand 1.6s linear 0.8s infinite both;
-}
-.asciinema-terminal .fg-16 {
- color: #000000;
-}
-.asciinema-terminal .bg-16 {
- background-color: #000000;
-}
-.asciinema-terminal .fg-17 {
- color: #00005f;
-}
-.asciinema-terminal .bg-17 {
- background-color: #00005f;
-}
-.asciinema-terminal .fg-18 {
- color: #000087;
-}
-.asciinema-terminal .bg-18 {
- background-color: #000087;
-}
-.asciinema-terminal .fg-19 {
- color: #0000af;
-}
-.asciinema-terminal .bg-19 {
- background-color: #0000af;
-}
-.asciinema-terminal .fg-20 {
- color: #0000d7;
-}
-.asciinema-terminal .bg-20 {
- background-color: #0000d7;
-}
-.asciinema-terminal .fg-21 {
- color: #0000ff;
-}
-.asciinema-terminal .bg-21 {
- background-color: #0000ff;
-}
-.asciinema-terminal .fg-22 {
- color: #005f00;
-}
-.asciinema-terminal .bg-22 {
- background-color: #005f00;
-}
-.asciinema-terminal .fg-23 {
- color: #005f5f;
-}
-.asciinema-terminal .bg-23 {
- background-color: #005f5f;
-}
-.asciinema-terminal .fg-24 {
- color: #005f87;
-}
-.asciinema-terminal .bg-24 {
- background-color: #005f87;
-}
-.asciinema-terminal .fg-25 {
- color: #005faf;
-}
-.asciinema-terminal .bg-25 {
- background-color: #005faf;
-}
-.asciinema-terminal .fg-26 {
- color: #005fd7;
-}
-.asciinema-terminal .bg-26 {
- background-color: #005fd7;
-}
-.asciinema-terminal .fg-27 {
- color: #005fff;
-}
-.asciinema-terminal .bg-27 {
- background-color: #005fff;
-}
-.asciinema-terminal .fg-28 {
- color: #008700;
-}
-.asciinema-terminal .bg-28 {
- background-color: #008700;
-}
-.asciinema-terminal .fg-29 {
- color: #00875f;
-}
-.asciinema-terminal .bg-29 {
- background-color: #00875f;
-}
-.asciinema-terminal .fg-30 {
- color: #008787;
-}
-.asciinema-terminal .bg-30 {
- background-color: #008787;
-}
-.asciinema-terminal .fg-31 {
- color: #0087af;
-}
-.asciinema-terminal .bg-31 {
- background-color: #0087af;
-}
-.asciinema-terminal .fg-32 {
- color: #0087d7;
-}
-.asciinema-terminal .bg-32 {
- background-color: #0087d7;
-}
-.asciinema-terminal .fg-33 {
- color: #0087ff;
-}
-.asciinema-terminal .bg-33 {
- background-color: #0087ff;
-}
-.asciinema-terminal .fg-34 {
- color: #00af00;
-}
-.asciinema-terminal .bg-34 {
- background-color: #00af00;
-}
-.asciinema-terminal .fg-35 {
- color: #00af5f;
-}
-.asciinema-terminal .bg-35 {
- background-color: #00af5f;
-}
-.asciinema-terminal .fg-36 {
- color: #00af87;
-}
-.asciinema-terminal .bg-36 {
- background-color: #00af87;
-}
-.asciinema-terminal .fg-37 {
- color: #00afaf;
-}
-.asciinema-terminal .bg-37 {
- background-color: #00afaf;
-}
-.asciinema-terminal .fg-38 {
- color: #00afd7;
-}
-.asciinema-terminal .bg-38 {
- background-color: #00afd7;
-}
-.asciinema-terminal .fg-39 {
- color: #00afff;
-}
-.asciinema-terminal .bg-39 {
- background-color: #00afff;
-}
-.asciinema-terminal .fg-40 {
- color: #00d700;
-}
-.asciinema-terminal .bg-40 {
- background-color: #00d700;
-}
-.asciinema-terminal .fg-41 {
- color: #00d75f;
-}
-.asciinema-terminal .bg-41 {
- background-color: #00d75f;
-}
-.asciinema-terminal .fg-42 {
- color: #00d787;
-}
-.asciinema-terminal .bg-42 {
- background-color: #00d787;
-}
-.asciinema-terminal .fg-43 {
- color: #00d7af;
-}
-.asciinema-terminal .bg-43 {
- background-color: #00d7af;
-}
-.asciinema-terminal .fg-44 {
- color: #00d7d7;
-}
-.asciinema-terminal .bg-44 {
- background-color: #00d7d7;
-}
-.asciinema-terminal .fg-45 {
- color: #00d7ff;
-}
-.asciinema-terminal .bg-45 {
- background-color: #00d7ff;
-}
-.asciinema-terminal .fg-46 {
- color: #00ff00;
-}
-.asciinema-terminal .bg-46 {
- background-color: #00ff00;
-}
-.asciinema-terminal .fg-47 {
- color: #00ff5f;
-}
-.asciinema-terminal .bg-47 {
- background-color: #00ff5f;
-}
-.asciinema-terminal .fg-48 {
- color: #00ff87;
-}
-.asciinema-terminal .bg-48 {
- background-color: #00ff87;
-}
-.asciinema-terminal .fg-49 {
- color: #00ffaf;
-}
-.asciinema-terminal .bg-49 {
- background-color: #00ffaf;
-}
-.asciinema-terminal .fg-50 {
- color: #00ffd7;
-}
-.asciinema-terminal .bg-50 {
- background-color: #00ffd7;
-}
-.asciinema-terminal .fg-51 {
- color: #00ffff;
-}
-.asciinema-terminal .bg-51 {
- background-color: #00ffff;
-}
-.asciinema-terminal .fg-52 {
- color: #5f0000;
-}
-.asciinema-terminal .bg-52 {
- background-color: #5f0000;
-}
-.asciinema-terminal .fg-53 {
- color: #5f005f;
-}
-.asciinema-terminal .bg-53 {
- background-color: #5f005f;
-}
-.asciinema-terminal .fg-54 {
- color: #5f0087;
-}
-.asciinema-terminal .bg-54 {
- background-color: #5f0087;
-}
-.asciinema-terminal .fg-55 {
- color: #5f00af;
-}
-.asciinema-terminal .bg-55 {
- background-color: #5f00af;
-}
-.asciinema-terminal .fg-56 {
- color: #5f00d7;
-}
-.asciinema-terminal .bg-56 {
- background-color: #5f00d7;
-}
-.asciinema-terminal .fg-57 {
- color: #5f00ff;
-}
-.asciinema-terminal .bg-57 {
- background-color: #5f00ff;
-}
-.asciinema-terminal .fg-58 {
- color: #5f5f00;
-}
-.asciinema-terminal .bg-58 {
- background-color: #5f5f00;
-}
-.asciinema-terminal .fg-59 {
- color: #5f5f5f;
-}
-.asciinema-terminal .bg-59 {
- background-color: #5f5f5f;
-}
-.asciinema-terminal .fg-60 {
- color: #5f5f87;
-}
-.asciinema-terminal .bg-60 {
- background-color: #5f5f87;
-}
-.asciinema-terminal .fg-61 {
- color: #5f5faf;
-}
-.asciinema-terminal .bg-61 {
- background-color: #5f5faf;
-}
-.asciinema-terminal .fg-62 {
- color: #5f5fd7;
-}
-.asciinema-terminal .bg-62 {
- background-color: #5f5fd7;
-}
-.asciinema-terminal .fg-63 {
- color: #5f5fff;
-}
-.asciinema-terminal .bg-63 {
- background-color: #5f5fff;
-}
-.asciinema-terminal .fg-64 {
- color: #5f8700;
-}
-.asciinema-terminal .bg-64 {
- background-color: #5f8700;
-}
-.asciinema-terminal .fg-65 {
- color: #5f875f;
-}
-.asciinema-terminal .bg-65 {
- background-color: #5f875f;
-}
-.asciinema-terminal .fg-66 {
- color: #5f8787;
-}
-.asciinema-terminal .bg-66 {
- background-color: #5f8787;
-}
-.asciinema-terminal .fg-67 {
- color: #5f87af;
-}
-.asciinema-terminal .bg-67 {
- background-color: #5f87af;
-}
-.asciinema-terminal .fg-68 {
- color: #5f87d7;
-}
-.asciinema-terminal .bg-68 {
- background-color: #5f87d7;
-}
-.asciinema-terminal .fg-69 {
- color: #5f87ff;
-}
-.asciinema-terminal .bg-69 {
- background-color: #5f87ff;
-}
-.asciinema-terminal .fg-70 {
- color: #5faf00;
-}
-.asciinema-terminal .bg-70 {
- background-color: #5faf00;
-}
-.asciinema-terminal .fg-71 {
- color: #5faf5f;
-}
-.asciinema-terminal .bg-71 {
- background-color: #5faf5f;
-}
-.asciinema-terminal .fg-72 {
- color: #5faf87;
-}
-.asciinema-terminal .bg-72 {
- background-color: #5faf87;
-}
-.asciinema-terminal .fg-73 {
- color: #5fafaf;
-}
-.asciinema-terminal .bg-73 {
- background-color: #5fafaf;
-}
-.asciinema-terminal .fg-74 {
- color: #5fafd7;
-}
-.asciinema-terminal .bg-74 {
- background-color: #5fafd7;
-}
-.asciinema-terminal .fg-75 {
- color: #5fafff;
-}
-.asciinema-terminal .bg-75 {
- background-color: #5fafff;
-}
-.asciinema-terminal .fg-76 {
- color: #5fd700;
-}
-.asciinema-terminal .bg-76 {
- background-color: #5fd700;
-}
-.asciinema-terminal .fg-77 {
- color: #5fd75f;
-}
-.asciinema-terminal .bg-77 {
- background-color: #5fd75f;
-}
-.asciinema-terminal .fg-78 {
- color: #5fd787;
-}
-.asciinema-terminal .bg-78 {
- background-color: #5fd787;
-}
-.asciinema-terminal .fg-79 {
- color: #5fd7af;
-}
-.asciinema-terminal .bg-79 {
- background-color: #5fd7af;
-}
-.asciinema-terminal .fg-80 {
- color: #5fd7d7;
-}
-.asciinema-terminal .bg-80 {
- background-color: #5fd7d7;
-}
-.asciinema-terminal .fg-81 {
- color: #5fd7ff;
-}
-.asciinema-terminal .bg-81 {
- background-color: #5fd7ff;
-}
-.asciinema-terminal .fg-82 {
- color: #5fff00;
-}
-.asciinema-terminal .bg-82 {
- background-color: #5fff00;
-}
-.asciinema-terminal .fg-83 {
- color: #5fff5f;
-}
-.asciinema-terminal .bg-83 {
- background-color: #5fff5f;
-}
-.asciinema-terminal .fg-84 {
- color: #5fff87;
-}
-.asciinema-terminal .bg-84 {
- background-color: #5fff87;
-}
-.asciinema-terminal .fg-85 {
- color: #5fffaf;
-}
-.asciinema-terminal .bg-85 {
- background-color: #5fffaf;
-}
-.asciinema-terminal .fg-86 {
- color: #5fffd7;
-}
-.asciinema-terminal .bg-86 {
- background-color: #5fffd7;
-}
-.asciinema-terminal .fg-87 {
- color: #5fffff;
-}
-.asciinema-terminal .bg-87 {
- background-color: #5fffff;
-}
-.asciinema-terminal .fg-88 {
- color: #870000;
-}
-.asciinema-terminal .bg-88 {
- background-color: #870000;
-}
-.asciinema-terminal .fg-89 {
- color: #87005f;
-}
-.asciinema-terminal .bg-89 {
- background-color: #87005f;
-}
-.asciinema-terminal .fg-90 {
- color: #870087;
-}
-.asciinema-terminal .bg-90 {
- background-color: #870087;
-}
-.asciinema-terminal .fg-91 {
- color: #8700af;
-}
-.asciinema-terminal .bg-91 {
- background-color: #8700af;
-}
-.asciinema-terminal .fg-92 {
- color: #8700d7;
-}
-.asciinema-terminal .bg-92 {
- background-color: #8700d7;
-}
-.asciinema-terminal .fg-93 {
- color: #8700ff;
-}
-.asciinema-terminal .bg-93 {
- background-color: #8700ff;
-}
-.asciinema-terminal .fg-94 {
- color: #875f00;
-}
-.asciinema-terminal .bg-94 {
- background-color: #875f00;
-}
-.asciinema-terminal .fg-95 {
- color: #875f5f;
-}
-.asciinema-terminal .bg-95 {
- background-color: #875f5f;
-}
-.asciinema-terminal .fg-96 {
- color: #875f87;
-}
-.asciinema-terminal .bg-96 {
- background-color: #875f87;
-}
-.asciinema-terminal .fg-97 {
- color: #875faf;
-}
-.asciinema-terminal .bg-97 {
- background-color: #875faf;
-}
-.asciinema-terminal .fg-98 {
- color: #875fd7;
-}
-.asciinema-terminal .bg-98 {
- background-color: #875fd7;
-}
-.asciinema-terminal .fg-99 {
- color: #875fff;
-}
-.asciinema-terminal .bg-99 {
- background-color: #875fff;
-}
-.asciinema-terminal .fg-100 {
- color: #878700;
-}
-.asciinema-terminal .bg-100 {
- background-color: #878700;
-}
-.asciinema-terminal .fg-101 {
- color: #87875f;
-}
-.asciinema-terminal .bg-101 {
- background-color: #87875f;
-}
-.asciinema-terminal .fg-102 {
- color: #878787;
-}
-.asciinema-terminal .bg-102 {
- background-color: #878787;
-}
-.asciinema-terminal .fg-103 {
- color: #8787af;
-}
-.asciinema-terminal .bg-103 {
- background-color: #8787af;
-}
-.asciinema-terminal .fg-104 {
- color: #8787d7;
-}
-.asciinema-terminal .bg-104 {
- background-color: #8787d7;
-}
-.asciinema-terminal .fg-105 {
- color: #8787ff;
-}
-.asciinema-terminal .bg-105 {
- background-color: #8787ff;
-}
-.asciinema-terminal .fg-106 {
- color: #87af00;
-}
-.asciinema-terminal .bg-106 {
- background-color: #87af00;
-}
-.asciinema-terminal .fg-107 {
- color: #87af5f;
-}
-.asciinema-terminal .bg-107 {
- background-color: #87af5f;
-}
-.asciinema-terminal .fg-108 {
- color: #87af87;
-}
-.asciinema-terminal .bg-108 {
- background-color: #87af87;
-}
-.asciinema-terminal .fg-109 {
- color: #87afaf;
-}
-.asciinema-terminal .bg-109 {
- background-color: #87afaf;
-}
-.asciinema-terminal .fg-110 {
- color: #87afd7;
-}
-.asciinema-terminal .bg-110 {
- background-color: #87afd7;
-}
-.asciinema-terminal .fg-111 {
- color: #87afff;
-}
-.asciinema-terminal .bg-111 {
- background-color: #87afff;
-}
-.asciinema-terminal .fg-112 {
- color: #87d700;
-}
-.asciinema-terminal .bg-112 {
- background-color: #87d700;
-}
-.asciinema-terminal .fg-113 {
- color: #87d75f;
-}
-.asciinema-terminal .bg-113 {
- background-color: #87d75f;
-}
-.asciinema-terminal .fg-114 {
- color: #87d787;
-}
-.asciinema-terminal .bg-114 {
- background-color: #87d787;
-}
-.asciinema-terminal .fg-115 {
- color: #87d7af;
-}
-.asciinema-terminal .bg-115 {
- background-color: #87d7af;
-}
-.asciinema-terminal .fg-116 {
- color: #87d7d7;
-}
-.asciinema-terminal .bg-116 {
- background-color: #87d7d7;
-}
-.asciinema-terminal .fg-117 {
- color: #87d7ff;
-}
-.asciinema-terminal .bg-117 {
- background-color: #87d7ff;
-}
-.asciinema-terminal .fg-118 {
- color: #87ff00;
-}
-.asciinema-terminal .bg-118 {
- background-color: #87ff00;
-}
-.asciinema-terminal .fg-119 {
- color: #87ff5f;
-}
-.asciinema-terminal .bg-119 {
- background-color: #87ff5f;
-}
-.asciinema-terminal .fg-120 {
- color: #87ff87;
-}
-.asciinema-terminal .bg-120 {
- background-color: #87ff87;
-}
-.asciinema-terminal .fg-121 {
- color: #87ffaf;
-}
-.asciinema-terminal .bg-121 {
- background-color: #87ffaf;
-}
-.asciinema-terminal .fg-122 {
- color: #87ffd7;
-}
-.asciinema-terminal .bg-122 {
- background-color: #87ffd7;
-}
-.asciinema-terminal .fg-123 {
- color: #87ffff;
-}
-.asciinema-terminal .bg-123 {
- background-color: #87ffff;
-}
-.asciinema-terminal .fg-124 {
- color: #af0000;
-}
-.asciinema-terminal .bg-124 {
- background-color: #af0000;
-}
-.asciinema-terminal .fg-125 {
- color: #af005f;
-}
-.asciinema-terminal .bg-125 {
- background-color: #af005f;
-}
-.asciinema-terminal .fg-126 {
- color: #af0087;
-}
-.asciinema-terminal .bg-126 {
- background-color: #af0087;
-}
-.asciinema-terminal .fg-127 {
- color: #af00af;
-}
-.asciinema-terminal .bg-127 {
- background-color: #af00af;
-}
-.asciinema-terminal .fg-128 {
- color: #af00d7;
-}
-.asciinema-terminal .bg-128 {
- background-color: #af00d7;
-}
-.asciinema-terminal .fg-129 {
- color: #af00ff;
-}
-.asciinema-terminal .bg-129 {
- background-color: #af00ff;
-}
-.asciinema-terminal .fg-130 {
- color: #af5f00;
-}
-.asciinema-terminal .bg-130 {
- background-color: #af5f00;
-}
-.asciinema-terminal .fg-131 {
- color: #af5f5f;
-}
-.asciinema-terminal .bg-131 {
- background-color: #af5f5f;
-}
-.asciinema-terminal .fg-132 {
- color: #af5f87;
-}
-.asciinema-terminal .bg-132 {
- background-color: #af5f87;
-}
-.asciinema-terminal .fg-133 {
- color: #af5faf;
-}
-.asciinema-terminal .bg-133 {
- background-color: #af5faf;
-}
-.asciinema-terminal .fg-134 {
- color: #af5fd7;
-}
-.asciinema-terminal .bg-134 {
- background-color: #af5fd7;
-}
-.asciinema-terminal .fg-135 {
- color: #af5fff;
-}
-.asciinema-terminal .bg-135 {
- background-color: #af5fff;
-}
-.asciinema-terminal .fg-136 {
- color: #af8700;
-}
-.asciinema-terminal .bg-136 {
- background-color: #af8700;
-}
-.asciinema-terminal .fg-137 {
- color: #af875f;
-}
-.asciinema-terminal .bg-137 {
- background-color: #af875f;
-}
-.asciinema-terminal .fg-138 {
- color: #af8787;
-}
-.asciinema-terminal .bg-138 {
- background-color: #af8787;
-}
-.asciinema-terminal .fg-139 {
- color: #af87af;
-}
-.asciinema-terminal .bg-139 {
- background-color: #af87af;
-}
-.asciinema-terminal .fg-140 {
- color: #af87d7;
-}
-.asciinema-terminal .bg-140 {
- background-color: #af87d7;
-}
-.asciinema-terminal .fg-141 {
- color: #af87ff;
-}
-.asciinema-terminal .bg-141 {
- background-color: #af87ff;
-}
-.asciinema-terminal .fg-142 {
- color: #afaf00;
-}
-.asciinema-terminal .bg-142 {
- background-color: #afaf00;
-}
-.asciinema-terminal .fg-143 {
- color: #afaf5f;
-}
-.asciinema-terminal .bg-143 {
- background-color: #afaf5f;
-}
-.asciinema-terminal .fg-144 {
- color: #afaf87;
-}
-.asciinema-terminal .bg-144 {
- background-color: #afaf87;
-}
-.asciinema-terminal .fg-145 {
- color: #afafaf;
-}
-.asciinema-terminal .bg-145 {
- background-color: #afafaf;
-}
-.asciinema-terminal .fg-146 {
- color: #afafd7;
-}
-.asciinema-terminal .bg-146 {
- background-color: #afafd7;
-}
-.asciinema-terminal .fg-147 {
- color: #afafff;
-}
-.asciinema-terminal .bg-147 {
- background-color: #afafff;
-}
-.asciinema-terminal .fg-148 {
- color: #afd700;
-}
-.asciinema-terminal .bg-148 {
- background-color: #afd700;
-}
-.asciinema-terminal .fg-149 {
- color: #afd75f;
-}
-.asciinema-terminal .bg-149 {
- background-color: #afd75f;
-}
-.asciinema-terminal .fg-150 {
- color: #afd787;
-}
-.asciinema-terminal .bg-150 {
- background-color: #afd787;
-}
-.asciinema-terminal .fg-151 {
- color: #afd7af;
-}
-.asciinema-terminal .bg-151 {
- background-color: #afd7af;
-}
-.asciinema-terminal .fg-152 {
- color: #afd7d7;
-}
-.asciinema-terminal .bg-152 {
- background-color: #afd7d7;
-}
-.asciinema-terminal .fg-153 {
- color: #afd7ff;
-}
-.asciinema-terminal .bg-153 {
- background-color: #afd7ff;
-}
-.asciinema-terminal .fg-154 {
- color: #afff00;
-}
-.asciinema-terminal .bg-154 {
- background-color: #afff00;
-}
-.asciinema-terminal .fg-155 {
- color: #afff5f;
-}
-.asciinema-terminal .bg-155 {
- background-color: #afff5f;
-}
-.asciinema-terminal .fg-156 {
- color: #afff87;
-}
-.asciinema-terminal .bg-156 {
- background-color: #afff87;
-}
-.asciinema-terminal .fg-157 {
- color: #afffaf;
-}
-.asciinema-terminal .bg-157 {
- background-color: #afffaf;
-}
-.asciinema-terminal .fg-158 {
- color: #afffd7;
-}
-.asciinema-terminal .bg-158 {
- background-color: #afffd7;
-}
-.asciinema-terminal .fg-159 {
- color: #afffff;
-}
-.asciinema-terminal .bg-159 {
- background-color: #afffff;
-}
-.asciinema-terminal .fg-160 {
- color: #d70000;
-}
-.asciinema-terminal .bg-160 {
- background-color: #d70000;
-}
-.asciinema-terminal .fg-161 {
- color: #d7005f;
-}
-.asciinema-terminal .bg-161 {
- background-color: #d7005f;
-}
-.asciinema-terminal .fg-162 {
- color: #d70087;
-}
-.asciinema-terminal .bg-162 {
- background-color: #d70087;
-}
-.asciinema-terminal .fg-163 {
- color: #d700af;
-}
-.asciinema-terminal .bg-163 {
- background-color: #d700af;
-}
-.asciinema-terminal .fg-164 {
- color: #d700d7;
-}
-.asciinema-terminal .bg-164 {
- background-color: #d700d7;
-}
-.asciinema-terminal .fg-165 {
- color: #d700ff;
-}
-.asciinema-terminal .bg-165 {
- background-color: #d700ff;
-}
-.asciinema-terminal .fg-166 {
- color: #d75f00;
-}
-.asciinema-terminal .bg-166 {
- background-color: #d75f00;
-}
-.asciinema-terminal .fg-167 {
- color: #d75f5f;
-}
-.asciinema-terminal .bg-167 {
- background-color: #d75f5f;
-}
-.asciinema-terminal .fg-168 {
- color: #d75f87;
-}
-.asciinema-terminal .bg-168 {
- background-color: #d75f87;
-}
-.asciinema-terminal .fg-169 {
- color: #d75faf;
-}
-.asciinema-terminal .bg-169 {
- background-color: #d75faf;
-}
-.asciinema-terminal .fg-170 {
- color: #d75fd7;
-}
-.asciinema-terminal .bg-170 {
- background-color: #d75fd7;
-}
-.asciinema-terminal .fg-171 {
- color: #d75fff;
-}
-.asciinema-terminal .bg-171 {
- background-color: #d75fff;
-}
-.asciinema-terminal .fg-172 {
- color: #d78700;
-}
-.asciinema-terminal .bg-172 {
- background-color: #d78700;
-}
-.asciinema-terminal .fg-173 {
- color: #d7875f;
-}
-.asciinema-terminal .bg-173 {
- background-color: #d7875f;
-}
-.asciinema-terminal .fg-174 {
- color: #d78787;
-}
-.asciinema-terminal .bg-174 {
- background-color: #d78787;
-}
-.asciinema-terminal .fg-175 {
- color: #d787af;
-}
-.asciinema-terminal .bg-175 {
- background-color: #d787af;
-}
-.asciinema-terminal .fg-176 {
- color: #d787d7;
-}
-.asciinema-terminal .bg-176 {
- background-color: #d787d7;
-}
-.asciinema-terminal .fg-177 {
- color: #d787ff;
-}
-.asciinema-terminal .bg-177 {
- background-color: #d787ff;
-}
-.asciinema-terminal .fg-178 {
- color: #d7af00;
-}
-.asciinema-terminal .bg-178 {
- background-color: #d7af00;
-}
-.asciinema-terminal .fg-179 {
- color: #d7af5f;
-}
-.asciinema-terminal .bg-179 {
- background-color: #d7af5f;
-}
-.asciinema-terminal .fg-180 {
- color: #d7af87;
-}
-.asciinema-terminal .bg-180 {
- background-color: #d7af87;
-}
-.asciinema-terminal .fg-181 {
- color: #d7afaf;
-}
-.asciinema-terminal .bg-181 {
- background-color: #d7afaf;
-}
-.asciinema-terminal .fg-182 {
- color: #d7afd7;
-}
-.asciinema-terminal .bg-182 {
- background-color: #d7afd7;
-}
-.asciinema-terminal .fg-183 {
- color: #d7afff;
-}
-.asciinema-terminal .bg-183 {
- background-color: #d7afff;
-}
-.asciinema-terminal .fg-184 {
- color: #d7d700;
-}
-.asciinema-terminal .bg-184 {
- background-color: #d7d700;
-}
-.asciinema-terminal .fg-185 {
- color: #d7d75f;
-}
-.asciinema-terminal .bg-185 {
- background-color: #d7d75f;
-}
-.asciinema-terminal .fg-186 {
- color: #d7d787;
-}
-.asciinema-terminal .bg-186 {
- background-color: #d7d787;
-}
-.asciinema-terminal .fg-187 {
- color: #d7d7af;
-}
-.asciinema-terminal .bg-187 {
- background-color: #d7d7af;
-}
-.asciinema-terminal .fg-188 {
- color: #d7d7d7;
-}
-.asciinema-terminal .bg-188 {
- background-color: #d7d7d7;
-}
-.asciinema-terminal .fg-189 {
- color: #d7d7ff;
-}
-.asciinema-terminal .bg-189 {
- background-color: #d7d7ff;
-}
-.asciinema-terminal .fg-190 {
- color: #d7ff00;
-}
-.asciinema-terminal .bg-190 {
- background-color: #d7ff00;
-}
-.asciinema-terminal .fg-191 {
- color: #d7ff5f;
-}
-.asciinema-terminal .bg-191 {
- background-color: #d7ff5f;
-}
-.asciinema-terminal .fg-192 {
- color: #d7ff87;
-}
-.asciinema-terminal .bg-192 {
- background-color: #d7ff87;
-}
-.asciinema-terminal .fg-193 {
- color: #d7ffaf;
-}
-.asciinema-terminal .bg-193 {
- background-color: #d7ffaf;
-}
-.asciinema-terminal .fg-194 {
- color: #d7ffd7;
-}
-.asciinema-terminal .bg-194 {
- background-color: #d7ffd7;
-}
-.asciinema-terminal .fg-195 {
- color: #d7ffff;
-}
-.asciinema-terminal .bg-195 {
- background-color: #d7ffff;
-}
-.asciinema-terminal .fg-196 {
- color: #ff0000;
-}
-.asciinema-terminal .bg-196 {
- background-color: #ff0000;
-}
-.asciinema-terminal .fg-197 {
- color: #ff005f;
-}
-.asciinema-terminal .bg-197 {
- background-color: #ff005f;
-}
-.asciinema-terminal .fg-198 {
- color: #ff0087;
-}
-.asciinema-terminal .bg-198 {
- background-color: #ff0087;
-}
-.asciinema-terminal .fg-199 {
- color: #ff00af;
-}
-.asciinema-terminal .bg-199 {
- background-color: #ff00af;
-}
-.asciinema-terminal .fg-200 {
- color: #ff00d7;
-}
-.asciinema-terminal .bg-200 {
- background-color: #ff00d7;
-}
-.asciinema-terminal .fg-201 {
- color: #ff00ff;
-}
-.asciinema-terminal .bg-201 {
- background-color: #ff00ff;
-}
-.asciinema-terminal .fg-202 {
- color: #ff5f00;
-}
-.asciinema-terminal .bg-202 {
- background-color: #ff5f00;
-}
-.asciinema-terminal .fg-203 {
- color: #ff5f5f;
-}
-.asciinema-terminal .bg-203 {
- background-color: #ff5f5f;
-}
-.asciinema-terminal .fg-204 {
- color: #ff5f87;
-}
-.asciinema-terminal .bg-204 {
- background-color: #ff5f87;
-}
-.asciinema-terminal .fg-205 {
- color: #ff5faf;
-}
-.asciinema-terminal .bg-205 {
- background-color: #ff5faf;
-}
-.asciinema-terminal .fg-206 {
- color: #ff5fd7;
-}
-.asciinema-terminal .bg-206 {
- background-color: #ff5fd7;
-}
-.asciinema-terminal .fg-207 {
- color: #ff5fff;
-}
-.asciinema-terminal .bg-207 {
- background-color: #ff5fff;
-}
-.asciinema-terminal .fg-208 {
- color: #ff8700;
-}
-.asciinema-terminal .bg-208 {
- background-color: #ff8700;
-}
-.asciinema-terminal .fg-209 {
- color: #ff875f;
-}
-.asciinema-terminal .bg-209 {
- background-color: #ff875f;
-}
-.asciinema-terminal .fg-210 {
- color: #ff8787;
-}
-.asciinema-terminal .bg-210 {
- background-color: #ff8787;
-}
-.asciinema-terminal .fg-211 {
- color: #ff87af;
-}
-.asciinema-terminal .bg-211 {
- background-color: #ff87af;
-}
-.asciinema-terminal .fg-212 {
- color: #ff87d7;
-}
-.asciinema-terminal .bg-212 {
- background-color: #ff87d7;
-}
-.asciinema-terminal .fg-213 {
- color: #ff87ff;
-}
-.asciinema-terminal .bg-213 {
- background-color: #ff87ff;
-}
-.asciinema-terminal .fg-214 {
- color: #ffaf00;
-}
-.asciinema-terminal .bg-214 {
- background-color: #ffaf00;
-}
-.asciinema-terminal .fg-215 {
- color: #ffaf5f;
-}
-.asciinema-terminal .bg-215 {
- background-color: #ffaf5f;
-}
-.asciinema-terminal .fg-216 {
- color: #ffaf87;
-}
-.asciinema-terminal .bg-216 {
- background-color: #ffaf87;
-}
-.asciinema-terminal .fg-217 {
- color: #ffafaf;
-}
-.asciinema-terminal .bg-217 {
- background-color: #ffafaf;
-}
-.asciinema-terminal .fg-218 {
- color: #ffafd7;
-}
-.asciinema-terminal .bg-218 {
- background-color: #ffafd7;
-}
-.asciinema-terminal .fg-219 {
- color: #ffafff;
-}
-.asciinema-terminal .bg-219 {
- background-color: #ffafff;
-}
-.asciinema-terminal .fg-220 {
- color: #ffd700;
-}
-.asciinema-terminal .bg-220 {
- background-color: #ffd700;
-}
-.asciinema-terminal .fg-221 {
- color: #ffd75f;
-}
-.asciinema-terminal .bg-221 {
- background-color: #ffd75f;
-}
-.asciinema-terminal .fg-222 {
- color: #ffd787;
-}
-.asciinema-terminal .bg-222 {
- background-color: #ffd787;
-}
-.asciinema-terminal .fg-223 {
- color: #ffd7af;
-}
-.asciinema-terminal .bg-223 {
- background-color: #ffd7af;
-}
-.asciinema-terminal .fg-224 {
- color: #ffd7d7;
-}
-.asciinema-terminal .bg-224 {
- background-color: #ffd7d7;
-}
-.asciinema-terminal .fg-225 {
- color: #ffd7ff;
-}
-.asciinema-terminal .bg-225 {
- background-color: #ffd7ff;
-}
-.asciinema-terminal .fg-226 {
- color: #ffff00;
-}
-.asciinema-terminal .bg-226 {
- background-color: #ffff00;
-}
-.asciinema-terminal .fg-227 {
- color: #ffff5f;
-}
-.asciinema-terminal .bg-227 {
- background-color: #ffff5f;
-}
-.asciinema-terminal .fg-228 {
- color: #ffff87;
-}
-.asciinema-terminal .bg-228 {
- background-color: #ffff87;
-}
-.asciinema-terminal .fg-229 {
- color: #ffffaf;
-}
-.asciinema-terminal .bg-229 {
- background-color: #ffffaf;
-}
-.asciinema-terminal .fg-230 {
- color: #ffffd7;
-}
-.asciinema-terminal .bg-230 {
- background-color: #ffffd7;
-}
-.asciinema-terminal .fg-231 {
- color: #ffffff;
-}
-.asciinema-terminal .bg-231 {
- background-color: #ffffff;
-}
-.asciinema-terminal .fg-232 {
- color: #080808;
-}
-.asciinema-terminal .bg-232 {
- background-color: #080808;
-}
-.asciinema-terminal .fg-233 {
- color: #121212;
-}
-.asciinema-terminal .bg-233 {
- background-color: #121212;
-}
-.asciinema-terminal .fg-234 {
- color: #1c1c1c;
-}
-.asciinema-terminal .bg-234 {
- background-color: #1c1c1c;
-}
-.asciinema-terminal .fg-235 {
- color: #262626;
-}
-.asciinema-terminal .bg-235 {
- background-color: #262626;
-}
-.asciinema-terminal .fg-236 {
- color: #303030;
-}
-.asciinema-terminal .bg-236 {
- background-color: #303030;
-}
-.asciinema-terminal .fg-237 {
- color: #3a3a3a;
-}
-.asciinema-terminal .bg-237 {
- background-color: #3a3a3a;
-}
-.asciinema-terminal .fg-238 {
- color: #444444;
-}
-.asciinema-terminal .bg-238 {
- background-color: #444444;
-}
-.asciinema-terminal .fg-239 {
- color: #4e4e4e;
-}
-.asciinema-terminal .bg-239 {
- background-color: #4e4e4e;
-}
-.asciinema-terminal .fg-240 {
- color: #585858;
-}
-.asciinema-terminal .bg-240 {
- background-color: #585858;
-}
-.asciinema-terminal .fg-241 {
- color: #626262;
-}
-.asciinema-terminal .bg-241 {
- background-color: #626262;
-}
-.asciinema-terminal .fg-242 {
- color: #6c6c6c;
-}
-.asciinema-terminal .bg-242 {
- background-color: #6c6c6c;
-}
-.asciinema-terminal .fg-243 {
- color: #767676;
-}
-.asciinema-terminal .bg-243 {
- background-color: #767676;
-}
-.asciinema-terminal .fg-244 {
- color: #808080;
-}
-.asciinema-terminal .bg-244 {
- background-color: #808080;
-}
-.asciinema-terminal .fg-245 {
- color: #8a8a8a;
-}
-.asciinema-terminal .bg-245 {
- background-color: #8a8a8a;
-}
-.asciinema-terminal .fg-246 {
- color: #949494;
-}
-.asciinema-terminal .bg-246 {
- background-color: #949494;
-}
-.asciinema-terminal .fg-247 {
- color: #9e9e9e;
-}
-.asciinema-terminal .bg-247 {
- background-color: #9e9e9e;
-}
-.asciinema-terminal .fg-248 {
- color: #a8a8a8;
-}
-.asciinema-terminal .bg-248 {
- background-color: #a8a8a8;
-}
-.asciinema-terminal .fg-249 {
- color: #b2b2b2;
-}
-.asciinema-terminal .bg-249 {
- background-color: #b2b2b2;
-}
-.asciinema-terminal .fg-250 {
- color: #bcbcbc;
-}
-.asciinema-terminal .bg-250 {
- background-color: #bcbcbc;
-}
-.asciinema-terminal .fg-251 {
- color: #c6c6c6;
-}
-.asciinema-terminal .bg-251 {
- background-color: #c6c6c6;
-}
-.asciinema-terminal .fg-252 {
- color: #d0d0d0;
-}
-.asciinema-terminal .bg-252 {
- background-color: #d0d0d0;
-}
-.asciinema-terminal .fg-253 {
- color: #dadada;
-}
-.asciinema-terminal .bg-253 {
- background-color: #dadada;
-}
-.asciinema-terminal .fg-254 {
- color: #e4e4e4;
-}
-.asciinema-terminal .bg-254 {
- background-color: #e4e4e4;
-}
-.asciinema-terminal .fg-255 {
- color: #eeeeee;
-}
-.asciinema-terminal .bg-255 {
- background-color: #eeeeee;
-}
-.asciinema-theme-asciinema .asciinema-terminal {
- color: #cccccc;
- background-color: #121314;
- border-color: #121314;
-}
-.asciinema-theme-asciinema .fg-bg {
- color: #121314;
-}
-.asciinema-theme-asciinema .bg-fg {
- background-color: #cccccc;
-}
-.asciinema-theme-asciinema .fg-0 {
- color: #000000;
-}
-.asciinema-theme-asciinema .bg-0 {
- background-color: #000000;
-}
-.asciinema-theme-asciinema .fg-1 {
- color: #dd3c69;
-}
-.asciinema-theme-asciinema .bg-1 {
- background-color: #dd3c69;
-}
-.asciinema-theme-asciinema .fg-2 {
- color: #4ebf22;
-}
-.asciinema-theme-asciinema .bg-2 {
- background-color: #4ebf22;
-}
-.asciinema-theme-asciinema .fg-3 {
- color: #ddaf3c;
-}
-.asciinema-theme-asciinema .bg-3 {
- background-color: #ddaf3c;
-}
-.asciinema-theme-asciinema .fg-4 {
- color: #26b0d7;
-}
-.asciinema-theme-asciinema .bg-4 {
- background-color: #26b0d7;
-}
-.asciinema-theme-asciinema .fg-5 {
- color: #b954e1;
-}
-.asciinema-theme-asciinema .bg-5 {
- background-color: #b954e1;
-}
-.asciinema-theme-asciinema .fg-6 {
- color: #54e1b9;
-}
-.asciinema-theme-asciinema .bg-6 {
- background-color: #54e1b9;
-}
-.asciinema-theme-asciinema .fg-7 {
- color: #d9d9d9;
-}
-.asciinema-theme-asciinema .bg-7 {
- background-color: #d9d9d9;
-}
-.asciinema-theme-asciinema .fg-8 {
- color: #4d4d4d;
-}
-.asciinema-theme-asciinema .bg-8 {
- background-color: #4d4d4d;
-}
-.asciinema-theme-asciinema .fg-9 {
- color: #dd3c69;
-}
-.asciinema-theme-asciinema .bg-9 {
- background-color: #dd3c69;
-}
-.asciinema-theme-asciinema .fg-10 {
- color: #4ebf22;
-}
-.asciinema-theme-asciinema .bg-10 {
- background-color: #4ebf22;
-}
-.asciinema-theme-asciinema .fg-11 {
- color: #ddaf3c;
-}
-.asciinema-theme-asciinema .bg-11 {
- background-color: #ddaf3c;
-}
-.asciinema-theme-asciinema .fg-12 {
- color: #26b0d7;
-}
-.asciinema-theme-asciinema .bg-12 {
- background-color: #26b0d7;
-}
-.asciinema-theme-asciinema .fg-13 {
- color: #b954e1;
-}
-.asciinema-theme-asciinema .bg-13 {
- background-color: #b954e1;
-}
-.asciinema-theme-asciinema .fg-14 {
- color: #54e1b9;
-}
-.asciinema-theme-asciinema .bg-14 {
- background-color: #54e1b9;
-}
-.asciinema-theme-asciinema .fg-15 {
- color: #ffffff;
-}
-.asciinema-theme-asciinema .bg-15 {
- background-color: #ffffff;
-}
-.asciinema-theme-asciinema .fg-8,
-.asciinema-theme-asciinema .fg-9,
-.asciinema-theme-asciinema .fg-10,
-.asciinema-theme-asciinema .fg-11,
-.asciinema-theme-asciinema .fg-12,
-.asciinema-theme-asciinema .fg-13,
-.asciinema-theme-asciinema .fg-14,
-.asciinema-theme-asciinema .fg-15 {
- font-weight: bold;
-}
-.asciinema-theme-tango .asciinema-terminal {
- color: #cccccc;
- background-color: #121314;
- border-color: #121314;
-}
-.asciinema-theme-tango .fg-bg {
- color: #121314;
-}
-.asciinema-theme-tango .bg-fg {
- background-color: #cccccc;
-}
-.asciinema-theme-tango .fg-0 {
- color: #000000;
-}
-.asciinema-theme-tango .bg-0 {
- background-color: #000000;
-}
-.asciinema-theme-tango .fg-1 {
- color: #cc0000;
-}
-.asciinema-theme-tango .bg-1 {
- background-color: #cc0000;
-}
-.asciinema-theme-tango .fg-2 {
- color: #4e9a06;
-}
-.asciinema-theme-tango .bg-2 {
- background-color: #4e9a06;
-}
-.asciinema-theme-tango .fg-3 {
- color: #c4a000;
-}
-.asciinema-theme-tango .bg-3 {
- background-color: #c4a000;
-}
-.asciinema-theme-tango .fg-4 {
- color: #3465a4;
-}
-.asciinema-theme-tango .bg-4 {
- background-color: #3465a4;
-}
-.asciinema-theme-tango .fg-5 {
- color: #75507b;
-}
-.asciinema-theme-tango .bg-5 {
- background-color: #75507b;
-}
-.asciinema-theme-tango .fg-6 {
- color: #06989a;
-}
-.asciinema-theme-tango .bg-6 {
- background-color: #06989a;
-}
-.asciinema-theme-tango .fg-7 {
- color: #d3d7cf;
-}
-.asciinema-theme-tango .bg-7 {
- background-color: #d3d7cf;
-}
-.asciinema-theme-tango .fg-8 {
- color: #555753;
-}
-.asciinema-theme-tango .bg-8 {
- background-color: #555753;
-}
-.asciinema-theme-tango .fg-9 {
- color: #ef2929;
-}
-.asciinema-theme-tango .bg-9 {
- background-color: #ef2929;
-}
-.asciinema-theme-tango .fg-10 {
- color: #8ae234;
-}
-.asciinema-theme-tango .bg-10 {
- background-color: #8ae234;
-}
-.asciinema-theme-tango .fg-11 {
- color: #fce94f;
-}
-.asciinema-theme-tango .bg-11 {
- background-color: #fce94f;
-}
-.asciinema-theme-tango .fg-12 {
- color: #729fcf;
-}
-.asciinema-theme-tango .bg-12 {
- background-color: #729fcf;
-}
-.asciinema-theme-tango .fg-13 {
- color: #ad7fa8;
-}
-.asciinema-theme-tango .bg-13 {
- background-color: #ad7fa8;
-}
-.asciinema-theme-tango .fg-14 {
- color: #34e2e2;
-}
-.asciinema-theme-tango .bg-14 {
- background-color: #34e2e2;
-}
-.asciinema-theme-tango .fg-15 {
- color: #eeeeec;
-}
-.asciinema-theme-tango .bg-15 {
- background-color: #eeeeec;
-}
-.asciinema-theme-tango .fg-8,
-.asciinema-theme-tango .fg-9,
-.asciinema-theme-tango .fg-10,
-.asciinema-theme-tango .fg-11,
-.asciinema-theme-tango .fg-12,
-.asciinema-theme-tango .fg-13,
-.asciinema-theme-tango .fg-14,
-.asciinema-theme-tango .fg-15 {
- font-weight: bold;
-}
-.asciinema-theme-solarized-dark .asciinema-terminal {
- color: #839496;
- background-color: #002b36;
- border-color: #002b36;
-}
-.asciinema-theme-solarized-dark .fg-bg {
- color: #002b36;
-}
-.asciinema-theme-solarized-dark .bg-fg {
- background-color: #839496;
-}
-.asciinema-theme-solarized-dark .fg-0 {
- color: #073642;
-}
-.asciinema-theme-solarized-dark .bg-0 {
- background-color: #073642;
-}
-.asciinema-theme-solarized-dark .fg-1 {
- color: #dc322f;
-}
-.asciinema-theme-solarized-dark .bg-1 {
- background-color: #dc322f;
-}
-.asciinema-theme-solarized-dark .fg-2 {
- color: #859900;
-}
-.asciinema-theme-solarized-dark .bg-2 {
- background-color: #859900;
-}
-.asciinema-theme-solarized-dark .fg-3 {
- color: #b58900;
-}
-.asciinema-theme-solarized-dark .bg-3 {
- background-color: #b58900;
-}
-.asciinema-theme-solarized-dark .fg-4 {
- color: #268bd2;
-}
-.asciinema-theme-solarized-dark .bg-4 {
- background-color: #268bd2;
-}
-.asciinema-theme-solarized-dark .fg-5 {
- color: #d33682;
-}
-.asciinema-theme-solarized-dark .bg-5 {
- background-color: #d33682;
-}
-.asciinema-theme-solarized-dark .fg-6 {
- color: #2aa198;
-}
-.asciinema-theme-solarized-dark .bg-6 {
- background-color: #2aa198;
-}
-.asciinema-theme-solarized-dark .fg-7 {
- color: #eee8d5;
-}
-.asciinema-theme-solarized-dark .bg-7 {
- background-color: #eee8d5;
-}
-.asciinema-theme-solarized-dark .fg-8 {
- color: #002b36;
-}
-.asciinema-theme-solarized-dark .bg-8 {
- background-color: #002b36;
-}
-.asciinema-theme-solarized-dark .fg-9 {
- color: #cb4b16;
-}
-.asciinema-theme-solarized-dark .bg-9 {
- background-color: #cb4b16;
-}
-.asciinema-theme-solarized-dark .fg-10 {
- color: #586e75;
-}
-.asciinema-theme-solarized-dark .bg-10 {
- background-color: #586e75;
-}
-.asciinema-theme-solarized-dark .fg-11 {
- color: #657b83;
-}
-.asciinema-theme-solarized-dark .bg-11 {
- background-color: #657b83;
-}
-.asciinema-theme-solarized-dark .fg-12 {
- color: #839496;
-}
-.asciinema-theme-solarized-dark .bg-12 {
- background-color: #839496;
-}
-.asciinema-theme-solarized-dark .fg-13 {
- color: #6c71c4;
-}
-.asciinema-theme-solarized-dark .bg-13 {
- background-color: #6c71c4;
-}
-.asciinema-theme-solarized-dark .fg-14 {
- color: #93a1a1;
-}
-.asciinema-theme-solarized-dark .bg-14 {
- background-color: #93a1a1;
-}
-.asciinema-theme-solarized-dark .fg-15 {
- color: #fdf6e3;
-}
-.asciinema-theme-solarized-dark .bg-15 {
- background-color: #fdf6e3;
-}
-.asciinema-theme-solarized-light .asciinema-terminal {
- color: #657b83;
- background-color: #fdf6e3;
- border-color: #fdf6e3;
-}
-.asciinema-theme-solarized-light .fg-bg {
- color: #fdf6e3;
-}
-.asciinema-theme-solarized-light .bg-fg {
- background-color: #657b83;
-}
-.asciinema-theme-solarized-light .fg-0 {
- color: #073642;
-}
-.asciinema-theme-solarized-light .bg-0 {
- background-color: #073642;
-}
-.asciinema-theme-solarized-light .fg-1 {
- color: #dc322f;
-}
-.asciinema-theme-solarized-light .bg-1 {
- background-color: #dc322f;
-}
-.asciinema-theme-solarized-light .fg-2 {
- color: #859900;
-}
-.asciinema-theme-solarized-light .bg-2 {
- background-color: #859900;
-}
-.asciinema-theme-solarized-light .fg-3 {
- color: #b58900;
-}
-.asciinema-theme-solarized-light .bg-3 {
- background-color: #b58900;
-}
-.asciinema-theme-solarized-light .fg-4 {
- color: #268bd2;
-}
-.asciinema-theme-solarized-light .bg-4 {
- background-color: #268bd2;
-}
-.asciinema-theme-solarized-light .fg-5 {
- color: #d33682;
-}
-.asciinema-theme-solarized-light .bg-5 {
- background-color: #d33682;
-}
-.asciinema-theme-solarized-light .fg-6 {
- color: #2aa198;
-}
-.asciinema-theme-solarized-light .bg-6 {
- background-color: #2aa198;
-}
-.asciinema-theme-solarized-light .fg-7 {
- color: #eee8d5;
-}
-.asciinema-theme-solarized-light .bg-7 {
- background-color: #eee8d5;
-}
-.asciinema-theme-solarized-light .fg-8 {
- color: #002b36;
-}
-.asciinema-theme-solarized-light .bg-8 {
- background-color: #002b36;
-}
-.asciinema-theme-solarized-light .fg-9 {
- color: #cb4b16;
-}
-.asciinema-theme-solarized-light .bg-9 {
- background-color: #cb4b16;
-}
-.asciinema-theme-solarized-light .fg-10 {
- color: #586e75;
-}
-.asciinema-theme-solarized-light .bg-10 {
- background-color: #586e75;
-}
-.asciinema-theme-solarized-light .fg-11 {
- color: #657c83;
-}
-.asciinema-theme-solarized-light .bg-11 {
- background-color: #657c83;
-}
-.asciinema-theme-solarized-light .fg-12 {
- color: #839496;
-}
-.asciinema-theme-solarized-light .bg-12 {
- background-color: #839496;
-}
-.asciinema-theme-solarized-light .fg-13 {
- color: #6c71c4;
-}
-.asciinema-theme-solarized-light .bg-13 {
- background-color: #6c71c4;
-}
-.asciinema-theme-solarized-light .fg-14 {
- color: #93a1a1;
-}
-.asciinema-theme-solarized-light .bg-14 {
- background-color: #93a1a1;
-}
-.asciinema-theme-solarized-light .fg-15 {
- color: #fdf6e3;
-}
-.asciinema-theme-solarized-light .bg-15 {
- background-color: #fdf6e3;
-}
-.asciinema-theme-seti .asciinema-terminal {
- color: #cacecd;
- background-color: #111213;
- border-color: #111213;
-}
-.asciinema-theme-seti .fg-bg {
- color: #111213;
-}
-.asciinema-theme-seti .bg-fg {
- background-color: #cacecd;
-}
-.asciinema-theme-seti .fg-0 {
- color: #323232;
-}
-.asciinema-theme-seti .bg-0 {
- background-color: #323232;
-}
-.asciinema-theme-seti .fg-1 {
- color: #c22832;
-}
-.asciinema-theme-seti .bg-1 {
- background-color: #c22832;
-}
-.asciinema-theme-seti .fg-2 {
- color: #8ec43d;
-}
-.asciinema-theme-seti .bg-2 {
- background-color: #8ec43d;
-}
-.asciinema-theme-seti .fg-3 {
- color: #e0c64f;
-}
-.asciinema-theme-seti .bg-3 {
- background-color: #e0c64f;
-}
-.asciinema-theme-seti .fg-4 {
- color: #43a5d5;
-}
-.asciinema-theme-seti .bg-4 {
- background-color: #43a5d5;
-}
-.asciinema-theme-seti .fg-5 {
- color: #8b57b5;
-}
-.asciinema-theme-seti .bg-5 {
- background-color: #8b57b5;
-}
-.asciinema-theme-seti .fg-6 {
- color: #8ec43d;
-}
-.asciinema-theme-seti .bg-6 {
- background-color: #8ec43d;
-}
-.asciinema-theme-seti .fg-7 {
- color: #eeeeee;
-}
-.asciinema-theme-seti .bg-7 {
- background-color: #eeeeee;
-}
-.asciinema-theme-seti .fg-8 {
- color: #323232;
-}
-.asciinema-theme-seti .bg-8 {
- background-color: #323232;
-}
-.asciinema-theme-seti .fg-9 {
- color: #c22832;
-}
-.asciinema-theme-seti .bg-9 {
- background-color: #c22832;
-}
-.asciinema-theme-seti .fg-10 {
- color: #8ec43d;
-}
-.asciinema-theme-seti .bg-10 {
- background-color: #8ec43d;
-}
-.asciinema-theme-seti .fg-11 {
- color: #e0c64f;
-}
-.asciinema-theme-seti .bg-11 {
- background-color: #e0c64f;
-}
-.asciinema-theme-seti .fg-12 {
- color: #43a5d5;
-}
-.asciinema-theme-seti .bg-12 {
- background-color: #43a5d5;
-}
-.asciinema-theme-seti .fg-13 {
- color: #8b57b5;
-}
-.asciinema-theme-seti .bg-13 {
- background-color: #8b57b5;
-}
-.asciinema-theme-seti .fg-14 {
- color: #8ec43d;
-}
-.asciinema-theme-seti .bg-14 {
- background-color: #8ec43d;
-}
-.asciinema-theme-seti .fg-15 {
- color: #ffffff;
-}
-.asciinema-theme-seti .bg-15 {
- background-color: #ffffff;
-}
-.asciinema-theme-seti .fg-8,
-.asciinema-theme-seti .fg-9,
-.asciinema-theme-seti .fg-10,
-.asciinema-theme-seti .fg-11,
-.asciinema-theme-seti .fg-12,
-.asciinema-theme-seti .fg-13,
-.asciinema-theme-seti .fg-14,
-.asciinema-theme-seti .fg-15 {
- font-weight: bold;
-}
-/* Based on Monokai from base16 collection - https://github.com/chriskempson/base16 */
-.asciinema-theme-monokai .asciinema-terminal {
- color: #f8f8f2;
- background-color: #272822;
- border-color: #272822;
-}
-.asciinema-theme-monokai .fg-bg {
- color: #272822;
-}
-.asciinema-theme-monokai .bg-fg {
- background-color: #f8f8f2;
-}
-.asciinema-theme-monokai .fg-0 {
- color: #272822;
-}
-.asciinema-theme-monokai .bg-0 {
- background-color: #272822;
-}
-.asciinema-theme-monokai .fg-1 {
- color: #f92672;
-}
-.asciinema-theme-monokai .bg-1 {
- background-color: #f92672;
-}
-.asciinema-theme-monokai .fg-2 {
- color: #a6e22e;
-}
-.asciinema-theme-monokai .bg-2 {
- background-color: #a6e22e;
-}
-.asciinema-theme-monokai .fg-3 {
- color: #f4bf75;
-}
-.asciinema-theme-monokai .bg-3 {
- background-color: #f4bf75;
-}
-.asciinema-theme-monokai .fg-4 {
- color: #66d9ef;
-}
-.asciinema-theme-monokai .bg-4 {
- background-color: #66d9ef;
-}
-.asciinema-theme-monokai .fg-5 {
- color: #ae81ff;
-}
-.asciinema-theme-monokai .bg-5 {
- background-color: #ae81ff;
-}
-.asciinema-theme-monokai .fg-6 {
- color: #a1efe4;
-}
-.asciinema-theme-monokai .bg-6 {
- background-color: #a1efe4;
-}
-.asciinema-theme-monokai .fg-7 {
- color: #f8f8f2;
-}
-.asciinema-theme-monokai .bg-7 {
- background-color: #f8f8f2;
-}
-.asciinema-theme-monokai .fg-8 {
- color: #75715e;
-}
-.asciinema-theme-monokai .bg-8 {
- background-color: #75715e;
-}
-.asciinema-theme-monokai .fg-9 {
- color: #f92672;
-}
-.asciinema-theme-monokai .bg-9 {
- background-color: #f92672;
-}
-.asciinema-theme-monokai .fg-10 {
- color: #a6e22e;
-}
-.asciinema-theme-monokai .bg-10 {
- background-color: #a6e22e;
-}
-.asciinema-theme-monokai .fg-11 {
- color: #f4bf75;
-}
-.asciinema-theme-monokai .bg-11 {
- background-color: #f4bf75;
-}
-.asciinema-theme-monokai .fg-12 {
- color: #66d9ef;
-}
-.asciinema-theme-monokai .bg-12 {
- background-color: #66d9ef;
-}
-.asciinema-theme-monokai .fg-13 {
- color: #ae81ff;
-}
-.asciinema-theme-monokai .bg-13 {
- background-color: #ae81ff;
-}
-.asciinema-theme-monokai .fg-14 {
- color: #a1efe4;
-}
-.asciinema-theme-monokai .bg-14 {
- background-color: #a1efe4;
-}
-.asciinema-theme-monokai .fg-15 {
- color: #f9f8f5;
-}
-.asciinema-theme-monokai .bg-15 {
- background-color: #f9f8f5;
-}
-.asciinema-theme-monokai .fg-8,
-.asciinema-theme-monokai .fg-9,
-.asciinema-theme-monokai .fg-10,
-.asciinema-theme-monokai .fg-11,
-.asciinema-theme-monokai .fg-12,
-.asciinema-theme-monokai .fg-13,
-.asciinema-theme-monokai .fg-14,
-.asciinema-theme-monokai .fg-15 {
- font-weight: bold;
-}
diff --git a/src/resources/css/chroma.css b/src/resources/css/chroma.css
index 193432e..d0df757 100644
--- a/src/resources/css/chroma.css
+++ b/src/resources/css/chroma.css
@@ -81,81 +81,81 @@
.chroma .vi { color: #0673bf } /* Name.Variable.Instance */
.chroma .il { color: #008076 } /* Literal.Number.Integer.Long */
-@media (prefers-color-scheme: dark) {
- /*
- Solarized Dark (High Contrast)
- Derived from http://ethanschoonover.com/solarized
- */
- .chroma {
- background: linear-gradient(0deg, #18384d 0%, #122537 100%);
- color: #93a1a1;
- }
- .chroma .c { color: #586e75 } /* Comment */
- .chroma .err { color: #93a1a1 } /* Error */
- .chroma .g { color: #93a1a1 } /* Generic */
- .chroma .k { color: #76a507 } /* Keyword */
- .chroma .l { color: #93a1a1 } /* Literal */
- .chroma .n { color: #93a1a1 } /* Name */
- .chroma .o { color: #76a507 } /* Operator */
- .chroma .x { color: #ec662e } /* Other */
- .chroma .p { color: #93a1a1 } /* Punctuation */
- .chroma .cm { color: #586e75 } /* Comment.Multiline */
- .chroma .cp { color: #76a507 } /* Comment.Preproc */
- .chroma .c1 { color: #586e75 } /* Comment.Single */
- .chroma .cs { color: #76a507 } /* Comment.Special */
- .chroma .gd { color: #dc322f; background-color: #efdede } /* Generic.Deleted */
- .chroma .ge { color: #93a1a1; font-style: italic } /* Generic.Emph */
- .chroma .gr { color: #dc322f } /* Generic.Error */
- .chroma .gh { color: #ec662e } /* Generic.Heading */
- .chroma .gi { color: #76a507 } /* Generic.Inserted */
- .chroma .go { color: #93a1a1 } /* Generic.Output */
- .chroma .gp { color: #93a1a1 } /* Generic.Prompt */
- .chroma .gs { color: #93a1a1; font-weight: bold } /* Generic.Strong */
- .chroma .gu { color: #ec662e } /* Generic.Subheading */
- .chroma .gt { color: #93a1a1 } /* Generic.Traceback */
- .chroma .kc { color: #ec662e } /* Keyword.Constant */
- .chroma .kd { color: #0090f5 } /* Keyword.Declaration */
- .chroma .kn { color: #76a507 } /* Keyword.Namespace */
- .chroma .kp { color: #76a507 } /* Keyword.Pseudo */
- .chroma .kr { color: #0090f5 } /* Keyword.Reserved */
- .chroma .kt { color: #dc322f } /* Keyword.Type */
- .chroma .ld { color: #93a1a1 } /* Literal.Date */
- .chroma .m { color: #09a598 } /* Literal.Number */
- .chroma .s { color: #09a598 } /* Literal.String */
- .chroma .na { color: #93a1a1 } /* Name.Attribute */
- .chroma .nb { color: #B58900 } /* Name.Builtin */
- .chroma .nc { color: #0090f5 } /* Name.Class */
- .chroma .no { color: #ec662e } /* Name.Constant */
- .chroma .nd { color: #0090f5 } /* Name.Decorator */
- .chroma .ni { color: #ec662e } /* Name.Entity */
- .chroma .ne { color: #ec662e } /* Name.Exception */
- .chroma .nf { color: #0090f5 } /* Name.Function */
- .chroma .nl { color: #93a1a1 } /* Name.Label */
- .chroma .nn { color: #93a1a1 } /* Name.Namespace */
- .chroma .nx { color: #93a1a1 } /* Name.Other */
- .chroma .py { color: #93a1a1 } /* Name.Property */
- .chroma .nt { color: #0090f5 } /* Name.Tag */
- .chroma .nv { color: #0090f5 } /* Name.Variable */
- .chroma .ow { color: #76a507 } /* Operator.Word */
- .chroma .w { color: #93a1a1 } /* Text.Whitespace */
- .chroma .mf { color: #09a598 } /* Literal.Number.Float */
- .chroma .mh { color: #09a598 } /* Literal.Number.Hex */
- .chroma .mi { color: #09a598 } /* Literal.Number.Integer */
- .chroma .mo { color: #09a598 } /* Literal.Number.Oct */
- .chroma .sb { color: #586e75 } /* Literal.String.Backtick */
- .chroma .sc { color: #09a598 } /* Literal.String.Char */
- .chroma .sd { color: #93a1a1 } /* Literal.String.Doc */
- .chroma .s2 { color: #09a598 } /* Literal.String.Double */
- .chroma .se { color: #ec662e } /* Literal.String.Escape */
- .chroma .sh { color: #93a1a1 } /* Literal.String.Heredoc */
- .chroma .si { color: #09a598 } /* Literal.String.Interpol */
- .chroma .sx { color: #09a598 } /* Literal.String.Other */
- .chroma .sr { color: #dc322f } /* Literal.String.Regex */
- .chroma .s1 { color: #09a598 } /* Literal.String.Single */
- .chroma .ss { color: #09a598 } /* Literal.String.Symbol */
- .chroma .bp { color: #0090f5 } /* Name.Builtin.Pseudo */
- .chroma .vc { color: #0090f5 } /* Name.Variable.Class */
- .chroma .vg { color: #0090f5 } /* Name.Variable.Global */
- .chroma .vi { color: #0090f5 } /* Name.Variable.Instance */
- .chroma .il { color: #09a598 } /* Literal.Number.Integer.Long */
+
+
+/*
+ Solarized Dark (High Contrast)
+ Derived from http://ethanschoonover.com/solarized
+*/
+.dark .chroma:not(.light) {
+ background: linear-gradient(to bottom, #24454f, transparent);
+ color: #93a1a1;
}
+.dark .chroma:not(.light) .c { color: #586e75 } /* Comment */
+.dark .chroma:not(.light) .err { color: #93a1a1 } /* Error */
+.dark .chroma:not(.light) .g { color: #93a1a1 } /* Generic */
+.dark .chroma:not(.light) .k { color: #76a507 } /* Keyword */
+.dark .chroma:not(.light) .l { color: #93a1a1 } /* Literal */
+.dark .chroma:not(.light) .n { color: #93a1a1 } /* Name */
+.dark .chroma:not(.light) .o { color: #76a507 } /* Operator */
+.dark .chroma:not(.light) .x { color: #ec662e } /* Other */
+.dark .chroma:not(.light) .p { color: #93a1a1 } /* Punctuation */
+.dark .chroma:not(.light) .cm { color: #586e75 } /* Comment.Multiline */
+.dark .chroma:not(.light) .cp { color: #76a507 } /* Comment.Preproc */
+.dark .chroma:not(.light) .c1 { color: #586e75 } /* Comment.Single */
+.dark .chroma:not(.light) .cs { color: #76a507 } /* Comment.Special */
+.dark .chroma:not(.light) .gd { color: #dc322f; background-color: #efdede } /* Generic.Deleted */
+.dark .chroma:not(.light) .ge { color: #93a1a1; font-style: italic } /* Generic.Emph */
+.dark .chroma:not(.light) .gr { color: #dc322f } /* Generic.Error */
+.dark .chroma:not(.light) .gh { color: #ec662e } /* Generic.Heading */
+.dark .chroma:not(.light) .gi { color: #76a507 } /* Generic.Inserted */
+.dark .chroma:not(.light) .go { color: #93a1a1 } /* Generic.Output */
+.dark .chroma:not(.light) .gp { color: #93a1a1 } /* Generic.Prompt */
+.dark .chroma:not(.light) .gs { color: #93a1a1; font-weight: bold } /* Generic.Strong */
+.dark .chroma:not(.light) .gu { color: #ec662e } /* Generic.Subheading */
+.dark .chroma:not(.light) .gt { color: #93a1a1 } /* Generic.Traceback */
+.dark .chroma:not(.light) .kc { color: #ec662e } /* Keyword.Constant */
+.dark .chroma:not(.light) .kd { color: #0090f5 } /* Keyword.Declaration */
+.dark .chroma:not(.light) .kn { color: #76a507 } /* Keyword.Namespace */
+.dark .chroma:not(.light) .kp { color: #76a507 } /* Keyword.Pseudo */
+.dark .chroma:not(.light) .kr { color: #0090f5 } /* Keyword.Reserved */
+.dark .chroma:not(.light) .kt { color: #dc322f } /* Keyword.Type */
+.dark .chroma:not(.light) .ld { color: #93a1a1 } /* Literal.Date */
+.dark .chroma:not(.light) .m { color: #09a598 } /* Literal.Number */
+.dark .chroma:not(.light) .s { color: #09a598 } /* Literal.String */
+.dark .chroma:not(.light) .na { color: #93a1a1 } /* Name.Attribute */
+.dark .chroma:not(.light) .nb { color: #B58900 } /* Name.Builtin */
+.dark .chroma:not(.light) .nc { color: #0090f5 } /* Name.Class */
+.dark .chroma:not(.light) .no { color: #ec662e } /* Name.Constant */
+.dark .chroma:not(.light) .nd { color: #0090f5 } /* Name.Decorator */
+.dark .chroma:not(.light) .ni { color: #ec662e } /* Name.Entity */
+.dark .chroma:not(.light) .ne { color: #ec662e } /* Name.Exception */
+.dark .chroma:not(.light) .nf { color: #0090f5 } /* Name.Function */
+.dark .chroma:not(.light) .nl { color: #93a1a1 } /* Name.Label */
+.dark .chroma:not(.light) .nn { color: #93a1a1 } /* Name.Namespace */
+.dark .chroma:not(.light) .nx { color: #93a1a1 } /* Name.Other */
+.dark .chroma:not(.light) .py { color: #93a1a1 } /* Name.Property */
+.dark .chroma:not(.light) .nt { color: #0090f5 } /* Name.Tag */
+.dark .chroma:not(.light) .nv { color: #0090f5 } /* Name.Variable */
+.dark .chroma:not(.light) .ow { color: #76a507 } /* Operator.Word */
+.dark .chroma:not(.light) .w { color: #93a1a1 } /* Text.Whitespace */
+.dark .chroma:not(.light) .mf { color: #09a598 } /* Literal.Number.Float */
+.dark .chroma:not(.light) .mh { color: #09a598 } /* Literal.Number.Hex */
+.dark .chroma:not(.light) .mi { color: #09a598 } /* Literal.Number.Integer */
+.dark .chroma:not(.light) .mo { color: #09a598 } /* Literal.Number.Oct */
+.dark .chroma:not(.light) .sb { color: #586e75 } /* Literal.String.Backtick */
+.dark .chroma:not(.light) .sc { color: #09a598 } /* Literal.String.Char */
+.dark .chroma:not(.light) .sd { color: #93a1a1 } /* Literal.String.Doc */
+.dark .chroma:not(.light) .s2 { color: #09a598 } /* Literal.String.Double */
+.dark .chroma:not(.light) .se { color: #ec662e } /* Literal.String.Escape */
+.dark .chroma:not(.light) .sh { color: #93a1a1 } /* Literal.String.Heredoc */
+.dark .chroma:not(.light) .si { color: #09a598 } /* Literal.String.Interpol */
+.dark .chroma:not(.light) .sx { color: #09a598 } /* Literal.String.Other */
+.dark .chroma:not(.light) .sr { color: #dc322f } /* Literal.String.Regex */
+.dark .chroma:not(.light) .s1 { color: #09a598 } /* Literal.String.Single */
+.dark .chroma:not(.light) .ss { color: #09a598 } /* Literal.String.Symbol */
+.dark .chroma:not(.light) .bp { color: #0090f5 } /* Name.Builtin.Pseudo */
+.dark .chroma:not(.light) .vc { color: #0090f5 } /* Name.Variable.Class */
+.dark .chroma:not(.light) .vg { color: #0090f5 } /* Name.Variable.Global */
+.dark .chroma:not(.light) .vi { color: #0090f5 } /* Name.Variable.Instance */
+.dark .chroma:not(.light) .il { color: #09a598 } /* Literal.Number.Integer.Long */
diff --git a/src/resources/css/common.css b/src/resources/css/common.css
index a6216e7..b1ab01b 100644
--- a/src/resources/css/common.css
+++ b/src/resources/css/common.css
@@ -1,3 +1,95 @@
+:root,
+.light {
+ --body-bg: white;
+ --text-color: #2c2c2c;
+ --text-color-muted: #7087a0;
+ --header-bg: rgba(118, 179, 194, 0.11);
+ --header-border-color: #ebf0f2;
+ --topbar-link-color-hover: black;
+ --topbar-link-bg-hover: rgb(244, 249, 251);
+ --main-nav-link-color: #546c75;
+ --main-nav-link-hover-color: #01324b;
+ --link-color: #0097f2;
+ --link-decoration-color: #ddd;
+ --link-hover-color: rgb(27, 170, 70);
+ --heading-color: var(--text-color);
+ --code-bg: #f2f8f9;
+ --dropdown-bg: #e8ecef;
+ --dropdown-linkbox: white;
+ --dropdown-link-title-color: #384f61;
+ --dropdown-link-color: #647687;
+ --dropdown-link-hover-bg: rgb(239, 244, 248);
+ --dropdown-link-hover-color: #142633;
+ --dropdown-featured-bg: linear-gradient(to bottom, rgb(239 244 247), transparent);
+ --dropdown-featured-hover-bg: rgb(223, 233, 238); /* rgb(232, 255, 254); */
+ --dropdown-shadow-color: rgb(0 0 0 / .25);
+ --box-bg: var(--header-border-color);
+}
+
+.dark {
+ --body-bg: #0d171a;
+ --text-color: #cbe2e4; /* #a4c0c2 */
+ --text-color-muted: #92b2d5;
+ --header-bg: rgba(44, 130, 164, 0.11);
+ --header-border-color: transparent;
+ --topbar-link-color-hover: white;
+ --topbar-link-bg-hover: rgb(255 255 255 / .1);
+ --main-nav-link-color: #86a7b1;
+ --main-nav-link-hover-color: #e2e9ec;
+ --link-color: #34a1e4;
+ --link-decoration-color: #375862;
+ --link-hover-color: rgb(42, 228, 98);
+ --heading-color: #dee8ee;
+ --code-bg: #1f3237;
+ --dropdown-bg: #152125; /* #34414b; */
+ --dropdown-linkbox: #1d2c32;
+ --dropdown-link-title-color: #f0f3f5;
+ --dropdown-link-color: #9ebeca;
+ --dropdown-link-hover-color: white;
+ --dropdown-link-hover-bg: rgb(30, 48, 63);
+ --dropdown-featured-bg: linear-gradient(to bottom, rgb(46, 58, 66), transparent);
+ --dropdown-featured-hover-bg: rgb(64, 82, 92);
+ --dropdown-shadow-color: black;
+ --box-bg: var(--header-bg);
+}
+
+.dark #logo-light,
+.dark-header #logo-light,
+#logo-dark {
+ display: none;
+}
+
+.dark #logo-dark,
+.dark-header #logo-dark {
+ display: initial;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
* {
margin: 0;
padding: 0;
@@ -5,279 +97,595 @@
}
body {
- font-family: Inter, sans-serif;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
+ font-family: Inter, Figtree, Gantari, 'Albert Sans', Inter, system-ui;
+ font-size: 18px;
+ /* -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale; */
tab-size: 4;
- -moz-tab-size: 4;
+ background-color: var(--body-bg);
+ color: var(--text-color);
+}
+
+section.dark,
+footer {
+ background-color: #002020;
+ color: white;
+}
+
+main a {
+ color: var(--link-color);
+ text-decoration-line: underline;
+ text-decoration-thickness: 2px;
+ text-underline-offset: 2px;
+ text-decoration-color: var(--link-decoration-color);
+ transition: all .15s;
+}
+
+main a:hover {
+ color: var(--link-hover-color);
+ text-decoration-color: var(--link-color);
+}
+
+b,
+strong {
+ font-weight: 600;
+}
+
+code {
+ font-family: 'JetBrains Mono', 'Chivo Mono', monospace;
+ font-feature-settings: "liga" 0; /* prevent the merging of chars like "fi", relevant for Chivo Mono especially */
}
.wrapper {
max-width: 1400px;
margin-left: auto;
margin-right: auto;
- padding-left: 40px;
- padding-right: 40px;
-}
-
-.text-center {
- text-align: center;
-}
-
-.text-right {
- text-align: right;
-}
-
-.float-right {
- float: right;
-}
-
-a {
- color: #0694f1;
- text-decoration: none;
-}
-
-a:hover {
- color: #ff3f2c;
+ padding-left: 50px;
+ padding-right: 50px;
}
header {
- display: flex;
- justify-content: space-between;
- padding: 25px 0;
+ background: var(--header-bg);
+ position: relative;
+ z-index: 99;
}
-#logo-container {
- display: flex;
- flex-direction: column;
- align-items: flex-end;
-}
-
-#logo {
- height: 50px;
-}
-
-#zerossl-project {
- font-size: 12px;
- margin-top: -5px;
-}
-
-#zerossl-logo {
- height: 1.5em;
- vertical-align: middle;
-}
-
-header nav {
- text-align: right;
- line-height: 40px;
-}
-
-header nav > a {
- display: inline-block;
- padding-left: 12px;
- padding-right: 12px;
+header a {
text-decoration: none;
- color: inherit;
}
-header nav > a:hover {
- color: #ff3f2c;
+header nav>ul {
+ background: linear-gradient(to right, rgb(100 190 121), rgb(54 206 255));
+ background-clip: text;
+ -webkit-background-clip: text;
}
-header nav > a.current {
- font-weight: bold;
+.topbar {
+ font-size: 12px;
+ border-bottom: 1px solid hsl(203deg 100% 79% / 20%);
}
-/* Algolia DocSearch */
-#search {
+.topbar .wrapper {
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+ gap: 1em;
+ color: #777;
+}
+
+.topbar a {
display: inline-block;
+ padding: 10px 10px 8px;
+ color: #719bcc;
+ display: flex;
+ align-items: center;
+}
+
+.topbar a:hover {
+ background: var(--topbar-link-bg-hover);
+ color: var(--topbar-link-color-hover);
+}
+
+.navbar {
+ display: flex;
+ align-items: center;
+ gap: 2em;
+}
+
+.navbar .actions,
+.navbar nav ul {
+ flex-wrap: wrap;
+}
+
+header nav ul {
+ list-style: none;
+ margin: 0;
+ padding-left: 0;
+ display: flex;
+ align-items: center;
+ flex: 1;
+}
+
+.navbar nav>ul>li>a {
+ -webkit-text-fill-color: rgba(0 0 0 / .1);
+}
+
+.navbar nav>ul>li>a:hover {
+ -webkit-text-fill-color: rgba(255 255 255 / .4);
+}
+
+.navbar nav {
+ position: relative;
+}
+
+.navbar nav>ul>li>a,
+.navbar .button {
+ text-decoration: none;
+ transition: all 200ms;
+ font-weight: 500;
+}
+
+.navbar nav>ul>li>a {
+ padding: 20px 1.5em;
+ display: block;
+ font-family: Figtree, system-ui;
+ font-size: 16px;
+}
+
+.navbar .button {
+ font-size: 80%;
+}
+
+.icon {
+ height: 1.4em;
vertical-align: middle;
}
-.DocSearch-Container {
- color: initial;
-}
-.DocSearch-Footer {
- margin-top: 0;
-}
-/* End Algolia DocSearch */
-header nav .new {
- background-color: #ffe300;
- font-size: 75%;
- vertical-align: top;
- padding: 4px 8px;
- border-radius: 1em;
+.logo-link {
+ line-height: 0; /* avoid extra space along the bottom for some reason */
}
-header nav .button {
- margin: 0 0 0 10px;
- padding-top: 2px;
- padding-bottom: 2px;
-}
+.logo {
+ height: 2.25em;
+}
+
+.navbar .actions {
+ margin-left: auto;
+ display: flex;
+ gap: 1em;
+}
button,
.button {
- border-radius: 2em;
- padding: 10px 20px;
- margin: 15px 0;
- height: auto;
- transition: all .2s;
+ padding: .6em 1.5em;
+ border-radius: 6px;
text-decoration: none;
- display: inline-block;
- border: 0;
+ background: none;
cursor: pointer;
+
+ /* necessary for hoversplash: */
+ position: relative;
+ overflow: hidden;
+ display: inline-flex;
+ align-items: center;
+}
+
+.button {
+ color: rgb(54 206 255);
+ border: 1px solid rgb(54 206 255);
}
-button:hover,
.button:hover {
- transform: scale(1.05);
+ color: white;
+ border-color: white;
+}
+
+button.primary,
+.button.primary {
+ background: linear-gradient(135deg, white 25%, rgba(167, 183, 193) 80%);
+ color: #222;
+ font-weight: bold;
+ border: none;
+ box-shadow: 0 3px 5px rgba(0, 0, 0, 0.08);
+}
+
+button.primary:hover,
+.button.primary:hover {
+ color: #1a71cb;
}
button:active,
.button:active {
- transform: translateY(2px);
+ transition: all 75ms;
+ transform: scale(.95);
+ box-shadow: 1px 1px 3px inset rgba(0, 0, 0, 0.2);
}
-button.red,
-.button.red {
- background-color: #d9552b;
- color: white;
-}
-
-button.red:hover,
-.button.red:hover {
- background-color: #fd511a;
-}
-
-button.blue,
-.button.blue {
- background-color: #0082d0;
- color: white;
-}
-
-button.blue:hover,
-.button.blue:hover {
- background-color: #00aaff;
-}
-
-button.gray,
-.button.gray {
- background-color: #4c6a79;
- color: white;
-}
-
-button.gray:hover,
-.button.gray:hover {
- background-color: #4f8098;
-}
-
-button.big,
-.button.big {
- font-size: 125%;
- text-transform: uppercase;
+button.purple,
+.button.purple {
+ border: none;
+ background: linear-gradient(165deg, rgba(170,81,212,1) 20%, rgba(37,159,235,1) 100%);
+ color: white !important; /* sigh... to prevent being stepped on by very specific link color rule on the sponsors page */
font-weight: bold;
- padding: 20px 50px;
+ box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25)
+}
+
+button svg,
+.button svg {
+ margin-right: .5em;
+}
+
+
+@keyframes hoverSplash {
+ 0% {
+ opacity: 1;
+ transform: translate3d(-50%, -50%, 0) scale3d(0, 0, 1);
+ }
+
+ 100% {
+ opacity: 0;
+ transform: translate3d(-50%, -50%, 0) scale3d(1, 1, 1);
+ }
+}
+
+.hover-splash {
+ pointer-events: none;
+ position: absolute;
+ /* z-index: 1; */
+ width: 200%;
+ height: 0;
+ padding-bottom: 200%;
+ border-radius: 50%;
+ /* transform: translate3d(-50%,-50%,0) scale3d(0,0,1); */
+ animation: 1s cubic-bezier(.16, 1, .3, 1) hoverSplash;
+}
+
+button .hover-splash,
+.button .hover-splash {
+ background-color: rgba(24, 156, 233, 0.6);
+}
+
+button.primary .hover-splash,
+.button.primary .hover-splash {
+ background-color: rgba(255, 255, 255, 0.6);
+}
+
+
+.dropdown {
+ font-size: 16px;
+ position: absolute;
+ display: inline-block;
+ background: var(--dropdown-bg);
+ border-radius: 15px;
+ line-height: 1.5;
+ overflow: hidden;
+ box-shadow: 0 50px 75px var(--dropdown-shadow-color);
+ visibility: hidden;
+ top: calc(100% - 5px);
+ left: 0;
+}
+
+.dropdown-trigger:hover .dropdown {
+ visibility: visible;
+ transform-origin: top left;
+ animation: rotateMenu 300ms ease;
+}
+
+@keyframes rotateMenu {
+ 0% {
+ transform: rotateX(-90deg) scale(0.75);
+ opacity: 0;
+ }
+
+ 100% {
+ transform: rotateX(0deg) scale(1);
+ opacity: 1;
+ }
+}
+
+
+.dropdown .row {
+ display: flex;
+ gap: 1px;
+ margin-bottom: 1px;
+}
+
+.dropdown .plainbox,
+.dropdown .linkbox {
+ display: flex;
+ gap: 4em;
+ padding: 1.5em;
+}
+
+.dropdown .plainbox {
+ padding-top: .5em;
+ width: 100%;
+ justify-content: space-around;
+}
+
+.dropdown .plainbox a {
+ color: var(--dropdown-link-color);
+}
+
+.dropdown .plainbox a:hover {
+ color: var(--dropdown-link-hover-color);
+}
+
+.dropdown .linkbox {
+ background: var(--dropdown-linkbox);
+ gap: 3em;
+ --link-padding-x: 10px;
+}
+
+.dropdown .links-header {
+ font-family: Poppins, ui-rounded;
+ font-weight: 600;
+ color: var(--dropdown-link-title-color);
+ font-size: 20px;
+ margin-bottom: 14px;
+ padding-left: var(--link-padding-x);
+}
+
+.dropdown .col {
+ min-width: 150px;
+}
+
+.dropdown .col a {
+ display: block;
+ color: var(--dropdown-link-color);
+ text-decoration: none;
+ padding: 5px var(--link-padding-x);
+ border-radius: 1.5em;
+}
+
+
+.dropdown .col a:hover {
+ color: var(--dropdown-link-hover-color);
+ background-color: var(--dropdown-link-hover-bg);
+}
+
+.dropdown .flatlinks a,
+.dropdown .featured a {
+ transition: background-color 150ms;
+ font-size: 12px;
+}
+
+.dropdown .flatlinks a {
+ background: var(--dropdown-linkbox);
+ padding: 1em 2em;
+ color: var(--dropdown-link-color);
+}
+
+.dropdown .flatlinks a b,
+.dropdown .featured a b {
+ display: block;
+ font-size: 16px;
+ font-weight: 600;
+}
+
+.dropdown .flatlinks a b {
+ color: var(--dropdown-link-title-color);
+ margin-bottom: .25em;
+}
+
+.dropdown .flatlinks a:hover {
+ /* background: rgb(239, 244, 248); */
+ background: var(--dropdown-link-hover-bg);
+}
+
+.dropdown .featured a b {
+ color: var(--dropdown-link-title-color);
+ margin-bottom: .5em;
+}
+
+.dropdown .featured a:hover b {
+ color: var(--dropdown-link-hover-color);
+}
+
+
+.dropdown .featured {
+ gap: 1em;
+ padding: 1em;
+ /* background: white; */
+}
+
+.dropdown .featured a {
+ display: block;
+ padding: 1em;
+ line-height: 1.4;
+ border-radius: 10px;
+ color: var(--dropdown-link-color);
+ background-color: var(--dropdown-linkbox);
+ background-image: var(--dropdown-featured-bg);
+ /* background-image: linear-gradient(to bottom, rgb(239 244 247), rgba(252,252,252,0)); */
+ /* background: linear-gradient(137deg, rgb(241 251 247) 0%, rgb(242 248 255) 100%); */
+ flex: 1;
+ box-shadow: 0 1px 2px rgb(0 0 0 / .2);
+}
+
+.dropdown .featured a:hover {
+ background-color: var(--dropdown-featured-hover-bg);
+}
+
+.dropdown .featured a b {
+ display: block;
+ color: var(--dropdown-link-title-color);
+ font-size: 16px;
+ margin-bottom: .5em;
+ font-weight: 600;
+}
+
+
+#current-theme {
+ text-transform: capitalize;
+}
+
+.construction-images {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-wrap: wrap;
+ gap: 20px;
+}
+
+.construction img {
+ margin-left: 20px;
margin-right: 20px;
+ max-width: 100%;
}
-button.disabled,
-.button.disabled,
-button:disabled,
-.button:disabled {
- background-color: #aaa !important;
- color: white !important;
- transform: none !important;
- cursor: not-allowed;
+.construction p {
+ width: 100%;
+ margin-left: auto;
+ margin-right: auto;
+ color: #e71414;
}
-p button,
-p .button {
- font-size: 18px;
- padding: 12px 30px;
-}
-article a:hover {
- text-decoration: underline;
-}
-
-pre,
-code,
-kbd {
- font-family: 'PT Mono', 'Source Code Pro', monospace;
- padding: 3px 6px;
- font-size: 95%;
- line-height: 1.5em;
-}
-
-kbd {
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
- border: 1px solid rgba(255, 255, 255, 0.1);
- font-size: 80%;
- font-weight: bold;
-}
-
footer {
- display: flex;
- justify-content: space-between;
- margin-top: 100px;
- padding-bottom: 100px;
- line-height: 125%;
-}
-
-footer > div {
- width: 50%;
-}
-
-#footer-logo {
- float: left;
- max-width: 150px;
- margin-right: 35px;
- vertical-align: middle;
- margin-top: -4px;
-}
-
-.copyright {
- text-align: right;
+ padding: 75px 0;
font-size: 14px;
- color: #999;
+ color: #7c9393;
+ line-height: 1.5;
}
-@media (max-width: 900px) {
- header {
- flex-direction: column;
- gap: 1em;
+footer p {
+ margin: 1em 0;
+}
+
+footer a {
+ color: inherit;
+ font-weight: bold;
+ transition: .25s;
+}
+
+footer a:hover {
+ color: #76b8b8;
+}
+
+footer .logo-area {
+ margin-right: auto;
+}
+
+footer .wrapper {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 75px;
+}
+
+footer .nostalgia {
+ display: block;
+ text-align: center;
+ margin-top: 40px;
+}
+
+footer .nostalgia-badges {
+ gap: 25px;
+ align-items: center;
+ justify-content: center;
+ width: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ margin-top: 40px;
+}
+
+footer .nostalgia p {
+ margin: 0 auto 15px;
+ color: #d2f7e7;
+}
+
+footer .w3c {
+ width: 80px;
+ line-height: 0;
+}
+
+footer .logo {
+ display: block;
+ margin-bottom: 15px;
+ height: 40px;
+}
+
+footer .link-col {
+ font-size: initial;
+ line-height: 2;
+}
+
+footer .col-header {
+ font-size: 110%;
+ color: white;
+ font-weight: 700;
+ margin-bottom: .5em;
+}
+
+footer .link-col a {
+ display: block;
+ color: #b7c8c8;
+ font-weight: 500;
+ text-decoration: none;
+}
+
+footer .link-col a:hover {
+ color: #35655e;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@media (max-width: 1150px) {
+ .dropdown {
+ display: none;
}
- #logo-container {
- align-items: center;
- }
-
- header nav {
- text-align: center;
- }
-
- footer {
- flex-direction: column;
- margin-top: 0;
- padding: 20px 0;
- }
-
- footer > div {
- width: initial;
- text-align: center;
- margin: 10px 0;
- }
-
- #footer-logo {
- float: none;
- display: block;
- margin: 0 auto 25px;
- }
-
- .copyright {
- text-align: center;
+ .wrapper {
+ padding-left: 20px;
+ padding-right: 20px;
}
}
+
+@media (max-width: 950px) {
+ header nav ul {
+ justify-content: space-evenly;
+ }
+
+ .topbar .wrapper {
+ justify-content: center;
+ flex-wrap: wrap;
+ gap: 0;
+ }
+
+ .logo {
+ height: 3em;
+ }
+
+ .navbar {
+ flex-direction: column;
+ gap: 0;
+ padding: 1em 0;
+ }
+
+ .navbar nav {
+ margin: .5em 0;
+ }
+
+ .navbar .actions {
+ margin: 0 auto;
+ }
+
+ .navbar nav > ul > li > a {
+ padding-top: 10px;
+ padding-bottom: 10px;
+ }
+}
\ No newline at end of file
diff --git a/src/resources/css/docs.css b/src/resources/css/docs.css
index 0b25e3a..f42dca8 100644
--- a/src/resources/css/docs.css
+++ b/src/resources/css/docs.css
@@ -1,121 +1,148 @@
+:root, .light {
+ --header-bg: transparent;
+ --button-color: rgb(64, 131, 153);
+ --button-border-color: rgb(198, 217, 223);
+ --button-color-hover: rgb(7, 86, 134);
+ --button-border-color-hover: rgb(155, 191, 213);
+ --nav-current-bg: linear-gradient(to right, #ecf1f3, transparent);
+ --nav-link-hover-shadow-color: rgba(0, 0, 0, 0.15);
+ --nav-link-hover-before-bg: #d2e5e7;
+ --autonav-bg: #fff;
+ --pagenav-hover-bg: #f4f7f9;
+ --cmd-bg: #333;
+ --tip-color: #5c50bb;
+ --menu-toggle-bg: #e4f1f2;
+}
+
+.dark {
+ --header-bg: rgba(44, 130, 164, 0.11);
+ --button-color: rgb(36, 166, 208);
+ --button-border-color: rgb(38, 116, 140);
+ --button-color-hover: rgb(0, 194, 255);
+ --button-border-color-hover: rgb(0, 194, 255);
+ --nav-current-bg: linear-gradient(to right, #1a3c4d, transparent);
+ --nav-link-hover-shadow-color: rgba(255, 255, 255, 0.15);
+ --nav-link-hover-before-bg: #32494f;
+ --autonav-bg: #34404d;
+ --pagenav-hover-bg: #18262f;
+ --cmd-bg: black;
+ --tip-color: #a6b2f7;
+ --menu-toggle-bg: #274d5c;
+}
+
+
+
+
+
+html,
body {
- font-family: Maven Pro, sans-serif;
- background: #f1f4f5;
+ min-height: 100%;
+}
+
+body {
+ background-image:
+ radial-gradient(at calc(50% - min(25vw, 800px)) -10%, hsl(137.64deg, 100%, 92.42%) 0px, transparent min(15%, 500px)),
+ radial-gradient(at calc(50% + min(25vw, 800px)) -10%, hsl(201.2deg, 68%, 90.2%) 0px, transparent min(15%, 500px));
+ background-repeat: no-repeat;
+}
+
+
+.dark body {
+ background-image:
+ radial-gradient(at calc(50% - min(35vw, 700px)) -10%, hsl(129.5deg, 100%, 12.4%) 0px, transparent min(25%, 600px)),
+ radial-gradient(at calc(50% + min(35vw, 700px)) -10%, hsl(201deg, 100%, 19.33%) 0px, transparent min(25%, 600px))
+}
+
+.wrapper {
+ max-width: 1800px;
}
header {
- padding: 20px 40px;
+ border-bottom: 1px solid var(--header-border-color);
}
-#logo-container {
- align-items: flex-start;
+.topbar {
+ border-bottom: 0;
}
-#logo-docs-container {
- display: flex;
- align-items: center;
+button,
+.button {
+ color: var(--button-color);
+ border: 1px solid var(--button-border-color);
+}
+button:hover,
+.button:hover {
+ color: var(--button-color-hover);
+ border: 1px solid var(--button-border-color-hover);
+}
+button.primary,
+.button.primary {
+ background: linear-gradient(135deg, #7ece98 25%, rgb(49, 155, 208) 80%);
+ color: white;
+ border: none;
+}
+button.primary:hover,
+.button.primary:hover {
+ color: white;
+}
+.button.purple:hover {
+ border: none;
}
-#logo {
- height: 35px;
-}
-
-#logo-docs {
- font-family: Montserrat, sans-serif;
- font-weight: bold;
- text-transform: uppercase;
- color: #0e495e;
- margin-left: 10px;
- font-size: 12px;
-}
-
-#zerossl-project {
- padding-left: 2em;
-}
-
-#search {
- margin-top: 0;
-}
-
-header nav {
- font-size: 16px;
- line-height: 2em;
-}
-
-header nav .button {
- padding-top: 4px;
- padding-bottom: 4px;
-}
-
-.breadcrumbs {
- padding: 10px 20px !important;
- margin-bottom: 0 !important;
- color: #2861aa;
- font-size: 16px;
- font-weight: bold;
- line-height: 1.75em;
-}
-
-#top-breadcrumb {
- font-weight: bold;
-}
-
-#top-breadcrumb:not(:hover) {
- color: #2861aa;
-}
-
-.breadcrumbs a {
- font-weight: normal;
- text-decoration: none;
-}
-
-.breadcrumb-siblings-title {
- padding: 10px;
- font-weight: bold;
-}
-
-.breadcrumb-siblings a {
- display: block;
- padding: 0 10px;
- text-decoration: none;
-}
-
-.breadcrumb-siblings a+a {
- padding-top: 10px;
-}
-
-.breadcrumb-siblings a:last-child {
- padding-bottom: 10px;
-}
main {
+ margin-top: 50px;
+ font-family: Inter, system-ui;
+}
+
+
+
+
+
+
+
+
+
+
+.docs {
display: flex;
- justify-content: space-between;
-}
-
-main > .sidebar {
- width: 18%;
- flex-shrink: 0;
- flex-grow: 1;
- padding: 20px;
- max-width: 400px;
-}
-
-main > .sidebar:last-child {
- flex-shrink: 1;
-}
-
-main > nav.sidebar {
- position: relative;
font-size: 16px;
}
-main nav li img,
-article li img,
-img.external-link {
- max-height: .9em;
+.docs nav,
+#pagenav {
+ flex: 1;
}
+.docs nav {
+ min-width: 250px;
+}
+
+#docs-menu {
+ background: var(--menu-toggle-bg);
+ padding: 1em;
+ cursor: pointer;
+ display: none;
+}
+
+#pagenav .heading {
+ display: none;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
main nav ul {
list-style-type: none;
}
@@ -124,117 +151,126 @@ main nav li {
position: relative;
}
-main nav li a {
+main nav li li::before {
+ content: '';
+ display: block;
+ position: absolute;
+ width: 1px;
+ height: 100%;
+ background-color: var(--nav-link-hover-before-bg);
+ transition: .15s;
+}
+
+main nav li li:hover::before {
+ background-color: #62868d;
+ width: 4px;
+}
+
+main nav ul li a,
+main nav .heading,
+#autonav a {
+ padding: 8px 18px 8px 28px;
+}
+/*
+main nav li a,
+#pagenav a {
+ color: #546c75;
+} */
+
+main nav a {
display: block;
text-decoration: none;
color: inherit;
border-radius: 1.5em;
- padding: 6px 18px 6px 28px;
- color: #546c75;
+ color: var(--main-nav-link-color);
+ transition: .15s;
}
-
-main nav li a:hover {
- color: #01324b;
+main nav li:hover > a,
+#autonav a:hover,
+#pagenav a:hover {
+ color: var(--main-nav-link-hover-color);
}
-main nav li a:before {
+
+main nav li:hover > a {
+ /* background: #f6fafc; */
+ box-shadow: -10px 0 10px -3px var(--nav-link-hover-shadow-color);
+}
+
+main nav > ul > li > a::before {
content: '\203A';
font-weight: bold;
- font-size: 20px;
- line-height: 1rem;
+ font-size: 150%;
+ line-height: .75;
position: absolute;
opacity: 0;
left: 0;
transition: left .15s, opacity .15s;
}
-main nav li a:hover:before {
+main nav li a:hover::before {
opacity: 1;
- left: .75em;
-}
-
-main nav li li a:hover:before {
- left: 1.25em;
+ left: .75rem;
}
main nav li a.current {
- background-color: #e0e8f0;
+ background: var(--nav-current-bg);
}
-main nav li.heading {
+main nav .heading {
font-weight: bold;
text-transform: uppercase;
- font-size: 90%;
+ font-size: 80%;
letter-spacing: 1px;
- padding: 10px 20px 10px 2em;
}
-main nav li.heading:not(:first-child) {
- margin-top: 20px;
+main nav ul:not(:first-child) > .heading {
+ margin-top: 2.5em;
}
main nav li li a {
- padding-top: 6px;
- padding-bottom: 4px;
- padding-left: 3em;
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ padding-left: 1em;
+ transition: padding .15s;
+}
+
+main nav li li a:not(#autonav a) {
font-size: 90%;
}
-.paper {
- width: 100%;
-
- background: white;
- border-radius: 4px;
- box-shadow: 1px 2px 4px 1px rgba(0, 0, 0, .15);
+main nav li ul {
+ margin-left: 2.5em;
+ margin-bottom: .5em;
}
-#paper1,
-#paper2 {
- background: #f8fafb;
- max-height: 1500px;
-}
-#paper1 {
- margin-top: -20px;
- margin-left: 20px;
- transform: rotate(3deg);
- z-index: -1;
-}
-#paper2 {
- margin-top: 30px;
- margin-left: calc(-100% - 20px);
- transform: rotate(-5deg);
- z-index: -1;
-}
-.paper3 {
- margin-top: 20px;
- margin-left: -100%;
-}
-.article-container {
- display: flex;
- align-content: flex-start;
- flex-grow: 1;
- min-width: 0;
- margin: 20px;
- margin-bottom: 0;
- width: 100%;
- max-width: 1100px;
-}
-.pad {
- padding-top: 8%;
-}
+
+
+
+
+
+
+
+
+
+
+
article {
- padding-top: 8%;
- padding-bottom: 8%;
+ font-family: 'Albert Sans', Figree, Assistant, 'Red Hat Text', 'Be Vietnam Pro', system-ui;
font-size: 20px;
word-wrap: break-word;
+
+ max-width: 1100px;
+ min-width: 0;
+ width: 100%;
}
/*
@@ -243,13 +279,13 @@ server-side from markdown to have a constrained
width, a few elements should be allowed to
extend to the borders of the page
*/
-article > :not(.fullwidth),
+article > :not(.fullwidth, .fullspan),
article > .fullwidth > *,
.pad {
padding-left: 8%;
padding-right: 8%;
}
-article > :not(h1),
+article > :not(h1, hr),
dd,
article p,
article ol,
@@ -286,7 +322,7 @@ article ul ol {
article p,
article li {
- line-height: 1.5em;
+ line-height: 1.75;
}
article li p,
@@ -295,52 +331,64 @@ article li ol {
margin-bottom: .5em;
}
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
+article h1,
+article h2,
+article h3,
+article h4,
+article h5,
+article h6 {
/* to ensure that the anchor-link icons stay inside the heading */
position: relative;
+
+ font-family: Gantari;
+ font-weight: 800;
+ color: var(--heading-color);
}
-h1,
-h2 {
+article h1,
+article h2,
+article h3 {
text-align: center;
}
-h1 {
+article h1 {
font-size: 72px;
color: #0e3e5b;
letter-spacing: -2px;
+ margin-top: 5%;
margin-bottom: 50px;
+
+ background: linear-gradient(to right, #23a1ec, #3fd53a);
+ background-clip: text;
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
}
-h2 {
- font-size: 46px;
+article h2 {
+ font-size: 56px;
padding-bottom: 15px;
- border-bottom: 4px solid #72abe8;
- margin: 100px 0 40px !important;
+ margin: 100px 0 40px;
+
+ border-image-slice: 1;
+ border-bottom-width: 10px;
+ border-bottom-style: solid;
+ border-image-source: linear-gradient(to left, #23a1ec, #3fd53a);
}
-h3 {
- font-size: 40px;
+article h3 {
+ font-size: 36px;
margin: 50px 0 20px;
+ font-weight: 600;
+ text-align: center;
}
-h4 {
- font-size: 32px;
+article h4 {
+ font-size: 24px;
margin: 25px 0 15px;
}
-h5 {
- font-size: 26px;
- margin: 2em 0 1em;
-}
-
-h6 {
- font-size: 20px;
+article h5 {
+ font-size: 22px;
margin: 2em 0 1em;
}
@@ -349,9 +397,10 @@ h6 {
font-size: .6em;
border-radius: 10px;
padding: .3em .5em;
- margin-left: .25em;
position: absolute;
top: 5px;
+ left: 0;
+ text-decoration: none;
}
*:hover > .anchor-link,
@@ -364,14 +413,15 @@ h6 {
background-color: rgba(0, 0, 0, .075);
}
-code,
-kbd {
- background-color: #e9f1fb;
- border-radius: 5px;
+code {
+ background-color: var(--code-bg);
+ border-radius: 6px;
+ padding: 2px 5px;
+ font-size: 90%;
}
code.cmd {
- background-color: #333;
+ background-color: var(--cmd-bg);
color: #eaeaea;
}
@@ -385,11 +435,13 @@ pre.chroma,
pre > code,
article > pre {
padding: 1em;
+ line-height: 1.6;
overflow: auto;
}
-pre > code.cmd {
- border-radius: 5px;
+pre > code.cmd,
+.chroma {
+ border-radius: 10px;
}
code.cmd.bash,
@@ -447,8 +499,9 @@ dd {
hr {
border: none;
- border-top: 8px solid #34669b;
- margin: 4em 0;
+ border-top: 4px solid var(--link-decoration-color);
+ margin: 4em auto;
+ width: 35%;
}
article img {
@@ -459,51 +512,6 @@ iframe {
margin: 1em 0 2em;
}
-.nonstandard-notice {
- font-size: 14px;
- max-width: 500px;
- margin: 25px auto;
- border: 1px solid #ecd200;
- background: #fffddf;
- border-radius: 5px;
- padding: 10px;
- color: #886c00;
- line-height: 1.4em;
- display: none;
-}
-
-.nonstandard {
- color: rgb(214, 145, 16);
-}
-
-.standard-flag,
-.nonstandard-flag {
- cursor: help;
- font-size: 8px;
- line-height: 1em;
- padding: 4px 8px;
- text-transform: uppercase;
- font-weight: bold;
- color: white;
- border-radius: 4px;
- white-space: nowrap;
- vertical-align: middle;
-}
-
-.standard-flag {
- background-color: rgb(34, 163, 23);
-}
-
-.nonstandard-flag {
- background-color: rgb(238, 167, 34);
-}
-
-.module-repo-differentiator {
- font-size: 11px;
- font-weight: bold;
- color: #555;
- line-height: 1em;
-}
@@ -511,149 +519,8 @@ iframe {
-.json {
- line-height: 1.5em;
-}
-.json .qu { color: #5c91bf; }
-.json .key { color: #1c83dc; font-weight: bold; }
-.json .str { color: #2f8598; }
-.json .num { color: #038a3f; }
-.json .bool { color: #9b5e14; }
-.json .key a:not([href]) { color: #222; }
-article .json a {
- text-decoration: none;
- font-weight: bold;
-}
-.json .has-popup { border-bottom: 1px dashed #222; }
-.json a[href].has-popup { border-bottom-color: #1c82dc; }
-.json .has-popup.module { border-bottom: none; }
-#hovercard {
- max-width: 450px;
- border-radius: 10px;
- filter: drop-shadow(0 5px 5px rgba(0, 0, 0, .25));
- position: absolute;
- font-size: 16px;
- transition: transform .25s ease-in-out, opacity .25s ease-in-out;
- /* TODO: This would be nice, but it breaks the arrow-box... */
- /* max-height: 50%;
- overflow-y: auto; */
-}
-
-#hovercard:not(.popup) {
- opacity: 0;
- display: none;
- transform: translateY(0);
-}
-
-.popup {
- display: block;
- opacity: 1;
- transform: translateY(-10px);
-}
-
-.arrow-box {
- position: relative;
- background: white;
-}
-
-.arrow-box:after {
- bottom: 100%;
- left: 50%;
- border: solid transparent;
- content: " ";
- height: 0;
- width: 0;
- position: absolute;
- pointer-events: none;
- border-color: rgba(255, 255, 255, 0);
- border-bottom-color: white;
- border-width: 10px;
- margin-left: -10px;
-}
-
-#hovercard p {
- padding: 1em;
- line-height: 1.4em;
-}
-
-#hovercard p+p {
- padding-top: 0;
-}
-
-#hovercard li {
- margin: .25em;
-}
-
-#hovercard pre > code {
- border-radius: 0;
-}
-
-#hovercard li {
- padding-top: 0;
- padding-bottom: 0;
-}
-
-#hovercard .nonstandard-flag {
- float: right;
-}
-
-#hovercard .module-link {
- display: block;
- text-decoration: none;
- font-size: 18px;
- line-height: 1em;
- font-weight: bold;
- padding: .5em 1em;
-}
-
-#hovercard .module-link:hover {
- background: #f5f5f5;
-}
-
-#hovercard .module-link:last-child {
- border-bottom-left-radius: 10px;
- border-bottom-right-radius: 10px;
-}
-
-#hovercard .module-link-description {
- font-size: 14px;
- color: #555;
- margin-left: .5em;
- font-weight: normal;
-}
-
-#hovercard-namespace-box,
-#hovercard-inline-link {
- border: 0px solid #f0f6f7;
-}
-
-#hovercard-namespace-box {
- border-bottom-width: 1px;
-}
-
-#hovercard-inline-link {
- border-top-width: 1px;
-}
-
-#hovercard-inline-link a {
- display: block;
- padding: 8px 10px;
- text-decoration: none;
- font-size: 85%;
- font-weight: bold;
- text-align: center;
-}
-
-#hovercard-namespace {
- font-weight: bold;
-}
-
-.explain {
- font-style: italic;
- color: #777;
-}
article aside {
position: relative;
@@ -676,8 +543,10 @@ article aside.advice::before {
}
article aside.tip {
- color: #706b95;
+ color: var(--tip-color);
}
+
+
article aside.advice {
color: #826848;
}
@@ -740,112 +609,168 @@ td code {
word-wrap: break-word;
}
-blockquote {
- background-color: #f0f5f1;
- padding-top: 2em;
- padding-bottom: 2em;
+
+.box {
+ border-radius: 10px;
+ padding: 1em;
+ margin: 1em;
+ font-size: 18px;
+ border: 2px solid var(--box-bg);
+}
+
+.box-filled {
+ border: none;
+ background: var(--box-bg);
+}
+
+.box-capped {
+ padding: 0;
+}
+
+.box-capped > * {
+ padding: 1em;
+}
+
+.box-cap {
+ border-bottom: 1px solid var(--box-bg);
+}
+
+.box-filled .box-cap {
+ border-bottom: 1px solid var(--button-border-color); /* #d0dfe6; */
+}
+
+.box > :first-child {
+ margin-top: 0;
+}
+.box > :last-child {
+ margin-bottom: 0;
+}
+
+.box:not(.box-capped) > :first-child {
+ padding-top: 0;
+}
+.box:not(.box-capped) > :last-child {
+ padding-bottom: 0;
+}
+
+.box h3 {
+ font-size: 125%;
+ margin: 0 0 .5em;
+ text-align: left;
}
-
-
-
-#module-docs-container,
-#module-list-container,
-#module-template {
+#autonav {
+ position: absolute;
display: none;
+ left: 80%;
+ top: 0;
+ background: var(--autonav-bg);
+ box-shadow: 0 10px 40px rgb(0 0 0 / .2);
+ border-radius: 10px;
+ border-top-left-radius: 0;
+ min-width: 250px;
+ max-width: 350px;
+ z-index: 999;
+ padding-top: .5em;
+ padding-bottom: .5em;
+ max-height: 400px;
+ overflow: hidden;
+ overflow-y: auto;
+ font-size: 14px;
}
-#module-list-container {
- overflow-x: auto;
+main nav ul > li:hover #autonav {
+ display: block;
}
-#module-list {
- margin-top: 50px;
+#autonav .heading {
+ color: #888;
}
-#module-list td:first-child {
- word-wrap: break-word;
- max-width: 400px;
+#autonav a {
+ transition: none;
+ border-radius: 0;
}
-#module-list .module-link {
- font-weight: bold;
- font-size: 20px;
+#autonav a:hover {
+ color: #01324b;
+ background: #f1f7fb;
}
-#module-multiple-repos {
- display: none;
- margin: 25px;
+
+
+#pagenav .heading {
+ padding-left: .75em;
}
-.module-repo-selector {
- font-size: 26px;
- padding: 25px;
- font-weight: bold;
- border-bottom: 1px solid #888;
+#pagenav a {
+ display: block;
+ animation: fadeIn 500ms;
+ padding: .75em;
+ font-size: 90%;
+}
+
+#pagenav a:hover {
+ background: var(--pagenav-hover-bg);
+}
+
+@keyframes fadeIn {
+ 0% { opacity: 0; transform: translateY(2em); }
+ 100% { opacity: 1; transform: translateY(0); }
+}
+
+
+
+
+.quick-assist-history {
+ font-size: 90%;
+
+ display: flex;
+ flex-wrap: wrap;
+ gap: .5em;
+}
+
+.quick-assist-history > a {
+ display: inline-block;
+ color: var(--text-color-muted);
+ text-decoration: none;
cursor: pointer;
}
-.module-repo-selector:hover {
- color: #009cda;
- background: rgb(246, 250, 252);
+.quick-assist-history > a:hover {
+ color: #216688;
+ text-decoration: underline;
}
-.module-repo-selector-arrow {
- margin: 10px;
+.quick-assist-history > a:not(:first-child):before {
+ content: '>';
+ margin-right: .5em;
+ display: inline-block;
+ color: #809783;
}
-
-
-
-.tabs .tab-buttons {
- display: flex;
- font-size: 0;
- border-bottom: 2px solid #ccc;
- border-radius: 0.5em;
- margin: 0 16px 0 16px;
-}
-.tabs .tab-buttons button {
- font-family: inherit;
- border-radius: 0.5em 0.5em 0 0;
- background-color: transparent;
- border: 2px solid;
- border-color: transparent;
- font-size: 16px;
- margin-bottom: 0;
- margin-right: 8px;
- margin-bottom: -2px;
- transition: unset;
- transform: unset;
-}
-.tabs .tab-buttons button:hover {
- border-color: #ddd;
- border-bottom-color: #ccc;
-}
-.tabs .tab-buttons button.active {
- border-color: #ccc;
- border-bottom-color: white;
+h3.quick-assist-question {
+ font-size: 150%;
}
-.tabs .tab {
- border-style: solid;
- border-color: #ccc;
- border-width: 0;
- padding: 1.5rem 16px 0 20px;
- margin-top: -2px;
-}
-.tabs .tab pre {
- padding: 0;
-}
-.tabs .tab.bordered {
- border-width: 2px;
- border-radius: 8px;
+.quick-assist-options {
+ margin-top: 1.5em;
+ display: grid;
+ gap: 1em;
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}
+.quick-assist-options > div {
+ display: contents;
+}
-
+.quick-assist button,
+.quick-assist .button {
+ font-size: 100%;
+ min-height: 3.5em;
+}
@@ -858,249 +783,38 @@ blockquote {
@media (max-width: 1400px) {
- table {
- font-size: 14px;
- }
-
- h1 {
- font-size: 60px;
- }
-
- h2 {
- font-size: 38px;
- margin-top: 65px;
- }
-
- h3 {
- font-size: 28px;
- margin-top: 40px;
- }
-}
-
-@media (max-width: 1100px) {
- header {
- padding-bottom: 0;
- }
-
- main > .sidebar {
- min-width: 200px;
- padding: 20px 10px 0 0;
- }
-
- main > .sidebar:last-child {
+ #pagenav {
display: none;
}
-
- #paper1,
- #paper2 {
- display: none;
- }
- .paper3 {
- margin-top: 0;
- margin-left: 0;
- }
-
- article {
- font-size: 18px;
- padding-top: 40px;
- padding-bottom: 40px;
- }
-
- article > :not(.fullwidth),
- article > .fullwidth > * {
- padding-left: 40px;
- padding-right: 40px;
- }
- article > :not(h1) {
- margin-bottom: 1.5rem;
- }
-
- article > pre.chroma {
- padding-top: 1em;
- padding-bottom: 1em;
- }
-
- h1 {
- font-size: 45px;
- }
-
- h2 {
- font-size: 32px;
- }
}
-@media (max-width: 900px) {
- #logo-container {
- align-items: center;
+@media (max-width: 950px) {
+ #autonav {
+ display: none !important;
}
- #logo {
- height: 55px;
+ .docs {
+ flex-direction: column;
}
- #logo-docs {
- display: none;
+ #docs-menu {
+ display: block;
}
- main {
- flex-direction: column-reverse;
- align-items: center;
+ #docs-menu-container {
+ height: 0;
+ overflow: hidden;
+ transition: height 250ms ease-out;
+ display: flex;
+ flex-wrap: wrap;
}
- main > .sidebar {
- width: 100%;
- border-width: 0;
- border-top-width: 2px;
+ .docs nav ul {
+ min-width: 250px;
+ flex: 1;
}
- .article-container {
- max-width: 100%; /* TODO: why is this necessary?? without it, article overflows super wide on narrow screen */
- margin: 20px 0;
- }
-
- .paper {
- border-radius: 0;
- box-shadow: none;
- }
-}
-
-
-
-@media (prefers-color-scheme: dark) {
- body {
- background-color: #060e17;
- color: #bdd6f7;
- }
-
- header nav .new {
- color: black;
- }
-
- /* Algolia DocSearch */
- #search {
- --docsearch-searchbox-background: rgb(28, 52, 79);
- --docsearch-searchbox-focus-background: rgb(28, 52, 79);
- --docsearch-text-color: #bdd6f7;
- --docsearch-muted-color: #96a9c4;
- --docsearch-key-gradient: linear-gradient(-26.5deg, #060e17 0%, rgb(47, 62, 72) 100%);
- --docsearch-key-shadow: inset 0 -2px 0 0 #4c4c56, inset 0 0 1px 1px rgb(70, 70, 70), 0 1px 2px 1px rgba(77, 79, 91, 0.4);
- }
- /* End Algolia DocSearch */
-
- #paper1,
- #paper2 {
- background-color: #030a11;
- }
- .paper3 {
- background-color: #051628;
- }
-
- #logo {
- filter: invert(1) hue-rotate(180deg);
- }
- #zerossl-logo {
- filter: invert(1) hue-rotate(180deg);
- }
- #footer-logo {
- filter: invert(1) hue-rotate(180deg);
- }
-
- #logo-docs {
- color: #5aa3dc;
- }
-
- .breadcrumbs {
- color: #5aa3dc;
- }
-
- main nav li a {
- color: #668d9b;
- }
-
- main nav ul li a:hover {
- color: #5aa3dc;
- }
-
- main nav ul li a.current {
- background-color: #061b35;
- }
-
- .breadcrumbs {
- border-color: #061b35;
- }
-
- h1 {
- color: #5aa3dc;
- }
-
- code,
- kbd {
- background-color: #122844;
- }
-
- code.cmd {
- background-color: #000;
- color: #ccc;
- }
-
- .json .key a:not([href]) {
- color: #bdd6f7
- }
-
- #hovercard,
- .arrow-box {
- background-color: #0a192b;
- }
-
- .arrow-box:after {
- border-bottom-color: #0a192b;
- }
-
- #hovercard .module-link:hover {
- background: #0f2c50;
- }
-
- #hovercard .module-link-description {
- color: rgb(167, 167, 167);
- }
-
- #hovercard-namespace-box,
- #hovercard-inline-link {
- border-color: #0a2b53;
- }
-
- article aside.tip {
- color: #8c81e4;
- }
-
- th {
- background-color: #142638;
- }
-
- th,
- td {
- border-bottom-color: #233444;
- }
-
- blockquote {
- background-color: #101010;
- }
-
- .tabs .tab-buttons {
- border-color: #33659a;
- }
- .tabs .tab-buttons button {
- color: #bdd6f7;
- }
- .tabs .tab-buttons button:hover {
- border-color: #284c71;
- border-bottom-color: #33659a;
- }
- .tabs .tab-buttons button.active {
- border-color: #33659a;
- border-bottom-color: #051628;
- }
- .tabs .tab {
- border-color: #33659a;
+ main nav ul .heading {
+ margin-top: 2.5em !important;
}
}
diff --git a/new/resources/css/features.css b/src/resources/css/features.css
similarity index 100%
rename from new/resources/css/features.css
rename to src/resources/css/features.css
diff --git a/src/resources/css/home.css b/src/resources/css/home.css
index c66165a..9ade01c 100644
--- a/src/resources/css/home.css
+++ b/src/resources/css/home.css
@@ -1,334 +1,423 @@
-body {
- font-family: 'Inter', sans-serif;
+.bgtext,
+.demobox {
+ font-family: Poppins, ui-rounded;
}
+
.hero {
- background-image: url('/resources/images/bg-teal.jpg');
- background-repeat: no-repeat;
- background-size: cover;
- padding-bottom: 100px;
- background-position: center;
+ padding-bottom: 20vw;
}
+.hero-content {
+ padding-bottom: 100px;
+}
+
+.demobox .or {
+ margin: -1em 0 1em;
+}
+
+
+
h1 {
+ text-align: left;
text-transform: uppercase;
- font-size: 70px;
- font-family: Montserrat, sans-serif;
- text-align: center;
- margin: 70px 0 20px;
+ margin-bottom: 0;
+ line-height: .9;
+
+ background-image: unset;
+ -webkit-background-clip: unset;
+ background-clip: unset;
+ -webkit-text-fill-color: unset;
}
-h2 {
- font-size: 28px;
+h1 .color-dodge {
+ mix-blend-mode: color-dodge;
+}
+
+h1 .the {
+ font-size: 60%;
+ line-height: 1;
+}
+
+h1 .subheading {
+ margin-top: .75em;
+}
+
+h3 a {
+ color: inherit;
+}
+
+
+.sponsors-leaders {
+ position: relative;
+ text-align: center;
+ margin: 75px auto;
+ padding: 35px;
+ z-index: 0;
+}
+
+.sponsors-leaders::before {
+ content: "";
+ position: absolute;
+ padding: 40px;
+ background-color: rgb(207 27 189 / .2);
+ filter: blur(10px);
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: -1;
+ pointer-events: none;
+}
+
+.sponsors-leaders h3 {
+ color: #EB5EDD;
font-weight: normal;
+ font-size: 18px;
+ margin-bottom: 2em;
+ border-left: 0;
+ margin-left: 0;
+ padding-left: 0;
+}
+
+.sponsor-logos {
+ display: flex;
+ column-gap: 50px;
+ row-gap: 25px;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: center;
+ max-width: 900px;
+ margin: 1.5em auto;
+}
+
+.sponsors-divider {
+ border-top: 1px solid #634772;
+ max-width: 200px;
+ width: 100%;
+ margin: 0 auto;
+}
+
+
+
+
+
+.wavy-top {
+ background-color: #C4D5E0;
+ margin-top: -10vw;
+ position: relative;
+ z-index: 0;
+ padding-top: 14vw;
+ padding-bottom: 300px;
+}
+
+.wavy-top::before {
+ content: "";
+ position: absolute;
+ top: -16vw;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-image: url('/resources/images/home-curvey-bg.svg');
+ background-repeat: no-repeat;
+ background-size: 100% auto;
+ z-index: -1;
+}
+
+.bgtext {
+ color: #86A6A3;
+ opacity: .5;
+ width: 90%;
+ min-width: 65vw;
+ max-width: 1200px;
+ font-size: min(15vw, 300px);
text-align: center;
- max-width: 60rem;
- margin: 0 auto 50px;
- line-height: 1.5em;
+ line-height: .85;
+ font-weight: 800;
+ text-transform: uppercase;
+ mix-blend-mode: color-burn;
+ pointer-events: none;
+
+ position: absolute;
+ top: 5vw;
+ left: 50%;
+ transform: translateX(-50%);
}
-h3 {
- font-family: Montserrat, sans-serif;
- font-weight: 400;
- font-size: 55px;
+.bgtext .site-on {
+ font-size: 85%;
}
-p {
- font-size: 20px;
- max-width: 600px;
- margin-top: 20px;
- line-height: 1.5em;
-}
-
-.download-container {
+.wavy-top h2 {
+ color: #003E4B;
+ font-size: min(3vw, 52px);
text-align: center;
+ width: 60vw;
+ max-width: 950px;
+ font-weight: normal;
+ margin: 0 auto 200px;
+ line-height: 2.5em;
+}
+
+.wavy-top h2 b,
+.section-upset b {
+ font-weight: 800;
+}
+
+
+
+.section-upset {
+ background: white;
+ max-width: 1600px;
+ margin: -350px auto 0;
+ padding: 100px 50px 0;
+ border-radius: 20px;
+ z-index: 0;
+ position: relative;
+ box-shadow: 0 -15px 20px -2px rgb(0 0 0 / .1);
+}
+
+.section-upset h2 {
+ background: linear-gradient(195deg, rgb(6, 79, 107) 25%, rgba(139, 189, 224, 1) 49%, rgb(72, 129, 164)50%, rgb(8, 44, 58) 100%);
+ -webkit-background-clip: text;
+ background-clip: text;
+ -webkit-text-fill-color: transparent;
+
+ font-size: 80px;
+ font-weight: 600;
+ text-align: center;
+ margin-bottom: 100px;
+ max-width: none;
+}
+
+
+
+
+
+
+
+
+.testimonials-container {
+ height: 80vh;
+ position: relative;
+}
+.testimonials {
+ --testimonial-spacing: 25px;
+ gap: var(--testimonial-spacing);
+ display: flex;
+ flex-wrap: wrap;
+ padding-top: 75px;
+ padding-bottom: 75px;
+ height: 100%;
+ overflow-y: auto;
margin-top: 50px;
}
-
-.download-container .button.big {
- margin-bottom: 15px;
+.testimonial-col {
+ flex: 1;
+ min-width: 250px;
}
-
-section {
- padding: 100px 0;
+.testimonials-container::before {
+ content: "";
+ background: linear-gradient(0deg, #f5f8f9 0%, rgba(255,255,255,0) 25%, rgba(255,255,255,0) 75%, #f5f8f9 100%);
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ pointer-events: none;
+ z-index: 1;
}
-
-section.alternate:nth-child(even) {
- background-color: #f5f8f9;
+.testimonial-picture {
+ width: 60px;
+ border-radius: 50%;
}
-
-section.alternate:nth-child(odd) .side-by-side {
- flex-direction: row-reverse;
-}
-
-.side-by-side {
- width: 100%;
+.testimonial {
display: flex;
- justify-content: space-between;
- align-items: center;
+ align-items: flex-start;
+ gap: 1em;
+ border: 1px solid rgb(222, 233, 240);
+ border-radius: 5px;
+ padding: 1em;
+ margin: var(--testimonial-spacing) 0;
+ background: white;
}
-
-.side-by-side > * {
- width: 48%;
-}
-
-.side-by-side img {
- max-height: 400px;
-}
-
-.code-caption {
- font-size: 24px;
- font-weight: bold;
- margin: 75px auto 20px;
-}
-
-code {
- font-family: 'PT Mono', monospace;
-}
-
-code.block {
- display: block;
- background: #2f2f2f;
- color: #eee;
- font-size: 20px;
- padding-top: 30px;
- padding-bottom: 30px;
- line-height: 1.25em;
- white-space: pre-wrap;
-}
-
-.actions {
- padding-top: 100px;
-}
-
-code.caddyfile {
- background-color: #dbebf3;
- color: black;
-}
-
-.cf-key {
- color: #d22500;
- font-weight: bold;
-}
-
-.cf-comment {
- color: #7291a0;
-}
-
-.cf-dir {
- color: #006c96;
- font-weight: bold;
-}
-
-.cf-arg {
- color: #008000;
-}
-
-.cf-subdir {
- color: #835234;
-}
-
-code.rest {
- background-color: #f0f5f4; /*#073d59;*/
- color: #253a28;
-}
-
-.footnote {
- font-size: 18px;
- text-align: center;
-}
-
-
-@media (max-width: 1100px) {
- .side-by-side,
- section.alternate:nth-child(odd) .side-by-side {
- flex-direction: column;
- }
- section.alternate:nth-child(odd) .side-by-side > img {
- flex-direction: column-reverse;
- margin-bottom: 50px;
- }
-
- .side-by-side-content {
- margin-bottom: 50px;
- }
-
- .side-by-side > * {
- width: initial;
- }
-
- p {
- max-width: 900px;
- }
-}
-
-@media (max-width: 900px) {
- h1 {
- font-size: 50px;
- word-wrap: break-word;
- }
-
- h2 {
- font-size: 24px;
- }
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* TODO: */
-/* TAKEN FROM features.css */
-
-.features-start {
- background: linear-gradient(0deg, #13a8f5 0%, #18b125 100%);
- color: white;
- padding: 35px 0;
-}
-
-
-.main-features {
- display: flex;
- justify-content: space-between;
- flex-wrap: wrap;
- padding-top: 2rem;
-}
-
-.main-feature {
- text-align: center;
- padding: 0 2rem;
- margin: 3rem 0;
- width: 25%;
-}
-
-.main-feature img {
- height: 130px;
- margin-bottom: 15px;
-}
-
-.main-feature .title {
- font-size: 24px;
- font-weight: bold;
- margin-bottom: 15px;
-}
-
-.main-feature p {
- text-align: left;
+.testimonial-quote {
+ margin-bottom: 1em;
font-size: 16px;
- margin: 0;
+ line-height: 1.4;
}
-
-.feature-points {
- display: flex;
- justify-content: space-around;
- flex-wrap: wrap;
- font-size: 28px;
+.testimonial-name,
+.testimonial-role {
+ font-size: 90%;
}
-
-.feature-point {
- width: 33.333%;
- min-width: 300px;
- padding: 1rem 3rem;
+.testimonial-name {
+ font-weight: bold;
+ margin-bottom: .5em;
+ color: inherit;
+ text-decoration: none;
}
-
-#features-title {
- width: 80%;
- max-width: 700px;
- display: block;
- margin: 50px auto 0;
- position: relative;
- top: 40px;
+.testimonial-name:hover {
+ color: inherit;
}
-
-.features-area h3 {
- border-bottom: 3px solid #2BABED;
+.testimonial-name[href]:hover {
+ text-decoration: underline;
}
-
-.features-area h4 {
- text-align: center;
- padding-top: 80px;
- padding-bottom: 40px;
- font-family: Montserrat, sans-serif;
- font-size: 40px;
+.testimonial-name::before {
+ content: 'โ';
}
-
-.features-area h5 {
- font-size: 18px;
- text-transform: uppercase;
- letter-spacing: 1px;
-}
-
-.section-heading {
+.testimonial-role {
+ color: var(--text-color-muted);
font-style: italic;
- font-size: 20px;
- line-height: 2rem;
- color: #000;
- max-width: 550px;
- text-align: center;
- margin: 2rem auto 0;
}
-.features {
+
+
+
+.smallstep {
+ max-width: 150px;
+ margin-top: 1em;
+}
+
+.gold {
+ color: gold;
+ background: linear-gradient(63deg, rgba(212,167,36,1) 8%, rgba(251,228,63,1) 50%, rgba(241,218,57,1) 75%);
+ -webkit-background-clip: text;
+ background-clip: text;
+ -webkit-text-fill-color: transparent;
+}
+
+.col .cite {
+ font-size: 75%;
+}
+
+img.cite {
+ width: 100%;
+ max-width: 600px;
+ display: block;
+ margin: 0 auto;
+}
+
+
+.demobox {
+ position: relative;
+ color: #003e4b;
+ background: radial-gradient(circle at 200px 100px, rgba(184,255,239,1) 0%, rgba(234,249,255,1) 280px);
+ font-size: 20px;
+ padding: 50px;
+ border-radius: 15px;
+ margin-top: 200px;
+}
+
+.demobox h2 {
+ font-size: 90px;
+ font-weight: 700;
+ max-width: 100%;
+ white-space: nowrap;
+ overflow-x: auto;
+ white-space: nowrap;
+ margin-top: -1.65em;
+
+ background: linear-gradient(0deg, rgba(27,180,186,1) 10%, rgba(0,61,75,1) 50%);
+ -webkit-background-clip: text;
+ background-clip: text;
+ -webkit-text-fill-color: transparent;
+}
+
+.demobox p {
+ margin-bottom: 2em;
+}
+
+.demo-ips {
display: flex;
flex-wrap: wrap;
+ gap: 2em;
}
-.feature {
- width: 33.333%;
- padding: 25px;
+.demo-ips code {
+ background: #ecffff;
+ display: flex;
+ border-radius: 5px;
+ box-shadow: 0 4px 16px rgb(0 0 0 / .1);
}
-.feature p {
- margin-top: 5px;
- color: #333;
- font-size: 18px;
+.record-type,
+.demo-ip {
+ display: block;
+ padding: 10px 20px;
+ overflow-wrap: anywhere;
}
-@media (max-width: 900px) {
- .main-feature {
- width: 50%;
- margin: 3rem 0;
- padding: 0 1rem;
+.record-type {
+ color: #6ea9b7;
+ border-right: 1px solid #cef4f1;
+}
+
+.demo-help {
+ border-top: 1px solid #b5d3d9;
+ font-size: 75%;
+ color: #628991;
+ font-family: Inter;
+ max-width: 800px;
+}
+
+.demo-help p {
+ margin: 10px 0;
+}
+
+
+
+
+
+.franken {
+ background-color: #b3d133;
+ color: #390075;
+}
+
+
+@media (max-width: 1350px) {
+ h1 {
+ font-size: 95px;
}
- .feature {
- width: 50%;
+ h1 .subheading {
+ font-size: 30px;
+ }
+}
+
+
+@media (max-width: 1000px) {
+ h1 {
+ text-align: center;
+ }
+
+ .action-buttons {
+ margin-bottom: 55px;
+ justify-content: center;
+ }
+
+ .bgtext {
+ font-size: 25vw;
+ opacity: .25;
+ }
+
+ .wavy-top h2 {
+ font-size: 5vw;
+ width: 80%;
+ max-width: 700px;
+ line-height: 2em;
+ }
+
+ .section-upset {
+ padding: 50px 15px 0;
+ }
+
+ .section-upset h2 {
+ font-size: 50px;
}
}
@media (max-width: 700px) {
- .pitch {
- width: 100%;
- border-right: none;
- }
-
- .feature-highlight {
- padding: 1rem;
- }
-}
-
-@media (max-width: 500px) {
- .main-feature {
- width: 100%;
- }
-
- .feature {
- width: 100%;
+ h1 {
+ font-size: 55px;
}
}
\ No newline at end of file
diff --git a/new/resources/css/marketing.css b/src/resources/css/marketing.css
similarity index 100%
rename from new/resources/css/marketing.css
rename to src/resources/css/marketing.css
diff --git a/new/resources/css/on-demand.css b/src/resources/css/on-demand.css
similarity index 100%
rename from new/resources/css/on-demand.css
rename to src/resources/css/on-demand.css
diff --git a/new/resources/css/sponsor.css b/src/resources/css/sponsor.css
similarity index 100%
rename from new/resources/css/sponsor.css
rename to src/resources/css/sponsor.css
diff --git a/new/resources/css/support.css b/src/resources/css/support.css
similarity index 100%
rename from new/resources/css/support.css
rename to src/resources/css/support.css
diff --git a/new/resources/css/vendor/asciinema-player-3.6.1.css b/src/resources/css/vendor/asciinema-player-3.6.1.css
similarity index 100%
rename from new/resources/css/vendor/asciinema-player-3.6.1.css
rename to src/resources/css/vendor/asciinema-player-3.6.1.css
diff --git a/new/resources/images/cites/aas.png b/src/resources/images/cites/aas.png
similarity index 100%
rename from new/resources/images/cites/aas.png
rename to src/resources/images/cites/aas.png
diff --git a/new/resources/images/cites/krombholz.png b/src/resources/images/cites/krombholz.png
similarity index 100%
rename from new/resources/images/cites/krombholz.png
rename to src/resources/images/cites/krombholz.png
diff --git a/new/resources/images/cites/springall.png b/src/resources/images/cites/springall.png
similarity index 100%
rename from new/resources/images/cites/springall.png
rename to src/resources/images/cites/springall.png
diff --git a/src/resources/images/favicon.png b/src/resources/images/favicon.png
index 6e87127..b29a285 100644
Binary files a/src/resources/images/favicon.png and b/src/resources/images/favicon.png differ
diff --git a/new/resources/images/file-browser/browse-corner-dark.png b/src/resources/images/file-browser/browse-corner-dark.png
similarity index 100%
rename from new/resources/images/file-browser/browse-corner-dark.png
rename to src/resources/images/file-browser/browse-corner-dark.png
diff --git a/new/resources/images/file-browser/browse-corner-light.png b/src/resources/images/file-browser/browse-corner-light.png
similarity index 100%
rename from new/resources/images/file-browser/browse-corner-light.png
rename to src/resources/images/file-browser/browse-corner-light.png
diff --git a/new/resources/images/file-browser/browse-gallery-dark.png b/src/resources/images/file-browser/browse-gallery-dark.png
similarity index 100%
rename from new/resources/images/file-browser/browse-gallery-dark.png
rename to src/resources/images/file-browser/browse-gallery-dark.png
diff --git a/new/resources/images/file-browser/browse-gallery-light.png b/src/resources/images/file-browser/browse-gallery-light.png
similarity index 100%
rename from new/resources/images/file-browser/browse-gallery-light.png
rename to src/resources/images/file-browser/browse-gallery-light.png
diff --git a/new/resources/images/file-browser/browse-grid-dark.png b/src/resources/images/file-browser/browse-grid-dark.png
similarity index 100%
rename from new/resources/images/file-browser/browse-grid-dark.png
rename to src/resources/images/file-browser/browse-grid-dark.png
diff --git a/new/resources/images/file-browser/browse-grid-light.png b/src/resources/images/file-browser/browse-grid-light.png
similarity index 100%
rename from new/resources/images/file-browser/browse-grid-light.png
rename to src/resources/images/file-browser/browse-grid-light.png
diff --git a/new/resources/images/file-browser/browse-search-dark.png b/src/resources/images/file-browser/browse-search-dark.png
similarity index 100%
rename from new/resources/images/file-browser/browse-search-dark.png
rename to src/resources/images/file-browser/browse-search-dark.png
diff --git a/new/resources/images/file-browser/browse-search-light.png b/src/resources/images/file-browser/browse-search-light.png
similarity index 100%
rename from new/resources/images/file-browser/browse-search-light.png
rename to src/resources/images/file-browser/browse-search-light.png
diff --git a/new/resources/images/file-browser/browse-size-dark.png b/src/resources/images/file-browser/browse-size-dark.png
similarity index 100%
rename from new/resources/images/file-browser/browse-size-dark.png
rename to src/resources/images/file-browser/browse-size-dark.png
diff --git a/new/resources/images/file-browser/browse-size-light.png b/src/resources/images/file-browser/browse-size-light.png
similarity index 100%
rename from new/resources/images/file-browser/browse-size-light.png
rename to src/resources/images/file-browser/browse-size-light.png
diff --git a/new/resources/images/file-browser/browse-themes-2.png b/src/resources/images/file-browser/browse-themes-2.png
similarity index 100%
rename from new/resources/images/file-browser/browse-themes-2.png
rename to src/resources/images/file-browser/browse-themes-2.png
diff --git a/new/resources/images/file-browser/browse-themes.png b/src/resources/images/file-browser/browse-themes.png
similarity index 100%
rename from new/resources/images/file-browser/browse-themes.png
rename to src/resources/images/file-browser/browse-themes.png
diff --git a/new/resources/images/file-browser/icons-all-dark.png b/src/resources/images/file-browser/icons-all-dark.png
similarity index 100%
rename from new/resources/images/file-browser/icons-all-dark.png
rename to src/resources/images/file-browser/icons-all-dark.png
diff --git a/new/resources/images/file-browser/icons-all-light.png b/src/resources/images/file-browser/icons-all-light.png
similarity index 100%
rename from new/resources/images/file-browser/icons-all-light.png
rename to src/resources/images/file-browser/icons-all-light.png
diff --git a/new/resources/images/file-browser/icons1-dark.png b/src/resources/images/file-browser/icons1-dark.png
similarity index 100%
rename from new/resources/images/file-browser/icons1-dark.png
rename to src/resources/images/file-browser/icons1-dark.png
diff --git a/new/resources/images/file-browser/icons1-light.png b/src/resources/images/file-browser/icons1-light.png
similarity index 100%
rename from new/resources/images/file-browser/icons1-light.png
rename to src/resources/images/file-browser/icons1-light.png
diff --git a/new/resources/images/file-browser/icons2-dark.png b/src/resources/images/file-browser/icons2-dark.png
similarity index 100%
rename from new/resources/images/file-browser/icons2-dark.png
rename to src/resources/images/file-browser/icons2-dark.png
diff --git a/new/resources/images/file-browser/icons2-light.png b/src/resources/images/file-browser/icons2-light.png
similarity index 100%
rename from new/resources/images/file-browser/icons2-light.png
rename to src/resources/images/file-browser/icons2-light.png
diff --git a/new/resources/images/file-browser/icons3-dark.png b/src/resources/images/file-browser/icons3-dark.png
similarity index 100%
rename from new/resources/images/file-browser/icons3-dark.png
rename to src/resources/images/file-browser/icons3-dark.png
diff --git a/new/resources/images/file-browser/icons3-light.png b/src/resources/images/file-browser/icons3-light.png
similarity index 100%
rename from new/resources/images/file-browser/icons3-light.png
rename to src/resources/images/file-browser/icons3-light.png
diff --git a/new/resources/images/file-browser/icons4-dark.png b/src/resources/images/file-browser/icons4-dark.png
similarity index 100%
rename from new/resources/images/file-browser/icons4-dark.png
rename to src/resources/images/file-browser/icons4-dark.png
diff --git a/new/resources/images/file-browser/icons4-light.png b/src/resources/images/file-browser/icons4-light.png
similarity index 100%
rename from new/resources/images/file-browser/icons4-light.png
rename to src/resources/images/file-browser/icons4-light.png
diff --git a/new/resources/images/home-curvey-bg.svg b/src/resources/images/home-curvey-bg.svg
similarity index 100%
rename from new/resources/images/home-curvey-bg.svg
rename to src/resources/images/home-curvey-bg.svg
diff --git a/new/resources/images/logo-dark.svg b/src/resources/images/logo-dark.svg
similarity index 100%
rename from new/resources/images/logo-dark.svg
rename to src/resources/images/logo-dark.svg
diff --git a/new/resources/images/logo-light.svg b/src/resources/images/logo-light.svg
similarity index 100%
rename from new/resources/images/logo-light.svg
rename to src/resources/images/logo-light.svg
diff --git a/new/resources/images/nostalgia/get.gif b/src/resources/images/nostalgia/get.gif
similarity index 100%
rename from new/resources/images/nostalgia/get.gif
rename to src/resources/images/nostalgia/get.gif
diff --git a/new/resources/images/nostalgia/microsoft-ie.gif b/src/resources/images/nostalgia/microsoft-ie.gif
similarity index 100%
rename from new/resources/images/nostalgia/microsoft-ie.gif
rename to src/resources/images/nostalgia/microsoft-ie.gif
diff --git a/new/resources/images/nostalgia/now_anim.gif b/src/resources/images/nostalgia/now_anim.gif
similarity index 100%
rename from new/resources/images/nostalgia/now_anim.gif
rename to src/resources/images/nostalgia/now_anim.gif
diff --git a/new/resources/images/nostalgia/sorry-under-construction.gif b/src/resources/images/nostalgia/sorry-under-construction.gif
similarity index 100%
rename from new/resources/images/nostalgia/sorry-under-construction.gif
rename to src/resources/images/nostalgia/sorry-under-construction.gif
diff --git a/new/resources/images/nostalgia/under-construction-barricade.gif b/src/resources/images/nostalgia/under-construction-barricade.gif
similarity index 100%
rename from new/resources/images/nostalgia/under-construction-barricade.gif
rename to src/resources/images/nostalgia/under-construction-barricade.gif
diff --git a/new/resources/images/nostalgia/under-construction-blink.gif b/src/resources/images/nostalgia/under-construction-blink.gif
similarity index 100%
rename from new/resources/images/nostalgia/under-construction-blink.gif
rename to src/resources/images/nostalgia/under-construction-blink.gif
diff --git a/new/resources/images/nostalgia/under-construction-caution-tape.gif b/src/resources/images/nostalgia/under-construction-caution-tape.gif
similarity index 100%
rename from new/resources/images/nostalgia/under-construction-caution-tape.gif
rename to src/resources/images/nostalgia/under-construction-caution-tape.gif
diff --git a/new/resources/images/nostalgia/under-construction-cones.gif b/src/resources/images/nostalgia/under-construction-cones.gif
similarity index 100%
rename from new/resources/images/nostalgia/under-construction-cones.gif
rename to src/resources/images/nostalgia/under-construction-cones.gif
diff --git a/new/resources/images/nostalgia/under-construction-flashing.gif b/src/resources/images/nostalgia/under-construction-flashing.gif
similarity index 100%
rename from new/resources/images/nostalgia/under-construction-flashing.gif
rename to src/resources/images/nostalgia/under-construction-flashing.gif
diff --git a/new/resources/images/nostalgia/under-construction-sign.gif b/src/resources/images/nostalgia/under-construction-sign.gif
similarity index 100%
rename from new/resources/images/nostalgia/under-construction-sign.gif
rename to src/resources/images/nostalgia/under-construction-sign.gif
diff --git a/new/resources/images/nostalgia/valid_css3_blue.png b/src/resources/images/nostalgia/valid_css3_blue.png
similarity index 100%
rename from new/resources/images/nostalgia/valid_css3_blue.png
rename to src/resources/images/nostalgia/valid_css3_blue.png
diff --git a/new/resources/images/nostalgia/valid_html5_yellow.png b/src/resources/images/nostalgia/valid_html5_yellow.png
similarity index 100%
rename from new/resources/images/nostalgia/valid_html5_yellow.png
rename to src/resources/images/nostalgia/valid_html5_yellow.png
diff --git a/new/resources/images/nostalgia/white_1.gif b/src/resources/images/nostalgia/white_1.gif
similarity index 100%
rename from new/resources/images/nostalgia/white_1.gif
rename to src/resources/images/nostalgia/white_1.gif
diff --git a/new/resources/images/sponsors/apify.svg b/src/resources/images/sponsors/apify.svg
similarity index 100%
rename from new/resources/images/sponsors/apify.svg
rename to src/resources/images/sponsors/apify.svg
diff --git a/new/resources/images/sponsors/appcove.png b/src/resources/images/sponsors/appcove.png
similarity index 100%
rename from new/resources/images/sponsors/appcove.png
rename to src/resources/images/sponsors/appcove.png
diff --git a/new/resources/images/sponsors/approximated.svg b/src/resources/images/sponsors/approximated.svg
similarity index 100%
rename from new/resources/images/sponsors/approximated.svg
rename to src/resources/images/sponsors/approximated.svg
diff --git a/new/resources/images/sponsors/aryeo.svg b/src/resources/images/sponsors/aryeo.svg
similarity index 100%
rename from new/resources/images/sponsors/aryeo.svg
rename to src/resources/images/sponsors/aryeo.svg
diff --git a/new/resources/images/sponsors/checkly.svg b/src/resources/images/sponsors/checkly.svg
similarity index 100%
rename from new/resources/images/sponsors/checkly.svg
rename to src/resources/images/sponsors/checkly.svg
diff --git a/new/resources/images/sponsors/framer.svg b/src/resources/images/sponsors/framer.svg
similarity index 100%
rename from new/resources/images/sponsors/framer.svg
rename to src/resources/images/sponsors/framer.svg
diff --git a/new/resources/images/sponsors/fusionauth.svg b/src/resources/images/sponsors/fusionauth.svg
similarity index 100%
rename from new/resources/images/sponsors/fusionauth.svg
rename to src/resources/images/sponsors/fusionauth.svg
diff --git a/new/resources/images/sponsors/gitea.svg b/src/resources/images/sponsors/gitea.svg
similarity index 100%
rename from new/resources/images/sponsors/gitea.svg
rename to src/resources/images/sponsors/gitea.svg
diff --git a/new/resources/images/sponsors/iqm.svg b/src/resources/images/sponsors/iqm.svg
similarity index 100%
rename from new/resources/images/sponsors/iqm.svg
rename to src/resources/images/sponsors/iqm.svg
diff --git a/new/resources/images/sponsors/les-tilleuls-white.svg b/src/resources/images/sponsors/les-tilleuls-white.svg
similarity index 100%
rename from new/resources/images/sponsors/les-tilleuls-white.svg
rename to src/resources/images/sponsors/les-tilleuls-white.svg
diff --git a/new/resources/images/sponsors/les-tilleuls.svg b/src/resources/images/sponsors/les-tilleuls.svg
similarity index 100%
rename from new/resources/images/sponsors/les-tilleuls.svg
rename to src/resources/images/sponsors/les-tilleuls.svg
diff --git a/new/resources/images/sponsors/mercedes-benz.svg b/src/resources/images/sponsors/mercedes-benz.svg
similarity index 100%
rename from new/resources/images/sponsors/mercedes-benz.svg
rename to src/resources/images/sponsors/mercedes-benz.svg
diff --git a/new/resources/images/sponsors/niftyco.svg b/src/resources/images/sponsors/niftyco.svg
similarity index 100%
rename from new/resources/images/sponsors/niftyco.svg
rename to src/resources/images/sponsors/niftyco.svg
diff --git a/new/resources/images/sponsors/photostructure.svg b/src/resources/images/sponsors/photostructure.svg
similarity index 100%
rename from new/resources/images/sponsors/photostructure.svg
rename to src/resources/images/sponsors/photostructure.svg
diff --git a/new/resources/images/sponsors/smallstep.svg b/src/resources/images/sponsors/smallstep.svg
similarity index 100%
rename from new/resources/images/sponsors/smallstep.svg
rename to src/resources/images/sponsors/smallstep.svg
diff --git a/new/resources/images/sponsors/sourcegraph.svg b/src/resources/images/sponsors/sourcegraph.svg
similarity index 100%
rename from new/resources/images/sponsors/sourcegraph.svg
rename to src/resources/images/sponsors/sourcegraph.svg
diff --git a/new/resources/images/sponsors/stripe.svg b/src/resources/images/sponsors/stripe.svg
similarity index 100%
rename from new/resources/images/sponsors/stripe.svg
rename to src/resources/images/sponsors/stripe.svg
diff --git a/new/resources/images/sponsors/tailscale.svg b/src/resources/images/sponsors/tailscale.svg
similarity index 100%
rename from new/resources/images/sponsors/tailscale.svg
rename to src/resources/images/sponsors/tailscale.svg
diff --git a/new/resources/images/sponsors/transistorfm.svg b/src/resources/images/sponsors/transistorfm.svg
similarity index 100%
rename from new/resources/images/sponsors/transistorfm.svg
rename to src/resources/images/sponsors/transistorfm.svg
diff --git a/new/resources/images/sponsors/zerossl.svg b/src/resources/images/sponsors/zerossl.svg
similarity index 100%
rename from new/resources/images/sponsors/zerossl.svg
rename to src/resources/images/sponsors/zerossl.svg
diff --git a/src/resources/js/asciinema-player-2.6.1.min.js b/src/resources/js/asciinema-player-2.6.1.min.js
deleted file mode 100644
index 095e2f1..0000000
--- a/src/resources/js/asciinema-player-2.6.1.min.js
+++ /dev/null
@@ -1 +0,0 @@
-function registerAsciinemaPlayerElement(){var n=Object.create(HTMLElement.prototype);function e(n,t,e,r,l){var i={},u=n.getAttribute(t);return null!==u&&(""===u&&void 0!==r?u=r:l&&(u=l(u)),i[e]=u),i}function r(n){if(n){function t(n,t,e,r){return String.fromCodePoint(parseInt(t,16))}return n.replace(/\\u([a-z0-9]{4})/gi,t).replace(/\\x([a-z0-9]{2})/gi,t).replace(/\\e/g,"")}return n}n.createdCallback=function(){var n=this,t=function(){for(var n={},t=0;t>>0)+t+++"__"}var r=Object.defineProperty,t=Date.now()%1e9;n.prototype={set:function(n,t){var e=n[this.name];return e&&e[0]===n?e[1]=t:r(n,this.name,{value:[n,t],writable:!0}),this},get:function(n){var t;return(t=n[this.name])&&t[0]===n?t[1]:void 0},delete:function(n){var t=n[this.name];return!(!t||t[0]!==n)&&(t[0]=t[1]=void 0,!0)},has:function(n){var t=n[this.name];return!!t&&t[0]===n}},window.WeakMap=n}(),function(n){function i(){c=!1;var n=w;w=[],n.sort(function(n,t){return n.uid_-t.uid_});var r=!1;n.forEach(function(n){var e,t=n.takeRecords();(e=n).nodes_.forEach(function(n){var t=s.get(n);t&&t.forEach(function(n){n.observer===e&&n.removeTransientObservers()})}),t.length&&(n.callback_(t,n),r=!0)}),r&&i()}function h(n,t){for(var e=n;e;e=e.parentNode){var r=s.get(e);if(r)for(var l=0;l>>16&65535)*r+e*(t>>>16&65535)<<16>>>0)|0}),function(n){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).React=n()}}(function(){return function i(u,o,a){function s(t,n){if(!o[t]){if(!u[t]){var e="function"==typeof require&&require;if(!n&&e)return e(t,!0);if(c)return c(t,!0);var r=new Error("Cannot find module '"+t+"'");throw r.code="MODULE_NOT_FOUND",r}var l=o[t]={exports:{}};u[t][0].call(l.exports,function(n){return s(u[t][1][n]||n)},l,l.exports,i,u,o,a)}return o[t].exports}for(var c="function"==typeof require&&require,n=0;n>",e={array:t("array"),bool:t("boolean"),func:t("function"),number:t("number"),object:t("object"),string:t("string"),symbol:t("symbol"),any:n(r.thatReturnsNull),arrayOf:function(a){return n(function(n,t,e,r,l){if("function"!=typeof a)return new h("Property `"+l+"` of component `"+e+"` has invalid PropType notation inside arrayOf.");var i=n[t];if(!Array.isArray(i))return new h("Invalid "+r+" `"+l+"` of type `"+f(i)+"` supplied to `"+e+"`, expected an array.");for(var u=0;u"+h+">",a=c.removeChild(c.firstChild)}else a=o.is?s.createElement(this._currentElement.type,o.is):s.createElement(this._currentElement.type);else a=s.createElementNS(l,this._currentElement.type);I.precacheNode(this,a),this._flags|=M.hasCachedChildNodes,this._hostParent||_.setAttributeForRoot(a),this._updateDOMProperties(null,o,n);var f=E(a);this._createInitialChildren(n,o,r,f),u=f}else{var p=this._createOpenTagMarkupAndPutListeners(n,o),d=this._createContentMarkup(n,o,r);u=!d&&V[this._tag]?p+"/>":p+">"+d+""+this._currentElement.type+">"}switch(this._tag){case"input":n.getReactMountReady().enqueue(w,this),o.autoFocus&&n.getReactMountReady().enqueue(b.focusDOMComponent,this);break;case"textarea":n.getReactMountReady().enqueue(m,this),o.autoFocus&&n.getReactMountReady().enqueue(b.focusDOMComponent,this);break;case"select":case"button":o.autoFocus&&n.getReactMountReady().enqueue(b.focusDOMComponent,this);break;case"option":n.getReactMountReady().enqueue(g,this)}return u},_createOpenTagMarkupAndPutListeners:function(n,t){var e="<"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var l=t[r];if(null!=l)if(L.hasOwnProperty(r))l&&c(this,r,l,n);else{"style"===r&&(l=l&&(this._previousStyleCopy=f({},t.style)),l=p.createMarkupForStyles(l,this));var i=null;null!=this._tag&&h(this._tag,t)?U.hasOwnProperty(r)||(i=_.createMarkupForCustomAttribute(r,l)):i=_.createMarkupForProperty(r,l),i&&(e+=" "+i)}}return n.renderToStaticMarkup?e:(this._hostParent||(e+=" "+_.createMarkupForRoot()),e+=" "+_.createMarkupForID(this._domID))},_createContentMarkup:function(n,t,e){var r="",l=t.dangerouslySetInnerHTML;if(null!=l)null!=l.__html&&(r=l.__html);else{var i=F[typeof t.children]?t.children:null,u=null!=i?null:t.children;null!=i?r=S(i):null!=u&&(r=this.mountChildren(u,n,e).join(""))}return W[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(n,t,e,r){var l=t.dangerouslySetInnerHTML;if(null!=l)null!=l.__html&&E.queueHTML(r,l.__html);else{var i=F[typeof t.children]?t.children:null,u=null!=i?null:t.children;if(null!=i)""!==i&&E.queueText(r,i);else if(null!=u)for(var o=this.mountChildren(u,n,e),a=0;at.end?(e=t.end,t.start):(e=t.start,t.end),l.moveToElementText(n),l.moveStart("character",e),l.setEndPoint("EndToStart",l),l.moveEnd("character",r-e),l.select()}:function(n,t){if(window.getSelection){var e=window.getSelection(),r=n[h()].length,l=Math.min(t.start,r),i=void 0===t.end?l:Math.min(t.end,r);if(!e.extend&&i/," "+i.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(n,t){var e=t.getAttribute(i.CHECKSUM_ATTR_NAME);return e=e&&parseInt(e,10),r(n)===e}};t.exports=i},{92:92}],60:[function(n,t,e){"use strict";function m(n){return n?n.nodeType===O?n.documentElement:n.firstChild:null}function i(n,t,e,r,l){var i;if(c.logTopLevelRenders){var u=n._currentElement.props.child.type;i="React mount: "+("string"==typeof u?u:u.displayName||u.name),console.time(i)}var o=v.mountComponent(n,e,null,a(n,t),l,0);i&&console.timeEnd(i),n._renderedComponent._topLevelWrapper=n,P._mountImageIntoNode(o,t,n,r,e)}function u(n,t,e,r){var l=w.ReactReconcileTransaction.getPooled(!e&&s.useCreateElement);l.perform(i,null,n,t,l,e,r),w.ReactReconcileTransaction.release(l)}function r(n,t,e){for(v.unmountComponent(n,e),t.nodeType===O&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)}function g(n){var t=m(n);if(t){var e=p.getInstanceFromNode(t);return!(!e||!e._hostParent)}}function h(n){return n&&(1===n.nodeType||n.nodeType===O||11===n.nodeType)}function y(n){var t,e,r=(t=m(n),(e=t&&p.getInstanceFromNode(t))&&!e._hostParent?e:null);return r?r._hostContainerInfo._topLevelWrapper:null}function b(){this.rootID=M++}var E=n(112),f=n(9),l=n(11),C=n(120),o=n(25),p=(n(119),n(33)),a=n(34),s=n(36),c=n(53),_=n(57),d=(n(58),n(59)),v=n(66),j=n(70),w=n(71),I=n(130),k=n(108),x=(n(137),n(114)),A=n(116),N=(n(142),l.ID_ATTRIBUTE_NAME),T=l.ROOT_ATTRIBUTE_NAME,O=9,S={},M=1;b.prototype.isReactComponent={},b.prototype.render=function(){return this.props.child},b.isReactTopLevelWrapper=!0;var P={TopLevelWrapper:b,_instancesByReactRootID:S,scrollMonitor:function(n,t){t()},_updateRootComponent:function(n,t,e,r,l){return P.scrollMonitor(r,function(){j.enqueueElementInternal(n,t,e),l&&j.enqueueCallbackInternal(n,l)}),n},_renderNewRootComponent:function(n,t,e,r){h(t)||E("37"),o.ensureScrollValueMonitoring();var l=k(n,!1);w.batchedUpdates(u,l,t,e,r);var i=l._instance.rootID;return S[i]=l},renderSubtreeIntoContainer:function(n,t,e,r){return null!=n&&_.has(n)||E("38"),P._renderSubtreeIntoContainer(n,t,e,r)},_renderSubtreeIntoContainer:function(n,t,e,r){j.validateCallback(r,"ReactDOM.render"),C.isValidElement(t)||E("39","string"==typeof t?" Instead of passing a string like 'div', pass React.createElement('div') or
.":"function"==typeof t?" Instead of passing a class like Foo, pass React.createElement(Foo) or .":null!=t&&void 0!==t.props?" This may be caused by unintentionally loading two independent copies of React.":"");var l,i=C.createElement(b,{child:t});if(n){var u=_.get(n);l=u._processChildContext(u._context)}else l=I;var o=y(e);if(o){var a=o._currentElement.props.child;if(A(a,t)){var s=o._renderedComponent.getPublicInstance(),c=r&&function(){r.call(s)};return P._updateRootComponent(o,i,l,e,c),s}P.unmountComponentAtNode(e)}var h,f=m(e),p=f&&!(!(h=f).getAttribute||!h.getAttribute(N)),d=g(e),v=p&&!o&&!d,w=P._renderNewRootComponent(i,e,v,l)._renderedComponent.getPublicInstance();return r&&r.call(w),w},render:function(n,t,e){return P._renderSubtreeIntoContainer(null,n,t,e)},unmountComponentAtNode:function(n){h(n)||E("40");var t=y(n);return t?(delete S[t._instance.rootID],w.batchedUpdates(r,t,n,!1),!0):(g(n),1===n.nodeType&&n.hasAttribute(T),!1)},_mountImageIntoNode:function(n,t,e,r,l){if(h(t)||E("41"),r){var i=m(t);if(d.canReuseMarkup(n,i))return void p.precacheNode(e,i);var u=i.getAttribute(d.CHECKSUM_ATTR_NAME);i.removeAttribute(d.CHECKSUM_ATTR_NAME);var o=i.outerHTML;i.setAttribute(d.CHECKSUM_ATTR_NAME,u);var a=n,s=function(n,t){for(var e=Math.min(n.length,t.length),r=0;r]/;t.exports=function(n){return"boolean"==typeof n||"number"==typeof n?""+n:function(n){var t=""+n,e=o.exec(t);if(!e)return t;var r,l="",i=0,u=0;for(i=e.index;i ]/,a=n(93)(function(n,t){if(n.namespaceURI!==i.svg||"innerHTML"in n)n.innerHTML=t;else{(r=r||document.createElement("div")).innerHTML=""+t+" ";for(var e=r.firstChild;e.firstChild;)n.appendChild(e.firstChild)}});if(l.canUseDOM){var s=document.createElement("div");s.innerHTML=" ",""===s.innerHTML&&(a=function(n,t){if(n.parentNode&&n.parentNode.replaceChild(n,n),u.test(t)||"<"===t[0]&&o.test(t)){n.innerHTML=String.fromCharCode(65279)+t;var e=n.firstChild;1===e.data.length?n.removeChild(e):e.deleteData(0,1)}else n.innerHTML=t}),s=null}t.exports=a},{10:10,123:123,93:93}],115:[function(n,t,e){"use strict";var r=n(123),l=n(95),i=n(114),u=function(n,t){if(t){var e=n.firstChild;if(e&&e===n.lastChild&&3===e.nodeType)return void(e.nodeValue=t)}n.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(u=function(n,t){3!==n.nodeType?i(n,l(t)):n.nodeValue=t})),t.exports=u},{114:114,123:123,95:95}],116:[function(n,t,e){"use strict";t.exports=function(n,t){var e=null===n||!1===n,r=null===t||!1===t;if(e||r)return e==r;var l=typeof n,i=typeof t;return"string"==l||"number"==l?"string"==i||"number"==i:"object"==i&&n.type===t.type&&n.key===t.key}},{}],117:[function(n,t,e){"use strict";function w(n,t){return n&&"object"==typeof n&&null!=n.key?b.escape(n.key):t.toString(36)}var m=n(112),g=(n(119),n(48)),y=n(104),b=(n(137),n(22)),E=(n(142),"."),C=":";t.exports=function(n,t,e){return null==n?0:function n(t,e,r,l){var i=typeof t;if("undefined"!=i&&"boolean"!=i||(t=null),null===t||"string"==i||"number"==i||"object"==i&&t.$$typeof===g)return r(l,t,""===e?E+w(t,0):e),1;var u,o=0,a=""===e?E:e+C;if(Array.isArray(t))for(var s=0;s',""],a=[1,""],s=[3,""],c=[1,''," "],h={"*":[1,"?","
"],area:[1,""," "],col:[2,""],legend:[1,""," "],param:[1,""," "],tr:[2,""],optgroup:o,option:o,caption:a,colgroup:a,tbody:a,tfoot:a,thead:a,td:s,th:s};["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"].forEach(function(n){h[n]=c,u[n]=!0}),t.exports=function(n){return i||l(!1),h.hasOwnProperty(n)||(n="*"),u.hasOwnProperty(n)||(i.innerHTML="*"===n?" ":"<"+n+">"+n+">",u[n]=!i.firstChild),u[n]?h[n]:null}},{123:123,137:137}],134:[function(n,t,e){"use strict";t.exports=function(n){return n.Window&&n instanceof n.Window?{x:n.pageXOffset||n.document.documentElement.scrollLeft,y:n.pageYOffset||n.document.documentElement.scrollTop}:{x:n.scrollLeft,y:n.scrollTop}}},{}],135:[function(n,t,e){"use strict";var r=/([A-Z])/g;t.exports=function(n){return n.replace(r,"-$1").toLowerCase()}},{}],136:[function(n,t,e){"use strict";var r=n(135),l=/^ms-/;t.exports=function(n){return r(n).replace(l,"-ms-")}},{135:135}],137:[function(n,t,e){"use strict";t.exports=function(n,t,e,r,l,i,u,o){if(!n){var a;if(void 0===t)a=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var s=[e,r,l,i,u,o],c=0;(a=new Error(t.replace(/%s/g,function(){return s[c++]}))).name="Invariant Violation"}throw a.framesToPop=1,a}}},{}],138:[function(n,t,e){"use strict";t.exports=function(n){var t=(n?n.ownerDocument||n:document).defaultView||window;return!(!n||!("function"==typeof t.Node?n instanceof t.Node:"object"==typeof n&&"number"==typeof n.nodeType&&"string"==typeof n.nodeName))}},{}],139:[function(n,t,e){"use strict";var r=n(138);t.exports=function(n){return r(n)&&3==n.nodeType}},{138:138}],140:[function(n,t,e){"use strict";t.exports=function(t){var e={};return function(n){return e.hasOwnProperty(n)||(e[n]=t.call(this,n)),e[n]}}},{}],141:[function(n,t,e){"use strict";function i(n,t){return n===t?0!==n||0!==t||1/n==1/t:n!=n&&t!=t}var u=Object.prototype.hasOwnProperty;t.exports=function(n,t){if(i(n,t))return!0;if("object"!=typeof n||null===n||"object"!=typeof t||null===t)return!1;var e=Object.keys(n),r=Object.keys(t);if(e.length!==r.length)return!1;for(var l=0;l>",e={array:t("array"),bool:t("boolean"),func:t("function"),number:t("number"),object:t("object"),string:t("string"),symbol:t("symbol"),any:n(r.thatReturnsNull),arrayOf:function(a){return n(function(n,t,e,r,l){if("function"!=typeof a)return new h("Property `"+l+"` of component `"+e+"` has invalid PropType notation inside arrayOf.");var i=n[t];if(!Array.isArray(i))return new h("Invalid "+r+" `"+l+"` of type `"+f(i)+"` supplied to `"+e+"`, expected an array.");for(var u=0;u>10),t=u%1024+56320,e.push(n,t)),(r+1==l||16384>>0),i=0;function s(n,t,e){return n.call.apply(n.bind,arguments)}function d(t,e,n){if(!t)throw Error();if(22*this.Fc&&T(this),!0)},n.get=function(n,t){return Object.prototype.hasOwnProperty.call(this.ic,n)?this.ic[n]:t},n.set=function(n,t){Object.prototype.hasOwnProperty.call(this.ic,n)||(this.Fc++,this.ib.push(n)),this.ic[n]=t},n.addAll=function(n){if(n instanceof N){var t=n.Xc();n=n.Yc()}else t=k(n),n=I(n);for(var e=0;e>>16,n[t]&=65535,t++}function W(n,t){if(t.hc())throw Error("division by zero");if(n.hc())return F;if(n.Eb())return t.Eb()?W(n.kb(),t.kb()):W(n.kb(),t).kb();if(t.Eb())return W(n,t.kb()).kb();if(30>>0).toString(n);if((e=l).hc())return i+r;for(;i.length<6;)i="0"+i;r=""+i+r}},n.hc=function(){if(0!=this.Lc)return!1;for(var n=0;n>>16)+(H(this,l)>>>16)+(H(n,l)>>>16);r=u>>>16,i&=65535,u&=65535,e[l]=u<<16|i}return new S(e,-2147483648&e[e.length-1]?-1:0)},n.ze=function(n){return this.add(n.kb())},n.multiply=function(n){if(this.hc()||n.hc())return F;if(this.Eb())return n.Eb()?this.kb().multiply(n.kb()):this.kb().multiply(n).kb();if(n.Eb())return this.multiply(n.kb()).kb();if(this.Ue()&&n.Ue())return D(this.vd()*n.vd());for(var t=this.Ma.length+n.Ma.length,e=[],r=0;r<2*t;r++)e[r]=0;for(r=0;r>>16,u=65535&H(this,r),o=H(n,l)>>>16,a=65535&H(n,l);e[2*r+2*l]+=u*a,V(e,2*r+2*l),e[2*r+2*l+1]+=i*a,V(e,2*r+2*l+1),e[2*r+2*l+1]+=u*o,V(e,2*r+2*l+1),e[2*r+2*l+2]+=i*o,V(e,2*r+2*l+2)}for(r=0;r>5;n%=32;for(var e=this.Ma.length+t+(0>>32-n:H(this,l-t);return new S(r,this.Lc)},n.ad=function(n){var t=n>>5;n%=32;for(var e=this.Ma.length-t,r=[],l=0;l>>n|H(this,l+t+1)<<32-n:H(this,l+t);return new S(r,this.Lc)},(n=q.prototype).xc="",n.set=function(n){this.xc=""+n},n.append=function(n,t,e){if(this.xc+=String(n),null!=t)for(var r=1;r>>16&65535)*r+e*(t>>>16&65535)<<16>>>0)|0};function gt(n){return n=mt(0|n,-862048943),mt(n<<15|n>>>-15,461845907)}function _t(n,t){var e=(0|n)^(0|t);return mt(e<<13|e>>>-13,5)+-430675100|0}function jt(n,t){var e=(0|n)^t;return e=mt(e^e>>>16,-2048144789),(e=mt(e^e>>>13,-1028477387))^e>>>16}function It(n){n:for(var t=1,e=0;;){if(!(t>2)}function St(n){return n instanceof Mt}function Mt(n,t,e,r,l){this.fb=n,this.name=t,this.Zb=e,this.Oc=r,this.hb=l,this.m=2154168321,this.J=4096}(n=Mt.prototype).toString=function(){return this.Zb},n.equiv=function(n){return this.K(null,n)},n.K=function(n,t){return t instanceof Mt&&this.Zb===t.Zb},n.call=((kt=function(n,t,e){switch(arguments.length){case 2:return Ie.c(t,this);case 3:return Ie.l(t,this,e)}throw Error("Invalid arity: "+(arguments.length-1))}).c=function(n,t){return Ie.c(t,this)},kt.l=function(n,t,e){return Ie.l(t,this,e)},kt),n.apply=function(n,t){return this.call.apply(this,[this].concat(ln(t)))},n.h=function(n){return Ie.c(n,this)},n.c=function(n,t){return Ie.l(n,this,t)},n.P=function(){return this.hb},n.T=function(n,t){return new Mt(this.fb,this.name,this.Zb,this.Oc,t)},n.U=function(){var n=this.Oc;return null!=n?n:this.Oc=n=Ot(It(this.name),Nt(this.fb))},n.hd=function(){return this.name},n.jd=function(){return this.fb},n.R=function(n,t){return $n(t,this.Zb)};var Pt=function n(t){switch(arguments.length){case 1:return n.h(t);case 2:return n.c(t,arguments[1]);default:throw Error(["Invalid arity: ",Ur.h(arguments.length)].join(""))}};function Dt(n){return null!=n?131072&n.J||yt===n.Tf||!n.J&&Q(pt,n):Q(pt,n)}function Rt(n){if(null==n)return null;if(null!=n&&(8388608&n.m||yt===n.Pe))return n.S(null);if(z(n)||"string"==typeof n)return 0===n.length?null:new pe(n,0,null);if(Q(Wn,n))return qn(n);throw Error([Ur.h(n)," is not ISeqable"].join(""))}function Lt(n){return null==n?null:null!=n&&(64&n.m||yt===n.G)?n.Ia(null):null==(n=Rt(n))?null:gn(n)}function Ft(n){return null!=n?null!=n&&(64&n.m||yt===n.G)?n.bb(null):(n=Rt(n))?yn(n):Kr:Kr}function Ut(n){return null==n?null:null!=n&&(128&n.m||yt===n.Id)?n.Ka(null):Rt(Ft(n))}Pt.h=function(n){if(n instanceof Mt)return n;var t=n.indexOf("/");return t<1?Pt.c(null,n):Pt.c(n.substring(0,t),n.substring(t+1,n.length))},Pt.c=function(n,t){return new Mt(n,t,null!=n?[Ur.h(n),"/",Ur.h(t)].join(""):t,null,null)},Pt.L=2;var Bt=function n(t){switch(arguments.length){case 1:return n.h(t);case 2:return n.c(t,arguments[1]);default:for(var e=[],r=arguments.length,l=0;l>1&1431655765))+(n>>2&858993459))+(n>>4)&252645135)>>24}Sr.B=function(){return 1},Sr.h=function(n){return n},Sr.c=function(n,t){return n*t},Sr.A=function(n,t,e){return xr(Sr,n*t,e)},Sr.N=function(n){var t=Lt(n),e=Ut(n);return n=Lt(e),e=Ut(e),Sr.A(t,n,e)},Sr.L=2;var Dr,Rr,Lr,Fr,Ur=function n(t){switch(arguments.length){case 0:return n.B();case 1:return n.h(t);default:for(var e=[],r=arguments.length,l=0;l>>5<<5}function Ai(n,t,e){for(;;){if(0===t)return e;var r=Ii(n);r.o[0]=e,e=r,t-=5}}Ei.l=function(n,t,e){var r,l=Lt(t=Rt(t));return(t=Ut(t))?ke.l(n,l,Ei.l(Ie.c(n,l),t,e)):ke.l(n,l,(r=Ie.c(n,l),e.h?e.h(r):e.call(null,r)))},Ei.M=function(n,t,e,r){var l,i=Lt(t=Rt(t));return(t=Ut(t))?ke.l(n,i,Ei.M(Ie.c(n,i),t,e,r)):ke.l(n,i,(l=Ie.c(n,i),e.c?e.c(l,r):e.call(null,l,r)))},Ei.Z=function(n,t,e,r,l){var i,u=Lt(t=Rt(t));return(t=Ut(t))?ke.l(n,u,Ei.Z(Ie.c(n,u),t,e,r,l)):ke.l(n,u,(i=Ie.c(n,u),e.l?e.l(i,r,l):e.call(null,i,r,l)))},Ei.Ca=function(n,t,e,r,l,i){var u,o=Lt(t=Rt(t));return(t=Ut(t))?ke.l(n,o,Ei.Ca(Ie.c(n,o),t,e,r,l,i)):ke.l(n,o,(u=Ie.c(n,o),e.M?e.M(u,r,l,i):e.call(null,u,r,l,i)))},Ei.A=function(n,t,e,r,l,i,u){var o=Rt(t);return t=Lt(o),(o=Ut(o))?ke.l(n,t,Tl(Ei,Ie.c(n,t),o,e,r,ve([l,i,u]))):ke.l(n,t,Tl(e,Ie.c(n,t),r,l,i,ve([u])))},Ei.N=function(n){var t=Lt(n),e=Ut(n);n=Lt(e);var r=Ut(e);e=Lt(r);var l=Ut(r);r=Lt(l);var i=Ut(l);l=Lt(i);var u=Ut(i);return i=Lt(u),u=Ut(u),Ei.A(t,n,e,r,l,i,u)},Ei.L=6;function Ni(n,t){throw Error(["No item ",Ur.h(n)," in vector of length ",Ur.h(t)].join(""))}function Ti(n,t){if(t>=xi(n))return n.fa;for(var e=n.root,r=n.shift;;){if(!(0>>r&31],r=l}}var Oi,Si,Mi;function Pi(n,t,e,r,l,i){this.i=n,this.base=t,this.o=e,this.Ja=r,this.start=l,this.end=i}function Di(n,t,e){return new Pi(t,t-t%32,t>>e&31;e-=5,r=r.o[o],t=n.Z?n.Z(t,e,r,l,i):n.call(null,t,e,r,l,i),u.o[o]=t}return u}(this,this.shift,this.root,t,e),this.fa,null);if(t===this.F)return this.X(null,e);throw Error(["Index ",Ur.h(t)," out of bounds [0,",Ur.h(this.F),"]"].join(""))},n.ba=function(){return Di(this,0,this.F)},n.P=function(){return this.meta},n.W=function(){return this.F},n.fd=function(){return this.$(null,0)},n.gd=function(){return this.$(null,1)},n.Ac=function(){return 0>>e&31;if(5>>5>1<>>e&31;return 5===e?i.o[u]=l:(t=null!=(r=r.o[u])?(e-=5,n.M?n.M(t,e,r,l):n.call(null,t,e,r,l)):Ai(null,e-5,l),i.o[u]=t),i}(this,this.shift,this.root,new ji(null,this.fa)),new Fi(this.meta,this.F+1,e,r,[t],null)},n.call=((Mi=function(n,t,e){switch(arguments.length){case 2:return this.$(null,t);case 3:return this.ka(null,t,e)}throw Error("Invalid arity: "+(arguments.length-1))}).c=function(n,t){return this.$(null,t)},Mi.l=function(n,t,e){return this.ka(null,t,e)},Mi),n.apply=function(n,t){return this.call.apply(this,[this].concat(ln(t)))},n.h=function(n){return this.$(null,n)},n.c=function(n,t){return this.ka(null,n,t)};var Bi=new ji(null,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]),Hi=new Fi(null,0,5,Bi,[],Kt);function Vi(n){var t=n.length;if(t<32)return new Fi(null,t,5,Bi,n,null);for(var e=32,r=new Fi(null,32,5,Bi,n.slice(0,32),null).Pc(null);;){if(!(e>>5>1<>>e&31;if(5===e)t=l;else{var u=r.o[i];t=null!=u?(e-=5,n.M?n.M(t,e,u,l):n.call(null,t,e,u,l)):Ai(t.root.la,e-5,l)}return r.o[i]=t,r}(this,this.shift,this.root,e)}return this.F+=1,this}throw Error("conj! after persistent!")},n.kd=function(){if(this.root.la){this.root.la=null;var n=this.F-xi(this),t=Array(n);return cr(this.fa,0,t,0,n),new Fi(null,this.F,this.shift,this.root,t,null)}throw Error("persistent! called twice")},n.Cc=function(n,t,e){if("number"==typeof t)return function(u,o,a){if(u.root.la){if(0<=o&&o>>t&31,i=n(t-5,r.o[l]);r.o[l]=i}return r}(u.shift,u.root);u.root=n}return u}if(o===u.F)return u.Dc(null,a);throw Error(["Index ",Ur.h(o)," out of bounds for TransientVector of length",Ur.h(u.F)].join(""))}throw Error("assoc! after persistent!")}(this,t,e);throw Error("TransientVector's key for assoc! must be a number.")},n.W=function(){if(this.root.la)return this.F;throw Error("count after persistent!")},n.$=function(n,t){if(this.root.la)return(0<=t&&t>>n&31);if(0==(this.na&l))return r;var i=Pr(this.na&l-1);return l=this.o[2*i],i=this.o[2*i+1],null==l?i.sc(n+5,t,e,r):_u(e,l)?i:r},n.Kb=function(n,t,e,r,l,i){var u=1<<(e>>>t&31),o=Pr(this.na&u-1);if(0==(this.na&u)){var a=Pr(this.na);if(2*a>>t&31]=Du.Kb(n,t+5,e,r,l,i),l=r=0;r<32;)0!=(this.na>>>r&1)&&(o[r]=null!=this.o[l]?Du.Kb(n,t+5,Tt(this.o[l]),this.o[l],this.o[l+1],i):this.o[l+1],l+=2),r+=1;return new Lu(n,a+1,o)}return t=Array(2*(a+4)),cr(this.o,0,t,0,2*o),t[2*o]=r,t[2*o+1]=l,cr(this.o,2*o,t,2*(o+1),2*(a-o)),i.H=!0,(n=this.Gc(n)).o=t,n.na|=u,n}if(a=this.o[2*o],u=this.o[2*o+1],null==a)return(a=u.Kb(n,t+5,e,r,l,i))===u?this:ku(this,n,2*o+1,a);if(_u(r,a))return l===u?this:ku(this,n,2*o+1,l);if(i.H=!0,i=t+5,(t=Tt(a))===e)l=new Uu(null,t,2,[a,u,r,l]);else{var s=new Cu;l=Du.Kb(n,i,t,a,u,s).Kb(n,i,e,r,l,s)}return o=(r=2*o)+1,(n=this.Gc(n)).o[r]=null,n.o[o]=l,n},n.Jb=function(n,t,e,r,l){var i=1<<(t>>>n&31),u=Pr(this.na&i-1);if(0==(this.na&i)){var o=Pr(this.na);if(16<=o){for((u=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null])[t>>>n&31]=Du.Jb(n+5,t,e,r,l),r=e=0;e<32;)0!=(this.na>>>e&1)&&(u[e]=null!=this.o[r]?Du.Jb(n+5,Tt(this.o[r]),this.o[r],this.o[r+1],l):this.o[r+1],r+=2),e+=1;return new Lu(null,o+1,u)}return n=Array(2*(o+1)),cr(this.o,0,n,0,2*u),n[2*u]=e,n[2*u+1]=r,cr(this.o,2*u,n,2*(u+1),2*(o-u)),l.H=!0,new Nu(null,this.na|i,n)}var a=this.o[2*u];if(i=this.o[2*u+1],null==a)return(o=i.Jb(n+5,t,e,r,l))===i?this:new Nu(null,this.na,ju(this.o,2*u+1,o));if(_u(e,a))return r===i?this:new Nu(null,this.na,ju(this.o,2*u+1,r));l.H=!0,l=this.na,o=this.o,n+=5;var s=Tt(a);if(s===t)e=new Uu(null,s,2,[a,i,e,r]);else{var c=new Cu;e=Du.Jb(n,s,a,i,c).Jb(n,t,e,r,c)}return u=(n=2*u)+1,(r=ln(o))[n]=null,r[u]=e,new Nu(null,l,r)},n.rd=function(n,t,e){var r=1<<(t>>>n&31);if(0==(this.na&r))return this;var l=Pr(this.na&r-1),i=this.o[2*l],u=this.o[2*l+1];return null==i?(n=u.rd(n+5,t,e))===u?this:null!=n?new Nu(null,this.na,ju(this.o,2*l+1,n)):this.na===r?null:new Nu(null,this.na^r,Iu(this.o,l)):_u(e,i)?new Nu(null,this.na^r,Iu(this.o,l)):this},n.ba=function(){return new Au(this.o,0,null,null)};var Tu,Ou,Su,Mu,Pu,Du=new Nu(null,0,[]);function Ru(n,t,e){this.o=n,this.i=t,this.Lb=e}function Lu(n,t,e){this.la=n,this.F=t,this.o=e,this.J=131072,this.m=0}function Fu(n,t,e){t*=2;for(var r=0;;){if(!(r>>n&31];return null!=l?l.sc(n+5,t,e,r):r},n.Kb=function(n,t,e,r,l,i){var u=e>>>t&31,o=this.o[u];return null==o?((n=ku(this,n,u,Du.Kb(n,t+5,e,r,l,i))).F+=1,n):(t=o.Kb(n,t+5,e,r,l,i))===o?this:ku(this,n,u,t)},n.Jb=function(n,t,e,r,l){var i=t>>>n&31,u=this.o[i];return null==u?new Lu(null,this.F+1,ju(this.o,i,Du.Jb(n+5,t,e,r,l))):(n=u.Jb(n+5,t,e,r,l))===u?this:new Lu(null,this.F,ju(this.o,i,n))},n.rd=function(n,t,e){var r=t>>>n&31,l=this.o[r];if(null==l)return this;if((n=l.rd(n+5,t,e))===l)r=this;else if(null==n)if(this.F<=8)n:{n=(l=this.o).length,t=Array(2*(this.F-1));for(var i=1,u=e=0;;){if(!(e2*this.F?(t=2*this.F,e=2*this.F+1,(n=this.Gc(n)).o[t]=r,n.o[e]=l,i.H=!0,n.F+=1,n):(e=this.o.length,t=Array(e+2),cr(this.o,0,t,0,e),t[e]=r,t[e+1]=l,i.H=!0,r=this.F+1,n=n===this.la?(this.o=t,this.F=r,this):new Uu(this.la,this.ec,r,t)):this.o[t+1]===l?this:ku(this,n,t+1,l):new Nu(n,1<<(this.ec>>>t&31),[null,this,null,null]).Kb(n,t,e,r,l,i)},n.Jb=function(n,t,e,r,l){return t===this.ec?-1===(n=Fu(this.o,this.F,e))?(n=2*this.F,t=Array(n+2),cr(this.o,0,t,0,n),t[n]=e,t[n+1]=r,l.H=!0,new Uu(null,this.ec,this.F+1,t)):Bt.c(this.o[n+1],r)?this:new Uu(null,this.ec,this.F,ju(this.o,n+1,r)):new Nu(null,1<<(this.ec>>>n&31),[null,this]).Jb(n,t,e,r,l)},n.rd=function(n,t,e){return-1===(n=Fu(this.o,this.F,e))?this:1===this.F?null:new Uu(null,this.ec,this.F-1,Iu(this.o,Mr(n)))},n.ba=function(){return new Au(this.o,0,null,null)},(n=Bu.prototype).toString=function(){return wt(this)},n.equiv=function(n){return this.K(null,n)},n.indexOf=((Tu=function(n,t){switch(arguments.length){case 1:return ce(this,n,0);case 2:return ce(this,n,t)}throw Error("Invalid arity: "+(arguments.length-1))}).h=function(n){return ce(this,n,0)},Tu.c=function(n,t){return ce(this,n,t)},Tu),n.lastIndexOf=((Ou=function(n,t){switch(arguments.length){case 1:return Hu.call(this,n);case 2:return he(this,n,t)}throw Error("Invalid arity: "+(arguments.length-1))}).h=Hu,Ou.c=function(n,t){return he(this,n,t)},Ou),n.P=function(){return this.meta},n.Ka=function(){return null==this.s?Vu(this.Mb,this.i+2,null):Vu(this.Mb,this.i,Ut(this.s))},n.U=function(){var n=this.w;return null!=n?n:this.w=n=qt(this)},n.K=function(n,t){return Br(this,t)},n.oa=function(){return Rn(Kr,this.meta)},n.Fa=function(n,t){return Cr(t,this)},n.Ga=function(n,t,e){return _r(t,e,this)},n.Ia=function(){return null==this.s?new Fi(null,2,5,Bi,[this.Mb[this.i],this.Mb[this.i+1]],null):Lt(this.s)},n.bb=function(){var n=null==this.s?Vu(this.Mb,this.i+2,null):Vu(this.Mb,this.i,Ut(this.s));return null!=n?n:Kr},n.S=function(){return this},n.T=function(n,t){return new Bu(t,this.Mb,this.i,this.s,this.w)},n.X=function(n,t){return Qr(t,this)},Bu.prototype[rn]=function(){return Vt(this)},(n=Wu.prototype).toString=function(){return wt(this)},n.equiv=function(n){return this.K(null,n)},n.indexOf=((Su=function(n,t){switch(arguments.length){case 1:return ce(this,n,0);case 2:return ce(this,n,t)}throw Error("Invalid arity: "+(arguments.length-1))}).h=function(n){return ce(this,n,0)},Su.c=function(n,t){return ce(this,n,t)},Su),n.lastIndexOf=((Mu=function(n,t){switch(arguments.length){case 1:return qu.call(this,n);case 2:return he(this,n,t)}throw Error("Invalid arity: "+(arguments.length-1))}).h=qu,Mu.c=function(n,t){return he(this,n,t)},Mu),n.P=function(){return this.meta},n.Ka=function(){return Ku(this.Mb,this.i,Ut(this.s))},n.U=function(){var n=this.w;return null!=n?n:this.w=n=qt(this)},n.K=function(n,t){return Br(this,t)},n.oa=function(){return Rn(Kr,this.meta)},n.Fa=function(n,t){return Cr(t,this)},n.Ga=function(n,t,e){return _r(t,e,this)},n.Ia=function(){return Lt(this.s)},n.bb=function(){var n=Ku(this.Mb,this.i,Ut(this.s));return null!=n?n:Kr},n.S=function(){return this},n.T=function(n,t){return new Wu(t,this.Mb,this.i,this.s,this.w)},n.X=function(n,t){return Qr(t,this)},Wu.prototype[rn]=function(){return Vt(this)},Gu.prototype.ja=function(){return!this.xe||this.bf.ja()},Gu.prototype.next=function(){return this.xe?this.bf.next():(this.xe=!0,new Fi(null,2,5,Bi,[null,this.eb],null))},Gu.prototype.remove=function(){return Error("Unsupported operation")},(n=Yu.prototype).toString=function(){return wt(this)},n.equiv=function(n){return this.K(null,n)},n.keys=function(){return Vt(So(this))},n.entries=function(){return new hu(Rt(Rt(this)))},n.values=function(){return Vt(Ro(this))},n.has=function(n){return wr(this,n)},n.get=function(n,t){return this.I(null,n,t)},n.forEach=function(n){for(var t=Rt(this),e=null,r=0,l=0;;)if(l(n.h?n.h(e):n.call(null,e))?t:e},ea.A=function(e,n,t,r){return xr(function(n,t){return ea.l(e,n,t)},ea.l(e,n,t),r)},ea.N=function(n){var t=Lt(n),e=Ut(n);n=Lt(e);var r=Ut(e);return e=Lt(r),r=Ut(r),ea.A(t,n,e,r)},ea.L=3,la.prototype.ja=function(){return 0this.end},la.prototype.next=function(){var n=this.i;return this.i+=this.step,n},(n=ia.prototype).toString=function(){return wt(this)},n.equiv=function(n){return this.K(null,n)},n.indexOf=((na=function(n,t){switch(arguments.length){case 1:return ce(this,n,0);case 2:return ce(this,n,t)}throw Error("Invalid arity: "+(arguments.length-1))}).h=function(n){return ce(this,n,0)},na.c=function(n,t){return ce(this,n,t)},na),n.lastIndexOf=((ta=function(n,t){switch(arguments.length){case 1:return ua.call(this,n);case 2:return he(this,n,t)}throw Error("Invalid arity: "+(arguments.length-1))}).h=ua,ta.c=function(n,t){return he(this,n,t)},ta),n.$=function(n,t){if(0<=t&&tthis.end&&0===this.step)return this.start;throw Error("Index out of bounds")},n.ka=function(n,t,e){return 0<=t&&tthis.end&&0===this.step?this.start:e},n.ba=function(){return new la(this.start,this.end,this.step)},n.P=function(){return this.meta},n.Ka=function(){return 0this.end?new ia(this.meta,this.start+this.step,this.end,this.step,null):null},n.W=function(){return Ct(this.S(null))?0:Math.ceil((this.end-this.start)/this.step)},n.U=function(){var n=this.w;return null!=n?n:this.w=n=qt(this)},n.K=function(n,t){return Br(this,t)},n.oa=function(){return Rn(Kr,this.meta)},n.Fa=function(n,t){return re(this,t)},n.Ga=function(n,t,e){for(n=this.start;;){if(!(0this.end))return e;if(ne(e=t.c?t.c(e,n):t.call(null,e,n)))return Mn(e);n+=this.step}},n.Ia=function(){return null==this.S(null)?null:this.start},n.bb=function(){return null!=this.S(null)?new ia(this.meta,this.start+this.step,this.end,this.step,null):Kr},n.S=function(){return 0this.end?this:null:this.start===this.end?null:this},n.T=function(n,t){return new ia(t,this.start,this.end,this.step,this.w)},n.X=function(n,t){return Qr(t,this)},ia.prototype[rn]=function(){return Vt(this)};var da={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"};function va(t,n,e){if(null==t)return $n(n,"nil");var r,l,i,u,o,a;if(r=e,l=t,((i=(i=pr(Ie.c(r,Gs)))&&null!=l&&!!(131072&l.m||yt===l.tf))?null!=nr(l):i)&&($n(n,"^"),wa(nr(t),n,e),$n(n," ")),t.qc)return t.Ec(t,n,e);if(null!=t&&(2147483648&t.m||yt===t.ma))return t.R(null,n,e);if(!0===t||!1===t)return $n(n,""+Ur.h(t));if("number"==typeof t)return $n(n,isNaN(t)?"##NaN":t===Number.POSITIVE_INFINITY?"##Inf":t===Number.NEGATIVE_INFINITY?"##-Inf":""+Ur.h(t));if(null!=t&&t.constructor===Object)return $n(n,"#js "),ya(ui.c(function(n){return new Fi(null,2,5,Bi,[null!=ha(/[A-Za-z_\*\+\?!\-'][\w\*\+\?!\-']*/,n)?ol.h(n):n,t[n]],null)},k(t)),n,e);if(z(t))return fa(n,wa,"#js ["," ","]",e,t);if(c(t))return bt(of.h(e))?$n(n,(u=t,[Ur.h('"'),Ur.h(u.replace(RegExp('[\\\\"\b\f\n\r\t]',"g"),function(n){return da[n]})),Ur.h('"')].join(""))):$n(n,t);if(f(t)){var s=t.name;return pa(n,ve(["#object[",e=bt(null==s||/^[\s\xa0]*$/.test(s))?"Function":s,"","]"]))}return t instanceof Date?(e=function(n,t){for(var e=""+Ur.h(n);;){if(!(Ce(e)js",t)};function _a(n){return(null!=n?yt===n.nf||!n.Tc&&Q(Ea,n):Q(Ea,n))?Ca(n):"string"==typeof n||"number"==typeof n||n instanceof nl||n instanceof Mt?ja(n):ma(ve([n]))}var ja=function n(t){if(null==t)return null;if(null!=t?yt===t.nf||!t.Tc&&Q(Ea,t):Q(Ea,t))return Ca(t);if(t instanceof nl)return Qo(t);if(t instanceof Mt)return""+Ur.h(t);if(ur(t)){var e={};t=Rt(t);for(var r=null,l=0,i=0;;)if(iclj",t)};function xa(n){var t,e=ve([rd,!0]),r=null!=e&&(64&e.m||yt===e.G)?xl(jo,e):e,l=Ie.c(r,rd);return t=bt(l)?ol:Ur,function s(c){return(null!=c?yt===c.lf||!c.Tc&&Q(Ia,c):Q(Ia,c))?ka(c,xl(No,e)):fr(c)?ca(ui.c(s,c)):rr(c)?mi.c(Ee(c),ui.c(s,c)):z(c)?Wi(ui.c(s,c)):nn(c)===Object?mi.c(gu,(n=t,function u(o){return new al(null,(a=n,function(){for(;;){var n=Rt(o);if(n){if(sr(n)){var t=st(n),e=Ce(t),r=fl(e);n:for(var l=0;;){if(!(l ",Ur.h(e)," and ",Ur.h(Lt(r)),", and neither is preferred"].join(""));return r}return n},null,Mn(t)),h=((s=null==c)&&(s=(s=Mn(t)).h?s.h(a):s.call(null,a)),bt(s)?new Fi(null,2,5,Bi,[a,s],null):c);return bt(h)?Bt.c(Mn(r),Mn(u))?(li.M(e,ke,i,ge(h)),ge(h)):(Ma(e,t,r,u),n.Ha?n.Ha(l,i,u,t,o,e,r,a):n.call(null,l,i,u,t,o,e,r,a)):null};function Fa(n,t){throw Error(["No method in multimethod '",Ur.h(n),"' for dispatch value: ",Ur.h(t)].join(""))}function Ua(n,t,e,r,l,i,u,o){this.name=n,this.D=t,this.vf=e,this.Rd=r,this.Vd=l,this.Kf=i,this.Ud=u,this.Ed=o,this.m=4194305,this.J=4352}function Ba(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y,b,E){var C=Tl((n=this).D,t,e,r,l,ve([i,u,o,a,s,c,h,f,p,d,v,w,m,g,y,b,E])),_=ss(this,C);return bt(_)||Fa(n.name,C),Tl(_,t,e,r,l,ve([i,u,o,a,s,c,h,f,p,d,v,w,m,g,y,b,E]))}function Ha(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y,b){var E=(n=this).D.Xa?n.D.Xa(t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y,b):n.D.call(null,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y,b),C=ss(this,E);return bt(C)||Fa(n.name,E),C.Xa?C.Xa(t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y,b):C.call(null,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y,b)}function Va(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y){var b=(n=this).D.Wa?n.D.Wa(t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y):n.D.call(null,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y),E=ss(this,b);return bt(E)||Fa(n.name,b),E.Wa?E.Wa(t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y):E.call(null,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y)}function Wa(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g){var y=(n=this).D.Va?n.D.Va(t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g):n.D.call(null,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g),b=ss(this,y);return bt(b)||Fa(n.name,y),b.Va?b.Va(t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g):b.call(null,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g)}function qa(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m){var g=(n=this).D.Ua?n.D.Ua(t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m):n.D.call(null,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m),y=ss(this,g);return bt(y)||Fa(n.name,g),y.Ua?y.Ua(t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m):y.call(null,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m)}function Ka(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w){var m=(n=this).D.Ta?n.D.Ta(t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w):n.D.call(null,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w),g=ss(this,m);return bt(g)||Fa(n.name,m),g.Ta?g.Ta(t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w):g.call(null,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w)}function Ga(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v){var w=(n=this).D.Sa?n.D.Sa(t,e,r,l,i,u,o,a,s,c,h,f,p,d,v):n.D.call(null,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v),m=ss(this,w);return bt(m)||Fa(n.name,w),m.Sa?m.Sa(t,e,r,l,i,u,o,a,s,c,h,f,p,d,v):m.call(null,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v)}function Ya(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d){var v=(n=this).D.Ra?n.D.Ra(t,e,r,l,i,u,o,a,s,c,h,f,p,d):n.D.call(null,t,e,r,l,i,u,o,a,s,c,h,f,p,d),w=ss(this,v);return bt(w)||Fa(n.name,v),w.Ra?w.Ra(t,e,r,l,i,u,o,a,s,c,h,f,p,d):w.call(null,t,e,r,l,i,u,o,a,s,c,h,f,p,d)}function Xa(n,t,e,r,l,i,u,o,a,s,c,h,f,p){var d=(n=this).D.Qa?n.D.Qa(t,e,r,l,i,u,o,a,s,c,h,f,p):n.D.call(null,t,e,r,l,i,u,o,a,s,c,h,f,p),v=ss(this,d);return bt(v)||Fa(n.name,d),v.Qa?v.Qa(t,e,r,l,i,u,o,a,s,c,h,f,p):v.call(null,t,e,r,l,i,u,o,a,s,c,h,f,p)}function Ja(n,t,e,r,l,i,u,o,a,s,c,h,f){var p=(n=this).D.Pa?n.D.Pa(t,e,r,l,i,u,o,a,s,c,h,f):n.D.call(null,t,e,r,l,i,u,o,a,s,c,h,f),d=ss(this,p);return bt(d)||Fa(n.name,p),d.Pa?d.Pa(t,e,r,l,i,u,o,a,s,c,h,f):d.call(null,t,e,r,l,i,u,o,a,s,c,h,f)}function $a(n,t,e,r,l,i,u,o,a,s,c,h){var f=(n=this).D.Oa?n.D.Oa(t,e,r,l,i,u,o,a,s,c,h):n.D.call(null,t,e,r,l,i,u,o,a,s,c,h),p=ss(this,f);return bt(p)||Fa(n.name,f),p.Oa?p.Oa(t,e,r,l,i,u,o,a,s,c,h):p.call(null,t,e,r,l,i,u,o,a,s,c,h)}function za(n,t,e,r,l,i,u,o,a,s,c){var h=(n=this).D.Na?n.D.Na(t,e,r,l,i,u,o,a,s,c):n.D.call(null,t,e,r,l,i,u,o,a,s,c),f=ss(this,h);return bt(f)||Fa(n.name,h),f.Na?f.Na(t,e,r,l,i,u,o,a,s,c):f.call(null,t,e,r,l,i,u,o,a,s,c)}function Za(n,t,e,r,l,i,u,o,a,s){var c=(n=this).D.Za?n.D.Za(t,e,r,l,i,u,o,a,s):n.D.call(null,t,e,r,l,i,u,o,a,s),h=ss(this,c);return bt(h)||Fa(n.name,c),h.Za?h.Za(t,e,r,l,i,u,o,a,s):h.call(null,t,e,r,l,i,u,o,a,s)}function Qa(n,t,e,r,l,i,u,o,a){var s=(n=this).D.Ha?n.D.Ha(t,e,r,l,i,u,o,a):n.D.call(null,t,e,r,l,i,u,o,a),c=ss(this,s);return bt(c)||Fa(n.name,s),c.Ha?c.Ha(t,e,r,l,i,u,o,a):c.call(null,t,e,r,l,i,u,o,a)}function ns(n,t,e,r,l,i,u,o){var a=(n=this).D.Ya?n.D.Ya(t,e,r,l,i,u,o):n.D.call(null,t,e,r,l,i,u,o),s=ss(this,a);return bt(s)||Fa(n.name,a),s.Ya?s.Ya(t,e,r,l,i,u,o):s.call(null,t,e,r,l,i,u,o)}function ts(n,t,e,r,l,i,u){var o=(n=this).D.Ca?n.D.Ca(t,e,r,l,i,u):n.D.call(null,t,e,r,l,i,u),a=ss(this,o);return bt(a)||Fa(n.name,o),a.Ca?a.Ca(t,e,r,l,i,u):a.call(null,t,e,r,l,i,u)}function es(n,t,e,r,l,i){var u=(n=this).D.Z?n.D.Z(t,e,r,l,i):n.D.call(null,t,e,r,l,i),o=ss(this,u);return bt(o)||Fa(n.name,u),o.Z?o.Z(t,e,r,l,i):o.call(null,t,e,r,l,i)}function rs(n,t,e,r,l){var i=(n=this).D.M?n.D.M(t,e,r,l):n.D.call(null,t,e,r,l),u=ss(this,i);return bt(u)||Fa(n.name,i),u.M?u.M(t,e,r,l):u.call(null,t,e,r,l)}function ls(n,t,e,r){var l=(n=this).D.l?n.D.l(t,e,r):n.D.call(null,t,e,r),i=ss(this,l);return bt(i)||Fa(n.name,l),i.l?i.l(t,e,r):i.call(null,t,e,r)}function is(n,t,e){var r=(n=this).D.c?n.D.c(t,e):n.D.call(null,t,e),l=ss(this,r);return bt(l)||Fa(n.name,r),l.c?l.c(t,e):l.call(null,t,e)}function us(n,t){var e=(n=this).D.h?n.D.h(t):n.D.call(null,t),r=ss(this,e);return bt(r)||Fa(n.name,e),r.h?r.h(t):r.call(null,t)}function os(n){var t=(n=this).D.B?n.D.B():n.D.call(null),e=ss(this,t);return bt(e)||Fa(n.name,t),e.B?e.B():e.call(null)}function as(n,t){var e=w_;li.M(e.Vd,ke,n,t),Ma(e.Ud,e.Vd,e.Ed,e.Rd)}function ss(n,t){Bt.c(Mn(n.Ed),Mn(n.Rd))||Ma(n.Ud,n.Vd,n.Ed,n.Rd);var e=Mn(n.Ud);return bt(e=e.h?e.h(t):e.call(null,t))?e:La(n.name,t,n.Rd,n.Vd,n.Kf,n.Ud,n.Ed,n.vf)}function cs(n,t){this.Mc=n,this.w=t,this.m=2153775104,this.J=2048}(n=Ua.prototype).call=((Ra=function(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y,b,E){switch(arguments.length){case 1:return os.call(this,n);case 2:return us.call(this,n,t);case 3:return is.call(this,n,t,e);case 4:return ls.call(this,n,t,e,r);case 5:return rs.call(this,n,t,e,r,l);case 6:return es.call(this,n,t,e,r,l,i);case 7:return ts.call(this,n,t,e,r,l,i,u);case 8:return ns.call(this,n,t,e,r,l,i,u,o);case 9:return Qa.call(this,n,t,e,r,l,i,u,o,a);case 10:return Za.call(this,n,t,e,r,l,i,u,o,a,s);case 11:return za.call(this,n,t,e,r,l,i,u,o,a,s,c);case 12:return $a.call(this,n,t,e,r,l,i,u,o,a,s,c,h);case 13:return Ja.call(this,n,t,e,r,l,i,u,o,a,s,c,h,f);case 14:return Xa.call(this,n,t,e,r,l,i,u,o,a,s,c,h,f,p);case 15:return Ya.call(this,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d);case 16:return Ga.call(this,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v);case 17:return Ka.call(this,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w);case 18:return qa.call(this,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m);case 19:return Wa.call(this,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g);case 20:return Va.call(this,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y);case 21:return Ha.call(this,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y,b);case 22:return Ba.call(this,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y,b,E)}throw Error("Invalid arity: "+(arguments.length-1))}).h=os,Ra.c=us,Ra.l=is,Ra.M=ls,Ra.Z=rs,Ra.Ca=es,Ra.Ya=ts,Ra.Ha=ns,Ra.Za=Qa,Ra.Na=Za,Ra.Oa=za,Ra.Pa=$a,Ra.Qa=Ja,Ra.Ra=Xa,Ra.Sa=Ya,Ra.Ta=Ga,Ra.Ua=Ka,Ra.Va=qa,Ra.Wa=Wa,Ra.Xa=Va,Ra.he=Ha,Ra.qf=Ba,Ra),n.apply=function(n,t){return this.call.apply(this,[this].concat(ln(t)))},n.B=function(){var n=this.D.B?this.D.B():this.D.call(null),t=ss(this,n);return bt(t)||Fa(this.name,n),t.B?t.B():t.call(null)},n.h=function(n){var t=this.D.h?this.D.h(n):this.D.call(null,n),e=ss(this,t);return bt(e)||Fa(this.name,t),e.h?e.h(n):e.call(null,n)},n.c=function(n,t){var e=this.D.c?this.D.c(n,t):this.D.call(null,n,t),r=ss(this,e);return bt(r)||Fa(this.name,e),r.c?r.c(n,t):r.call(null,n,t)},n.l=function(n,t,e){var r=this.D.l?this.D.l(n,t,e):this.D.call(null,n,t,e),l=ss(this,r);return bt(l)||Fa(this.name,r),l.l?l.l(n,t,e):l.call(null,n,t,e)},n.M=function(n,t,e,r){var l=this.D.M?this.D.M(n,t,e,r):this.D.call(null,n,t,e,r),i=ss(this,l);return bt(i)||Fa(this.name,l),i.M?i.M(n,t,e,r):i.call(null,n,t,e,r)},n.Z=function(n,t,e,r,l){var i=this.D.Z?this.D.Z(n,t,e,r,l):this.D.call(null,n,t,e,r,l),u=ss(this,i);return bt(u)||Fa(this.name,i),u.Z?u.Z(n,t,e,r,l):u.call(null,n,t,e,r,l)},n.Ca=function(n,t,e,r,l,i){var u=this.D.Ca?this.D.Ca(n,t,e,r,l,i):this.D.call(null,n,t,e,r,l,i),o=ss(this,u);return bt(o)||Fa(this.name,u),o.Ca?o.Ca(n,t,e,r,l,i):o.call(null,n,t,e,r,l,i)},n.Ya=function(n,t,e,r,l,i,u){var o=this.D.Ya?this.D.Ya(n,t,e,r,l,i,u):this.D.call(null,n,t,e,r,l,i,u),a=ss(this,o);return bt(a)||Fa(this.name,o),a.Ya?a.Ya(n,t,e,r,l,i,u):a.call(null,n,t,e,r,l,i,u)},n.Ha=function(n,t,e,r,l,i,u,o){var a=this.D.Ha?this.D.Ha(n,t,e,r,l,i,u,o):this.D.call(null,n,t,e,r,l,i,u,o),s=ss(this,a);return bt(s)||Fa(this.name,a),s.Ha?s.Ha(n,t,e,r,l,i,u,o):s.call(null,n,t,e,r,l,i,u,o)},n.Za=function(n,t,e,r,l,i,u,o,a){var s=this.D.Za?this.D.Za(n,t,e,r,l,i,u,o,a):this.D.call(null,n,t,e,r,l,i,u,o,a),c=ss(this,s);return bt(c)||Fa(this.name,s),c.Za?c.Za(n,t,e,r,l,i,u,o,a):c.call(null,n,t,e,r,l,i,u,o,a)},n.Na=function(n,t,e,r,l,i,u,o,a,s){var c=this.D.Na?this.D.Na(n,t,e,r,l,i,u,o,a,s):this.D.call(null,n,t,e,r,l,i,u,o,a,s),h=ss(this,c);return bt(h)||Fa(this.name,c),h.Na?h.Na(n,t,e,r,l,i,u,o,a,s):h.call(null,n,t,e,r,l,i,u,o,a,s)},n.Oa=function(n,t,e,r,l,i,u,o,a,s,c){var h=this.D.Oa?this.D.Oa(n,t,e,r,l,i,u,o,a,s,c):this.D.call(null,n,t,e,r,l,i,u,o,a,s,c),f=ss(this,h);return bt(f)||Fa(this.name,h),f.Oa?f.Oa(n,t,e,r,l,i,u,o,a,s,c):f.call(null,n,t,e,r,l,i,u,o,a,s,c)},n.Pa=function(n,t,e,r,l,i,u,o,a,s,c,h){var f=this.D.Pa?this.D.Pa(n,t,e,r,l,i,u,o,a,s,c,h):this.D.call(null,n,t,e,r,l,i,u,o,a,s,c,h),p=ss(this,f);return bt(p)||Fa(this.name,f),p.Pa?p.Pa(n,t,e,r,l,i,u,o,a,s,c,h):p.call(null,n,t,e,r,l,i,u,o,a,s,c,h)},n.Qa=function(n,t,e,r,l,i,u,o,a,s,c,h,f){var p=this.D.Qa?this.D.Qa(n,t,e,r,l,i,u,o,a,s,c,h,f):this.D.call(null,n,t,e,r,l,i,u,o,a,s,c,h,f),d=ss(this,p);return bt(d)||Fa(this.name,p),d.Qa?d.Qa(n,t,e,r,l,i,u,o,a,s,c,h,f):d.call(null,n,t,e,r,l,i,u,o,a,s,c,h,f)},n.Ra=function(n,t,e,r,l,i,u,o,a,s,c,h,f,p){var d=this.D.Ra?this.D.Ra(n,t,e,r,l,i,u,o,a,s,c,h,f,p):this.D.call(null,n,t,e,r,l,i,u,o,a,s,c,h,f,p),v=ss(this,d);return bt(v)||Fa(this.name,d),v.Ra?v.Ra(n,t,e,r,l,i,u,o,a,s,c,h,f,p):v.call(null,n,t,e,r,l,i,u,o,a,s,c,h,f,p)},n.Sa=function(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d){var v=this.D.Sa?this.D.Sa(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d):this.D.call(null,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d),w=ss(this,v);return bt(w)||Fa(this.name,v),w.Sa?w.Sa(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d):w.call(null,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d)},n.Ta=function(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v){var w=this.D.Ta?this.D.Ta(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v):this.D.call(null,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v),m=ss(this,w);return bt(m)||Fa(this.name,w),m.Ta?m.Ta(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v):m.call(null,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v)},n.Ua=function(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w){var m=this.D.Ua?this.D.Ua(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w):this.D.call(null,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w),g=ss(this,m);return bt(g)||Fa(this.name,m),g.Ua?g.Ua(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w):g.call(null,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w)},n.Va=function(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m){var g=this.D.Va?this.D.Va(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m):this.D.call(null,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m),y=ss(this,g);return bt(y)||Fa(this.name,g),y.Va?y.Va(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m):y.call(null,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m)},n.Wa=function(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g){var y=this.D.Wa?this.D.Wa(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g):this.D.call(null,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g),b=ss(this,y);return bt(b)||Fa(this.name,y),b.Wa?b.Wa(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g):b.call(null,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g)},n.Xa=function(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y){var b=this.D.Xa?this.D.Xa(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y):this.D.call(null,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y),E=ss(this,b);return bt(E)||Fa(this.name,b),E.Xa?E.Xa(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y):E.call(null,n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y)},n.he=function(n,t,e,r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y,b){var E=Tl(this.D,n,t,e,r,ve([l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y,b])),C=ss(this,E);return bt(C)||Fa(this.name,E),Tl(C,n,t,e,r,ve([l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y,b]))},n.hd=function(){return function n(t){if(null!=t&&null!=t.hd)return t.hd(t);var e=n[h(null==t?null:t)];if(null!=e)return e.h?e.h(t):e.call(null,t);if(null!=(e=n._))return e.h?e.h(t):e.call(null,t);throw tn("INamed.-name",t)}(this.name)},n.jd=function(){return function n(t){if(null!=t&&null!=t.jd)return t.jd(t);var e=n[h(null==t?null:t)];if(null!=e)return e.h?e.h(t):e.call(null,t);if(null!=(e=n._))return e.h?e.h(t):e.call(null,t);throw tn("INamed.-namespace",t)}(this.name)},n.U=function(){return e(this)},(n=cs.prototype).toString=function(){return this.Mc},n.equiv=function(n){return this.K(null,n)},n.K=function(n,t){return t instanceof cs&&this.Mc===t.Mc},n.R=function(n,t){return $n(t,['#uuid "',Ur.h(this.Mc),'"'].join(""))},n.U=function(){return null==this.w&&(this.w=Tt(this.Mc)),this.w},n.cc=function(n,t){return j(this.Mc,t.Mc)};var hs=new nl(null,"hook","hook",750265408),fs=new nl(null,"y","y",-1757859776),ps=new nl(null,"setCurrentTime","setCurrentTime",-623552),ds=new nl(null,"span.gutter","span.gutter",-700214016),vs=new Mt(null,"&","&",-2144855648,null),ws=new nl(null,"dcs-param","dcs-param",-971011648),ms=new nl(null,"path","path",-188191168),gs=new nl(null,"escape","escape",-991601952),ys=new Mt(null,"meta34617","meta34617",-1789836320,null),bs=new nl(null,"force-load-ch","force-load-ch",-1689229247),Es=new Mt("schema.core","Any","schema.core/Any",-1891898271,null),Cs=new nl(null,"tab-index","tab-index",895755393),_s=new nl(null,"bold","bold",-116809535),js=new nl(null,"authorImgURL","authorImgURL",-1171541759),Is=new nl(null,"schema","schema",-1582001791),ks=new Mt(null,"optional-key","optional-key",988406145,null),xs=new nl(null,"char-attrs","char-attrs",-1444091455),As=new nl(null,"esc-dispatch","esc-dispatch",17832481),Ns=new nl(null,"idle_time_limit","idle_time_limit",-1837919647),Ts=new nl(null,"auto-wrap-mode","auto-wrap-mode",-2049555583),Os=new nl(null,"preload?","preload?",445442977),Ss=new nl(null,"on-set","on-set",-140953470),Ms=new nl(null,"current-time","current-time",-1609407134),Ps=new nl(null,"span.progressbar","span.progressbar",766750210),Ds=new nl(null,"osc-end","osc-end",1762953954),Rs=new nl("internal","rewind","internal/rewind",-31749342),Ls=new nl(null,"bottom-margin","bottom-margin",-701300733),Fs=new nl(null,"on-key-press","on-key-press",-399563677),Us=new nl(null,"osc-put","osc-put",-1827844733),Bs=new nl(null,"cljsLegacyRender","cljsLegacyRender",-1527295613),Hs=new nl(null,"klass","klass",-1386752349),Vs=new nl(null,"blink","blink",-271985917),Ws=new Mt(null,"meta43127","meta43127",166183907,null),qs=new nl(null,"primary","primary",817773892),Ks=new Mt(null,"meta43105","meta43105",-531987068,null),Gs=new nl(null,"meta","meta",1499536964),Ys=new nl(null,"screen","screen",1990059748),Xs=new Mt(null,"Symbol","Symbol",716452869,null),Js=new nl(null,"color","color",1011675173),$s=new Mt(null,"blockable","blockable",-28395259,null),zs=new nl(null,"dup","dup",556298533),Zs=new nl(null,"parser-params","parser-params",36457893),Qs=new Mt(null,"height","height",-1629257147,null),nc=new nl(null,"key","key",-1516042587),tc=new Mt(null,"CellLine","CellLine",-317574363,null),ec=new nl(null,"asciicast","asciicast",509526949),rc=new Mt(null,"conditional","conditional",-1212542970,null),lc=new nl(null,"exit","exit",351849638),ic=new nl(null,"parser-intermediates","parser-intermediates",-169100058),uc=new nl(null,"else","else",-1508377146),oc=new nl(null,"tabs","tabs",-779855354),ac=new nl(null,"ground","ground",1193572934),sc=new nl(null,"next-print-wraps","next-print-wraps",-1664999738),cc=new nl(null,"font-size","font-size",-1847940346),hc=new Mt(null,"Bool","Bool",195910502,null),fc=new nl(null,"transition","transition",765692007),pc=new Mt(null,"one","one",-1719427865,null),dc=new nl(null,"speed","speed",1257663751),vc=new nl(null,"displayName","displayName",-809144601),wc=new nl(null,"_","_",1453416199),mc=new nl(null,"validator","validator",-1966190681),gc=new Mt(null,"char-attrs","char-attrs",196440072,null),yc=new nl(null,"div.loading","div.loading",-155515768),bc=new nl(null,"dcs-passthrough","dcs-passthrough",-671044440),Ec=new nl(null,"show-hud","show-hud",1983299752),Cc=new nl(null,"start-at","start-at",-103334680),_c=new nl(null,"default","default",-1987822328),jc=new nl(null,"csi-param","csi-param",-1120111192),Ic=new nl(null,"div.control-bar","div.control-bar",-1316808248),kc=new nl(null,"finally-block","finally-block",832982472),xc=new Mt(null,"cb","cb",-2064487928,null),Ac=new nl(null,"inverse","inverse",-1623859672),Nc=new nl(null,"fg","fg",-101797208),Tc=new nl(null,"warn","warn",-436710552),Oc=new nl(null,"dcs-intermediate","dcs-intermediate",480808872),Sc=new nl(null,"osc-string","osc-string",-486531128),Mc=new nl(null,"on-enter","on-enter",-928988216),Pc=new nl(null,"name","name",1843675177),Dc=new nl(null,"frames","frames",1765687497),Rc=new nl(null,"extra-validator-fn","extra-validator-fn",1562905865),Lc=new nl(null,"output-schema","output-schema",272504137),Fc=new nl(null,"div.play-button","div.play-button",1020321513),Uc=new nl(null,"span.time-elapsed","span.time-elapsed",-1782475638),Bc=new nl(null,"time","time",1385887882),Hc=new nl(null,"component-did-mount","component-did-mount",-1126910518),Vc=new nl(null,"background-color","background-color",570434026),Wc=new nl(null,"recording-ch-fn","recording-ch-fn",-902533462),qc=new nl(null,"span.playback-button","span.playback-button",-1136389398),Kc=new nl(null,"span.title-bar","span.title-bar",-1165872085),Gc=new nl(null,"loaded","loaded",-1246482293),Yc=new nl(null,"width","width",-384071477),Xc=new nl(null,"start","start",-355208981),Jc=new Mt(null,"meta43130","meta43130",1056327947,null),$c=new nl(null,"lines","lines",-700165781),zc=new nl(null,"input-schemas","input-schemas",-982154805),Zc=new nl(null,"sos-pm-apc-string","sos-pm-apc-string",398998091),Qc=new nl(null,"cursor-on","cursor-on",302555051),nh=new nl(null,"component-did-update","component-did-update",-1468549173),th=new nl(null,"div.start-prompt","div.start-prompt",-41424788),eh=new nl(null,"val","val",128701612),rh=new nl(null,"cursor","cursor",1011937484),lh=new nl(null,"dcs-entry","dcs-entry",216833388),ih=new nl(null,"recur","recur",-437573268),uh=new nl(null,"type","type",1174270348),oh=new Mt(null,"Num","Num",-2044934708,null),ah=new nl(null,"alternate","alternate",-931038644),sh=new nl(null,"catch-block","catch-block",1175212748),ch=new nl(null,"onPlay","onPlay",150417132),hh=new nl(null,"duration","duration",1444101068),fh=new nl(null,"execute","execute",-129499188),ph=new Mt(null,"pred","pred",-727012372,null),dh=new nl(null,"src","src",-1651076051),vh=new Mt(null,"Any","Any",1277492269,null),wh=new nl(null,"span.bar","span.bar",-1986926323),mh=new Mt(null,"Regex","Regex",205914413,null),gh=new nl(null,"msg-ch","msg-ch",-1840176755),yh=new nl(null,"on-exit","on-exit",1821961613),bh=new nl(null,"fallback-impl","fallback-impl",-1501286995),Eh=new nl(null,"view-box","view-box",-1792199155),Ch=new nl(null,"source","source",-433931539),_h=new nl(null,"csi-entry","csi-entry",-1787942099),jh=new nl(null,"flush-on-newline","flush-on-newline",-151457939),Ih=new nl(null,"preds-and-schemas","preds-and-schemas",-1306766355),kh=new nl(null,"command-ch","command-ch",508874766),xh=new nl(null,"componentWillUnmount","componentWillUnmount",1573788814),Ah=new Mt(null,"Inst","Inst",292408622,null),Nh=new nl(null,"span.timer","span.timer",2111534382),Th=new nl(null,"toggle","toggle",1291842030),Oh=new nl(null,"cursor-blink-ch","cursor-blink-ch",1063651214),Sh=new nl(null,"print","print",1299562414),Mh=new nl(null,"on-mouse-down","on-mouse-down",1147755470),Ph=new nl(null,"csi-dispatch","csi-dispatch",-126857169),Dh=new nl(null,"on-click","on-click",1632826543),Rh=new nl(null,"parser-state","parser-state",594493647),Lh=new nl(null,"ignore","ignore",-1631542033),Fh=new nl(null,"descendants","descendants",1824886031),Uh=new nl(null,"underline","underline",2018066703),Bh=new Mt(null,"Str","Str",907970895,null),Hh=new nl(null,"param","param",2013631823),Vh=new nl(null,"k","k",-2146297393),Wh=new nl(null,"title","title",636505583),qh=new nl(null,"stop-ch","stop-ch",-219113969),Kh=new nl(null,"insert-mode","insert-mode",894811791),Gh=new Mt(null,"maybe","maybe",1326133967,null),Yh=new nl(null,"toggle-fullscreen","toggle-fullscreen",-1647254833),Xh=new nl(null,"loop","loop",-395552849),Jh=new nl(null,"author-img-url","author-img-url",2016975920),$h=new nl(null,"shouldComponentUpdate","shouldComponentUpdate",1795750960),zh=new nl(null,"ancestors","ancestors",-776045424),Zh=new Mt(null,"flag","flag",-1565787888,null),Qh=new nl(null,"style","style",-496642736),nf=new nl(null,"theme","theme",-1247880880),tf=new nl(null,"stream","stream",1534941648),ef=new nl(null,"charset-fn","charset-fn",1374523920),rf=new nl(null,"author","author",2111686192),lf=new nl(null,"escape-intermediate","escape-intermediate",1036490448),uf=new nl(null,"div","div",1057191632),of=new nl(null,"readably","readably",1129599760),af=new nl(null,"change-speed","change-speed",2125740976),sf=new nl(null,"more-marker","more-marker",-14717935),cf=new nl(null,"new-line-mode","new-line-mode",1467504785),hf=new nl(null,"optional?","optional?",1184638129),ff=new nl(null,"csi-intermediate","csi-intermediate",-410048175),pf=new nl(null,"reagentRender","reagentRender",-358306383),df=new nl(null,"idle-time-limit","idle-time-limit",-928369231),vf=new nl(null,"started?","started?",-1301062863),wf=new nl(null,"other-buffer-saved","other-buffer-saved",-2048065486),mf=new nl(null,"snapshot","snapshot",-1274785710),gf=new nl(null,"osc-start","osc-start",-1717437326),yf=new nl(null,"preload","preload",1646824722),bf=new nl(null,"stop","stop",-2140911342),Ef=new nl(null,"no-cache","no-cache",1588056370),Cf=new Mt(null,"Uuid","Uuid",-1866694318,null),_f=new nl(null,"render","render",-1408033454),jf=new Mt(null,"width","width",1256460050,null),If=new nl(null,"poster","poster",-1616913550),kf=new nl(null,"csi-ignore","csi-ignore",-764437550),xf=new nl(null,"reagent-render","reagent-render",-985383853),Af=new nl(null,"auto-play","auto-play",-645319501),Nf=new nl(null,"collect","collect",-284321549),Tf=new nl(null,"pre.asciinema-terminal","pre.asciinema-terminal",832737619),Of=new nl(null,"loading","loading",-737050189),Sf=new nl(null,"priority","priority",1431093715),Mf=new nl(null,"auto-play?","auto-play?",385278451),Pf=new Mt(null,"val","val",1769233139,null),Df=new nl(null,"span.line","span.line",-1541583788),Rf=new nl(null,"print-length","print-length",1931866356),Lf=new nl(null,"poster-time","poster-time",1478579796),Ff=new nl(null,"saved","saved",288760660),Uf=new nl(null,"error-symbol","error-symbol",-823480428),Bf=new nl(null,"on-can-play","on-can-play",1481578549),Hf=new nl(null,"catch-exception","catch-exception",-1997306795),Vf=new nl(null,"constructor","constructor",-1953928811),Wf=new nl(null,"auto-run","auto-run",1958400437),qf=new nl(null,"div.asciinema-player","div.asciinema-player",-1293079051),Kf=new nl(null,"parents","parents",-2027538891),Gf=new nl(null,"author-url","author-url",1091920533),Yf=new nl(null,"pred-name","pred-name",-3677451),Xf=new Mt(null,"meta42957","meta42957",-1080714315,null),Jf=new nl(null,"on-mouse-move","on-mouse-move",-1386320874),$f=new nl(null,"component-will-unmount","component-will-unmount",-2058314698),zf=new nl(null,"prev","prev",-1597069226),Zf=new nl(null,"svg","svg",856789142),Qf=new nl(null,"getDuration","getDuration",-995932010),np=new nl(null,"url","url",276297046),tp=new nl(null,"authorURL","authorURL",549221782),ep=new Mt(null,"meta38850","meta38850",1963771318,null),rp=new nl(null,"continue-block","continue-block",-1852047850),lp=new nl(null,"loop?","loop?",457687798),ip=new Mt(null,"ch","ch",1085813622,null),up=new Mt(null,"CodePoint","CodePoint",-132710345,null),op=new nl(null,"autoPlay","autoPlay",-561263241),ap=new Mt(null,"=>","=>",-813269641,null),sp=new nl(null,"playing","playing",70013335),cp=new Mt(null,"Keyword","Keyword",-850065993,null),hp=new nl(null,"display-name","display-name",694513143),fp=new nl(null,"random","random",-557811113),pp=new nl(null,"position","position",-2011731912),dp=new nl(null,"on-dispose","on-dispose",2105306360),vp=new nl(null,"d","d",1972142424),wp=new nl(null,"action","action",-811238024),mp=new nl(null,"stdout-ch","stdout-ch",825692568),gp=new nl(null,"pause","pause",-2095325672),yp=new nl(null,"error","error",-978969032),bp=new nl(null,"span.fullscreen-button","span.fullscreen-button",-1476136392),Ep=new nl(null,"class-name","class-name",945142584),Cp=new nl(null,"componentFunction","componentFunction",825866104),_p=new nl(null,"div.loader","div.loader",-1644603528),jp=new nl(null,"origin-mode","origin-mode",-1430095912),Ip=new nl(null,"x","x",2099068185),kp=new nl(null,"__html","__html",674048345),xp=new nl(null,"fontSize","fontSize",919623033),Ap=new nl(null,"div.asciinema-player-wrapper","div.asciinema-player-wrapper",2009764409),Np=new nl(null,"startAt","startAt",849336089),Tp=new nl(null,"getCurrentTime","getCurrentTime",697283642),Op=new nl(null,"put","put",1299772570),Sp=new Mt(null,"CharAttrs","CharAttrs",1533586778,null),Mp=new nl(null,"top-margin","top-margin",655579514),Pp=new nl(null,"unhook","unhook",1440586234),Dp=new nl(null,"play","play",-580418022),Rp=new nl(null,"seek","seek",758996602),Lp=new Mt(null,"chars","chars",545901210,null),Fp=new nl(null,"version","version",425292698),Up=new Mt(null,"line","line",1852876762,null),Bp=new nl(null,"on-pause","on-pause",1839279163),Hp=new nl(null,"visible","visible",-1024216805),Vp=new nl(null,"autobind","autobind",-570650245),Wp=new nl(null,"hierarchy","hierarchy",-1053470341),qp=new nl(null,"on-key-down","on-key-down",-1374733765),Kp=new nl(null,"on-play","on-play",-188934501),Gp=new Mt(null,"=>*","=>*",1909690043,null),Yp=new nl(null,"alt-impl","alt-impl",670969595),Xp=new nl(null,"bg","bg",-206688421),Jp=new nl(null,"p?","p?",-1172161701),$p=new nl(null,"onCanPlay","onCanPlay",197552027),zp=new nl(null,"other-buffer-lines","other-buffer-lines",-1562366021),Zp=new Mt(null,"record","record",861424668,null),Qp=new nl(null,"italic","italic",32599196),nd=new Mt(null,"required-key","required-key",1624616412,null),td=new nl(null,"dcs-ignore","dcs-ignore",198619612),ed=new Mt(null,"optional","optional",-600484260,null),rd=new nl(null,"keywordize-keys","keywordize-keys",1310784252),ld=new Mt(null,"Int","Int",-2116888740,null),id=new nl(null,"span.time-remaining","span.time-remaining",706865437),ud=new nl(null,"componentWillMount","componentWillMount",-285327619),od=new nl(null,"idleTimeLimit","idleTimeLimit",-867712227),ad=new nl("internal","seek","internal/seek",-1958914115),sd=new nl(null,"href","href",-793805698),cd=new nl(null,"buffer","buffer",617295198),hd=new nl(null,"img","img",1442687358),fd=new nl(null,"stdout","stdout",-531490018),pd=new nl(null,"a","a",-2123407586),dd=new nl(null,"dangerouslySetInnerHTML","dangerouslySetInnerHTML",-554971138),vd=new nl(null,"height","height",1025178622),wd=new Mt("s","Num","s/Num",-2044935073,null),md=new nl(null,"clear","clear",1877104959),gd=new nl("cljs.core","not-found","cljs.core/not-found",-1572889185),yd=new Mt(null,"meta36583","meta36583",-346463841,null),bd=new nl(null,"span","span",1394872991),Ed=new nl(null,"show","show",-576705889),Cd=new Mt(null,"f","f",43394975,null),_d=new nl(null,"onPause","onPause",-470027297);function jd(n,t){var e,r=Al(ea,n,t);return Qr(r,wi((e=r,function(n){return e===n}),t))}var Id=function n(t){switch(arguments.length){case 0:return n.B();case 1:return n.h(t);case 2:return n.c(t,arguments[1]);default:for(var e=[],r=arguments.length,l=0;l")}if(void 0===yv)var yv=null;function bv(){for(;;){var n=yv;if(null==n)return null;yv=null;for(var t=n.length,e=0;e");switch(e){case-1:var r=e=t;if(null==(t=(t=lw).hasOwnProperty(r)?t[r]:null)){var l=Ut(ha(Kv,Qo(t=e)));e=je(l,0,null),r=je(l,1,null),l=null==(l=je(l,2,null))?null:Rd(l,/\./," "),t=lw[t]={name:e,id:r,className:l}}return iw(t,n,1);case 0:return iw({name:t=je(n,1,null)},n,2);default:n=new Fi(null,2,5,Bi,[t.substring(0,e),ke.l(n,0,t.substring(e+1))],null)}}}(n):fr(n)?ow.h?ow.h(n):ow.call(null,n):Gv(n)?Qo(n):(null!=n?2147483648&n.m||yt===n.ma||!n.m&&Q(zn,n):Q(zn,n))?ma(ve([n])):n}function ow(n){for(var t=(n=on(n)).length,e=0;e^~?".split(""),"_CIRCA_ _BANG_ _DOUBLEQUOTE_ _SHARP_ _PERCENT_ _AMPERSAND_ _SINGLEQUOTE_ _STAR_ _PLUS_ _ _SLASH_ _COLON_ _LBRACK_ _LBRACE_ _LT_ _BSLASH_ _BAR_ _EQ_ _RBRACK_ _RBRACE_ _GT_ _CARET_ _TILDE_ _QMARK_".split(" "))))}function kw(n){if("string"!=typeof(n=""+Ur.h(n)))throw new TypeError("re-find must match against a string.");return Iw(bt(n=Ol(ge(n=null==(n=/function ([^\(]*)\(/.exec(n))?null:(1===Ce(n)?Lt:Wi)(n))))?n:"function")}function xw(n,t){n.schema$utils$schema=t}(Ew.fc={}).s=function(n,t,e){return isNaN(e)||""==e||n.length>=Number(e)?n:n=-1=Number(e)?r:(r=isNaN(l)?Math.abs(Number(n)).toString():Math.abs(Number(n)).toFixed(l),n=Number(e)-r.length-i.length,r=0<=t.indexOf("-",0)?i+r+g(" ",n):(t=0<=t.indexOf("0",0)?"0":" ",i+g(t,n)+r))},Ew.fc.d=function(n,t,e,r,l,i,u,o){return Ew.fc.f(parseInt(n,10),t,e,r,0,i,u,o)},Ew.fc.i=Ew.fc.d,Ew.fc.u=Ew.fc.d,ei.h(19),ei.h(!1);var Aw,Nw=function n(t){if(null!=t&&null!=t.xb)return t.xb(t);var e=n[h(null==t?null:t)];if(null!=e)return e.h?e.h(t):e.call(null,t);if(null!=(e=n._))return e.h?e.h(t):e.call(null,t);throw tn("Schema.explain",t)};function Tw(n,t,e,r){this.nc=n,this.v=t,this.j=e,this.w=r,this.m=2229667594,this.J=139264}Nw.function=function(n){var t=n.schema$utils$schema;return bt(t)?Nw(t):bt(Bt.c?Bt.c(null,n):Bt.call(null,null,n))?Bh:bt(Bt.c?Bt.c(Boolean,n):Bt.call(null,Boolean,n))?hc:bt(Bt.c?Bt.c(Number,n):Bt.call(null,Number,n))?oh:bt(Bt.c?Bt.c(null,n):Bt.call(null,null,n))?mh:bt(Bt.c?Bt.c(Date,n):Bt.call(null,Date,n))?Ah:bt(Bt.c?Bt.c(cs,n):Bt.call(null,cs,n))?Cf:n},(n=Tw.prototype).V=function(n,t){return this.I(null,t,null)},n.I=function(n,t,e){switch(t instanceof nl?t.ea:null){case"_":return this.nc;default:return Ie.l(this.j,t,e)}},n.R=function(n,t,e){return fa(t,function(n){return fa(t,wa,""," ","",e,n)},"#schema.core.AnythingSchema{",", ","}",e,bl.c(new Fi(null,1,5,Bi,[new Fi(null,2,5,Bi,[wc,this.nc],null)],null),this.j))},n.ba=function(){return new cu(0,this,1,new Fi(null,1,5,Bi,[wc],null),bt(this.j)?dt(this.j):Sl())},n.P=function(){return this.v},n.W=function(){return 1+Ce(this.j)},n.U=function(){var n=this,t=this.w;if(null!=t)return t;var e=function(n){return-1432036169^Gt(n)}(n);return this.w=e},n.K=function(n,t){return null!=t&&this.constructor===t.constructor&&Bt.c(this.nc,t.nc)&&Bt.c(this.j,t.j)},n.ga=function(n,t){return wr(new Ho(null,new mu(null,1,[wc,null],null),null),t)?Ae.c(Rn(mi.c(gu,this),this.v),t):new Tw(this.nc,this.v,Ol(Ae.c(this.j,t)),null)},n.O=function(n,t,e){return bt(el.c?el.c(wc,t):el.call(null,wc,t))?new Tw(e,this.v,this.j,null):new Tw(this.nc,this.v,ke.l(this.j,t,e),null)},n.S=function(){return Rt(bl.c(new Fi(null,1,5,Bi,[new Fi(null,2,5,Bi,[wc,this.nc],null)],null),this.j))},n.T=function(n,t){return new Tw(this.nc,t,this.j,this.w)},n.X=function(n,t){return ar(t)?this.O(null,wn.c(t,0),wn.c(t,1)):xr(dn,this,t)},n.xb=function(){return vh};var Ow=new Tw(null,null,null,null);function Sw(n,t,e,r,l){this.wb=n,this.Xb=t,this.v=e,this.j=r,this.w=l,this.m=2229667594,this.J=139264}function Mw(n){var t=Pt.h(kw(n));if(!dr(n))throw Error(jw("Not a function: %s",ve([n])));return new Sw(n,t,null,null,null)}(n=Sw.prototype).V=function(n,t){return this.I(null,t,null)},n.I=function(n,t,e){switch(t instanceof nl?t.ea:null){case"p?":return this.wb;case"pred-name":return this.Xb;default:return Ie.l(this.j,t,e)}},n.R=function(n,t,e){return fa(t,function(n){return fa(t,wa,""," ","",e,n)},"#schema.core.Predicate{",", ","}",e,bl.c(new Fi(null,2,5,Bi,[new Fi(null,2,5,Bi,[Jp,this.wb],null),new Fi(null,2,5,Bi,[Yf,this.Xb],null)],null),this.j))},n.ba=function(){return new cu(0,this,2,new Fi(null,2,5,Bi,[Jp,Yf],null),bt(this.j)?dt(this.j):Sl())},n.P=function(){return this.v},n.W=function(){return 2+Ce(this.j)},n.U=function(){var n=this,t=this.w;if(null!=t)return t;var e=function(n){return 2041221968^Gt(n)}(n);return this.w=e},n.K=function(n,t){return null!=t&&this.constructor===t.constructor&&Bt.c(this.wb,t.wb)&&Bt.c(this.Xb,t.Xb)&&Bt.c(this.j,t.j)},n.ga=function(n,t){return wr(new Ho(null,new mu(null,2,[Yf,null,Jp,null],null),null),t)?Ae.c(Rn(mi.c(gu,this),this.v),t):new Sw(this.wb,this.Xb,this.v,Ol(Ae.c(this.j,t)),null)},n.O=function(n,t,e){return bt(el.c?el.c(Jp,t):el.call(null,Jp,t))?new Sw(e,this.Xb,this.v,this.j,null):bt(el.c?el.c(Yf,t):el.call(null,Yf,t))?new Sw(this.wb,e,this.v,this.j,null):new Sw(this.wb,this.Xb,this.v,ke.l(this.j,t,e),null)},n.S=function(){return Rt(bl.c(new Fi(null,2,5,Bi,[new Fi(null,2,5,Bi,[Jp,this.wb],null),new Fi(null,2,5,Bi,[Yf,this.Xb],null)],null),this.j))},n.T=function(n,t){return new Sw(this.wb,this.Xb,t,this.j,this.w)},n.X=function(n,t){return ar(t)?this.O(null,wn.c(t,0),wn.c(t,1)):xr(dn,this,t)},n.xb=function(){return Bt.c(this.wb,vr)?ld:Bt.c(this.wb,tl)?cp:Bt.c(this.wb,St)?Xs:Bt.c(this.wb,Z)?Bh:dn(dn(Kr,this.Xb),ph)},RegExp.prototype.xb=function(){return Pt.h(['#"',Ur.h((""+Ur.h(this)).slice(1,-1)),'"'].join(""))};var Pw=Mw(Z),Dw=Boolean,Rw=Number,Lw=Mw(vr),Fw=Mw(tl);function Uw(n,t,e,r){this.ia=n,this.v=t,this.j=e,this.w=r,this.m=2229667594,this.J=139264}function Bw(n,t,e,r,l){this.Yb=n,this.Hb=t,this.v=e,this.j=r,this.w=l,this.m=2229667594,this.J=139264}function Hw(n){return n instanceof nl||!1}function Vw(n,t,e,r){this.k=n,this.v=t,this.j=e,this.w=r,this.m=2229667594,this.J=139264}function Ww(n){return new Vw(n,null,null,null)}function qw(n){var t=Hw(n);if(bt(bt(t)?t:n instanceof Vw)){if(n instanceof nl)return n;if(t=bt(Hw(n))?nd:bt(n instanceof Vw)?ks:null,!(n instanceof nl)){if(!bt(n instanceof Vw))throw Error(jw("Bad explicit key: %s",ve([n])));n=n.k}return n=dn(Kr,n),dn(n,t)}return Nw(n)}function Kw(n){return mi.c(gu,function o(a){return new al(null,function(){for(;;){var n=Rt(a);if(n){if(sr(n)){var t=st(n),e=Ce(t),r=fl(e);n:for(var l=0;;){if(!(lparseFloat(Mb)){Nb=String(Db);break n}}Nb=Mb}var Rb,Lb={};function Fb(o){return n=o,t=function(){for(var n=0,t=m(String(Nb)).split("."),e=m(String(o)).split("."),r=Math.max(t.length,e.length),l=0;0==n&&l>>0);function hE(t){return f(t)?t:(t[cE]||(t[cE]=function(n){return t.handleEvent(n)}),t[cE])}function fE(){bb.call(this),this.Ib=new $b(this),(this.ff=this).ve=null}function pE(n,t,e,r){if(!(t=n.Ib.rb[String(t)]))return!0;t=t.concat();for(var l=!0,i=0;ithis.head?(WE(this.o,this.fa,n,0,this.o.length-this.fa),WE(this.o,0,n,this.o.length-this.fa,this.head),this.fa=0,this.head=this.length,this.o=n):this.fa===this.head?(this.head=this.fa=0,this.o=n):null},(n=XE.prototype).Nd=function(){return this.aa.length===this.n},n.Sc=function(){return this.aa.pop()},n.Md=function(n,t){return KE(this.aa,t),this},n.ne=function(){return null},n.W=function(){return this.aa.length},(n=JE.prototype).Nd=function(){return!1},n.Sc=function(){return this.aa.pop()},n.Md=function(n,t){return this.aa.length!==this.n&&this.aa.unshift(t),this},n.ne=function(){return null},n.W=function(){return this.aa.length},void 0===$E)var $E={};function zE(n){this.H=n,this.m=2,this.J=0}(n=zE.prototype).Nd=function(){return!1},n.Sc=function(){return this.H},n.Md=function(n,t){return bt($E===this.H)&&(this.H=t),this},n.ne=function(){return bt($E===this.H)?this.H=null:null},n.W=function(){return bt($E===this.H)?0:1};var ZE,QE,nC=YE(32),tC=!1,eC=!1;function rC(){eC=!(tC=!0);for(var n=0;;){var t=nC.pop();if(!(null!=t&&(t.B?t.B():t.call(null),n<1024)))break;n+=1}return tC=!1,0this.level){for(var l=this.level+1;l<=r+1;)e[l]=this.header,l+=1;this.level=r}return r=EC(n,t,Array(r)),0<=this.level?(e=e[0].forward,r.forward[0]=e[0],e[0]=r):null},_C.prototype.remove=function(n){var t=Array(15),e=CC(this.header,n,this.level,t);if(null==(e=0===e.forward.length?null:e.forward[0])||e.key!==n)return null;for(n=0;n<=this.level;){var r=t[n].forward;e===(n=n)break n}null!=l?(--r,e=l):--r}}(t),r=bt(bt(e)?e.key '],null)],null)],null)}function G_(){return new Fi(null,3,5,Bi,[Zf,new mu(null,3,[Fp,"1.1",Eh,"0 0 12 12",Ep,"icon"],null),new Fi(null,2,5,Bi,[ms,new mu(null,1,[vp,"M1,0 L11,6 L1,12 Z"],null)],null)],null)}function Y_(){return new Fi(null,4,5,Bi,[Zf,new mu(null,3,[Fp,"1.1",Eh,"0 0 12 12",Ep,"icon"],null),new Fi(null,2,5,Bi,[ms,new mu(null,1,[vp,"M1,0 L4,0 L4,12 L1,12 Z"],null)],null),new Fi(null,2,5,Bi,[ms,new mu(null,1,[vp,"M8,0 L11,0 L11,12 L8,12 Z"],null)],null)],null)}function X_(){return new Fi(null,4,5,Bi,[Zf,new mu(null,3,[Fp,"1.1",Eh,"0 0 12 12",Ep,"icon"],null),new Fi(null,2,5,Bi,[ms,new mu(null,1,[vp,"M12,0 L7,0 L9,2 L7,4 L8,5 L10,3 L12,5 Z"],null)],null),new Fi(null,2,5,Bi,[ms,new mu(null,1,[vp,"M0,12 L0,7 L2,9 L4,7 L5,8 L3,10 L5,12 Z"],null)],null)],null)}function J_(){return new Fi(null,4,5,Bi,[Zf,new mu(null,3,[Fp,"1.1",Eh,"0 0 12 12",Ep,"icon"],null),new Fi(null,2,5,Bi,[ms,new mu(null,1,[vp,"M7,5 L7,0 L9,2 L11,0 L12,1 L10,3 L12,5 Z"],null)],null),new Fi(null,2,5,Bi,[ms,new mu(null,1,[vp,"M5,7 L0,7 L2,9 L0,11 L1,12 L3,10 L5,12 Z"],null)],null)],null)}function $_(n,t){return e=R_(t,new YC(null,null,null)),function(){return new Fi(null,3,5,Bi,[qc,new mu(null,1,[Dh,e],null),new Fi(null,1,5,Bi,[bt(Mn(n))?Y_:G_],null)],null)};var e}function z_(n){return n<10?["0",Ur.h(n)].join(""):n}function Z_(n){var t=Math.floor((n%60+60)%60);return[Ur.h(z_(Math.floor(n/60))),":",Ur.h(z_(t))].join("")}function Q_(n,t){var e=Bi,r=new Fi(null,2,5,Bi,[Uc,Z_(Mn(n))],null),l=Bi,i=Mn(n),u=Mn(t);return i=["-",Ur.h(Z_(u-i))].join(""),new Fi(null,3,5,e,[Nh,r,new Fi(null,2,5,l,[id,i],null)],null)}function nj(){function n(n){return n.preventDefault(),P_(n.currentTarget.parentNode.parentNode.parentNode)}return function(){return new Fi(null,4,5,Bi,[bp,new mu(null,1,[Dh,n],null),new Fi(null,1,5,Bi,[X_],null),new Fi(null,1,5,Bi,[J_],null)],null)}}function tj(n,t){var e,r,l=D_(t,function(n){var t=n.currentTarget.offsetWidth,e=n.currentTarget.getBoundingClientRect();return qC(Hy(n.clientX-e.left,t)/t)}),i=Nv(function(){return[Ur.h(100*Mn(n)),"%"].join("")});return e=l,r=i,function(){return new Fi(null,2,5,Bi,[Ps,new Fi(null,3,5,Bi,[wh,new mu(null,1,[Mh,e],null),new Fi(null,2,5,Bi,[ds,new Fi(null,2,5,Bi,[bd,new mu(null,1,[Qh,new mu(null,1,[Yc,Mn(r)],null)],null)],null)],null)],null)],null)}}function ej(n,t,e,r){return l=Nv(function(){return Mn(t)/Mn(e)}),function(){return new Fi(null,5,5,Bi,[Ic,new Fi(null,3,5,Bi,[$_,n,r],null),new Fi(null,3,5,Bi,[Q_,t,e],null),new Fi(null,1,5,Bi,[nj],null),new Fi(null,3,5,Bi,[tj,l,r],null)],null)};var l}function rj(n){return t=R_(n,new YC(null,null,null)),function(){return new Fi(null,3,5,Bi,[th,new mu(null,1,[Dh,t],null),new Fi(null,2,5,Bi,[Fc,new Fi(null,2,5,Bi,[uf,new Fi(null,2,5,Bi,[bd,new Fi(null,1,5,Bi,[K_],null)],null)],null)],null)],null)};var t}function lj(){return new Fi(null,2,5,Bi,[yc,new Fi(null,1,5,Bi,[_p],null)],null)}function ij(t){return Xl(function(n){return t[n]},new Fi(null,4,5,Bi,["altKey","shiftKey","metaKey","ctrlKey"],null))}function uj(n){var t=function(n){var t=bt(ij(n))?null:function(){switch(n.key){case" ":return new YC(null,null,null);case"f":return Yh;case"0":return qC(0);case"1":return qC(.1);case"2":return qC(.2);case"3":return qC(.3);case"4":return qC(.4);case"5":return qC(.5);case"6":return qC(.6);case"7":return qC(.7);case"8":return qC(.8);case"9":return qC(.9);default:return null}}();if(bt(t))return t;switch(n.key){case">":return new GC(null,null,null);case"<":return new KC(null,null,null);default:return null}}(n);return bt(t)?(n.preventDefault(),Bt.c(t,Yh)?(P_(n.currentTarget),null):t):null}function oj(n){var t=function(n){if(bt(ij(n)))return null;switch(n.which){case 37:return new VC(null,null,null);case 39:return new HC(null,null,null);default:return null}}(n);return bt(t)?(n.preventDefault(),t):null}function aj(n,t,e,r){return n=bt(n)?['"',Ur.h(n),'"'].join(""):"untitled",new Fi(null,4,5,Bi,[Kc,bt(r)?new Fi(null,2,5,Bi,[hd,new mu(null,1,[dh,r],null)],null):null,n,bt(t)?new Fi(null,3,5,Bi,[bd," by ",bt(e)?new Fi(null,3,5,Bi,[pd,new mu(null,1,[sd,e],null),t],null):t],null):null],null)}function sj(u){var o,a=xC(1,ui.h($C)),n=kC(1);return iC((o=n,function(){var n,r,t,e=(r=function(n){var t=n[1];if(7===t)return n[7]=n[2],mC(n,12,a,!1);if(1===t)return n[2]=null,n[1]=2,ih;if(4===t)return n[8]=n[2],mC(n,5,a,!0);if(6===t)return t=IC(3e3),DC(n,8,new Fi(null,2,5,Bi,[u,t],null));if(3===t)return gC(n,n[2]);if(12===t)return n[9]=n[2],n[2]=null,n[1]=2,ih;if(2===t)return wC(n,4,u);if(11===t)return n[2]=n[2],n[1]=7,ih;if(9===t)return n[2]=null,n[1]=6,ih;if(5===t)return n[10]=n[2],n[2]=null,n[1]=6,ih;if(10===t)return n[2]=null,n[1]=11,ih;if(8!==t)return null;var e=n[2];return t=je(e,0,null),e=je(e,1,null),e=Bt.c(e,u),n[11]=t,n[1]=e?9:10,ih},t=null,(t=function(n){switch(arguments.length){case 0:return i.call(this);case 1:return l.call(this,n)}throw Error("Invalid arity: "+(arguments.length-1))}).B=i,t.h=l,t);function l(t){for(;;){n:try{for(;;){var n=r(t);if(!el(n,ih)){var e=n;break n}}}catch(n){if(!(n instanceof Object))throw n;t[5]=n,yC(t),e=ih}if(!el(e,ih))return e}}function i(){var n=[null,null,null,null,null,null,null,null,null,null,null,null];return n[0]=t,n[1]=1,n}return vC(((n=e.B?e.B():e.call(null))[6]=o,n))})),a}function cj(a,n){var u,s,t=ei.h(n),e=kC(1);return iC((u=e,s=t,function(){var n,r,t,o,e=(o=s,r=function(n){var t,e=n[1];if(7===e){var r=n[7],l=Ct(null==r);return n[8]=n[2],n[1]=l?8:9,ih}if(20===e)return r=n[7],n[1]=bt(yt===r.Fe)?23:24,ih;if(27===e)return n[2]=!1,n[1]=28,ih;if(1===e)return n[2]=null,n[1]=2,ih;if(24===e)return r=n[7],n[1]=bt(!r.Tc)?26:27,ih;if(4!==e)return 15===e?(n[2]=!1,n[1]=16,ih):21===e?(l=Q(UC,r=n[7]),n[2]=l,n[1]=22,ih):31===e?(n[11]=n[2],n[2]=null,n[1]=2,ih):13===e?(n[2]=n[2],n[1]=10,ih):22===e?(n[1]=bt(n[2])?29:30,ih):29===e?(r=n[7],l=Mn(a),l=BC(r,l),l=li.l(o,Id,l),n[2]=l,n[1]=31,ih):6===e?(n[2]=null,n[1]=7,ih):28===e?(n[2]=n[2],n[1]=25,ih):25===e?(n[2]=n[2],n[1]=22,ih):17===e?(u=n[10],r=n[7],n[9],l=li.c(a,(t=r,function(n){return FC(t,n)})),n[2]=l,n[1]=19,ih):3===e?gC(n,n[2]):12===e?(r=n[7],n[1]=bt(!r.Tc)?14:15,ih):2===e?DC(n,4,l=Rt(l=Mn(o))):23===e?(n[2]=!0,n[1]=25,ih):19===e?(l=Ct(null==(r=n[7])),n[12]=n[2],n[1]=l?20:21,ih):11===e?(n[2]=!0,n[1]=13,ih):9===e?(l=Q(LC,r=n[7]),n[2]=l,n[1]=10,ih):5===e?(u=n[10],l=li.l(o,tr,u),n[2]=l,n[1]=7,ih):14===e?(l=Q(LC,r=n[7]),n[2]=l,n[1]=16,ih):26===e?(l=Q(UC,r=n[7]),n[2]=l,n[1]=28,ih):16===e?(n[2]=n[2],n[1]=13,ih):30===e?(n[2]=null,n[1]=31,ih):10===e?(n[1]=bt(n[2])?17:18,ih):18===e?(n[2]=null,n[1]=19,ih):8===e?(r=n[7],n[1]=bt(yt===r.sb)?11:12,ih):null;r=n[7],n[9];var i=je(l=n[2],0,null),u=je(l,1,null);return n[10]=u,n[7]=i,n[9]=l,n[1]=bt(null==i)?5:6,ih},t=null,(t=function(n){switch(arguments.length){case 0:return i.call(this);case 1:return l.call(this,n)}throw Error("Invalid arity: "+(arguments.length-1))}).B=i,t.h=l,t);function l(t){for(;;){n:try{for(;;){var n=r(t);if(!el(n,ih)){var e=n;break n}}}catch(n){if(!(n instanceof Object))throw n;t[5]=n,yC(t),e=ih}if(!el(e,ih))return e}}function i(){var n=[null,null,null,null,null,null,null,null,null,null,null,null,null];return n[0]=t,n[1]=1,n}return vC(((n=e.B?e.B():e.call(null))[6]=u,n))})),e}function hj(t,n,e){e=R_(e,!0);var r,l,i,u,o,a,s,c,h,f,p,d,v,w,m,g,y,b,E,C,_,j,I=D_(n,uj),k=D_(n,oj),x=Nv(function(){return Of.h(Mn(t))}),A=Nv(function(){return Gc.h(Mn(t))}),N=Nv((l=x,i=A,function(){var n=Mn(l);return bt(n)?n:Mn(i)})),T=Nv((r=N,function(){var n=Ec.h(Mn(t));return n=bt(n)?n:Ct(Mn(r)),bt(n)?"hud":null})),O=Nv(function(){return["asciinema-theme-",Ur.h(nf.h(Mn(t)))].join("")}),S=Nv(function(){var n=Yc.h(Mn(t));return bt(n)?n:80}),M=Nv(function(){var n=vd.h(Mn(t));return bt(n)?n:24}),P=Nv(function(){return cc.h(Mn(t))}),D=Nv(function(){return Ys.h(Mn(t))}),R=Nv(function(){return Qc.h(Mn(t))}),L=Nv(function(){return sp.h(Mn(t))}),F=Nv(function(){return Ms.h(Mn(t))}),U=Nv(function(){return hh.h(Mn(t))}),B=Mn(t),H=null!=B&&(64&B.m||yt===B.G)?xl(jo,B):B,V=Ie.c(H,Wh),W=Ie.c(H,rf),q=Ie.c(H,Gf),K=Ie.c(H,Jh);return u=e,o=I,a=k,s=x,c=N,h=T,f=O,p=S,d=M,v=P,w=D,m=R,g=L,y=F,b=U,E=V,C=W,_=q,j=K,function(){return new Fi(null,3,5,Bi,[Ap,new mu(null,5,[Cs,-1,Fs,o,qp,a,Jf,u,Ep,Mn(h)],null),new Fi(null,7,5,Bi,[qf,new mu(null,1,[Ep,Mn(f)],null),new Fi(null,6,5,Bi,[q_,p,d,v,w,m],null),new Fi(null,5,5,Bi,[ej,g,y,b,n],null),bt(bt(E)?E:C)?new Fi(null,5,5,Bi,[aj,E,C,_,j],null):null,bt(Mn(c))?null:new Fi(null,2,5,Bi,[rj,n],null),bt(Mn(s))?new Fi(null,1,5,Bi,[lj],null):null],null)],null)}}function fj(l){var i,u,n=kC(null),t=kC(new JE(YE(1),1));return i=n,u=t,function(){return qv(new mu(null,4,[hp,"asciinema-player",xf,function(){return hj(l,n,r)},Hc,(t=n=i,e=r=u,function(){var n=p_(Ch.h(Mn(l)));return PC(sj(e),t),cj(l,Ko([t,n]))}),$f,function(){return d_(Ch.h(Mn(l)))}],null));var t,e,n,r}}function pj(n,t){var e=null!=t&&(64&t.m||yt===t.G)?xl(jo,t):t,r=Ie.c(e,dc),l=Ie.c(e,Ch);return r=n.h?n.h(r):n.call(null,r),v_(l,r),ke.l(e,dc,r)}function dj(n){var t=b_(ui.l(function(n,t){return new Fi(null,2,5,Bi,[n,new XC(t,null,null,null)],null)},pi(function(n){return n+.5},.5),hi(new Fi(null,2,5,Bi,[!1,!0],null))));return ke.l(ke.l(n,Qc,!0),Oh,t)}function vj(n){n=null!=n&&(64&n.m||yt===n.G)?xl(jo,n):n;var t=Ie.c(n,Oh);return UE(t),ke.l(ke.l(n,Qc,!0),Oh,null)}function wj(n){return n=null!=n&&(64&n.m||yt===n.G)?xl(jo,n):n,bt(n=Ie.c(n,Oh))?Ko([n]):qo}function mj(n){return bt(n)?(n=ui.c(parseFloat,Fd(""+Ur.h(n),/:/)),n=ui.l(Sr,Gr(n),pi(function(n){return 60*n},1)),xl(Or,n)):null}HC.prototype.sb=yt,HC.prototype.qb=function(n,t){var e=null!=t&&(64&t.m||yt===t.G)?xl(jo,t):t,r=Ie.c(e,Ms),l=Ie.c(e,hh),i=Ie.c(e,Ch);return bt(l)&&o_(i,Hy(r+5,l)),e},VC.prototype.sb=yt,VC.prototype.qb=function(n,t){var e=null!=t&&(64&t.m||yt===t.G)?xl(jo,t):t,r=Ie.c(e,Ms),l=Ie.c(e,hh),i=Ie.c(e,Ch);return bt(l)&&o_(i,Hy(r+-5,l)),e},WC.prototype.sb=yt,WC.prototype.qb=function(n,t){var e=null!=t&&(64&t.m||yt===t.G)?xl(jo,t):t,r=Ie.c(e,hh),l=Ie.c(e,Ch);return bt(r)&&(r*=pp.h(this),o_(l,r)),e},KC.prototype.sb=yt,KC.prototype.qb=function(n,t){return pj(function(n){return n/2},t)},GC.prototype.sb=yt,GC.prototype.qb=function(n,t){return pj(function(n){return 2*n},t)},YC.prototype.sb=yt,YC.prototype.qb=function(n,t){return function n(t){if(null!=t&&null!=t.Dd)return t.Dd(t);var e=n[h(null==t?null:t)];if(null!=e)return e.h?e.h(t):e.call(null,t);if(null!=(e=n._))return e.h?e.h(t):e.call(null,t);throw tn("Source.toggle",t)}(Ch.h(t)),t},XC.prototype.sb=yt,XC.prototype.qb=function(n,t){return ke.l(t,Qc,Ed.h(this))},JC.prototype.sb=yt,JC.prototype.qb=function(n,t){return ke.l(t,Ec,Ed.h(this))},zC.prototype.sb=yt,zC.prototype.qb=function(n,t){var e=null!=n&&(64&n.m||yt===n.G)?xl(jo,n):n;Ie.c(e,Yc),Ie.c(e,vd),Ie.c(e,hh),e=null!=t&&(64&t.m||yt===t.G)?xl(jo,t):t;var r=Ie.c(e,Yc),l=Ie.c(e,vd),i=null!=this&&(64&this.m||yt===this.G)?xl(jo,this):this,u=Ie.c(i,Yc),o=Ie.c(i,vd);return i=Ie.c(i,hh),ke.A(e,Yc,bt(r)?r:u,ve([vd,bt(l)?l:o,hh,i]))},ZC.prototype.sb=yt,ZC.prototype.qb=function(n,t){return ke.l(t,Of,Of.h(this))},e_.prototype.sb=yt,e_.prototype.qb=function(n,t){var e=null!=t&&(64&t.m||yt===t.G)?xl(jo,t):t,r=Ie.c(e,Bf);return bt(r)&&(uv(ov),r.B?r.B():r.call(null)),e},i_.prototype.sb=yt,i_.prototype.qb=function(n,t){return ke.l(t,Ms,Bc.h(this))},n_.prototype.sb=yt,n_.prototype.qb=function(n,t){var e=null!=n&&(64&n.m||yt===n.G)?xl(jo,n):n;Ie.c(e,sp);var r=null!=t&&(64&t.m||yt===t.G)?xl(jo,t):t,l=Ie.c(r,sp);e=Ie.c(r,Kp);var i=Ie.c(r,Bp),u=null!=this&&(64&this.m||yt===this.G)?xl(jo,this):this;return u=Ie.c(u,sp),Bt.c(l,u)?r:(r=ke.A(r,sp,u,ve([Gc,!0])),bt(u)?(bt(e)&&(e.B?e.B():e.call(null)),dj(r)):(bt(i)&&(i.B?i.B():i.call(null)),vj(r)))},n_.prototype.Fe=yt,n_.prototype.de=function(n,t){return wj(t)},r_.prototype.sb=yt,r_.prototype.qb=function(n,t){var e=ke.l(t,Ys,Ys.h(this));return e=null!=e&&(64&e.m||yt===e.G)?xl(jo,e):e,bt(Ie.c(e,Oh))?dj(vj(e)):e},r_.prototype.Fe=yt;var gj=new mu(null,2,[rh,new mu(null,1,[Hp,!(r_.prototype.de=function(n,t){return wj(t)})],null),$c,Hi],null);function yj(n,t){var e,r,l,i,u=null!=t&&(64&t.m||yt===t.G)?xl(jo,t):t,o=Ie.c(u,vd),a=Ie.l(u,cc,"small"),s=Ie.l(u,dc,1),c=Ie.c(u,Cc),h=Ie.c(u,Yc),f=Ie.c(u,uh),p=Ie.l(u,Xh,!1),d=Ie.l(u,nf,"asciinema"),v=Ie.c(u,df),w=Ie.c(u,If),m=Ie.l(u,yf,!1),g=Ie.l(u,Af,!1),y=bt(e=mj(c))?e:0;l=h,i=o;var b=null!=(w=l=bt(r=w)?"string"==typeof r?bt(0===r.indexOf("data:application/json;base64,"))?(l=r.substring(29).replace(RegExp("\\s","g"),""),l=xa(l=JSON.parse(atob(l))),new mu(null,1,[Ys,new mu(null,1,[$c,l],null)],null)):bt(0===r.indexOf("data:text/plain,"))?(r=r.substring(16),l=Ly(qg(bt(l)?l:80,bt(i)?i:24),r),new mu(null,1,[Ys,l],null)):bt(0===r.indexOf("npt:"))?new mu(null,1,[Bc,mj(r.substring(4))],null):null:new mu(null,1,[Ys,new mu(null,1,[$c,r],null)],null):null)&&(64&w.m||yt===w.G)?xl(jo,w):w;w=Ie.c(b,Ys);var E,C=bt(b=Ie.c(b,Bc))?b:Ct(w)&&0= 0) {
+ events = eventName.split(',');
+ }
+
+ events.forEach(eventName => {
+ // from youmightnotneedjquery.com
+ document.addEventListener(eventName.trim(), function (e) {
+ // loop parent nodes from the target to the delegation node
+ for (let target = e.target; target && target != this; target = target.parentNode) {
+ if (NodeList.prototype.isPrototypeOf(elemSelector)) {
+ for (el of elemSelector) {
+ if (el == target) {
+ handler.call(target, e);
+ return;
+ }
+ }
+ } else if (!elemSelector || target.matches(elemSelector)) {
+ handler.call(target, e);
+ return;
+ }
+ }
+ }, capture); // I find capture=true helpful when using :not() selectors to exclude one elem of the node tree
});
+}
+
+
+// cloneTemplate does a deep clone of the tag selected by tplSelector.
+function cloneTemplate(tplSelector) {
+ // Ohhhhhh wow, we need to use firstElementChild when cloning the content of a template tag (!!!!):
+ // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template#avoiding_documentfragment_pitfall
+ // I spent way too long on this.
+ const elem = $_(tplSelector);
+ if (!elem) return;
+ return elem.content.firstElementChild.cloneNode(true);
+ // return document.importNode(elem.content, true);
+}
+
+// Find the first element matching a selector which contains the specified text
+function findWithContent(selector, text) {
+ const selected = document.querySelectorAll(selector);
+ let found = null;
+ selected.forEach(element => {
+ if (element.textContent.includes(text)) {
+ found = element;
+ }
+ });
+ return found;
+}
+
+// Find the next element containing the specified text
+function findNextText(startElement, nextText) {
+ let currentElement = startElement.nextSibling;
+ while (currentElement) {
+ if (currentElement.textContent.includes(nextText)) {
+ return currentElement;
+ }
+ currentElement = currentElement.nextSibling;
+ }
+ return null;
+}
+
+// Function to wrap the range between startElement and endElement in a new span
+function wrapRangeWithSpan(startElement, endElement, className) {
+ // Check if startElement and endElement are the same
+ if (startElement === endElement) {
+ const span = document.createElement('span');
+ span.className = className;
+ span.appendChild(startElement.cloneNode(true));
+ startElement.parentNode.replaceChild(span, startElement);
+ return span;
+ }
+
+ // Create a new span element
+ const span = document.createElement('span');
+ span.className = className;
+
+ // Reference the parent node of the common ancestor
+ const parent = startElement.parentNode;
+
+ // Iterate through siblings and wrap them in the span
+ const toRemove = [];
+ for (var node = startElement; node; node = node.nextSibling) {
+ var clonedNode = node.cloneNode(true);
+ span.appendChild(clonedNode);
+ if (node === endElement) {
+ parent.replaceChild(span, endElement);
+ toRemove.forEach(node => parent.removeChild(node));
+ break;
+ }
+ toRemove.push(node);
+ }
+
+ return span;
+}
+
+
+
+
+
+
+
+// when the system theme changes, apply that to our site if system theme is configured
+window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', ({ matches }) => {
+ if (getTheme() == "system") {
+ applyTheme(matches ? "dark" : "light");
+ }
});
-const caddyImportPath = 'github.com/caddyserver/caddy/v2';
-
-function isStandard(packagePath) {
- return packagePath.startsWith(caddyImportPath);
+// getTheme returns the configured theme.
+function getTheme() {
+ return localStorage.getItem("theme") || "system";
}
-function truncate(str, maxLen) {
- if (!str) return "";
- str = str.trim();
- let firstPeriod = str.match(/\.(\s|$)/); // first dot not in the middle of a word, or at end of string
- let terminate = firstPeriod ? firstPeriod.index+1 : str.length;
- str = str.substring(0, terminate);
- if (str.length <= maxLen) {
- return str;
+// setTheme changes the configured theme to light, dark, or system and applies it.
+function setTheme(theme) {
+ if (theme !== "light" && theme !== "dark" && theme !== "system") {
+ theme = "system";
}
- return str+"...";
+ localStorage.setItem("theme", theme);
+ ready(function() { $_('#current-theme').innerText = theme; });
+ let lightOrDarkTheme = theme;
+ if (lightOrDarkTheme == "system") {
+ lightOrDarkTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? "dark" : "light";
+ }
+ applyTheme(lightOrDarkTheme);
}
-function moduleDocsPreview(mod, maxLen) {
- if (!mod || !mod.docs) return "";
- let short = truncate(mod.docs, maxLen);
- if (short.indexOf(mod.name) === 0) {
- short = short.substr(mod.name.length).trim();
+// applyTheme simply adds or removes the 'dark' class to the HTML.
+function applyTheme(lightOrDark) {
+ if (lightOrDark == "dark") {
+ $_('html').classList.add('dark');
+ } else {
+ $_('html').classList.remove('dark');
}
- return short;
}
-function detectPlatform() {
- // assume 32-bit linux, then change OS and architecture if justified
- var os = "linux", arch = "amd64";
-
- // change os
- if (/Macintosh/i.test(navigator.userAgent)) {
- os = "darwin";
- } else if (/Windows/i.test(navigator.userAgent)) {
- os = "windows";
- } else if (/FreeBSD/i.test(navigator.userAgent)) {
- os = "freebsd";
- } else if (/OpenBSD/i.test(navigator.userAgent)) {
- os = "openbsd";
+// nextTheme switches to the next theme in the rotation.
+function nextTheme() {
+ let theme = getTheme();
+ if (theme == "system") {
+ theme = "light";
+ } else if (theme == "light") {
+ theme = "dark";
+ } else if (theme == "dark") {
+ theme = "system";
}
-
- // change architecture
- if (os == "darwin" || /amd64|x64|x86_64|Win64|WOW64|i686|64-bit/i.test(navigator.userAgent)) {
- arch = "amd64";
- } else if (/arm64/.test(navigator.userAgent)) {
- arch = "arm64";
- } else if (/ ARM| armv/.test(navigator.userAgent)) {
- arch = "arm";
- }
-
- // change arm version
- if (arch == "arm") {
- var arm = "7"; // assume version 7 by default
- if (/armv6/.test(navigator.userAgent)) {
- arm = "6";
- } else if (/armv5/.test(navigator.userAgent)) {
- arm = "5";
- }
- arch += arm;
- }
-
- return [os, arch];
+ setTheme(theme);
}
-// Detect the platform OS, but with an allow-list of values
-// and if the value is not allowed, return the default.
-function defaultOS(allowed, def) {
- var [os] = detectPlatform();
- return allowed.includes(os) ? os : def;
-}
+
+
+
+// hoversplash effect!
+on('mouseover', '.button:not(.cool), button:not(.cool)', (e) => {
+ const elem = document.createElement('span');
+ elem.classList.add('hover-splash');
+
+ // get coordinates relative to container
+ const rect = e.target.getBoundingClientRect();
+ const x = e.clientX - rect.left;
+ const y = e.clientY - rect.top;
+
+ elem.style.left = `${x}px`;
+ elem.style.top = `${y}px`;
+
+ e.target.append(elem);
+
+ setTimeout(function() {
+ elem.remove();
+ }, 1000);
+});
+
+
+// mouseover highlights for feature sections that explain config
+on('mouseover', '.rollover', e => {
+ const target = e.target.closest('.rollover') || e.target;
+ $$_(`.${target.dataset.rollover}`).forEach(elem => elem.classList.add('show'));
+});
+on('mouseout', '.rollover', e => {
+ const target = e.target.closest('.rollover') || e.target;
+ $$_(`.${target.dataset.rollover}`).forEach(elem => elem.classList.remove('show'));
+});
+
+
+
+// immediately set the configured theme to avoid flash
+setTheme(getTheme());
diff --git a/src/resources/js/docs.js b/src/resources/js/docs.js
index 01c4ba5..39094db 100644
--- a/src/resources/js/docs.js
+++ b/src/resources/js/docs.js
@@ -1,87 +1,105 @@
-$(function() {
- function hasPrefix(str, prefix) {
- if (!prefix) return true;
- if (!str) return false;
- return str.indexOf(prefix) === 0;
- }
-
+ready(function() {
// highlight current page in left nav
- var $currentPageLink = $('main nav a[href="'+window.location.pathname+'"]');
- if (hasPrefix(window.location.pathname, "/docs/json/")) {
+ let currentPageLink = $_('main nav a[href="'+window.location.pathname+'"]');
+ if (window.location.pathname.startsWith("/docs/json/")) {
// as a special case, highlight the JSON structure link anywhere within it
- $currentPageLink = $('main nav a[href="/docs/json/"]');
+ currentPageLink = $_('main nav a[href="/docs/json/"]');
}
- if (hasPrefix(window.location.pathname, "/docs/modules/")) {
+ if (window.location.pathname.startsWith("/docs/modules/")) {
// as another special case, highlight the modules link anywhere within it
- $currentPageLink = $('main nav a[href="/docs/modules/"]');
+ currentPageLink = $_('main nav a[href="/docs/modules/"]');
+ }
+ currentPageLink?.classList?.add('current');
+
+ // generate in-page nav before adding anchor links to headings;
+ // only show sidebar if there are any navigable headers
+ // TODO: support h3 too
+ const spacingMS = 50;
+ let delay = spacingMS;
+ const h2elems = $$_('main article h2');
+ if (h2elems.length) {
+ $_('#pagenav .heading').style.display = 'block';
+ h2elems.forEach(elem => {
+ const a = document.createElement('a');
+ a.innerText = elem.innerText;
+ a.href = `#${elem.id}`;
+ setTimeout(function() {
+ $_('#pagenav').append(a);
+ }, delay);
+ delay += spacingMS;
+ });
}
- $currentPageLink.addClass('current');
// add anchor links, inspired by https://github.com/bryanbraun/anchorjs
- $('article > h1[id], article > h2[id], article > h3[id], article > h4[id], article > h5[id], article > h6[id]').each(function() {
- var $anchor = $('๐ ');
- $(this).append($anchor);
+ $$_('article > h2[id], article > h3[id], article > h4[id], article > h5[id], article > h6[id]').forEach(function(elem) {
+ const anchor = document.createElement('a');
+ anchor.href = `#${elem.id}`;
+ anchor.classList.add('anchor-link');
+ anchor.title = "Link to this section";
+ anchor.innerText = '๐';
+ elem.append(anchor);
});
- // the server-side markdown renderer annoyingly renders
- // colored code blocks differently from plain ones, in that
- // colorized ones do not have the additional inside
- // the ; this line finds those and adds a .chroma class
- // to the outer pre element, and our CSS file has a style to
- // ensure the inner code block does not produce extra padding
- $('article > pre:not(.chroma) > code:not(.cmd)').parent().addClass('chroma');
+ const autonav = $_('#autonav');
- // Add links to Caddyfile directive tokens in code blocks.
- // See include/docs-head.html for the whitelist bootstrapping logic
- $('pre.chroma .k')
- .filter((k, item) =>
- window.CaddyfileDirectives.includes(item.innerText)
- || item.innerText === ''
- )
- .map(function(k, item) {
- let text = item.innerText;
- let url = text === ''
- ? '/docs/caddyfile/directives'
- : '/docs/caddyfile/directives/' + text;
- text = text.replace(//g,'>');
- $(item).html('' + text + ' ');
- });
+ // when a left-side-nav-link is hovered, show the in-page nav in a popout to the side
+ on('mouseover', 'main nav li a:not(#autonav a)', async e => {
+ // only show the pop-out nav if not on mobile/narrow screen
+ if ($_('#docs-menu').offsetParent != null) {
+ return;
+ }
- // Add links to [] or named matcher tokens in code blocks.
- // The matcher text includes <> characters which are parsed as HTML,
- // so we must use text() to change the link text.
- $('pre.chroma .nd')
- .map(function(k, item) {
- let text = item.innerText.replace(//g,'>');
- $(item).html('' + text + ' ');
- });
+ const response = await fetch("/temporary-markdown-proxy"+e.target.getAttribute('href'));
+ const markdown = await response.text();
+ const tokens = marked.lexer(markdown);
+
+ // empty the container
+ autonav.replaceChildren();
+
+ let seenH1 = false;
+ for (const tkn of tokens) {
+ if (tkn.type != "heading") continue;
+ if (tkn.depth == 1) {
+ seenH1 = true;
+ }
+ if (!seenH1 || tkn.depth != 2) continue;
+
+ // this includes HTML entities like < (i.e. not user-facing text), but
+ // that's how the server-side markdown renderer does it too ยฏ\_(ใ)_/ยฏ
+ const anchor = anchorID(tkn.text);
+
+ const a = document.createElement('a');
+ a.classList.add('autonav-link');
+ a.innerHTML = marked.parseInline(tkn.text);
+ a.href = `${e.target.href}#${anchor}`;
+ autonav.append(a);
+ }
+
+ if ($_('#autonav *')) {
+ const sections = document.createElement('div')
+ sections.classList.add('heading');
+ sections.innerText = 'Sections';
+ autonav.prepend(sections);
+ e.target.closest('li').append(autonav);
+ autonav.style.display = ''; // unhide the container
+ } else {
+ // no links; hide the container so we don't see an empty box
+ autonav.style.display = 'none';
+ }
+
+ });
});
-// addLinkaddLinksToSubdirectivessToAnchors finds all the ID anchors
-// in the article, and turns any directive or subdirective span into
-// links that have an ID on the page. This is opt-in for each page,
-// because it's not necessary to run everywhere.
-function addLinksToSubdirectives() {
- let anchors = $('article *[id]').map((i, el) => el.id).toArray();
- $('pre.chroma .k')
- .filter((k, item) => anchors.includes(item.innerText))
- .map(function(k, item) {
- let text = item.innerText.replace(//g,'>');
- let url = '#' + item.innerText;
- $(item).html('' + text + ' ');
- });
-}
+// toggle left-nav when menu link is clicked
+on('click', '#docs-menu', e => {
+ const nav = $_('#docs-menu-container');
+ if (!nav.offsetHeight) {
+ nav.style.height = `${nav.scrollHeight}px`;
+ } else {
+ nav.style.height = 0;
+ }
+});
-function stripScheme(url) {
- return url.substring(url.indexOf("://")+3);
-}
-
-// splitTypeName splits a fully qualified type name into
-// its package path and type name components, for example:
-// "github.com/foo/bar.Type" => "github.com/foo/bar" and "Type".
-function splitTypeName(fqtn) {
- let lastDotPos = fqtn.lastIndexOf('.');
- let pkg = fqtn.substr(0, lastDotPos);
- let typeName = fqtn.substr(lastDotPos+1);
- return {pkg: pkg, typeName: typeName};
+function anchorID(text) {
+ return text.trim().toLowerCase().replace(/\s/g, '-').replace(/[^\w-]/g, '');
}
diff --git a/new/resources/js/home.js b/src/resources/js/home.js
similarity index 97%
rename from new/resources/js/home.js
rename to src/resources/js/home.js
index 2193c43..3a75076 100644
--- a/new/resources/js/home.js
+++ b/src/resources/js/home.js
@@ -1,6 +1,5 @@
const resp = fetch("/resources/testimonials.json").then(async resp => {
const testimonials = await resp.json();
- console.log(testimonials);
ready(function() {
for (let i = 0; i < testimonials.length; i++) {
diff --git a/new/resources/js/lib.js b/src/resources/js/lib.js
similarity index 100%
rename from new/resources/js/lib.js
rename to src/resources/js/lib.js
diff --git a/new/resources/js/vendor/asciinema-player-3.6.1.min.js b/src/resources/js/vendor/asciinema-player-3.6.1.min.js
similarity index 100%
rename from new/resources/js/vendor/asciinema-player-3.6.1.min.js
rename to src/resources/js/vendor/asciinema-player-3.6.1.min.js
diff --git a/new/resources/js/vendor/marked.min.js b/src/resources/js/vendor/marked.min.js
similarity index 100%
rename from new/resources/js/vendor/marked.min.js
rename to src/resources/js/vendor/marked.min.js
diff --git a/new/resources/testimonials.json b/src/resources/testimonials.json
similarity index 100%
rename from new/resources/testimonials.json
rename to src/resources/testimonials.json
diff --git a/new/sponsor.html b/src/sponsor.html
similarity index 100%
rename from new/sponsor.html
rename to src/sponsor.html
diff --git a/new/support.html b/src/support.html
similarity index 100%
rename from new/support.html
rename to src/support.html
diff --git a/src/v2.html b/src/v2.html
deleted file mode 100644
index c300746..0000000
--- a/src/v2.html
+++ /dev/null
@@ -1,487 +0,0 @@
-
-
-
- Caddy 2
- {{import "/includes/head.html"}}
- {{template "head"}}
-
-
-
-
-
-
-
-
-
-
-
-
-
a
project
-
- {{include "/includes/header-nav.html"}}
-
-
-
-
-
A new kind of extensible platform for server apps.
-
-
Still the only web server to use TLS automatically and by default. Deploy and scale HTTPS effortlessly with Caddy 2.
-
-
-
-
-
-
-
-
-
-
All-new core โจ
-
- After 14 months of redesign, Caddy 2 has a whole new architecture inspired by 5 years of experience and feedback from v1.
-
-
-
-
-
Fewer moving parts โ๏ธ
-
- Caddy saves money, increases developer productivity, and reduces problems in production.
-
-
-
-
-
-
-
-
-
-
-
-
-
A whole new server experience
-
-
-
-
-
- Play screencast to see Caddy serve HTTPS in < 1 minute.
-
-
-
-
-
- Caddy is "really fun to use" and helps make complex deployments simpler . Your Caddy site will have fewer moving parts which lowers costs, increases productivity, and improves reliability .
-
-
- Use Caddy's native JSON configuration to customize every inch of your server, or use the Caddyfile to stand up a production site in just a few easy lines.
-
-
- With Caddy, HTTPS just works ; and you can configure and deploy your site in more ways than you ever thought possible. The days of hacking your deployment workflows around the limitations of your web server are over!
-
-
HTTPS quick-start
-
-
Upgrade guide
-
-
-
-
-
-
-
-
-
-
-
-
More than just a web server
-
-
-
- Caddy 2 is a highly extensible , self-hosted platform on which you can build, configure, and deploy long-running services ("apps").
-
-
- Caddy ships with apps for an HTTPS server (static files, reverse proxying, load balancing, etc.), TLS certificate manager , and fully-managed internal PKI . Caddy apps collaborate to make complex infrastructure just work with fewer moving parts.
-
-
- For example, the config shown here keeps your TLS certificates renewed for other programs to use; no external tools or HTTP daemon required!
-
-
- Providing a unified configuration, on-line config API , and automatic documentation for all apps, Caddy is nearly infinitely extensible. Thanks to its unique modular architecture , we can offer unlimited features without bloating the code base.
-
-
-
-
- {
- "apps": {
- "tls": {
- "certificates": {
- "automate": [
- "example.com",
- "example.net"
- ]
- }
- }
- }
-}
-
-
-
-
-
-
-
-
-
Thank you
-
-
-
-
-
-
- As I feel our contributors and sponsors do not get enough recognition or appreciation, allow me to interrupt this release announcement with a personal, open letter to the above named...
-
-
- If you're reading this: thank you . You were the primary collaborators on Caddy 2, and this would not have been possible without you. You gave Caddy new distribution packages , containers , docs, features, field testing; and helped countless users . I think almost no topic in our community forums has gone unanswered. That's truly amazing!
-
-
- Thanks for sticking with the project and believing in it enough to yield a second version. We've solved some hard problems together—usually during nights and weekends—and in days of isolation during this pandemic, no less.
-
-
- Now look at what we have made! Caddy is the only server that grants privacy to its sites' visitors by default . We've raised the bar for the rest of the Web. I hope you are as pleased with our results as I am. Millions more people will soon benefit from your contributions.
-
-
- – Matt
-
-
-
-
-
-
-
-
- Twenty
- beta versions
-
-
- Thousands
- of businesses
-
-
- Millions
- of production hours
-
-
- Billions
- of connections secured
-
-
- Trillions
- of requests served
-
-
-
-
- Caddy 2 is production-ready. It is already serving thousands of sites for businesses and has an unparalleled reliability record in the face of external factors that negatively affect HTTPS uptime. Caddy stays up when other servers let you down.
-
-
- Try your current server with tens of thousands of sites and certificates, then try them with Caddy – you'll see what we mean.
-
-
-
- Deploy with Docker
-
- Deploy anywhere
-
-
-
-
-
-
-
-
-
-
Familiar Caddyfile, now even better
-
-
-
-
caddyserver.com
-
-root * src
-
-file_server
-templates
-encode zstd gzip
-
-redir /docs/json /docs/json/
-rewrite /docs/json/* /docs/json/index.html
-rewrite /docs/* /docs/index.html
-
-reverse_proxy /api/* localhost:9002
-
Actual config used by this site.
-
-
-
-
-
-
-
-
-
-
-
Config API for dynamic, on-line updates
-
-
-
- Caddy is configured through an intuitive REST API that offers ACID guarantees:
-
-
- Atomic: Multiple changes in a single request are treated as a single unit; any failed change aborts all the other changes.
- Consistent: No invalid configurations can be loaded; your server will never break if a problem is detected at config load.
- Isolated: No config changes rely on another. (It helps that HTTP is a stateless protocol!)
- Durable: Caddy automatically persists the current, valid configuration to disk and can safely resume it after a power cycle if the --resume
flag is used.
-
-
- In addition, Caddy's API is safely scoped , meaning the URI path restricts changes, making it impossible to accidentally alter other parts of your config.
-
-
API tutorial
-
-
API reference
-
-
-
-
$ caddy start --config caddy.json
-
-$ curl localhost:2019/id/my_handler \
- -X PATCH \
- -H "Content-Type: application/json" \
- -d '{
- "handler": "static_response",
- "body": "Work smarter, not harder."
- }'
-
-$ curl localhost:2019/config/ | jq
-
-
-
-
-
-
-
-
-
-
-
Powered by ... nginx.conf? ๐ค
-
-
-
- $ caddy run \
- --config nginx.conf \
- --adapter nginx
-
-
-
-
- Sure, why not!
-
-
- With first-class support for config adaptation , you can use whatever configuration language you prefer , such as NGINX config files ! Several other config adapters are already available, including JSONC, JSON5, YAML, and CUE.
-
-
- Our NGINX adapter is still a work in progress, but for some of you Caddy could be a drop-in replacement upgrade for NGINX, with memory safety!
-
-
-
Config adapters
-
-
-
-
-
-
-
-
-
-
Every site on HTTPS – including local and internal sites
-
-
-
- Caddy has always been known for serving sites over HTTPS by default , and now we're extending that to internal and local development sites, too.
-
-
- Powered by open source Smallstep libraries , Caddy automatically acts as a fully-featured, self-hosted CA when necessary. If you configure sites with local or internal addresses (e.g. localhost or IP addresses), Caddy will still serve them over HTTPS using its locally-trusted certificate authority with short-lived, auto-renewing certificates. This makes it easy to mimic production environments in dev!
-
-
-
-
-
- 192.168.1.10 {
- respond "Hello from HTTPS!"
-}
-
-http://localhost {
- respond "Plain HTTP"
-}
-
-
-
-
-
-
-
-
-
-
-
We fixed all known limitations of v1
-
- With an all-new architecture , the development of Caddy 2 closed about 400 issues and solved all known limitations on Caddy 1 caused by fundamental design constraints.
-
-
- Caddy 2 is designed to be highly flexible when needed, but also highly focused on its core competency. If there was anything in Caddy 1 that felt out of place or hacky, it won't in v2.
-
-
- This design was an incredible undertaking: of the approximate 14 months spent developing Caddy 2, only about 7 of them actually consisted of writing code; the other half was solely focused on the design of the underlying architecture.
-
-
-
-
-
-
-
-
Keeps your sites online when other servers... don't
-
- Caddy has the most robust TLS stack on the market. With stronger memory safety guarantees than OpenSSL (Apache & NGINX) and more advanced certificate automation logic than any other server or utility, Caddy keeps your sites online through problems that other servers don't handle.
-
-
-
-
-
Advanced TLS automation
-
- Caddy was the first server to fully automate public certificate management—so we've been doing this longer than anyone. With more than 5 million certificates under management, Caddy has set the gold standard for other servers to live up to:
-
-
- Async management. Certificate automation never blocks the main thread of the web server.
- Gentle retries. Failed validation attempts are retried with exponential backoff for up to 1 month. They don't count against normal rate limits; Caddy uses staging/test endpoints during retries.
- OCSP stapling and caching. Caddy staples OCSP to all qualifying certificates and keeps them conservatively fresh. It even caches them to disk in case of extended OCSP responder outages.
- Auto-replace after revocation. If the latest OCSP staple indicates a revocation, Caddy automatically replaces the revoked certificate with a new one.
- Storage pre-checks. Before attempting costly or valuable ACME transactions, Caddy checks to ensure its storage space is sufficient and writeable.
- Internal throttling and job scheduling. Give Caddy a million certs to manage: no problem, it will gracefully manage them as fast as it can without hammering the CA or duplicating jobs over a long period of time.
- TLS session ticket key rotation. Caddy automatically rotates TLS 1.2 session ticket keys for better privacy. It can even do this across a cluster!
- Fleet coordination. All Caddy instances configured for the same storage backend will automatically share certificate and coordinate management in its cluster.
-
-
-
-
Real-life examples
-
- In 2018, several popular sites went down for many users of mainstream clients because crucial OCSP infrastructure had an extended outage. Only Caddy staples and caches OCSP responses by default, so all Caddy sites were unaffected.
-
-
- More recently in 2020, a mass certificate revocation event left many sysadmins scrambling to renew their certificates ahead of schedule. Caddy automatically renews certificates that get revoked, and all Caddy sites were unaffected.
-
-
- Companies have deployed Caddy in front of their site just hours before important audits—potentially saving their compliance status—because of Caddy's safe defaults and "batteries included" approach.
-
-
-
-
Recommended by experts
-
- "TLS must be enabled by default ... and the Caddy web server is a good and usable example." —Krombholz et al., USENIX 2017
-
-
- "Caddy is impressive. This is what we want, setting up a secure website." —Josh Aas, Executive Director, Let's Encrypt
-
-
- "No popular server software does [session ticket key rotation], with the exception of Caddy." —Springall et al., ACM IMC 2016
-
-
-
-
-
-
-
-
-
-
-
- {{include "/includes/footer.html"}}
-
-
-
-