From 9a073ccc52fee931cbeff7a9207b403cd260a836 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Wed, 20 Sep 2023 01:08:04 +0000
Subject: [PATCH] Deploy to GitHub pages
---
.nojekyll | 0
assets/doctave-app.js | 241 +++++
assets/doctave-style.css | 865 ++++++++++++++++++
assets/elasticlunr.js | 10 +
assets/katex-fonts/KaTeX_AMS-Regular.ttf | Bin 0 -> 63632 bytes
assets/katex-fonts/KaTeX_AMS-Regular.woff | Bin 0 -> 33516 bytes
assets/katex-fonts/KaTeX_AMS-Regular.woff2 | Bin 0 -> 28076 bytes
assets/katex-fonts/KaTeX_Caligraphic-Bold.ttf | Bin 0 -> 12368 bytes
.../katex-fonts/KaTeX_Caligraphic-Bold.woff | Bin 0 -> 7716 bytes
.../katex-fonts/KaTeX_Caligraphic-Bold.woff2 | Bin 0 -> 6912 bytes
.../katex-fonts/KaTeX_Caligraphic-Regular.ttf | Bin 0 -> 12344 bytes
.../KaTeX_Caligraphic-Regular.woff | Bin 0 -> 7656 bytes
.../KaTeX_Caligraphic-Regular.woff2 | Bin 0 -> 6908 bytes
assets/katex-fonts/KaTeX_Fraktur-Bold.ttf | Bin 0 -> 19584 bytes
assets/katex-fonts/KaTeX_Fraktur-Bold.woff | Bin 0 -> 13296 bytes
assets/katex-fonts/KaTeX_Fraktur-Bold.woff2 | Bin 0 -> 11348 bytes
assets/katex-fonts/KaTeX_Fraktur-Regular.ttf | Bin 0 -> 19572 bytes
assets/katex-fonts/KaTeX_Fraktur-Regular.woff | Bin 0 -> 13208 bytes
.../katex-fonts/KaTeX_Fraktur-Regular.woff2 | Bin 0 -> 11316 bytes
assets/katex-fonts/KaTeX_Main-Bold.ttf | Bin 0 -> 51336 bytes
assets/katex-fonts/KaTeX_Main-Bold.woff | Bin 0 -> 29912 bytes
assets/katex-fonts/KaTeX_Main-Bold.woff2 | Bin 0 -> 25324 bytes
assets/katex-fonts/KaTeX_Main-BoldItalic.ttf | Bin 0 -> 32968 bytes
assets/katex-fonts/KaTeX_Main-BoldItalic.woff | Bin 0 -> 19412 bytes
.../katex-fonts/KaTeX_Main-BoldItalic.woff2 | Bin 0 -> 16780 bytes
assets/katex-fonts/KaTeX_Main-Italic.ttf | Bin 0 -> 33580 bytes
assets/katex-fonts/KaTeX_Main-Italic.woff | Bin 0 -> 19676 bytes
assets/katex-fonts/KaTeX_Main-Italic.woff2 | Bin 0 -> 16988 bytes
assets/katex-fonts/KaTeX_Main-Regular.ttf | Bin 0 -> 53580 bytes
assets/katex-fonts/KaTeX_Main-Regular.woff | Bin 0 -> 30772 bytes
assets/katex-fonts/KaTeX_Main-Regular.woff2 | Bin 0 -> 26272 bytes
assets/katex-fonts/KaTeX_Math-BoldItalic.ttf | Bin 0 -> 31196 bytes
assets/katex-fonts/KaTeX_Math-BoldItalic.woff | Bin 0 -> 18668 bytes
.../katex-fonts/KaTeX_Math-BoldItalic.woff2 | Bin 0 -> 16400 bytes
assets/katex-fonts/KaTeX_Math-Italic.ttf | Bin 0 -> 31308 bytes
assets/katex-fonts/KaTeX_Math-Italic.woff | Bin 0 -> 18748 bytes
assets/katex-fonts/KaTeX_Math-Italic.woff2 | Bin 0 -> 16440 bytes
assets/katex-fonts/KaTeX_SansSerif-Bold.ttf | Bin 0 -> 24504 bytes
assets/katex-fonts/KaTeX_SansSerif-Bold.woff | Bin 0 -> 14408 bytes
assets/katex-fonts/KaTeX_SansSerif-Bold.woff2 | Bin 0 -> 12216 bytes
assets/katex-fonts/KaTeX_SansSerif-Italic.ttf | Bin 0 -> 22364 bytes
.../katex-fonts/KaTeX_SansSerif-Italic.woff | Bin 0 -> 14112 bytes
.../katex-fonts/KaTeX_SansSerif-Italic.woff2 | Bin 0 -> 12028 bytes
.../katex-fonts/KaTeX_SansSerif-Regular.ttf | Bin 0 -> 19436 bytes
.../katex-fonts/KaTeX_SansSerif-Regular.woff | Bin 0 -> 12316 bytes
.../katex-fonts/KaTeX_SansSerif-Regular.woff2 | Bin 0 -> 10344 bytes
assets/katex-fonts/KaTeX_Script-Regular.ttf | Bin 0 -> 16648 bytes
assets/katex-fonts/KaTeX_Script-Regular.woff | Bin 0 -> 10588 bytes
assets/katex-fonts/KaTeX_Script-Regular.woff2 | Bin 0 -> 9644 bytes
assets/katex-fonts/KaTeX_Size1-Regular.ttf | Bin 0 -> 12228 bytes
assets/katex-fonts/KaTeX_Size1-Regular.woff | Bin 0 -> 6496 bytes
assets/katex-fonts/KaTeX_Size1-Regular.woff2 | Bin 0 -> 5468 bytes
assets/katex-fonts/KaTeX_Size2-Regular.ttf | Bin 0 -> 11508 bytes
assets/katex-fonts/KaTeX_Size2-Regular.woff | Bin 0 -> 6188 bytes
assets/katex-fonts/KaTeX_Size2-Regular.woff2 | Bin 0 -> 5208 bytes
assets/katex-fonts/KaTeX_Size3-Regular.ttf | Bin 0 -> 7588 bytes
assets/katex-fonts/KaTeX_Size3-Regular.woff | Bin 0 -> 4420 bytes
assets/katex-fonts/KaTeX_Size3-Regular.woff2 | Bin 0 -> 3624 bytes
assets/katex-fonts/KaTeX_Size4-Regular.ttf | Bin 0 -> 10364 bytes
assets/katex-fonts/KaTeX_Size4-Regular.woff | Bin 0 -> 5980 bytes
assets/katex-fonts/KaTeX_Size4-Regular.woff2 | Bin 0 -> 4928 bytes
.../katex-fonts/KaTeX_Typewriter-Regular.ttf | Bin 0 -> 27556 bytes
.../katex-fonts/KaTeX_Typewriter-Regular.woff | Bin 0 -> 16028 bytes
.../KaTeX_Typewriter-Regular.woff2 | Bin 0 -> 13568 bytes
assets/katex.css | 1 +
assets/katex.js | 1 +
assets/mermaid.js | 3 +
assets/normalize.css | 1 +
assets/prism-atom-dark.css | 141 +++
assets/prism-ghcolors.css | 120 +++
assets/prism-grammars/prism-abap.min.js | 1 +
assets/prism-grammars/prism-abnf.min.js | 1 +
.../prism-grammars/prism-actionscript.min.js | 1 +
assets/prism-grammars/prism-ada.min.js | 1 +
assets/prism-grammars/prism-agda.min.js | 1 +
assets/prism-grammars/prism-al.min.js | 1 +
assets/prism-grammars/prism-antlr4.min.js | 1 +
assets/prism-grammars/prism-apacheconf.min.js | 1 +
assets/prism-grammars/prism-apex.min.js | 1 +
assets/prism-grammars/prism-apl.min.js | 1 +
.../prism-grammars/prism-applescript.min.js | 1 +
assets/prism-grammars/prism-aql.min.js | 1 +
assets/prism-grammars/prism-arduino.min.js | 1 +
assets/prism-grammars/prism-arff.min.js | 1 +
assets/prism-grammars/prism-asciidoc.min.js | 1 +
assets/prism-grammars/prism-asm6502.min.js | 1 +
assets/prism-grammars/prism-asmatmel.min.js | 1 +
assets/prism-grammars/prism-aspnet.min.js | 1 +
assets/prism-grammars/prism-autohotkey.min.js | 1 +
assets/prism-grammars/prism-autoit.min.js | 1 +
assets/prism-grammars/prism-avisynth.min.js | 1 +
assets/prism-grammars/prism-avro-idl.min.js | 1 +
assets/prism-grammars/prism-bash.min.js | 1 +
assets/prism-grammars/prism-basic.min.js | 1 +
assets/prism-grammars/prism-batch.min.js | 1 +
assets/prism-grammars/prism-bbcode.min.js | 1 +
assets/prism-grammars/prism-bicep.min.js | 1 +
assets/prism-grammars/prism-birb.min.js | 1 +
assets/prism-grammars/prism-bison.min.js | 1 +
assets/prism-grammars/prism-bnf.min.js | 1 +
assets/prism-grammars/prism-brainfuck.min.js | 1 +
.../prism-grammars/prism-brightscript.min.js | 1 +
assets/prism-grammars/prism-bro.min.js | 1 +
assets/prism-grammars/prism-bsl.min.js | 1 +
assets/prism-grammars/prism-c.min.js | 1 +
assets/prism-grammars/prism-cfscript.min.js | 1 +
assets/prism-grammars/prism-chaiscript.min.js | 1 +
assets/prism-grammars/prism-cil.min.js | 1 +
assets/prism-grammars/prism-clike.min.js | 1 +
assets/prism-grammars/prism-clojure.min.js | 1 +
assets/prism-grammars/prism-cmake.min.js | 1 +
assets/prism-grammars/prism-cobol.min.js | 1 +
.../prism-grammars/prism-coffeescript.min.js | 1 +
assets/prism-grammars/prism-concurnas.min.js | 1 +
assets/prism-grammars/prism-coq.min.js | 1 +
assets/prism-grammars/prism-cpp.min.js | 1 +
assets/prism-grammars/prism-crystal.min.js | 1 +
assets/prism-grammars/prism-csharp.min.js | 1 +
assets/prism-grammars/prism-cshtml.min.js | 1 +
assets/prism-grammars/prism-csp.min.js | 1 +
assets/prism-grammars/prism-css-extras.min.js | 1 +
assets/prism-grammars/prism-css.min.js | 1 +
assets/prism-grammars/prism-csv.min.js | 1 +
assets/prism-grammars/prism-cypher.min.js | 1 +
assets/prism-grammars/prism-d.min.js | 1 +
assets/prism-grammars/prism-dart.min.js | 1 +
assets/prism-grammars/prism-dataweave.min.js | 1 +
assets/prism-grammars/prism-dax.min.js | 1 +
assets/prism-grammars/prism-dhall.min.js | 1 +
assets/prism-grammars/prism-diff.min.js | 1 +
assets/prism-grammars/prism-django.min.js | 1 +
.../prism-grammars/prism-dns-zone-file.min.js | 1 +
assets/prism-grammars/prism-docker.min.js | 1 +
assets/prism-grammars/prism-dot.min.js | 1 +
assets/prism-grammars/prism-ebnf.min.js | 1 +
.../prism-grammars/prism-editorconfig.min.js | 1 +
assets/prism-grammars/prism-eiffel.min.js | 1 +
assets/prism-grammars/prism-ejs.min.js | 1 +
assets/prism-grammars/prism-elixir.min.js | 1 +
assets/prism-grammars/prism-elm.min.js | 1 +
assets/prism-grammars/prism-erb.min.js | 1 +
assets/prism-grammars/prism-erlang.min.js | 1 +
assets/prism-grammars/prism-etlua.min.js | 1 +
.../prism-grammars/prism-excel-formula.min.js | 1 +
assets/prism-grammars/prism-factor.min.js | 1 +
assets/prism-grammars/prism-false.min.js | 1 +
.../prism-firestore-security-rules.min.js | 1 +
assets/prism-grammars/prism-flow.min.js | 1 +
assets/prism-grammars/prism-fortran.min.js | 1 +
assets/prism-grammars/prism-fsharp.min.js | 1 +
assets/prism-grammars/prism-ftl.min.js | 1 +
assets/prism-grammars/prism-gap.min.js | 1 +
assets/prism-grammars/prism-gcode.min.js | 1 +
assets/prism-grammars/prism-gdscript.min.js | 1 +
assets/prism-grammars/prism-gedcom.min.js | 1 +
assets/prism-grammars/prism-gherkin.min.js | 1 +
assets/prism-grammars/prism-git.min.js | 1 +
assets/prism-grammars/prism-glsl.min.js | 1 +
assets/prism-grammars/prism-gml.min.js | 1 +
assets/prism-grammars/prism-gn.min.js | 1 +
assets/prism-grammars/prism-go-module.min.js | 1 +
assets/prism-grammars/prism-go.min.js | 1 +
assets/prism-grammars/prism-graphql.min.js | 1 +
assets/prism-grammars/prism-groovy.min.js | 1 +
assets/prism-grammars/prism-haml.min.js | 1 +
assets/prism-grammars/prism-handlebars.min.js | 1 +
assets/prism-grammars/prism-haskell.min.js | 1 +
assets/prism-grammars/prism-haxe.min.js | 1 +
assets/prism-grammars/prism-hcl.min.js | 1 +
assets/prism-grammars/prism-hlsl.min.js | 1 +
assets/prism-grammars/prism-hoon.min.js | 1 +
assets/prism-grammars/prism-hpkp.min.js | 1 +
assets/prism-grammars/prism-hsts.min.js | 1 +
assets/prism-grammars/prism-http.min.js | 1 +
assets/prism-grammars/prism-ichigojam.min.js | 1 +
assets/prism-grammars/prism-icon.min.js | 1 +
.../prism-icu-message-format.min.js | 1 +
assets/prism-grammars/prism-idris.min.js | 1 +
assets/prism-grammars/prism-iecst.min.js | 1 +
assets/prism-grammars/prism-ignore.min.js | 1 +
assets/prism-grammars/prism-inform7.min.js | 1 +
assets/prism-grammars/prism-ini.min.js | 1 +
assets/prism-grammars/prism-io.min.js | 1 +
assets/prism-grammars/prism-j.min.js | 1 +
assets/prism-grammars/prism-java.min.js | 1 +
assets/prism-grammars/prism-javadoc.min.js | 1 +
.../prism-grammars/prism-javadoclike.min.js | 1 +
assets/prism-grammars/prism-javascript.min.js | 1 +
.../prism-javastacktrace.min.js | 1 +
assets/prism-grammars/prism-jexl.min.js | 1 +
assets/prism-grammars/prism-jolie.min.js | 1 +
assets/prism-grammars/prism-jq.min.js | 1 +
assets/prism-grammars/prism-js-extras.min.js | 1 +
.../prism-grammars/prism-js-templates.min.js | 1 +
assets/prism-grammars/prism-jsdoc.min.js | 1 +
assets/prism-grammars/prism-json.min.js | 1 +
assets/prism-grammars/prism-json5.min.js | 1 +
assets/prism-grammars/prism-jsonp.min.js | 1 +
.../prism-grammars/prism-jsstacktrace.min.js | 1 +
assets/prism-grammars/prism-jsx.min.js | 1 +
assets/prism-grammars/prism-julia.min.js | 1 +
assets/prism-grammars/prism-keepalived.min.js | 1 +
assets/prism-grammars/prism-keyman.min.js | 1 +
assets/prism-grammars/prism-kotlin.min.js | 1 +
assets/prism-grammars/prism-kumir.min.js | 1 +
assets/prism-grammars/prism-kusto.min.js | 1 +
assets/prism-grammars/prism-latex.min.js | 1 +
assets/prism-grammars/prism-latte.min.js | 1 +
assets/prism-grammars/prism-less.min.js | 1 +
assets/prism-grammars/prism-lilypond.min.js | 1 +
assets/prism-grammars/prism-liquid.min.js | 1 +
assets/prism-grammars/prism-lisp.min.js | 1 +
assets/prism-grammars/prism-livescript.min.js | 1 +
assets/prism-grammars/prism-llvm.min.js | 1 +
assets/prism-grammars/prism-log.min.js | 1 +
assets/prism-grammars/prism-lolcode.min.js | 1 +
assets/prism-grammars/prism-lua.min.js | 1 +
assets/prism-grammars/prism-magma.min.js | 1 +
assets/prism-grammars/prism-makefile.min.js | 1 +
assets/prism-grammars/prism-markdown.min.js | 1 +
.../prism-markup-templating.min.js | 1 +
assets/prism-grammars/prism-markup.min.js | 1 +
assets/prism-grammars/prism-matlab.min.js | 1 +
assets/prism-grammars/prism-maxscript.min.js | 1 +
assets/prism-grammars/prism-mel.min.js | 1 +
assets/prism-grammars/prism-mermaid.min.js | 1 +
assets/prism-grammars/prism-mizar.min.js | 1 +
assets/prism-grammars/prism-mongodb.min.js | 1 +
assets/prism-grammars/prism-monkey.min.js | 1 +
assets/prism-grammars/prism-moonscript.min.js | 1 +
assets/prism-grammars/prism-n1ql.min.js | 1 +
assets/prism-grammars/prism-n4js.min.js | 1 +
.../prism-nand2tetris-hdl.min.js | 1 +
assets/prism-grammars/prism-naniscript.min.js | 1 +
assets/prism-grammars/prism-nasm.min.js | 1 +
assets/prism-grammars/prism-neon.min.js | 1 +
assets/prism-grammars/prism-nevod.min.js | 1 +
assets/prism-grammars/prism-nginx.min.js | 1 +
assets/prism-grammars/prism-nim.min.js | 1 +
assets/prism-grammars/prism-nix.min.js | 1 +
assets/prism-grammars/prism-nsis.min.js | 1 +
assets/prism-grammars/prism-objectivec.min.js | 1 +
assets/prism-grammars/prism-ocaml.min.js | 1 +
assets/prism-grammars/prism-opencl.min.js | 1 +
assets/prism-grammars/prism-openqasm.min.js | 1 +
assets/prism-grammars/prism-oz.min.js | 1 +
assets/prism-grammars/prism-parigp.min.js | 1 +
assets/prism-grammars/prism-parser.min.js | 1 +
assets/prism-grammars/prism-pascal.min.js | 1 +
assets/prism-grammars/prism-pascaligo.min.js | 1 +
assets/prism-grammars/prism-pcaxis.min.js | 1 +
assets/prism-grammars/prism-peoplecode.min.js | 1 +
assets/prism-grammars/prism-perl.min.js | 1 +
assets/prism-grammars/prism-php-extras.min.js | 1 +
assets/prism-grammars/prism-php.min.js | 1 +
assets/prism-grammars/prism-phpdoc.min.js | 1 +
assets/prism-grammars/prism-plsql.min.js | 1 +
assets/prism-grammars/prism-powerquery.min.js | 1 +
assets/prism-grammars/prism-powershell.min.js | 1 +
assets/prism-grammars/prism-processing.min.js | 1 +
assets/prism-grammars/prism-prolog.min.js | 1 +
assets/prism-grammars/prism-promql.min.js | 1 +
assets/prism-grammars/prism-properties.min.js | 1 +
assets/prism-grammars/prism-protobuf.min.js | 1 +
assets/prism-grammars/prism-psl.min.js | 1 +
assets/prism-grammars/prism-pug.min.js | 1 +
assets/prism-grammars/prism-puppet.min.js | 1 +
assets/prism-grammars/prism-pure.min.js | 1 +
assets/prism-grammars/prism-purebasic.min.js | 1 +
assets/prism-grammars/prism-purescript.min.js | 1 +
assets/prism-grammars/prism-python.min.js | 1 +
assets/prism-grammars/prism-q.min.js | 1 +
assets/prism-grammars/prism-qml.min.js | 1 +
assets/prism-grammars/prism-qore.min.js | 1 +
assets/prism-grammars/prism-qsharp.min.js | 1 +
assets/prism-grammars/prism-r.min.js | 1 +
assets/prism-grammars/prism-racket.min.js | 1 +
assets/prism-grammars/prism-reason.min.js | 1 +
assets/prism-grammars/prism-regex.min.js | 1 +
assets/prism-grammars/prism-rego.min.js | 1 +
assets/prism-grammars/prism-renpy.min.js | 1 +
assets/prism-grammars/prism-rest.min.js | 1 +
assets/prism-grammars/prism-rip.min.js | 1 +
assets/prism-grammars/prism-roboconf.min.js | 1 +
.../prism-robotframework.min.js | 1 +
assets/prism-grammars/prism-ruby.min.js | 1 +
assets/prism-grammars/prism-rust.min.js | 1 +
assets/prism-grammars/prism-sas.min.js | 1 +
assets/prism-grammars/prism-sass.min.js | 1 +
assets/prism-grammars/prism-scala.min.js | 1 +
assets/prism-grammars/prism-scheme.min.js | 1 +
assets/prism-grammars/prism-scss.min.js | 1 +
.../prism-grammars/prism-shell-session.min.js | 1 +
assets/prism-grammars/prism-smali.min.js | 1 +
assets/prism-grammars/prism-smalltalk.min.js | 1 +
assets/prism-grammars/prism-smarty.min.js | 1 +
assets/prism-grammars/prism-sml.min.js | 1 +
assets/prism-grammars/prism-solidity.min.js | 1 +
.../prism-grammars/prism-solution-file.min.js | 1 +
assets/prism-grammars/prism-soy.min.js | 1 +
assets/prism-grammars/prism-sparql.min.js | 1 +
assets/prism-grammars/prism-splunk-spl.min.js | 1 +
assets/prism-grammars/prism-sqf.min.js | 1 +
assets/prism-grammars/prism-sql.min.js | 1 +
assets/prism-grammars/prism-squirrel.min.js | 1 +
assets/prism-grammars/prism-stan.min.js | 1 +
assets/prism-grammars/prism-stylus.min.js | 1 +
assets/prism-grammars/prism-swift.min.js | 1 +
assets/prism-grammars/prism-systemd.min.js | 1 +
assets/prism-grammars/prism-t4-cs.min.js | 1 +
.../prism-grammars/prism-t4-templating.min.js | 1 +
assets/prism-grammars/prism-t4-vb.min.js | 1 +
assets/prism-grammars/prism-tap.min.js | 1 +
assets/prism-grammars/prism-tcl.min.js | 1 +
assets/prism-grammars/prism-textile.min.js | 1 +
assets/prism-grammars/prism-toml.min.js | 1 +
assets/prism-grammars/prism-tremor.min.js | 1 +
assets/prism-grammars/prism-tsx.min.js | 1 +
assets/prism-grammars/prism-tt2.min.js | 1 +
assets/prism-grammars/prism-turtle.min.js | 1 +
assets/prism-grammars/prism-twig.min.js | 1 +
assets/prism-grammars/prism-typescript.min.js | 1 +
assets/prism-grammars/prism-typoscript.min.js | 1 +
.../prism-grammars/prism-unrealscript.min.js | 1 +
assets/prism-grammars/prism-uri.min.js | 1 +
assets/prism-grammars/prism-v.min.js | 1 +
assets/prism-grammars/prism-vala.min.js | 1 +
assets/prism-grammars/prism-vbnet.min.js | 1 +
assets/prism-grammars/prism-velocity.min.js | 1 +
assets/prism-grammars/prism-verilog.min.js | 1 +
assets/prism-grammars/prism-vhdl.min.js | 1 +
assets/prism-grammars/prism-vim.min.js | 1 +
.../prism-grammars/prism-visual-basic.min.js | 1 +
assets/prism-grammars/prism-warpscript.min.js | 1 +
assets/prism-grammars/prism-wasm.min.js | 1 +
assets/prism-grammars/prism-web-idl.min.js | 1 +
assets/prism-grammars/prism-wiki.min.js | 1 +
assets/prism-grammars/prism-wolfram.min.js | 1 +
assets/prism-grammars/prism-wren.min.js | 1 +
assets/prism-grammars/prism-xeora.min.js | 1 +
assets/prism-grammars/prism-xml-doc.min.js | 1 +
assets/prism-grammars/prism-xojo.min.js | 1 +
assets/prism-grammars/prism-xquery.min.js | 1 +
assets/prism-grammars/prism-yaml.min.js | 1 +
assets/prism-grammars/prism-yang.min.js | 1 +
assets/prism-grammars/prism-zig.min.js | 1 +
assets/prism.js | 4 +
index.html | 343 +++++++
kingfisher.png | Bin 0 -> 129425 bytes
search_index.json | 1 +
usage/annotate.html | 201 ++++
usage/extract.html | 208 +++++
usage/get.html | 293 ++++++
usage/index.html | 134 +++
354 files changed, 2843 insertions(+)
create mode 100644 .nojekyll
create mode 100644 assets/doctave-app.js
create mode 100644 assets/doctave-style.css
create mode 100644 assets/elasticlunr.js
create mode 100644 assets/katex-fonts/KaTeX_AMS-Regular.ttf
create mode 100644 assets/katex-fonts/KaTeX_AMS-Regular.woff
create mode 100644 assets/katex-fonts/KaTeX_AMS-Regular.woff2
create mode 100644 assets/katex-fonts/KaTeX_Caligraphic-Bold.ttf
create mode 100644 assets/katex-fonts/KaTeX_Caligraphic-Bold.woff
create mode 100644 assets/katex-fonts/KaTeX_Caligraphic-Bold.woff2
create mode 100644 assets/katex-fonts/KaTeX_Caligraphic-Regular.ttf
create mode 100644 assets/katex-fonts/KaTeX_Caligraphic-Regular.woff
create mode 100644 assets/katex-fonts/KaTeX_Caligraphic-Regular.woff2
create mode 100644 assets/katex-fonts/KaTeX_Fraktur-Bold.ttf
create mode 100644 assets/katex-fonts/KaTeX_Fraktur-Bold.woff
create mode 100644 assets/katex-fonts/KaTeX_Fraktur-Bold.woff2
create mode 100644 assets/katex-fonts/KaTeX_Fraktur-Regular.ttf
create mode 100644 assets/katex-fonts/KaTeX_Fraktur-Regular.woff
create mode 100644 assets/katex-fonts/KaTeX_Fraktur-Regular.woff2
create mode 100644 assets/katex-fonts/KaTeX_Main-Bold.ttf
create mode 100644 assets/katex-fonts/KaTeX_Main-Bold.woff
create mode 100644 assets/katex-fonts/KaTeX_Main-Bold.woff2
create mode 100644 assets/katex-fonts/KaTeX_Main-BoldItalic.ttf
create mode 100644 assets/katex-fonts/KaTeX_Main-BoldItalic.woff
create mode 100644 assets/katex-fonts/KaTeX_Main-BoldItalic.woff2
create mode 100644 assets/katex-fonts/KaTeX_Main-Italic.ttf
create mode 100644 assets/katex-fonts/KaTeX_Main-Italic.woff
create mode 100644 assets/katex-fonts/KaTeX_Main-Italic.woff2
create mode 100644 assets/katex-fonts/KaTeX_Main-Regular.ttf
create mode 100644 assets/katex-fonts/KaTeX_Main-Regular.woff
create mode 100644 assets/katex-fonts/KaTeX_Main-Regular.woff2
create mode 100644 assets/katex-fonts/KaTeX_Math-BoldItalic.ttf
create mode 100644 assets/katex-fonts/KaTeX_Math-BoldItalic.woff
create mode 100644 assets/katex-fonts/KaTeX_Math-BoldItalic.woff2
create mode 100644 assets/katex-fonts/KaTeX_Math-Italic.ttf
create mode 100644 assets/katex-fonts/KaTeX_Math-Italic.woff
create mode 100644 assets/katex-fonts/KaTeX_Math-Italic.woff2
create mode 100644 assets/katex-fonts/KaTeX_SansSerif-Bold.ttf
create mode 100644 assets/katex-fonts/KaTeX_SansSerif-Bold.woff
create mode 100644 assets/katex-fonts/KaTeX_SansSerif-Bold.woff2
create mode 100644 assets/katex-fonts/KaTeX_SansSerif-Italic.ttf
create mode 100644 assets/katex-fonts/KaTeX_SansSerif-Italic.woff
create mode 100644 assets/katex-fonts/KaTeX_SansSerif-Italic.woff2
create mode 100644 assets/katex-fonts/KaTeX_SansSerif-Regular.ttf
create mode 100644 assets/katex-fonts/KaTeX_SansSerif-Regular.woff
create mode 100644 assets/katex-fonts/KaTeX_SansSerif-Regular.woff2
create mode 100644 assets/katex-fonts/KaTeX_Script-Regular.ttf
create mode 100644 assets/katex-fonts/KaTeX_Script-Regular.woff
create mode 100644 assets/katex-fonts/KaTeX_Script-Regular.woff2
create mode 100644 assets/katex-fonts/KaTeX_Size1-Regular.ttf
create mode 100644 assets/katex-fonts/KaTeX_Size1-Regular.woff
create mode 100644 assets/katex-fonts/KaTeX_Size1-Regular.woff2
create mode 100644 assets/katex-fonts/KaTeX_Size2-Regular.ttf
create mode 100644 assets/katex-fonts/KaTeX_Size2-Regular.woff
create mode 100644 assets/katex-fonts/KaTeX_Size2-Regular.woff2
create mode 100644 assets/katex-fonts/KaTeX_Size3-Regular.ttf
create mode 100644 assets/katex-fonts/KaTeX_Size3-Regular.woff
create mode 100644 assets/katex-fonts/KaTeX_Size3-Regular.woff2
create mode 100644 assets/katex-fonts/KaTeX_Size4-Regular.ttf
create mode 100644 assets/katex-fonts/KaTeX_Size4-Regular.woff
create mode 100644 assets/katex-fonts/KaTeX_Size4-Regular.woff2
create mode 100644 assets/katex-fonts/KaTeX_Typewriter-Regular.ttf
create mode 100644 assets/katex-fonts/KaTeX_Typewriter-Regular.woff
create mode 100644 assets/katex-fonts/KaTeX_Typewriter-Regular.woff2
create mode 100644 assets/katex.css
create mode 100644 assets/katex.js
create mode 100644 assets/mermaid.js
create mode 100644 assets/normalize.css
create mode 100644 assets/prism-atom-dark.css
create mode 100644 assets/prism-ghcolors.css
create mode 100644 assets/prism-grammars/prism-abap.min.js
create mode 100644 assets/prism-grammars/prism-abnf.min.js
create mode 100644 assets/prism-grammars/prism-actionscript.min.js
create mode 100644 assets/prism-grammars/prism-ada.min.js
create mode 100644 assets/prism-grammars/prism-agda.min.js
create mode 100644 assets/prism-grammars/prism-al.min.js
create mode 100644 assets/prism-grammars/prism-antlr4.min.js
create mode 100644 assets/prism-grammars/prism-apacheconf.min.js
create mode 100644 assets/prism-grammars/prism-apex.min.js
create mode 100644 assets/prism-grammars/prism-apl.min.js
create mode 100644 assets/prism-grammars/prism-applescript.min.js
create mode 100644 assets/prism-grammars/prism-aql.min.js
create mode 100644 assets/prism-grammars/prism-arduino.min.js
create mode 100644 assets/prism-grammars/prism-arff.min.js
create mode 100644 assets/prism-grammars/prism-asciidoc.min.js
create mode 100644 assets/prism-grammars/prism-asm6502.min.js
create mode 100644 assets/prism-grammars/prism-asmatmel.min.js
create mode 100644 assets/prism-grammars/prism-aspnet.min.js
create mode 100644 assets/prism-grammars/prism-autohotkey.min.js
create mode 100644 assets/prism-grammars/prism-autoit.min.js
create mode 100644 assets/prism-grammars/prism-avisynth.min.js
create mode 100644 assets/prism-grammars/prism-avro-idl.min.js
create mode 100644 assets/prism-grammars/prism-bash.min.js
create mode 100644 assets/prism-grammars/prism-basic.min.js
create mode 100644 assets/prism-grammars/prism-batch.min.js
create mode 100644 assets/prism-grammars/prism-bbcode.min.js
create mode 100644 assets/prism-grammars/prism-bicep.min.js
create mode 100644 assets/prism-grammars/prism-birb.min.js
create mode 100644 assets/prism-grammars/prism-bison.min.js
create mode 100644 assets/prism-grammars/prism-bnf.min.js
create mode 100644 assets/prism-grammars/prism-brainfuck.min.js
create mode 100644 assets/prism-grammars/prism-brightscript.min.js
create mode 100644 assets/prism-grammars/prism-bro.min.js
create mode 100644 assets/prism-grammars/prism-bsl.min.js
create mode 100644 assets/prism-grammars/prism-c.min.js
create mode 100644 assets/prism-grammars/prism-cfscript.min.js
create mode 100644 assets/prism-grammars/prism-chaiscript.min.js
create mode 100644 assets/prism-grammars/prism-cil.min.js
create mode 100644 assets/prism-grammars/prism-clike.min.js
create mode 100644 assets/prism-grammars/prism-clojure.min.js
create mode 100644 assets/prism-grammars/prism-cmake.min.js
create mode 100644 assets/prism-grammars/prism-cobol.min.js
create mode 100644 assets/prism-grammars/prism-coffeescript.min.js
create mode 100644 assets/prism-grammars/prism-concurnas.min.js
create mode 100644 assets/prism-grammars/prism-coq.min.js
create mode 100644 assets/prism-grammars/prism-cpp.min.js
create mode 100644 assets/prism-grammars/prism-crystal.min.js
create mode 100644 assets/prism-grammars/prism-csharp.min.js
create mode 100644 assets/prism-grammars/prism-cshtml.min.js
create mode 100644 assets/prism-grammars/prism-csp.min.js
create mode 100644 assets/prism-grammars/prism-css-extras.min.js
create mode 100644 assets/prism-grammars/prism-css.min.js
create mode 100644 assets/prism-grammars/prism-csv.min.js
create mode 100644 assets/prism-grammars/prism-cypher.min.js
create mode 100644 assets/prism-grammars/prism-d.min.js
create mode 100644 assets/prism-grammars/prism-dart.min.js
create mode 100644 assets/prism-grammars/prism-dataweave.min.js
create mode 100644 assets/prism-grammars/prism-dax.min.js
create mode 100644 assets/prism-grammars/prism-dhall.min.js
create mode 100644 assets/prism-grammars/prism-diff.min.js
create mode 100644 assets/prism-grammars/prism-django.min.js
create mode 100644 assets/prism-grammars/prism-dns-zone-file.min.js
create mode 100644 assets/prism-grammars/prism-docker.min.js
create mode 100644 assets/prism-grammars/prism-dot.min.js
create mode 100644 assets/prism-grammars/prism-ebnf.min.js
create mode 100644 assets/prism-grammars/prism-editorconfig.min.js
create mode 100644 assets/prism-grammars/prism-eiffel.min.js
create mode 100644 assets/prism-grammars/prism-ejs.min.js
create mode 100644 assets/prism-grammars/prism-elixir.min.js
create mode 100644 assets/prism-grammars/prism-elm.min.js
create mode 100644 assets/prism-grammars/prism-erb.min.js
create mode 100644 assets/prism-grammars/prism-erlang.min.js
create mode 100644 assets/prism-grammars/prism-etlua.min.js
create mode 100644 assets/prism-grammars/prism-excel-formula.min.js
create mode 100644 assets/prism-grammars/prism-factor.min.js
create mode 100644 assets/prism-grammars/prism-false.min.js
create mode 100644 assets/prism-grammars/prism-firestore-security-rules.min.js
create mode 100644 assets/prism-grammars/prism-flow.min.js
create mode 100644 assets/prism-grammars/prism-fortran.min.js
create mode 100644 assets/prism-grammars/prism-fsharp.min.js
create mode 100644 assets/prism-grammars/prism-ftl.min.js
create mode 100644 assets/prism-grammars/prism-gap.min.js
create mode 100644 assets/prism-grammars/prism-gcode.min.js
create mode 100644 assets/prism-grammars/prism-gdscript.min.js
create mode 100644 assets/prism-grammars/prism-gedcom.min.js
create mode 100644 assets/prism-grammars/prism-gherkin.min.js
create mode 100644 assets/prism-grammars/prism-git.min.js
create mode 100644 assets/prism-grammars/prism-glsl.min.js
create mode 100644 assets/prism-grammars/prism-gml.min.js
create mode 100644 assets/prism-grammars/prism-gn.min.js
create mode 100644 assets/prism-grammars/prism-go-module.min.js
create mode 100644 assets/prism-grammars/prism-go.min.js
create mode 100644 assets/prism-grammars/prism-graphql.min.js
create mode 100644 assets/prism-grammars/prism-groovy.min.js
create mode 100644 assets/prism-grammars/prism-haml.min.js
create mode 100644 assets/prism-grammars/prism-handlebars.min.js
create mode 100644 assets/prism-grammars/prism-haskell.min.js
create mode 100644 assets/prism-grammars/prism-haxe.min.js
create mode 100644 assets/prism-grammars/prism-hcl.min.js
create mode 100644 assets/prism-grammars/prism-hlsl.min.js
create mode 100644 assets/prism-grammars/prism-hoon.min.js
create mode 100644 assets/prism-grammars/prism-hpkp.min.js
create mode 100644 assets/prism-grammars/prism-hsts.min.js
create mode 100644 assets/prism-grammars/prism-http.min.js
create mode 100644 assets/prism-grammars/prism-ichigojam.min.js
create mode 100644 assets/prism-grammars/prism-icon.min.js
create mode 100644 assets/prism-grammars/prism-icu-message-format.min.js
create mode 100644 assets/prism-grammars/prism-idris.min.js
create mode 100644 assets/prism-grammars/prism-iecst.min.js
create mode 100644 assets/prism-grammars/prism-ignore.min.js
create mode 100644 assets/prism-grammars/prism-inform7.min.js
create mode 100644 assets/prism-grammars/prism-ini.min.js
create mode 100644 assets/prism-grammars/prism-io.min.js
create mode 100644 assets/prism-grammars/prism-j.min.js
create mode 100644 assets/prism-grammars/prism-java.min.js
create mode 100644 assets/prism-grammars/prism-javadoc.min.js
create mode 100644 assets/prism-grammars/prism-javadoclike.min.js
create mode 100644 assets/prism-grammars/prism-javascript.min.js
create mode 100644 assets/prism-grammars/prism-javastacktrace.min.js
create mode 100644 assets/prism-grammars/prism-jexl.min.js
create mode 100644 assets/prism-grammars/prism-jolie.min.js
create mode 100644 assets/prism-grammars/prism-jq.min.js
create mode 100644 assets/prism-grammars/prism-js-extras.min.js
create mode 100644 assets/prism-grammars/prism-js-templates.min.js
create mode 100644 assets/prism-grammars/prism-jsdoc.min.js
create mode 100644 assets/prism-grammars/prism-json.min.js
create mode 100644 assets/prism-grammars/prism-json5.min.js
create mode 100644 assets/prism-grammars/prism-jsonp.min.js
create mode 100644 assets/prism-grammars/prism-jsstacktrace.min.js
create mode 100644 assets/prism-grammars/prism-jsx.min.js
create mode 100644 assets/prism-grammars/prism-julia.min.js
create mode 100644 assets/prism-grammars/prism-keepalived.min.js
create mode 100644 assets/prism-grammars/prism-keyman.min.js
create mode 100644 assets/prism-grammars/prism-kotlin.min.js
create mode 100644 assets/prism-grammars/prism-kumir.min.js
create mode 100644 assets/prism-grammars/prism-kusto.min.js
create mode 100644 assets/prism-grammars/prism-latex.min.js
create mode 100644 assets/prism-grammars/prism-latte.min.js
create mode 100644 assets/prism-grammars/prism-less.min.js
create mode 100644 assets/prism-grammars/prism-lilypond.min.js
create mode 100644 assets/prism-grammars/prism-liquid.min.js
create mode 100644 assets/prism-grammars/prism-lisp.min.js
create mode 100644 assets/prism-grammars/prism-livescript.min.js
create mode 100644 assets/prism-grammars/prism-llvm.min.js
create mode 100644 assets/prism-grammars/prism-log.min.js
create mode 100644 assets/prism-grammars/prism-lolcode.min.js
create mode 100644 assets/prism-grammars/prism-lua.min.js
create mode 100644 assets/prism-grammars/prism-magma.min.js
create mode 100644 assets/prism-grammars/prism-makefile.min.js
create mode 100644 assets/prism-grammars/prism-markdown.min.js
create mode 100644 assets/prism-grammars/prism-markup-templating.min.js
create mode 100644 assets/prism-grammars/prism-markup.min.js
create mode 100644 assets/prism-grammars/prism-matlab.min.js
create mode 100644 assets/prism-grammars/prism-maxscript.min.js
create mode 100644 assets/prism-grammars/prism-mel.min.js
create mode 100644 assets/prism-grammars/prism-mermaid.min.js
create mode 100644 assets/prism-grammars/prism-mizar.min.js
create mode 100644 assets/prism-grammars/prism-mongodb.min.js
create mode 100644 assets/prism-grammars/prism-monkey.min.js
create mode 100644 assets/prism-grammars/prism-moonscript.min.js
create mode 100644 assets/prism-grammars/prism-n1ql.min.js
create mode 100644 assets/prism-grammars/prism-n4js.min.js
create mode 100644 assets/prism-grammars/prism-nand2tetris-hdl.min.js
create mode 100644 assets/prism-grammars/prism-naniscript.min.js
create mode 100644 assets/prism-grammars/prism-nasm.min.js
create mode 100644 assets/prism-grammars/prism-neon.min.js
create mode 100644 assets/prism-grammars/prism-nevod.min.js
create mode 100644 assets/prism-grammars/prism-nginx.min.js
create mode 100644 assets/prism-grammars/prism-nim.min.js
create mode 100644 assets/prism-grammars/prism-nix.min.js
create mode 100644 assets/prism-grammars/prism-nsis.min.js
create mode 100644 assets/prism-grammars/prism-objectivec.min.js
create mode 100644 assets/prism-grammars/prism-ocaml.min.js
create mode 100644 assets/prism-grammars/prism-opencl.min.js
create mode 100644 assets/prism-grammars/prism-openqasm.min.js
create mode 100644 assets/prism-grammars/prism-oz.min.js
create mode 100644 assets/prism-grammars/prism-parigp.min.js
create mode 100644 assets/prism-grammars/prism-parser.min.js
create mode 100644 assets/prism-grammars/prism-pascal.min.js
create mode 100644 assets/prism-grammars/prism-pascaligo.min.js
create mode 100644 assets/prism-grammars/prism-pcaxis.min.js
create mode 100644 assets/prism-grammars/prism-peoplecode.min.js
create mode 100644 assets/prism-grammars/prism-perl.min.js
create mode 100644 assets/prism-grammars/prism-php-extras.min.js
create mode 100644 assets/prism-grammars/prism-php.min.js
create mode 100644 assets/prism-grammars/prism-phpdoc.min.js
create mode 100644 assets/prism-grammars/prism-plsql.min.js
create mode 100644 assets/prism-grammars/prism-powerquery.min.js
create mode 100644 assets/prism-grammars/prism-powershell.min.js
create mode 100644 assets/prism-grammars/prism-processing.min.js
create mode 100644 assets/prism-grammars/prism-prolog.min.js
create mode 100644 assets/prism-grammars/prism-promql.min.js
create mode 100644 assets/prism-grammars/prism-properties.min.js
create mode 100644 assets/prism-grammars/prism-protobuf.min.js
create mode 100644 assets/prism-grammars/prism-psl.min.js
create mode 100644 assets/prism-grammars/prism-pug.min.js
create mode 100644 assets/prism-grammars/prism-puppet.min.js
create mode 100644 assets/prism-grammars/prism-pure.min.js
create mode 100644 assets/prism-grammars/prism-purebasic.min.js
create mode 100644 assets/prism-grammars/prism-purescript.min.js
create mode 100644 assets/prism-grammars/prism-python.min.js
create mode 100644 assets/prism-grammars/prism-q.min.js
create mode 100644 assets/prism-grammars/prism-qml.min.js
create mode 100644 assets/prism-grammars/prism-qore.min.js
create mode 100644 assets/prism-grammars/prism-qsharp.min.js
create mode 100644 assets/prism-grammars/prism-r.min.js
create mode 100644 assets/prism-grammars/prism-racket.min.js
create mode 100644 assets/prism-grammars/prism-reason.min.js
create mode 100644 assets/prism-grammars/prism-regex.min.js
create mode 100644 assets/prism-grammars/prism-rego.min.js
create mode 100644 assets/prism-grammars/prism-renpy.min.js
create mode 100644 assets/prism-grammars/prism-rest.min.js
create mode 100644 assets/prism-grammars/prism-rip.min.js
create mode 100644 assets/prism-grammars/prism-roboconf.min.js
create mode 100644 assets/prism-grammars/prism-robotframework.min.js
create mode 100644 assets/prism-grammars/prism-ruby.min.js
create mode 100644 assets/prism-grammars/prism-rust.min.js
create mode 100644 assets/prism-grammars/prism-sas.min.js
create mode 100644 assets/prism-grammars/prism-sass.min.js
create mode 100644 assets/prism-grammars/prism-scala.min.js
create mode 100644 assets/prism-grammars/prism-scheme.min.js
create mode 100644 assets/prism-grammars/prism-scss.min.js
create mode 100644 assets/prism-grammars/prism-shell-session.min.js
create mode 100644 assets/prism-grammars/prism-smali.min.js
create mode 100644 assets/prism-grammars/prism-smalltalk.min.js
create mode 100644 assets/prism-grammars/prism-smarty.min.js
create mode 100644 assets/prism-grammars/prism-sml.min.js
create mode 100644 assets/prism-grammars/prism-solidity.min.js
create mode 100644 assets/prism-grammars/prism-solution-file.min.js
create mode 100644 assets/prism-grammars/prism-soy.min.js
create mode 100644 assets/prism-grammars/prism-sparql.min.js
create mode 100644 assets/prism-grammars/prism-splunk-spl.min.js
create mode 100644 assets/prism-grammars/prism-sqf.min.js
create mode 100644 assets/prism-grammars/prism-sql.min.js
create mode 100644 assets/prism-grammars/prism-squirrel.min.js
create mode 100644 assets/prism-grammars/prism-stan.min.js
create mode 100644 assets/prism-grammars/prism-stylus.min.js
create mode 100644 assets/prism-grammars/prism-swift.min.js
create mode 100644 assets/prism-grammars/prism-systemd.min.js
create mode 100644 assets/prism-grammars/prism-t4-cs.min.js
create mode 100644 assets/prism-grammars/prism-t4-templating.min.js
create mode 100644 assets/prism-grammars/prism-t4-vb.min.js
create mode 100644 assets/prism-grammars/prism-tap.min.js
create mode 100644 assets/prism-grammars/prism-tcl.min.js
create mode 100644 assets/prism-grammars/prism-textile.min.js
create mode 100644 assets/prism-grammars/prism-toml.min.js
create mode 100644 assets/prism-grammars/prism-tremor.min.js
create mode 100644 assets/prism-grammars/prism-tsx.min.js
create mode 100644 assets/prism-grammars/prism-tt2.min.js
create mode 100644 assets/prism-grammars/prism-turtle.min.js
create mode 100644 assets/prism-grammars/prism-twig.min.js
create mode 100644 assets/prism-grammars/prism-typescript.min.js
create mode 100644 assets/prism-grammars/prism-typoscript.min.js
create mode 100644 assets/prism-grammars/prism-unrealscript.min.js
create mode 100644 assets/prism-grammars/prism-uri.min.js
create mode 100644 assets/prism-grammars/prism-v.min.js
create mode 100644 assets/prism-grammars/prism-vala.min.js
create mode 100644 assets/prism-grammars/prism-vbnet.min.js
create mode 100644 assets/prism-grammars/prism-velocity.min.js
create mode 100644 assets/prism-grammars/prism-verilog.min.js
create mode 100644 assets/prism-grammars/prism-vhdl.min.js
create mode 100644 assets/prism-grammars/prism-vim.min.js
create mode 100644 assets/prism-grammars/prism-visual-basic.min.js
create mode 100644 assets/prism-grammars/prism-warpscript.min.js
create mode 100644 assets/prism-grammars/prism-wasm.min.js
create mode 100644 assets/prism-grammars/prism-web-idl.min.js
create mode 100644 assets/prism-grammars/prism-wiki.min.js
create mode 100644 assets/prism-grammars/prism-wolfram.min.js
create mode 100644 assets/prism-grammars/prism-wren.min.js
create mode 100644 assets/prism-grammars/prism-xeora.min.js
create mode 100644 assets/prism-grammars/prism-xml-doc.min.js
create mode 100644 assets/prism-grammars/prism-xojo.min.js
create mode 100644 assets/prism-grammars/prism-xquery.min.js
create mode 100644 assets/prism-grammars/prism-yaml.min.js
create mode 100644 assets/prism-grammars/prism-yang.min.js
create mode 100644 assets/prism-grammars/prism-zig.min.js
create mode 100644 assets/prism.js
create mode 100644 index.html
create mode 100644 kingfisher.png
create mode 100644 search_index.json
create mode 100644 usage/annotate.html
create mode 100644 usage/extract.html
create mode 100644 usage/get.html
create mode 100644 usage/index.html
diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 0000000..e69de29
diff --git a/assets/doctave-app.js b/assets/doctave-app.js
new file mode 100644
index 0000000..4351ffc
--- /dev/null
+++ b/assets/doctave-app.js
@@ -0,0 +1,241 @@
+function search() {
+ box = document.getElementById('search-box');
+ list = document.getElementById('search-results');
+ list.innerHTML = '';
+
+ if (box.value == "") {
+ return
+ }
+
+ config = {
+ fields: {
+ title: {
+ boost: 2,
+ },
+ body: {
+ boost: 1
+ }
+ },
+ bool: "OR",
+ expand: true
+ }
+
+ INDEX.search(box.value, config).forEach(function (result) {
+ listItem = document.createElement("li");
+ listItem.className = "search-result-item";
+ listItem.innerHTML =
+ "" + result.doc.title +
+ "" + searchPreview(result.doc.body) + "
" +
+ "";
+
+ list.appendChild(listItem);
+ });
+}
+
+function searchPreview(body) {
+ return body.substring(0, 100)
+ .replace(/=+/g, "")
+ .replace(/#+/g, "")
+ .replace(/\*+/g, "")
+ .replace(/_+/g, "") +
+ "...";
+}
+
+function disableScrollifMenuOpen() {
+ var checkbox = document.getElementById('menu-toggle-switch');
+
+ if (checkbox.checked) {
+ document.body.style.overflow = 'hidden';
+ } else {
+ document.body.style.overflow = 'auto';
+ }
+}
+
+function atTop() {
+ var nav = document.getElementsByClassName("sidebar-right")[0];
+
+ return window.scrollY <= nav.offsetTop + 50;
+}
+
+function navTouchingBottom() {
+ var nav = document.getElementsByClassName("page-nav")[0];
+
+ var height = Math.max(
+ document.body.scrollHeight, document.documentElement.scrollHeight,
+ document.body.offsetHeight, document.documentElement.offsetHeight,
+ document.body.clientHeight, document.documentElement.clientHeight
+ );
+ // Magic number determined
+ // by height of bottom wave
+ return window.scrollY + nav.offsetTop + nav.offsetHeight >= height - 230;
+}
+
+function scrolledUp() {
+ var height = Math.max(
+ document.body.scrollHeight, document.documentElement.scrollHeight,
+ document.body.offsetHeight, document.documentElement.offsetHeight,
+ document.body.clientHeight, document.documentElement.clientHeight
+ );
+
+ // Magic number determined
+ // by height of bottom wave
+ return window.scrollY + window.innerHeight < height - 230;
+}
+
+function dragRightMenu() {
+ if (atTop()) {
+ document.getElementById('page-nav').classList.remove('fixed');
+ document.getElementsByClassName('sidebar-right')[0].classList.remove('bottom');
+ } else if (scrolledUp()) {
+ document.getElementById('page-nav').classList.add('fixed');
+ document.getElementsByClassName('sidebar-right')[0].classList.remove('bottom');
+ } else if (navTouchingBottom()) {
+ document.getElementById('page-nav').classList.remove('fixed');
+ document.getElementsByClassName('sidebar-right')[0].classList.add('bottom');
+ } else {
+ document.getElementById('page-nav').classList.add('fixed');
+ document.getElementsByClassName('sidebar-right')[0].classList.remove('bottom');
+ }
+}
+
+function isVisible(element) {
+ var rect = element.getBoundingClientRect();
+ var elemTop = rect.top;
+ var elemBottom = rect.bottom;
+
+ var isVisible = (elemTop >= 0) && (elemBottom <= window.innerHeight);
+ return isVisible;
+}
+
+function toggleColor() {
+ var color = localStorage.getItem('doctave-color')
+
+ if (color === 'dark') {
+ localStorage.setItem('doctave-color', 'light');
+ } else {
+ localStorage.setItem('doctave-color', 'dark');
+ }
+
+ setColor();
+}
+
+function setColor() {
+ var color = localStorage.getItem('doctave-color')
+
+ if (color === 'dark') {
+ document.querySelector("link[rel='stylesheet'][href*='prism-']").href = BASE_PATH + "assets/prism-atom-dark.css?v=" + DOCTAVE_TIMESTAMP;
+ document.getElementsByTagName('html')[0].classList.remove('light');
+ document.getElementsByTagName('html')[0].classList.add('dark');
+ } else {
+ document.querySelector("link[rel='stylesheet'][href*='prism-']").href = BASE_PATH + "assets/prism-ghcolors.css?" + DOCTAVE_TIMESTAMP;
+ document.getElementsByTagName('html')[0].classList.remove('dark');
+ document.getElementsByTagName('html')[0].classList.add('light');
+ }
+}
+
+document.getElementById("light-dark-mode-switch").addEventListener("click", toggleColor);
+
+
+// Initialize mermaid.js based on color theme
+var color = localStorage.getItem('doctave-color')
+if (color === 'dark') {
+ console.log("DARK MODE");
+ mermaid.initialize({ 'theme': 'dark' });
+} else {
+ mermaid.initialize({ 'theme': 'default' });
+}
+
+// Setup Katex
+var mathElements = document.getElementsByClassName("math");
+
+const macros = {}
+
+for (let element of mathElements) {
+ let latex = element.textContent;
+
+ try {
+ katex.render(latex, element, {
+ displayMode: true,
+ macros: macros,
+ });
+ } catch (e) {
+ if (e instanceof katex.ParseError) {
+ // KaTeX can't parse the expression
+ var error_message = e.message
+ .replaceAll(/^KaTeX parse error: /g, "Error parsing math notation:\n")
+ .replaceAll(/&/g, "&")
+ .replaceAll(//g, ">")
+ .replaceAll("\n", "
");
+
+ element.innerHTML = "
" + error_message + "
" + latex.trim().replaceAll("\n", "
");
+ element.classList.add("katex-error");
+ } else {
+ throw e; // other error
+ }
+ }
+}
+
+// Setup Prism
+Prism.plugins.autoloader.languages_path = BASE_PATH + 'assets/prism-grammars/';
+
+
+// Load search index
+var INDEX;
+
+fetch(BASE_PATH + 'search_index.json')
+ .then(function (response) {
+ if (!response.ok) {
+ throw new Error("HTTP error " + response.status);
+ }
+ return response.json();
+ })
+ .then(function (json) {
+ INDEX = elasticlunr.Index.load(json)
+ document.getElementById('search-box').oninput = search;
+ search();
+ });
+
+// Setup keyboard shortcuts
+document.onkeydown = function (e) {
+ var searchResults = document.getElementById('search-results');
+ var first = searchResults.firstChild;
+ var searchBox = document.getElementById('search-box');
+
+ switch (e.keyCode) {
+ case 83: // The S key
+ if (document.activeElement == searchBox) {
+ break;
+ } else {
+ searchBox.focus();
+ e.preventDefault();
+ }
+ break;
+ case 38: // if the UP key is pressed
+ if (document.activeElement == (searchBox || first)) {
+ break;
+ } else {
+ document.activeElement.parentNode.previousSibling.firstChild.focus();
+ e.preventDefault();
+ }
+ break;
+ case 40: // if the DOWN key is pressed
+ if (document.activeElement == searchBox) {
+ first.firstChild.focus();
+ e.preventDefault();
+ } else {
+ document.activeElement.parentNode.nextSibling.firstChild.focus();
+ e.preventDefault();
+ }
+ break;
+ case 27: // if the ESC key is pressed
+ if (first) {
+ searchResults.innerHTML = '';
+ }
+ break;
+ }
+}
+
+disableScrollifMenuOpen();
+dragRightMenu();
+setColor();
diff --git a/assets/doctave-style.css b/assets/doctave-style.css
new file mode 100644
index 0000000..ce82f39
--- /dev/null
+++ b/assets/doctave-style.css
@@ -0,0 +1,865 @@
+/* Base ---------------------------------------------------------------- */
+body {
+ font-family: 'Source Sans Pro', sans-serif;
+ min-height: 100vh;
+ height: 100%;
+ max-width: 100%;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-family: 'Inter', sans-serif;
+ font-weight: 700;
+ margin-top: 34pt;
+ padding-bottom: 0pt;
+}
+
+h1,
+h2 {
+ color: rgb(65,133,173);
+}
+
+h3,
+h4,
+h5,
+h6 {
+ color: #374151;
+}
+
+p,
+li {
+ color: #3C3C3C;
+ font-size: 13pt;
+ line-height: 24pt;
+}
+
+a {
+ color: rgb(65,133,173);
+}
+
+img {
+ border-radius: 5px;
+ max-width: 100%;
+ box-shadow: 0px 0px 9px rgba(0, 0, 0, 0.07);
+}
+
+table {
+ width: 100%;
+ text-align: left;
+ border-collapse: collapse;
+ overflow-x: auto;
+ display: block;
+ width: fit-content;
+}
+
+code {
+ font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace;
+}
+
+pre {
+ border: 1px solid #E5E7EB;
+ position: relative;
+ padding: 1.5rem;
+ background: #F8F9FB;
+ border-radius: 10px;
+ margin-bottom: 2rem;
+ overflow: auto;
+}
+
+p code {
+ font-size: 0.9em;
+ background: #EFF1F5;
+ padding-left: 5px;
+ padding-right: 5px;
+ border-radius: 5px;
+ padding-bottom: 2px;
+ padding-top: 2px;
+}
+
+blockquote p {
+ font-size: 1.8rem;
+ font-style: italic;
+}
+
+blockquote {
+ padding-top: 30px;
+ padding-bottom: 30px;
+}
+
+thead tr:last-child {
+ font-size: 1.2rem;
+}
+
+thead tr:last-child {
+ border-bottom: 1px solid #C2C2C2;
+}
+
+td,
+th {
+ padding: 15px;
+}
+
+.callout {
+ margin-top: 28px;
+ margin-bottom: 28px;
+ width: 100%;
+ border-radius: 5px;
+ padding-left: 16px;
+ padding-right: 16px;
+ padding-bottom: 4px;
+ box-sizing: border-box;
+}
+
+.callout p {
+ padding-top: 8px;
+ margin-top: 0px;
+ margin-bottom: 4px;
+ line-height: 18pt;
+}
+
+.callout p:last-child {
+ margin-bottom: 4px;
+}
+
+.callout .callout-title {
+ border-top-right-radius: 5px;
+ border-top-left-radius: 5px;
+ margin-left: -16px;
+ margin-top: -16px;
+ margin-right: -16px;
+ margin-bottom: 0px;
+ padding-left: 16px;
+ padding-right: 16px;
+ padding-top: 8px;
+ padding-bottom: 8px;
+
+ font-weight: 700;
+ color: #FFF !important;
+}
+
+.callout.info {
+ background: #e6efff;
+}
+
+.callout.info p.callout-title {
+ background: #6875f5;
+}
+
+.callout.success {
+ background: #ECFDF5;
+}
+
+.callout.success p.callout-title {
+ background: #34D399;
+}
+
+.callout.warning {
+ background: #FFFBEB;
+}
+
+.callout.warning p.callout-title {
+ background: #FBBF24;
+}
+
+.callout.error {
+ background: #FEF2F2;
+}
+
+.callout.error p.callout-title {
+ background: #F87171;
+}
+
+/* General layout ------------------------------------------------------ */
+
+.page {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+ min-height: 100vh;
+}
+
+.header,
+.container {
+ display: flex;
+ justify-content: center;
+
+ width: 100%;
+ padding-left: 40px;
+ padding-right: 40px;
+
+ box-sizing: border-box;
+}
+
+.container {
+ flex: 1;
+}
+
+.search,
+.doctave-content {
+ max-width: 830px;
+ min-width: 380px;
+ width: 100%;
+ box-sizing: border-box;
+}
+
+.header {
+ padding-top: 50px;
+ padding-bottom: 20px;
+}
+
+.logo {
+ display: flex;
+}
+
+.logo img {
+ height: 45px;
+ width: 45px;
+ padding-right: 12px;
+ box-shadow: none;
+}
+
+.logo,
+.sidebar-left,
+.sidebar-right,
+.header-dummy-right {
+ width: 300px;
+ min-width: 300px;
+}
+
+.sidebar-left,
+.sidebar-right {
+ padding-top: 50px;
+ box-sizing: border-box;
+}
+
+.sidebar-right {
+ padding-left: 50px;
+}
+
+.sidebar-right .page-nav.fixed {
+ top: 0;
+ position: fixed;
+ width: 280px;
+}
+
+.sidebar-right.bottom {
+ display: flex;
+ align-items: flex-end;
+ padding-bottom: 230px;
+}
+
+.sidebar-right.bottom .page-nav {
+ width: 280px;
+ margin-top: -100px;
+}
+
+.sidebar-left {
+ padding-bottom: 160px;
+ padding-right: 50px;
+}
+
+.wave-container {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+}
+
+.wave-container p {
+ padding-left: 40px;
+ margin-bottom: 10px;
+ color: #FFF;
+}
+
+.wave-container a {
+ color: #FFF;
+}
+
+.wave-container svg {
+ z-index: -1;
+ position: absolute;
+ bottom: 0;
+}
+
+.wave-container svg path {
+ fill: rgb(65,133,173);
+}
+
+.menu-toggle-button,
+#menu-toggle-switch {
+ display: none;
+}
+
+/* Changes to apply to "large" devices
+ *
+ * * Hide right navigation
+ *
+ */
+@media screen and (max-width: 1200px) {
+
+ .header-dummy-right,
+ .sidebar-right {
+ display: none;
+ }
+}
+
+/* Changes to apply to "medium" devices
+ *
+ * * Hide main left navigation
+ * * Start showing the menu toggle button
+ * * Remove page shadow
+ *
+ */
+@media screen and (max-width: 768px) {
+ .page .container {
+ overflow: hidden;
+ justify-content: flex-start;
+ }
+
+ .header {
+ flex-direction: column;
+ }
+
+ .logo {
+ width: 100%;
+ min-width: 100%;
+ }
+
+ .sidebar-left {
+ position: fixed;
+ display: none;
+ top: 0;
+ padding-top: 10px;
+ overflow: auto;
+ height: 100vh !important;
+ max-height: 100vh !important;
+ }
+
+ .sidebar-left nav {
+ padding-bottom: 50px;
+ }
+
+ .page .container .doctave-content {
+ padding: 40px;
+ }
+
+ .menu-toggle-button {
+ display: block;
+ cursor: pointer;
+ position: fixed;
+ bottom: 15px;
+ right: 50px;
+ font-size: 1.6rem;
+ z-index: 50;
+ height: 25px;
+ width: 25px;
+ background: rgb(65,133,173);
+ color: white;
+ padding: 10px;
+ border-radius: 25px;
+ line-height: 1.45rem;
+ text-align: center;
+
+ box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
+ }
+
+ #menu-toggle-switch:checked+.page {
+ overflow: hidden;
+ }
+
+ #menu-toggle-switch:checked+.page .container .doctave-content {
+ overflow-x: hidden;
+ margin-left: 300px;
+ }
+
+ #menu-toggle-switch:checked+.page .header {
+ margin-left: 300px;
+ }
+
+ #menu-toggle-switch:checked+.page .container .sidebar-left {
+ display: block;
+ }
+}
+
+/* Changes to apply to "small" devices
+ *
+ * * Tighten things up
+ *
+ */
+@media screen and (max-width: 576px) {
+ .page {
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+
+ .header {
+ padding-top: 20px;
+ padding-left: 30px;
+ padding-right: 30px;
+ }
+
+ .header .logo .project-name {
+ padding-bottom: 0px;
+ }
+
+ .doctave-content,
+ .header,
+ .header .search {
+ min-width: 100%;
+ }
+
+ .page .container {
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+
+ .page .container .doctave-content {
+ padding: 20px;
+ }
+
+ .menu-toggle-button {
+ right: 15px;
+ }
+}
+
+/* Dark mode ----------------------------------------------------------- */
+
+#light-dark-mode-switch {
+ display: block;
+ cursor: pointer;
+ color: #979797;
+ background: #F3F3F3;
+ width: 35px;
+ height: 35px;
+ line-height: 1.2em;
+ text-align: center;
+ padding: 5px;
+ box-sizing: border-box;
+ border-radius: 5px;
+}
+
+#light-dark-mode-switch:hover {
+ background: #CECECE;
+}
+
+#light-dark-mode-switch svg {
+ fill: #979797;
+ height: 26px;
+ width: 25px;
+ /* Icon slightly off center? */
+ margin-left: 2px;
+ margin-top: -1px;
+}
+
+.dark #light-dark-mode-switch svg {
+ margin-left: 0px;
+ margin-top: 0px;
+}
+
+.dark #dark-mode-icon {
+ display: none;
+}
+
+#light-mode-icon {
+ display: none;
+}
+
+.dark #light-mode-icon {
+ display: block;
+}
+
+.dark {
+ background: #202B33;
+}
+
+.dark .search #search-form input {
+ background: #202B33;
+ border-color: #6B747B;
+}
+
+.dark .search .search-icon {
+ background: #676767;
+ color: #AFAFAF;
+}
+
+.dark .doctave-content {
+ background: #30404D;
+}
+
+.dark h1,
+.dark h2,
+.dark h3,
+.dark h4,
+.dark h5,
+.dark h6 {
+ color: rgb(150,191,216);
+}
+
+.dark * {
+ color: #FFF;
+}
+
+.dark a {
+ color: rgb(150,191,216);
+}
+
+.dark h2.project-name a {
+ color: #FFF;
+}
+
+.dark h2.project-name:after {
+ color: rgb(150,191,216);
+}
+
+.dark h2.project-name:after {
+ color: rgb(150,191,216);
+}
+
+.dark nav a {
+ color: rgb(150,191,216);
+}
+
+.dark nav a.active:before {
+ border-color: rgb(150,191,216);
+}
+
+.dark nav a.active {
+ color: rgb(150,191,216);
+}
+
+.dark nav ul ul a {
+ color: #FFF;
+}
+
+.dark code {
+ color: #323232;
+}
+
+.dark .callout p {
+ color: #374151;
+}
+
+
+.dark #search-results li {
+ background: #202B33;
+ border-color: #30404D;
+}
+
+.dark #search-results a:hover,
+.dark #search-results a:focus {
+ background: #30404D;
+}
+
+.dark .sidebar-right p {
+ color: #888
+}
+
+.dark .sidebar-right hr {
+ border-color: #888;
+}
+
+.dark .sidebar-right li a {
+ font-size: 14pt;
+ font-weight: 400;
+ color: #FFF;
+}
+
+.dark .sidebar-right li a:hover {
+ border-bottom: 1px solid rgb(150,191,216);
+}
+
+.dark .mermaid * {
+ color: #3C3C3C;
+}
+
+.dark pre {
+ background: #202B33;
+ border: 1px solid #202B33;
+ color: #FFF;
+}
+
+.dark code {
+ color: #FFF;
+}
+
+.dark p code {
+ color: #404040;
+}
+
+/* Main content -------------------------------------------------------- */
+
+.doctave-content {
+ z-index: 10;
+ padding: 80px;
+ background: #FFF;
+ box-shadow: 0px 0px 9px rgba(0, 0, 0, 0.07);
+ border-radius: 10px 10px 0px 0px;
+}
+
+.doctave-content h1:first-child,
+.doctave-content h2:first-child,
+.doctave-content h3:first-child,
+.doctave-content h4:first-child,
+.doctave-content h5:first-child,
+.doctave-content h6:first-child {
+ font-weight: 400;
+ margin-top: 0;
+}
+
+/* Left sidebar -------------------------------------------------------- */
+
+.sidebar-left {
+ height: calc(100% - 250px);
+ overflow: auto;
+}
+
+.project-name {
+ margin-top: 0px;
+ padding-right: 20px;
+}
+
+.project-name:after {
+ content: "DOCS";
+ font-size: 12pt;
+ display: block;
+ color: rgb(65,133,173);
+ opacity: 56%;
+}
+
+.project-name a {
+ font-family: 'Source Sans Pro', sans-serif;
+ text-decoration: none;
+}
+
+nav {}
+
+nav a {
+ text-decoration: none;
+}
+
+nav a.active {
+ color: rgb(65,133,173);
+}
+
+nav a.active:before {
+ content: "";
+ border-left: 3px solid rgb(65,133,173);
+ padding-left: 10px;
+}
+
+nav a:hover {
+ border-bottom: 1px solid rgb(65,133,173);
+}
+
+nav ul {
+ list-style: none;
+ padding-left: 0pt;
+}
+
+nav ul li {
+ line-height: 24pt;
+}
+
+nav ul ul li {
+ line-height: 24pt;
+}
+
+nav ul a {
+ font-size: 13pt;
+ font-weight: 700;
+}
+
+nav ul ul {
+ padding-left: 30pt;
+ padding-top: 10pt;
+ padding-bottom: 14pt;
+}
+
+nav ul ul a {
+ font-size: 13pt;
+ font-weight: 400;
+ color: #545454;
+}
+
+
+
+/* Right sidebar ------------------------------------------------------- */
+
+.sidebar-right {}
+
+.page-nav-header {
+ color: #ADADAD;
+ margin-bottom: 4pt;
+ font-size: 12pt;
+ font-weight: 400;
+}
+
+.sidebar-right ul {
+ list-style: none;
+ padding-left: 0pt;
+}
+
+.sidebar-right li a {
+ font-size: 13pt;
+ font-weight: 400;
+ color: #626262;
+ text-decoration: none;
+}
+
+.sidebar-right li a:hover {
+ border-bottom: 1px solid rgb(65,133,173);
+}
+
+.sidebar-right a:hover {}
+
+.sidebar-right li {
+ line-height: 24pt;
+}
+
+.sidebar-right li.page-nav-level-2 {
+ padding-left: 20px;
+}
+
+.sidebar-right li.page-nav-level-3 {
+ padding-left: 40px;
+}
+
+.sidebar-right li.page-nav-level-4,
+.sidebar-right li.page-nav-level-5,
+.sidebar-right li.page-nav-level-6 {
+ display: none;
+}
+
+/* Search -------------------------------------------------------------- */
+
+.search #search-form {
+ width: 100%;
+ display: flex;
+ position: relative;
+ align-items: center;
+ justify-content: center;
+ box-sizing: border-box;
+}
+
+.search #search-form input {
+ font-family: 'Inter', sans-serif;
+ color: #979797;
+ height: 50px;
+ outline: none;
+ width: 100%;
+ padding: 10px;
+ border: 1px solid #EEEEEE;
+ box-sizing: border-box;
+ border-radius: 10px;
+ box-sizing: border-box;
+}
+
+.search .search-icon {
+ font-family: 'Inter', sans-serif;
+ color: #AFAFAF;
+ background: #F3F3F3;
+
+ position: absolute;
+ right: 10px;
+ width: 30px;
+ height: 30px;
+
+ border-radius: 5px;
+
+ line-height: 2em;
+ text-align: center;
+}
+
+#search-results {
+ z-index: 50;
+ position: absolute;
+ overflow: auto;
+
+ width: 100%;
+ top: 40px;
+ left: 0px;
+
+ padding-left: 0px;
+ padding-right: 0px;
+
+ background: none;
+ list-style: none;
+ border-radius: 10px;
+ box-sizing: border-box;
+ box-shadow: 0 0.1rem 1rem rgba(0, 0, 0, 0.1);
+}
+
+#search-results li {
+ margin: 0;
+ margin-top: -1px;
+ border: 1px solid #E3E3E3;
+ background: #FFF;
+}
+
+#search-results a {
+ padding: 15px;
+ width: 100%;
+ display: inline-block;
+ text-decoration: none;
+
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+#search-results a p {
+ font-family: 'Source Sans Pro', sans-serif;
+}
+
+#search-results a:hover,
+#search-results a:focus {
+ background: #F4F4F4;
+ outline: none;
+}
+
+#search-results .search-result-item-preview {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ color: #9B9B9B;
+ text-decoration: none !important;
+ font-size: 1rem;
+}
+
+#search-results li:first-child {
+ border-top-left-radius: 10px;
+ border-top-right-radius: 10px;
+ margin-top: -5px;
+}
+
+#search-results li:last-child {
+ border-bottom-left-radius: 10px;
+ border-bottom-right-radius: 10px;
+}
+
+/* Katex --------------------------------------------------------------- */
+
+.katex-error {
+ border-radius: 8px;
+ background-color: #ffa9a9;
+ padding: 12px;
+ padding-left: 12px;
+ padding-right: 12px;
+}
+
+.katex-error-msg {
+ border-top-left-radius: 8px;
+ border-top-right-radius: 8px;
+ padding: 8px;
+ padding-left: 12px;
+ padding-right: 12px;
+ margin-top: -12px;
+ margin-right: -12px;
+ margin-left: -12px;
+ background-color: #f86767;
+ font-weight: 500;
+}
\ No newline at end of file
diff --git a/assets/elasticlunr.js b/assets/elasticlunr.js
new file mode 100644
index 0000000..94b20dd
--- /dev/null
+++ b/assets/elasticlunr.js
@@ -0,0 +1,10 @@
+/**
+ * elasticlunr - http://weixsong.github.io
+ * Lightweight full-text search engine in Javascript for browser search and offline search. - 0.9.5
+ *
+ * Copyright (C) 2017 Oliver Nightingale
+ * Copyright (C) 2017 Wei Song
+ * MIT Licensed
+ * @license
+ */
+!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();ov9PA|K&Q+8*zm#LfW$)@jadhd`*Ab^yRkN_cst`re8fFO26
z#RAAr;bDJIeHH}8=ksBCzJ@$SAHF|-WoQ4NbM9;*28G{0lVoS^y>st5-}3p^bJj&%
zE|=SN!X>zNtz6rcUwmSDhs*VoZ8*AX_n~tx{`1$L`aC{A<#Gw@b|1bhseDj*%;kFN
z>p0)N@8bQ3&h7m3F_-ISUfjgof6k>B<2c^Gb`yT8`!6`U@ARI3`V!v1>~j6!r2~7<
z*|Re}iYGoV;#m0r4v0%s5ANTK&y5ETU3TQBzs}@wegMz=(*+mpKIa|(@8F9r*R!v=
zTvR`F&XJ4B7u_%5^G|Sn^1^ct?cM&RvwxxE-iKO
zC3`R4yYSQZ<9r>i|Co!qaBtT?&>&{3xLgIhVCM>UCV$VKe4Yj;f0HMlb%|{J^cnj1
zu71~Q*A~|vmo=jA*t&Mj@}X`j=G&SAN+zAlR?3BZxm+k$O2u3*6O7zl;&!aJPC
zdH(WM%HfdD$4(UTpT$Krh0--=4C>3!8bX0<1N~Or&vqvb3
z90H$kKR>@9#}8J@Wr;B%o5=*jp@8t%Ga*6Wm-h9y7*=tKPKj~h=EUbeLoJgihSaQT
zln@~plLg68h{YojyW|NWG((uC}qDBHCjGEf$mqR=Pzz#>68i*hrG)1#8FGE~q3)
z(7s{Mi`WLosm>6yF2w;)7kOzgB
zc!$6hnaMhc3)b*sILsuuTq>6FhO<#lvkM#sFiuv=jzr^hm~o1IwMou^_~9RaC8`cy
zoHA6+5|qyKZdx&a%|Va6aox>siFoDS;jSjjXShX)5J_}vRJ1k~n^Tcc=X^`eOGIgS
z;G2R>sVMEr1<46_*zzcKWPSBpMD1%aY|We77*AfmCDU>5x!c^7M1x*a)kP_~W^Ggw
zHQ8v}9JV#z`KvnqOR`rz`=84R7$L6zryDjG+zRn3DL@F<{m(&;FL0f7-Rt@&)BO+L
zclV9QE?Q2Y`~Gr&FB9Mb#F)t!W(xv2b1Xp6&Xij=`7p#Z9mMsv7uN?0j_?vLkc?1@
zn+AeGKZpvlD@i!<2~P*`1zh2l2p;ReC|1y1S{mC*MRmHyKZvb=6bK|{VvaldH?A6kkqI(m
zVJ7XcA{b_0s0lw8e^Sh30-+#d9G(l{#w{4^NTm!e6-wY8z7h6U0A&SwO+8g<^e|7&VvA@h#5&Mm`V8Eqqnb#S#E~oHCH2XWCf;|isI~XFlh>Wpg9;Uu_PSJ~
zPbFWYf?M!be_wsYi#JpbX~ZI?7HaNR41e{7b*Am1RP$B;RF}0RXbnhhN
z@DSQ_!}Zr({f@nT0cJVV5N?1jw|mf{yhDCRef}>w3EneaIjj`k$S}q(hGgJ2SjL_z
zlpsBvY2*{Wi4m1hSt~`UWzdgYn}d#=jcth;w#nv1v95=+%~-Hdlod&5cHmnMf6im<
zftKJ;Us>|o*T}LzB+0h@jX?jvwWlOo29SH9HPg!TH`(O%H20|vo1~EuTaq;K-up!D
z46f(_ow)z4$3q25+PVm}eAOSVmXx3-2&xU9WT$>hUk1{z1y>G&FW||MLkIWl+PFXj
zPY5jGERr*@uc?U~^g7zWq#oJ>WdrQ@i6LNLFaS+*;BT&ZfW-)h2>9XPe<&P=+7Tc>
z-U+e-e5+JS6~>RA46dZh8f#cD$(9t{I@lWvtV`PORpUEh3#qr?GTge>(A3@9m2J>8
zE7a*GG<@j|D;990vE?4SJKLGA-nM~ThHa~LX({;Xoq}rHEVTj5UJWH#~m<@T)ggvn1yjn$J^x=G%KEd-eAY
zy{}26(kAlXuonrv+S}`sWFL5=2YqrN?txvk;kOcKz)9EpT%U$r{qX7AuInevu0l#N
zY2XdBk-=cW!6fe4a1ow4$$Xq3QxfhfDYF))rXuB12|C2xM|Q>8wCD}qlLLt1xlmTj
zmKc&1%S~rJS|{9pyiv5=QiNgHA4I_)XCP+i;(c?Dv%?X|ZHbM?k2TFvoOs
zvDhFybfSqdAu4zzT~q{-;S0eJMbssa5M%^?=o)6)nV&j)5e3nvFXArii$u9dVc&Ir
zOp_VLi3*Y|%GKXgU&0RwaR4rwL%iuLOyVUTbLI*d`FWPtYmroCblv#6(MpQAy~`l3IO
zZe3NVpnGD3ilRCGO7&UM1K6!wtTHP}y~5;!2`S)-1ub}4S_)Vk0Xk@)$`RPc2VIYF
z@A3op-Er#ZaFp4{VgY^$^Hcy4(*STb^*)=s^9FPYSB5C_aU8PpQyjD5s4!UJFAglZ
ztZ-HYXv(!x$7@xB47dGRl9u^bgF*6(sBKE$kVL=4AmFblx-kPJaX*NCeso@f*v)WB
zuHKyxC4XaY^MT>XIY;Ry?&
zgTTQ>rq{g*AV5z{J*ZJ5;GXi;rF5@ag1&kK@||D_*k
z6Q5#Ceq@y7eFU1p?B++H8T+6c?{wY8G~@PnoxJk!g-uS}1rINrg~~Jcp(f9O4Omi{
zg-#&OteqSZSs+%nZGrOeRmcYTHFLbp=}WwDZ8-LjEOT;@$YFF2`2fp|$Tn^;9kKZ;
zS2i#i!52{mLq-GgqMU({CMjG|W_?A%parJqEU~>gI@~-Ni
zyQs&6{e=@d=c*tH5Li}OF{*+js6STJmsQm=FRT8`Es=T}Ak|-0e(Bj5~gRG}2HfAQw;{Hs}Q#WAF|JDN$l+pQPHt_T^zF*WO4F6r&)E
zEd9$1Ae|h`M2#BZi!WVv)R6w;7q%}DQ$QJ_rUmLTKn+Q#obD?K)C@fuolp{_uIEOvNl@FYAWw&u~#qmX<
z)UN6ucHt+&1#$he
zKiF<>_~tzuvO!4@H%{kDHiF{=uC3FN#ifUK@7O#Mo1HHYu@M5C)ttRq%EaF(6tj30
zOC_G=o0~q#`c13Mv$y?YyuTP8bsc@Wwfg`O)ftove0_2(K%Z-
zWb$f+kFu;9?qJw{hS;)KpPL<_O__#YShMAB0e
zT&7xG!>(1XU9QVnPGtY?ZEMFDmfP!1B!lr7Ue-siqE1Lt0mcA{itiH~I*wp1?
z^@3b(v2{rfCj9#OvLs7hiAWhaureO^$W5O-1$m9lN^qx_e&Fp%@8q|k-Ic{~%l!FZ
z&=6dpw3GG!6lD3N>rU4PT%Tc-e&mDqy!)2xPh8MIKxu?Jl4}~G#5IUs^Bs16@6-WtR)hK
z!Pxac92rBmBmtNK$*13YrboF!i3^)6qj7s+Uz$tV=hy5_3bWchRy)#v_V?NxMAh!ySDi
z4b^8%1iiLQUfX=0L@c+h8}!T6qC#+fS4O9m&VZHbiA4i_Ya`KA!^pVD@@wv2TG8UX
z1s;;`cdKiM+B$lEjD(<+Oe7{BjSY56Ub<$UFC1@b^iLv7cno%9foln>4_g`iH*Q$HZ1HHyu^Xvc>K5d2sGiFpu;%HIS$6>Ro6d*W
zc7_p>y&S6w_pOp4cE(0X?V-?!te>ZB+bKzs1`(dEfY?DM(s0L+Mrg1x#8ZGLofM!c
zH3lis`nTEeEfiZrim%?^pbwDV?aYt52!YH$59)P(=7kBGuxW#+B8>Kowlqj^kbW+Q
z^qC-daP;X_&h
zt{1sA5D=-!au>Qd6Midj;J*93d*y^i^z==}0}pE5^N{9b-Y+s7NO|+Xt+$}Q?_TxN
ztF~+ibvzmAY0cJ$V3$k^J~*igD!MNnYD*SxLpJMzI-zh8U36Y&{YarTR*xskVpybt
z;Xxe}hG6P9^m)*JKD^kip#A0z6AKXv0Tx&lf#Cs&?#u#>
zWfuf8!$_UYQI^F(At=DChc8?KyC|z>;Om)?Uqx!|y+=4{Efo3arj<0d(kHq7D$0zK
zhwk0u6oggM=qJ@GJX0e1+>4{08TtcO=w`|f|48XnP!xHM&
zl&vvOrq;xzI&E$*I#$3so8L?@qfcXX0=a<~;4
zC}Y4EgXXGJzY$ngXCH9$-KdX2bMLw9hGU2JM>Up9Ms^=5{t6R6p6LWEQpyT8IRS4S
z?}UO9FqG^vT;!0_O_^EshbultN&W&=XGzT{9S*RR1}cdxk?->Xn=6c{>^>5sE4zcw
z7Yvju@Ca)snnGbl;EJ%)AM;6Kcx#2DsT>n9^Ed`6OCdpVM-#-yz}A|!VA&z)kzcWqT%r>IhjlzyFxM#?w|w;bcsO_
zbKOiA%okNlIB$<%*9`02AYwt{a}&ct7%|eAwG|ja&|k0Ds^6%7pQy-gkgxsxUt}F3
z+eFG%s}Ar6y0EG|1she#YCWg=M+kgUA-l95#6OA$ihu|O5nf0y|Kzwx674;KYZk~`
zG3x3I)&J@48X}8U$(o@8w5V(}7}eiZUn8_s7q3sljZN4dB>(CggNd|efww-O@>jsy
z3tZQ@Zg<_oc>C@|jO=
z+IZxWV-kQK34U5}PJzdaKa5{BnP8IRN0)>n1;}*sM~3_?0|;@!ryz1$@JZR@$d*tB
z*%~QW-=ipP32HVdj=sFY)rA_1mKY0~yS^OIbwvkM(0fmddUSY)DSIjv*$&y7?mq9J
zs2fUrFt&3z^4T;rPS?fv+)a&p=qbX-EMpkZ`tyfVX<3F3NJ$
zL+`V7)a$Z6W4hMcA_O8W%B*gQYt4y!|lc8=)BOsaP*4vb~Gx$EaK>yqevmss^mU_ynwguGmT6-Z2QF5RLk0
zv(|8OY_AWLS$)Jr6N<))q$dwFK*1DmP*6T_qafCWh+2KcB8Q&?=o3+x*UMA3RQUzX
z`$>#}oGNlFfSg53_=86;xk4kNg=BXvF5?E6YMSTV9e2Kfz6oX!YN$vB#a;cyPgKJS
zH%X)`0X3`MB<$X!Qd37JT+mIb9=bp<$Y$Eu0R0Go%Ev+FF7yR0fpvg>tR7oDQt3%D
z?3+#QA+oQOT@|Je_zO8_sKv|C%pfQ{Y()-_H3bBe0E=4vd7rP6QDi{~=bPXqrjaE?
zDS%!eIeEOvpNO_9kfXx9#dY&HDFQM#8oVpGF@J!=MyjU-vSEX@{E#747wGXi31v;Y
zjePDYeP2-e!p92*@=l_Xlw!me|Bosu&$2uoRlFkI2dCUz))VloT??NGX4?`b-;JNt
z*t0l7?vzO|02j_X`6-enB~MyI2I+SQ1coS0$vVO%r&}Thn(RPT~309>tAiy75$3)q3b&iM#f-}>
z*dQPz8Br3ioCH{W>gUJGNLK@RvI?*C21z#RqYI6C5EztEZ3V{m+YBJID0~!H?Y0|BF67=)prVo~F@Xb)whEnMDU0`o0(1XB;2i%1vf&-@7gwUT
zo39jtOmqX`1Z|*&3J+Rx{M_^@Ilv4zgd5kPD+2G8fLlbppjO#06oM$kGq?_i%T(}Q
zbhprVT%Yxo-k;j#po0m90~06P}zTOpK93g6fWE0$S(BzJ;3Z%c+QnP|3{<
zk92m4b$(6t?cQK2o|SQ7`}+h*l)cM0#LHJ*jkjPTbXjxT=2wws_H>2DJ3CCnFxv#7
zlNi$SamF%cD=BRVZ4Oh3y(7Y7-~%d5w3Fz9m{Aig#yqlO+!Wki+KCfVlXw~~fCYxP
zZ$SWwY9qrSvV08gK5l#u=%r$=r>#mc#XHYKE$-({qMPALwC~4;u!)_
z2aT8=Lo}~A0VBkdc`hJt7?cOS@wZm9-d!|(^~Z{BLAQ|6`H>+6<#sASLISN)UmcZTZrqqk6&MAMZ0?(1#~
zb*u;=^)TEbDGd?RZJ2>1Y+po;20U@mFYNR|1B?!Ivk=j+@r`RU?P9@??@nO
z`{^?>@titmU?^S}>`a_~{?fg7Cpv@ix=S|=tql<++4}ySk+?tOzU6B+*s?s5+Ip!w
zgHrU~)h8#92tqS-M<=(VO_GpiQEsV^C%tm2i0C)iRT}mBIxtu*+NQxsn4{_rqZJ;+
z)-B9eZYEdsNpCjx>56VyLX`ngWlJlfs|BkS@}8FN^3u$JLAy%B;Y37R+9uW6nYi5Ev0a9@
zs+)EIG1i^>{BWY*Is-Ex;6=z^w5`&BKK3W3y}H;=2~
z>hG5aQt81}-tdOuMIM=Y7Ao@mk=CYoIMPF@vR{F1Nlp+6Y^GJZ(BBp)FC2?EG$&g3
zmeR-*6Ib`tA88wX0#-u){Aw>@)T^*cCr~KMEdi(i?*y%J4Bp|<1#y5QJ;)FWaT?$V
z(;ZG!hoI<|1))52`j`(f6-b)h;$5x!>Vl|Bz!2U}%*eKF9`9F3z&|)%Ss-YgKB5|R
zJ#Im^0;1WI^ha}fy~`4MeClXHNhc+%!3>WiQ|U&E)PbfaG+jc7X!{La+e%dv?%}F&
zGFUE#J%y`#LT-JqfZCK@uV5|ng)@tx(e9iB2)iE=W8v(
zO8D9G=Mit^+k|{$AulraXVQ&nk%dkw6>k@*co&u2;-8PQzixWbFMf{Jt;T1bX;eT<
z7rj%f6Hd80ahEW`T^xAf+MjF!m2f{$M8WNtq%pr*WJCktFja39I=#sqONV!DTQT-p_ET0bq?W5&<0r@Hh#7uMp1*k25&pc!K{QTNALcZ$qA%P$y-(bLo2So4IO4bh4A*u4@j_uKKR+HzCHUtw=YMCnd
zLXx?Qd}`3Ik53qq6c2ZLj><;N)P(ld(aTItmf&|w3SuyKwla_^_4Y_IIWjP4#SBeu
zZSTo1uQQ3|QSG*Q3@=R7&t9e7h->7}!~6m-xLhN+S7g)%A<8hF!@AhymM)4#MEWU0
z(>m>>NxeFxh?;@`>N7}wWW31e%%abENb)=J5S#oN*ilN$8RxcWy~$=X>C79TDacy=
z9Y_M;fbaoE^f!Yj^1xXj$1crs{VSITEYEJmMp*td_scRb*7
zA;*PxjMw^
z@Tt(Z2kPSh|AWliyneVw@(b2n4jUPPgc9R=kAuCW?u6T)i@_?kFI<1ff++gYt
zQ!mp;P%SS2K{z3~rt((69BetwM)#p-_`=^;sKSAozU{}Y;Ph}@9!b$UaJYN2BkiS0y6
zLu=ENfJhL|80Dk;KDn3v*;T<%1H1u=!-|~iL@yAxy-Y{IOBO^R{9^3QVYuA2;Y}Fi
z-g!vlYG|_;SddwtR>i}Iz24>`l@A=;w%=3Fs_e1_aSh2AT&R}lEd{S${_sOP=KDI)
zXDPR&>(dhIqq09&guDGc*-YByHo@Z!tH47y_)wYpF+Bnb0)q*{WZ1og$VTam#x9+O
ziu6b_iq=D_vl5smj6OX@{Qmdn5bvii4$zxo$i9x>99UJ~+g)Et=1qTpf(WmkNi{50
zBCZ@XW-z6$oMWQR<*OU9$NJm^Fs$q?%51yyQW=XS3n54mOJ
z7d3652Ry)<(a;pk2_z(&+Qcn9)ERxPJ;i#akkBJErTZj0t5l%fGY!FhJ
z^C>-u*}P$>=pFhIAF43+OOk!#P{~94M<`iv?%4*48qOO=%EkyviVDWqK9`aZiW((Z
zLM9Ys^qUs!Gw4TuI8DImaZGmpRhl)waSXH6T8WV)FcOB+Z=@CzJBM04&y1W?I6N(>
z!X0x-G}(FPXy_05XwFWSGsc2I$<;gcg79@Z3~v(Fn~`B!cbNuo_l@(>Mnck_Ly{(z
zeq?8m+=6uVp5N$*7kMGxw0qme(WRM*0xWv9Wtuj0a&XZ|uOgDBotuKeKaK8j7?!!M
zG`4#4*eY}I3UmVPWA5e87`m8tH4zw{LDD
z9^bG^9@;k_T}=82R>LuMz(~DQ#A;kz`NYB%9V;`=m=BN4pVw#TJ^R~wEdoiK=UOWj
zz~4;{T|p~_X>1uu!!Uj@4~BOjL*lpsXp=)V2qeyBvy9UC!43d=nJo%u
zpholdH+PEhUgdZ$C#t$Iuv)LoYZg`QzDTs(E$FJ4%Nu>+&a3uonO0fktn4z
zO^p+xu8DWkdjw4vCmNeFX-QnPkX;-OOYMIeI!_-RQk!$g1CqhDdZiDmC58K9(Q*%~
z5apWHp;5h}59bEXXV;+sb9a?UI8(F7g!pA(IN`7uB>a+}|B)pib{T>PL
z6WLsO{*D}^wLYuA6L~kDV4e9f=gsUnysQ18$c3TBh{_R}P8!WoyHl#~OW7jr>Dv!k
z?rp(xE2IF0#XqRNBACc7qIcPBFJy_es5`C+oO3SnC5$(V@fKOc0|{iJ?BEl6PWVc0
ztdpt0)>qhgr^4afeo<;|t@BEqcC^`;%Z-!Bebv!>wzKiZjcpi@9g(on-5kr8UK$dv-7t@p4X*l0ZKiEk|
zUyu=hg(sP1C*p@Mt8dIE4nAN}yD(%*nq+pY2%*NNbnUhz-M6I2AjU|~UF-exmbGp?
z>X8z4$o1a#Tv(PvAGyTv7NRoq_9Xw34zIPdO;#*hRT@f$ad6}48r2)@c=VzaM%{@~
zzkpE#t18@+U;|+cb%uqIm=lo=7_(vF3_l%a)SI3izhX2<&F|dpO^1$bxzJCHo+UnA
zw03tR+EYU-I{5g93N|&$Tkj487xax^9EOi9E3{q@y#GH;YOmb!fMJvx6xBw(q;03=
z?O5WMBmn_bdVi%1*a*Wdbbf2n8`a^jUUM@{T$q>DGI425s%gS=y>Y=wk7#Z0=mTI^VtH
zY7-pawZvlOdVeWBvS#gxV~=>V2jhw$#SH|lh7=O~MdbM!ni07AbB5IwQpLobJKgQ>
z%hqNijh_0u4=8=grW+ekDuy#A8V#+h_Z?op`Qc+7`HRaQR5v@jVq6y#V||Cn@VOVW
zeb$++pV>VwGu-cYSj6Ybgu8-CF|r`h%8LU|q64SVP*LJ>JGVCE)Uii2_e4Ix
zx)ZF?ot7y2pS-#*eDS@oaOR;^n$_0QCd;jzx;tsqCENkC!4yIW7z7j`B|(WF%zEE@
zNNIieSYu<~?zjQh&@E9Vd14~8G<4a6qVK`WFxwsPPKaux!;<7?AIQ>70^YU?Oc4rMGLaG`uBWDk$Q6jrQKLn`jCq8@EUSuH)PEA>epZZJ^D-$ODvE2EhWJ3p|$s=
zC~3&{(@&Vy@#;9c0l9`;t+j;oa9EAz=8P@OP?0HvZ8HUC+RYR}0nYp#;&X(((>F`v
z?w>FXv3hOw+L=4`n}F=c=8SI6{TwWvR<-H-yw4m-
zw8z)ysoO7B+K`a4JR&hVi%g0uQ=bASmhfEDEMXHg$nrld5Ml?V6r?*8WJ@Z9m8>G
zPozYDEBdG4KkLPzpoHjusHlJ5O)SCGatSX2hYKZXd7IbUwp`!e%-o1(?e$kJ;%3~_
zdSW`GK&%H_le~eps6M6e=q#MlP&f>tv9>1sgiLUWNHxvMLl$dfXQZU!5%f6}+}3;s
z1)0Qqbdk{;*msdX#NAHHcQC9-ESl$Q7nh_Ay8fuIqBJ`r>P6^0Cphb2!Vyj
zmf3)994R|T94uk8
z*~q42W<<)M@z;cK*a)_0K+J2nvW-{A%s}FY
zV$q+2NQg^BvBnN7)A5GX0Q1?3wiQfAAMFYWTXJP^OxTaGc3#czV~-ZvJsFn1)UTdl2{b)@1rMAdUW~b
zTVuILK1tw*c&evUDN*v86JBrfV;|EymxywusNZ;_CA?G6%Zp63J!tP<95e;&dLYEE
z+op+{Xf7)2V-wW$)7y|ywvg2y*^I_UtWdU;l`BNa{93kYoT^Ppfkv8D7#gf+`MK~-
z8p5th?{HlUN>qw`aSwyG49kqN7xOvFEHH8+2+ZCg1+I~U3UBnmRgiH+n{3()>+wR)
z%gJpy1c9xF`-wm#B{L^494=Iv(DuT_5O2%Op(pQZ|Du2pQUbt=;==1w$e9OHw+_K4
zQ9@E(>Ev}`%MvZsB4=J_7;n5T5*7tZHCNkO^_Q7JT`#4zE3P1G*nfr3OtKsqgM{JQb|jbb_-@F4?>CL-G5Cf>;>)qXUnzk|F(G~l$|
zUcFsgIZvfay=4@Hs48Zg3)Fb=sB-*Q1}!vaQC5c+s~G4cSlNey9khljgX21@@%CcO
z_hHOfro!^MjJ^(3IzAX9c$T9YTn~n(j8Q{EiDe#ZHVX$TFkrnV{WTj!^=H+eaUctk
z(DXDi0-uI}rs>)=sxMVv;#W12MmCq~ZPnY%KcQ(B!@>X!8I4eHG7sl8n+Z{v#bVi9
zmM87Uhc{;a;Ep55!)Cy`WNM`mm@>wgFh*St?k_C3FkAcfY9%6g1rSO#)_%T?+R0is>GpW4KOlEazj=$*lvObWMHS>B@jqs;
zt~LY3&gNK6Hk=QaqUG^g6KZhAD+!$O1lTdlwR_neV^@2!?%
znC$$a>NFLG1s5>Bt>jfJ+hr=LI^EU3Aa(vc
zDH@BeAHnfe6r(q&xUHX%&(B+Z!Lk8t${`qGog81$qK#g%WL_eOP7-%>X>rKA=5mBv
z3obl80qbW3wH#6p=(^poWz)e`t^G)bx%<(^y$G8j;i$Z7%Vs6`L{3~XuudINy=`UE
z=aas;WTDx=XDA=_VU4&CYx=FjYk5WR5RmI@qY*uX24y(h=jMS1`DE_l#
z0Gl9`i0f0KR3-bdZY9R=GKwO{ycSHPY5rSr{(1dQpkaWW`-6anmMu@NtbK
z%fo^kQ#=SRY#%Y!kI44?joA*5Ok}SQWnW{LiQZML1WGV`UFZ6DR8ZY)_sVGZH`t>-Gi*HZ*EBVgNf?DyGbk2HAH-^
zK%^f-WU4==-wo6!niKWaa!k4Je#=w+4&bKx9aJ+|A4*%uICU7k
zT)FHvLy^&I(GGs7=xdt%0dg+)sc8AFA`yT!(a85cBnZq)an;culAj>EIN!;JLZfpz
z5S~+>!2lCOD18|8u1O@$@`O~=Oo9s-;IyF7A4Yn%)Wu98?2qs2UOBWX6yLwFurZ~B&Z$@RpKGczJXw*xQbVp(IK)$=QWahK3`6+T~
z%O>`q#(n-+V?+C(O3q)ttlVOvcYYK99%@|fiDiq$VoKTpNBiq)qiqOY*YKY_omMFtzLOx%1+z>B&x
zd-8+MlcnkjEC=0nl^cv+yLV~h?TzR@W0BQ&>Af`PYUX-@c>xnJEv^m>p1G<+F9394
zyyL?+0tB*YF(5Jxp}QL-pQ?-&(E%cm4BI4=kn1$;5U5Q)Ct%^XKuxmoq6V2(-%Tz=
zsy;*`o&feWO2=?Y6*oP#NmQ|nYQBuMQCLky5z?wy8UD#HuU_wYj6T-709@EQ^&8i9
zkVk|XAr$p^$b3A84POi;=q4XUKTdTs3Z4CmOQU^RbWi=z7mbKZe#icC0o_2-|O6OQ)Y>+vRDSibn(iTQva%
z`_Lim48lfR)9irYtJUZNjI)d7Tlj+u2WsOP7{q>POrw`AuZ?NWDYRFqW}pw1#s9>Z
zs(-Bhv3TI=r`c#*Zur>100m}KSy?hx{nvjRVWTDnF^dQOZsv-93dcI`RT=EeLI3$Ocjc;28*vZ_ZTYrs+57ELH%=BAHA+^He<37>#6-DsgX-Ig8L_n!)-X1KZ+e?WKa(FPurZ%7nIj9GgmE
zjqn>T;bat+4Kd>KYse2FmZ%4ZI|3U7!=!Jdt1+N#-a?R^!qVnB7l6uIX31_4o?Wn+
z;ee|VGyMT9IXqtU6mpv^aK{m%j4|WIrVJXh*odj5qoC8mfRDXydX>jBc^z?=vD_!u
zoE)5&XimGWj$yV5Db|kK6RF0Q=F~u6eRJA!cMhSU_)+ejSC1$Aw}yN{PrlRR7qq2C
zpQigoZ&=%x^#$yn+Q9_l$kc9l6L(_g5tonAnc3f&(G7{y5W-zrK2~NMYC{Dtc=C$H
z*UT!hStyRv%cX0^ZDP}eRl|R5Wi+I{CUr9%)%q*7<&
zszwi?rh9Ba4@EH8bR!eTh3XipQi+jLb{a=^?
zlIiY|m$!8^EB-t-`e8OQ?V5&H
zXPOw`48+comL}Dxginempolr~D
z$FMqf^47B)#70pD|8`;H_Wbm>$*-GtSZe(agVN2iSB$B>x0#`XB@$D
z!8-nx?o#b5K+~S77wJ#vLLl8auJfJQ*Q8?(p8;!Jw3sx_l`jNQWtr291K(Tv28vWn
zn^0Y&Uw01`;_*~d!{UtF;dKw(47aGwYYW)a6x;Ijs`eI{%YdrZWbLh7Jb4SmjNS-I
zq6-`5t@dheqcf;SH4<$o)+fwR`-sIhm7HKl>dU(SrJ8)5^&&@1st@s;5QK;4i(M)t
z=4IF)c*K0Y49J50v>nzvn+iCw38Ii7V$0ApUH~p?BEr^{F>{g2pu6u;W#wRHrTi$8
zzUS_S!&mXeD)oMBllpb9_v`#~yp&*{cb_Zko=1(v^{I&tTYA*ZQgYZoq{!2|vTvkL
zZH{KJg8lPYK0fnFz#2wnMan%tmR2C|jxAxMXT4|`9RrQOGJ0%850Os&jbYN`JW)M)
z-CrA1E&HrsU0(0hdw^W$z+VWsQZCpv7kmQ{5JZuAIj40Csc-}dMad@Wgqkp2Cf%HCyB0eW3
zOJhd}$myA*Ky`o-iw!iL^)NRjFQ0W3ba^@+Y>){q!7nCYj?N8d8OP)CRLm!u(G0py
zutW3Iy?iVVO;9CaG~o&1H=zl(EaYx6H$owLl6gs){N!C{9ns3hSTr5;d%XS_8&P8<
zdiEj3;E#nGu%&|3Fe5D&xiXALEJs}va+a(@pE8F#9`YbNi1tcE&qZuP6$m430_N!Q
zk)ui^q8vQ}xrJnLZE^gQbaGdH{jPdO7cQ~%
zS*$&Yx*C~RhVF9idchaVhh!(lbX<$G%MSU&P*)}%s2kZb|2-=bZE_6Nw(4tVr4rrK
zIqb9YbzMUvmozk&4bmcqa=$za>uTeAPS_5~iGV)cpbvboO4$dXEMvn9PMe&NrdVZp
zR$=-w_Q`yjZBMGwr)9yLdyqUphN=NKy&6*e6)x3RIa+nnO@4*`66{jF6xU-b^C#h`
zn@S7uSAR<%J=^F6)F)TdC+P28b*?5}abu#yqCpYmD88~yK|3CT7zhvCb;rfQ3P%T@
z0}4GY3mUpQ)>MD~;frq~Nm200)n8O!M7WIcwoiW9Lr1-y$uGH)Z}76W^mo+q$|QI5
ziqia>5d8V*O*doz1#C4yl*v9rL(W3^7Kc$3u3>wo#}`JtfL>JY$%_~m#)w=nr({#5
z3HwU^#n9GjSl8G@64+>iR$r|CLiSWx|it9H&N^eE!}i@
zN|{`9=5QeCYpcJh(F@fW-Yxi7s0GkuStX1OkPb|TR(NQw{FkXYQz@n9It)`>`nTx$
zjQ8p2Igy7Sw!GwUXBXBAA&$+Y$H%zlad0j}EN0WDXCG!=SZ~G)n_G*wIq^5=*4v)(S(*9z
z9dCE8%aLJt7_s*{*IqVP?!qAmnf8{s&&NzQ+rEJH0kH&*gZbQI*TNbuq3m1CBgTe^
zWu{4G#|!eaC45MIGw+e7y$<+QrMqAmO}P{p=uJkGSh!(ajp){mg
zP1Cu?ZVa4xO`y@f^U~eectY9gp?yd||I{zmb(%&x7BJCD5DdgMR61|{f>`H`i%;Ha
zVLRn`Ac%sU83;AaTo&~@mpv)Qy>;RjoXfmX{q^TgKl9nUWRn_4AM&MczN9V3~gH6Z6shi+c(B{Y8~Sf6pPI~_uhLy>Ug3|4sE?UGn5v|Dkk4E
z^FTKe37~I>BMsKyIzt3-^S2K042z79IL4b4!g&ViA-3f;;`~6lLJvC=sousXV$145
zP0x9kG9WrU-o7Aw`;!bVKh(4#7$Emx*9xDQ-t@$Ou9Nr=b
z$Dp?8n%N}OW$<67$jUL`UcpIgF!tfA3Omi-%N}fP$OyyCD+~chk|8IR{u24ek9JA2
zF8}B!@f@yK-L$V%MzTos=Ld&lP2}p6qJ@gUon$w*$iNyK$!;`E@i1Y#bL<`*8ocdx
zL}r?F+XqX<4?IYo@!Wm_2}YJ>R_Od~RB>zXa*}8weIJ?>`Ugd%>z*MmQ(ece2e4W;
z)YsFB~C2zv`p4ATu#46EvYdl
zO~4d^`BqSqzh%Nc=Uz9c8-6oZPA1BcTx-N`=|!mSSv?^8@@>g{?N|lX`JcYIukiY4
zTwQqx9Yt~?7VmOLWNW-DlbpB++gkcN_~)@gYR)XfuElR|v5>QQ8xwqUQ)RvNseS8g
z9>?oj-^!#gtM(~@zDOT-)dO+Sdk#_L63C>H*ZO!XO-O{2@`R`3FJVK0nl)<5HiBRD
zMO54-4=Xwp^^~Y$r-QvCJAQWb{bb%rVoa_;2M4_c8>%Ujhmm#D$=;WU_WtVMpCtO@
ziuF5DbYrKH-&zXR2WG>W)gAqpb`!b6&d4EI{GD@R!@2x0(>{#&3m9>buVlnH3ZdGl
z#F`h^NXqHbL0=81C{<8Ydl5I4SmnMHt2hk~sU9KlzIduv<
zOBwJye^&h^AVi>fdV`|*h2P;9>`3IwE3tE%Wd879sy9iN>=lI5bY))D}O1|yEq!iX%C;j<
zbiz8Il~7QkSLR9)!7ul18_JrLs8-K;t*sA+bnmiqX#l<0dce#a$1lTUwB5(Y-iG}+
z9j}ZHkL@aqA3T%CJdB!~$>zcPejoveMA#?fYxsrmMA=JTYhfR5t@&IM8|d`QieTAa
zyXg54cCka9$!gd)axt62r(3OSed@x?e=kO)h$LFkKOZa^RHJ!Sj}LcWjLoUwp|duq
z`pW%&3BSND*s`nA7-kchcWuk$GPF-FybP`NDt;-BLG**=WgZiAnMS2%mSIL1vXy1m{Y+9i*d6Td0PrhpJ1d{bL(H37|n^;4kR}^@yhy~N;T7`c8xu=T@GiD
zB$df`zh!m)Oj!30cI}TKU#o<$O`H@
z?_?-vvPhfF2m+G>2kwx$Mw%T`Q9HoJ*n>5tc=1&P@MxGzn&Yna$25yZOQBZ$8VX^{
zC5`}Gas9r%qNpqQ{X{#q%bC-*AmNwSsYWW4-=!BllDK{SsxbCC!jgE|U3|>K)ynrg
z8tFN&ef6biXXb3Dp>N@rJ2KpqzW4-j_g`yc<3>|WuZRsbiP#=b^UmwvmXh$>o+MRh
zOdf0%*!5sCG}xK##4N{W_QioW4a16;n>zSCEHH&&4hI7qKFKgP-kc@|yjHfAX1+`v
z7Qb_+jnQJyR_kf%IoZM1EvsHrZu%K!<$w2R2*1k@dlI7Kvw7gUsQOLHsqpuMOD6OX
z@oiw-%dZF92G(BX(ksfYTooKI|88(WcvHz%t0K-Z$Q>_N*hCjzZriMAD$
z5Qb6fxF_1^TE?V0i!k6g|W&O{E`FmZw#eDfyd#0@_3T%Kmq23
zXGE4yn2W2zoG8rm>{AB8SmWkQLnq1!EQo~nm65oA4?^-C4073Z?$aNNb|(nxy70D}
zvy!|iVMz9=4be(lGWqpyc&zVzZ;qqxc3;)dKz8i#SO@m+4(DTfrd_%Jz2pl}2$J43
zx-pCffmJfy7Q+TDZu(i&%~X2sW+a;C?MZiL!t0J>C+hJD)(1aJ2GD729GJ*jJYViT
zGRU?Pkg&4*Uw@7bfOGS`bRc!8^*SV&gW}PX9QtXVS>%&eOfkv
z1(-TZ{>*}b%({b_tjw&Bhm7$u)w+i+CH{t7K60POdhp{mQC44w6>0i-B~>42yyZd5
zbNcBbva}K;ojXVUeW(a9(}%xK$^f&@V)+G9EweLcS%}%G!&oqHkELPOPESno-@8Y>
z|1@Tg!0L>pnzfI!C-9E{nLWWjo*yJ6nXHVVyrz#;GIb8+NGyZUPXG+i`oudf0m1&9
z%V4iSD_wW&xJ3^@P4sKFM;3>-pH!WWUrBY>ojc_9`MpCmsu69n-BNO8MjjAVPJuq4
zS6j0idkp0mu{ct`06B@Xz5bCeaJr!Q|Jj_dRy65C6jPt4Z7k=AZCfbfOV$Nt;y?61
zqR9z6YD~RAzwO+C*KAqKAJ0vv?9_;x9#T|v;N68i1lLS{lKd%#-vBfDV_jewXYwk`
zGqXLUo~4TsH+3SWSdCk99ELJ8p0O8m8^ItZc4hy}qQmLdCZ}O!hQl-0hKpE9&3Ed-
zZcZJQW_90+4M9<~7muGGYV2s-ag)tHRK9rhlk>fGtM^^WeoS;GVt#i^KlU8b2L8Y9
zzC5sv>e_qmjP~7*rZFML1v)*1
z6T}}};fFh1y1`MXwqgQExB$*p5@`Ct**kG2&Cj-IG`l6T%LQw+k_kRcB`A317fhAZ
zS~Hdwp(#$6-#-J+P%SX7*N~r2ahW4uiMU-0@68T7v
z>T9lHhO5&hL5H*nytrPS`s9Ic{xxUtgv6}iM)7sdkO#;R@%qvWUB(-(rFqwA%JWYv
zo4OcO7tt_5V&TmGJOfx`jgN3w>8uqtmx_IZ_y0i#Ugc4rO8h1JkZxe1V4p_D?I~Ir
zxL{!Nu1=qgvv1%iDAmGVAS_=qtnS*xyAb>lJwHUq3(S=$y+cS(PiV~H6tNghV*+`f
zpGouOOyZjXjJzw8=-|e5@~PJ_1jzi5ns~|%oW_lr_PDt`mChv-VCNybd&kJ`^o#{@
z=z9u}DoN9l(=?3CqX~+Pb)?CiTpJik(xW+M0vO1h*__^z$$Bkp!i%gnO5D2b+5@l{
z1~iRy`4yL5ih=hxd0X?@)@@X%d7&a05y0GoH8#K_0QmjdefJXN5pc}gZs((G;Xcod
zeKV#D5-(plI0K7BK#^njo2&!VObV5!(c&*)t0R
zBPyqaFCB}XA8pB*TEO&HgLchYruVQzb9Z4+*bRIrahoIveIy@nQ5uE8kqoGJ1cSBc
zc(9orO%qy!b%wHA7K_2&nx5TD#efZ^1;E7VV1oS4+wQy*-2S>vr!~U)_=XxH4k{^j
zUNhpuHgjt5cD9}~oi!5{NoUaBbR%cFO`H0eg<1FQTT^u&$SN!h1gMt8Xtg3IRPtGL
z#wOQ-(u8;&j9o_11`D
zUE!uo4C(Q^%v^M2T87lT+@X4$#6;sAbFa4XCYhiSJY=HG`
z2BVSI!6Ek3582eI7xOh|ItMG|fHP}i5=Xbw*)gNdMW2n1XxAHo|5b@KdW(EgENWBl
zKUD^eslQ!X26#}hE%itEH->%T>#t+J16}anQN%8WdK8^b@8+u(qM?ZP4acPdzJV}T
zr^a+9dIpbEf7OiIX&;xeKc;)35&08^$R9gHUYB4UX
zP!+O!fX;zML`EPX)ERAA$vs7&1X%ZsY8!U1_!QUes+O%HW0oxbx4yI9X^G9&S(?IH
z=d>;;1gDOrj&g0b`M_Du+nvFwMoqL#!}6-34Awbqk~>tdV>6>r!&LO!*y`qL
zibRns;1r0)rMjUo`(GfnF^Z@y5~e&-7S=+;e8jzhjwklaSTgrFWx;Do*Gken~l8-cP($~Ex-LlZ=7B
z;>8ZWH}?;Rg8)U;0AX(=6|oVy>w(sg*FS{IEOB$TLrI!1JtS)KyqhMFNeoa)lB!hL
z_Axv;sKtwRsV#6E`3@C8O-THoi)!&Xqn6j|BT)AE!~bgRu)Om;&)%#vu;UuiY{Zx>
z3<%#K@2HsJ0ACM81Iz-TccFO$6ozl030kYlv~VGOr0BHwV?IW0Bo6f8+oBsqMYOArhufPIQtFQO;Fx9|A67MXj2y&9DgYm70YD!(M#
zKDp4I4df0pubSs1gu1kO)5du|wH_$O
z)|nMHsU*^xIBz5N(Xd3%uoc5WpmK4JHNyck7mB3e@#W%JQ#)CAV9FB6Q4|_SZ$r-p
z{gtDH3oa7?qEOa-!iY+iixr1jHjba*H8?6Vix!raQzu2u9d}3?9S&HLm5y!(`JE8*@hHoze$AN4MhkypP_{jMSpTJ>jsU~t
zi*_>5i*@n7QpSsixD7&X-3CloFrdhkHv?r)myTHJ!+&z%6-w(Z5#P3=mCY#EWjl41
zEprRXLN2KLS|FA3y(w+83rqRE!Sih5UTlM0ZDD!d!pa2g*VNQunQ30rS~$6ie(R(3
z+tio(F22$c2OVsex=D_m$I(7;=N*+&Qv*Sia*`jZYDck
za;^zj&;!V-63hv%ngh
zmNh-2(z^4P)-QqCredv@yqbwdsrdcRX_C1xQNP5Q28XNET{devG*J^
zCvB%~IXY>FGEyDOoGoIDl5P>njKT6SM5kZ5m>$b&PF8K)YDjGr4d|n^{8}eNY`W6RCV9i8jAhTmsFzcAPt42~$Hy
zX!NCFhRYWpHETpVAW|Bm)5&9IB0*1?-b4gCaBw=iVGSAP-(i-wL0m^x=m4pfpYZxvP@fYxiEC>Uv|E-TY~|9e(*E6Z-3
z;`Ie)7gwm?c+FyY>|ll2Ur|@8d+afb?^@Qz3+-q$w&fG?LeuSq3Nv|PKG
zlcGHYhH6_^wBl5gYnIBih)b*)VnS8ZA|(~tH@{~#zx4w{^E{antM#$RbY=0nGVSA!
znXMxTAw6-T;}o5=yTR8O@9D@sd$m$NZ2Lzdu4>v2MElP$A24{X@#?2;z>0o)E+j-W
zh1#~kkTLpMgC3(2+2>G;(>5368r7WlmL0Q=2pH=(OoDZFrgvGNe#Q{UV9q4hl=`AclqV49ab4<^>fa^@1BH{zO3_W5Dcg}yS3=^xP&&Poa;5p&H&laS94m?_^?@oG
zMNL=?zBY@YUPzuWX#ahW#Qiw^(Cbqlq*72BmBb>oN|G!ZX>bU-p{(`qeOPKUs?>Mi
z3|tC4yN4hKY6}MI)NfM%4K3`y=MmpMQ+SaN4KMVRIEk(S5~M=Ks~**nfv~XHh#y=E
z7{}N|Yl>^#=|_S*a23n&n`q4(sD-ljw=Q_&{EmF4vEZ;cmlaBCwF;H@zKT`C%7~Wv
zEhdu#u$Pohi&4&XZ|Zj&uzB4E|B=v60Y)E6*{|wg_ZVvx!&g%8b%~m0qfPVp)`l(d
zkd0|{7WJL?0w@O0dAEy~u!D!RI+sp==vs{S8kXO2TNJAW8_XBqeiv;0s5Pl~vSB*x
zrkj@C9u`$b9I{A4N9r>1h_qYC!8d5RX&N&p{{6yT1q
z_C;qJlVL{(=p0Qiru1z3y}2rrT|ao7oMwnx6BLP0S;Z-swY-JNJC3CTa6KmtzAZXL
zy)^xW&wQyr{{ZHlc478u(1toC<-0mWQX{o3G-G+6^>Pw7qUZGh!q=IC8O
ze^}1UKJ)s8@Zo|LyF!f{D^^&*Bn)#Jh{R`oz>*U-ijEYi@ZJ(NHD@A2&GA$;SkTS^
z2r4S-!~|Uos?gj9kL%%vj{QL{Apqtw5n>HM1f15Zm~a6g1$Gsvffo&CW=?4hj?3O5
zh?4j&khz+dsEnGyBMK2mFx@07tJj2JHPQ|q8GyAqZ!;gi@#iUV09rAe259FHe?f{e
z7z9cf$~gfDQ>TL4(U}}NZ_RIRgApWg?Zog)>;?G2;IJJjdq#BrO8BnpIV*mNdNrl&
z4%(X|r*Fo{I^Nw!7on`y~Lh(06;Z8
zt~ce)ss+aQ{0RY=Sgs%8l
zaCrrwrQ(#Oo~(TA1^8=A+KMHIgJ~P?7)G+p4`%nSepwt1fnX=mMd`?vDIp&Sh1@4|
zi#CjD8lM5QP|rX@K+P&G2Ci!2Dsc^l*>LQSfZUs4QyL%5IPeH?X@Mi`l*~`mq=7Ex
zqD9YYH2w2DRvjEvNE&POp-OP-AyH)lj^Uw(x_N|g0~V@fPK{Pv5)6KhN#M?l<(nf~
zDY!X~-xv44P(
zk}yX>FqXnvUo%!n@P|jMG(M+7Uxk4#tx|%nh*S(|(-U@?16kCU!_E{odoUGsyQv=&
zk7!aai#2WVK%z6Y`g~h1kVtW4Jx+EonK$)4Xwzcf$6K(gpdM
z-NnLU77i>A2H6kETNIt_$cW51Fx7L=?@X4WSfNtU;Zir7R;Dy3gtiE$5#xTXpLft%
zz-Hs54QpC;NfA!{L3^z`;B#WzAX0RGcJqy^7|~@jT_4$1hwlD6hwEc%=-3%6C*`ms
z8k}$eWd)Elo2pHHVv|Uz74PRdMN~w#Aa>O?Ej^m(~lK2hAXiKE=Kw468I&
zR4Rk4pQbK+TY*SJ{h>>tIWNW)tkJ;-nz~SpD#%SRW4J#lBG027jMj!wI-30tvSwCGHh7Hf$fdl+PJ
z2hM{Wjs<@BdYw8Q`aN6$4{YX4I5V4U;46jy
z5Wfk$=1R=+U^xS4Jx*C6jGTF8blA?$FjA=keu+l!Vc~$f5%DovOX^~Qtmz{7=!OA2
zEm#{Z5!*H9UFEgw8ASKctr~5C@vMwfxk4uMuYj&p(;F9aM)c?&1QmqI6t}s_7ExG>T1B+vRGK41@h
z6eXg0dUIA;{gRD(du{ct^R;#jw3|F-tM?Z9S}!U#T!JOi7?6oe)qCnwMEsPrzJ
zo$|d%Vpj?Kimjt*{av0MkN=9r^Sc($U2=urb2L7?fembbc8exkb<=T+_|ZdOe7Ddv
z`22!8(X47K*T7N?LmSmtESj8cr8QNi`k1bKdQa=(N}U~3dkxI*i59bFX?vh1&t;w(
z(}kyr-^upgzOHrFk_C$|_f4McyL|D2B?H%la6uO=v3MM7ncyI@Dr#s~lkmkd8HR$|A+#
z;S2%wXRnKgaQp_O%V&?N;G&RH#gCTv}ie?~ioUuv3mJGz*))+?GCVdF>5uDr^cjT2Qi>EI1mwWZ!m
z{ZeftOMSy{bHvDL@1w!d2{d$QN2OFG?%1(oyZG~8d_KuC>61@C{Y2!lIE+U592Vtt
zNXF@?6HeEMpsNw6N!ijA#v%;RkiIS}bSJO65=Q6E8qw>5!#;KDml$l-q)pW|lzz)~
z`g@KVIC!_C`x%+Q|Ni_Jhh~D7QR#>UKx7;}^yw#5!)Yo|OJiVm#(?Ua4$(oW;zO5W
z|Nn>RI|)O6%uY!ikphscx6UO*;(m(}43|@<*vrDq8~~g2#1qwY;Nd+gGFC(MYS4@Ed1vexx1lWg5(*PR=T%S2XN#8ew$evwF!>bGX~6SD`IxtFBoy*#&C^#kXR&SJI>w
zWg>YaOZJ2e(114?M@JH0MrDBA@K4CLzLll--IuMGQVY?-jU8*vs;pZ7&5N;nMauId
zquE!@vuIe-lr2Xpy19!Yf#zY!9A7TS6~;5lpnRHezZjCrfogRKP~4Oe&%`q)$39aC
z{(Gs@LGAM0Q1n{V#?dBt^^d^v45NA+8uPD2wMJ!7Y1HDc;Llr|ffq^ePsCw8Pbt^I
z4m~!XPe8v9EHh|Q#W15V3^k&DIE`q_CrdSaOo9B3xhsW-F6_i`=dIjE%vm;=2EQdb
zG|a=`;|Y6?m`%xcV#G_vSMpBz?CiR$a4dx3R3%%A8Cga*AvwmgLPBLH6Nu@vGT{uH
zJ8iJ51I&_qW(I$wRpO?x)U#8wMLV!1WFiJfF)*r%d0;H{Bkba(fPAhKmh;{Ws{8djvp;`zTex~!
zqG4kfj&h*ex~45yE$*9I6P#(&vok&v|DuK)b7_E`z@)-Xy3#O>3YF-=J0`cU%<)td
zHB>pY28Yhvx&p?~ipsn;$M?s5lHtc+F}I14rk_0j&K#40Xv}?!gtO9mc5aNL6W)DB
zYR~vk{LyHgakBK&w`|uALOjNPER7fwA!__a$tFb3nC)~hcy>ZC<4j$lwA`yE(ryDZ
z2Fu%7Q8MO(72W7|?5-udm#5#A2WT(}GaNuQFb?w8UZb=C^y~a^gL;57weK~p*|y3h
zd8`f1TWg-hBtvU?X__pSMD6f
zYyY2p6><+Ni+1s0SccWmx)fjMFGSReN&ax2+Js30T6rZmZl_PD8
zOxUaBeRC0+m?zY&M!AkY$fr2+0l9cYZ!`}62|h#q2D1rz)!=u4CDw}dgU?vRR_I{D
z;+uT6ngGF^O4!xGmvm5$&}&nF!7I`SWFh2bsc$7Lm*X7#KgkH3T6$;jVi-gIUCTr!9T&$l+msmd+;Em|M&uY5wbo(d@5Fz#JhKg*M8Bu4KH?Z6_r4X2J
zpR-ZB|2f@)igOsQU?ljfZAaw{$7h$GtChR7MZZ!yooBM@29|Ez-Uz{!utg1r1pJek
zu&P~uAA|16!cJdyMMLV>V1i`N27swdF(qTt!i04xEY5@nQ|HPX_Dgb#r2!8iOed!tO62A!)EA5ypPSe1bqStGf
z;)?{h(Qz_T-w@A-PoMm`)ns;FHbrit7XqDyR&zGau|-vu=n5Oki^wW{zRJ*AV{lHb
zSKDp*`EzSzJLMB^I-fnpYfNX1Ixp3z4SIE=N$ubbh-}&WrqUtW0=
zYG|pi|EuZ^e&UA8fc^X!8Y;DfpvSx`Rxj30&{U4?wCVjs6;e){)U&rHq=b@c8!?%u
z{<~8tdpWS>3UU>_GzLMX;c{y?<7u9xJ#3_xCS#bj8B@!IPu@qYNW_y9RV*1S994eo
zeWb3#Iw}ji-*~Q^mrmai0n!!iXxI!i@3{CRf*b9@L_wK@PPC4&W3m?;S6U%}f
zoo4H+S3mqPl+^E-GF=*V+tuyD1NPCxYSCfVPM-noDXi~Qm6cqB{a*gJwmp5f3Th)}
zEjK1D&%I?nmBXqLBoy=K3D@!{lSaH7pD3RuDi7z%CUJ10^77g5&XH5($Lf9IV`wOI
zeO|E1$%i(1y9l5tnn8{*yMO_4IoHrHDFVb4CZfxt+y+&k1b*u9GZ$>#?r6;m6yjDAnV{e%EDlZ4zXq@?)Y>njg;z*s`UU{#U@2kYj130}hXx6UJo|hdA
z0{5f!=bLQ~tnnR=FYODE8>uheo;}ae-A$&0-3_zT54SBVz+{74B6?d~N#|p3OsDO1
zTEaU(58rb~au$(K&{1AAFVg2cKhoL3Bsa_UmPRMBEM2xu|BV+|pk(uAJvP6$ZVl*N
z2C)M=L<`s~zzML^MYe*N=1X_ML97IOe(bP+X(=}R8GNC9CceXta=TAyKG6m(pNtTT
z=**EY9CRnmO7M;NOO}%9dHNTgLy3}h4E;XLY*?;TBAUyAc`Ge$b3bjFSd2ja~S5%Gpf~j
z?h5N(jWHMdFX3SGE)!uTB(qwJEecCXtic3WrgZS
zuAlR1f90$@*hC+#W}L89f$bx*SV0#>W}?1
zuiVE_WQXO7j{#{J|I~=w2!zWeyFpTeENmtnB1`t+kjiL~%ENRXc8D|s(<@&$ZwYi5
zGtNHtgh?CT*hrrx4SO8GAar)3#T&k2CJ10|$NIA1lsh|BWCgokY+%nnr&3$RtS?l3P5k(A)@~(>va#6F%1J>B
zfNQFTx&sFYyhGbnFg~b+cIMS**(?_QPtkml5o}K}wrqyt@D4{@&Y2~!!f=;(jG>cJ
zW7(VK*^KKmjkJz
zk$(DAI1c;e=1}RyFiwIkyM-lzzr!~8%9U(!C}gHxy^TxGKY%knowT8s)q#AexMbxr
z)p*vy=cJ%151oz0#D^H<1U0U}ASPxP9-W|@&+Ih5;xrUER%7RBK%R;Lk%hc%X3wg{
z$b>D!-y}x5yOS_4YEM1P63t{r-Xb1Y*(a&3%*d_AKe|Mc_5$oVG2`&fh#M?}&YaEk
z(EW#*!2nQW}c~i43j7C@=)u-xer>8(i%xxIDD8N
z2V;O8*#^gMkq%gZt?_Hr?%T&{FSp()!BW^)3d;ZjMiXp;-vEqS@M_kWh{Z11C&8$`
z_J8M!XKaf@y)2&k*}l|;$OEL+J&PRYFY<9kZwK@B?D~R0(|C
z#eN};*C55;i*TyI@~@kU{;DhW47l0=bnQNYYf+((iN#828wdY+mxJ+><6B6B0Ua4^
zz+#4y>9OcHzn`8%W3=b@F!0bIjHW23!Yd4|5{Z%FR8~T0Oh4@u;Oq?=XR$8J!#=G8
zdZSXlwQW6ImXe*!3%2TQ@GGEo7>!Po1-M%12o)A?-*NLTR`b30v_Aj5+5GKq`+WcX
z-!LcQw-v%4tkM!#YC)Hz{4}^~0m)iK>VzV$0%IW$hO&)NHflYUgJK4F*xG&RO3A
z!>KtdU=h=WIg2RTG?OO5xi#a8Lx1_JY+jUR+Au#wmQ{1L#VvGNq752cIM?My7Us+o
z#go8!b7QmZ8%=-49Hle$9A6>g5aDdAL*g$O!`Vp81)E23Q(mIrPKKK}ht8}^z+8G;
zsjxGwQt~$S`uxB_*;%x>L}j$DU%P(2*}QY-+JAr0Z0=9`d}_5?Yhux-ESCSsYO)==
z&usq6Bh{6Qm*sX}o25R(T2oUK1@srXtzER?s8v{{T%gRTC{(l>_KWI<#W2dc#7Flzh1(Qr8WN=4@w;5()vhlg5JEFmkXsu-H6NfOw!x?0~jI)*G
zl}~I4iHRThPmDyLAv1V*8EC(Ld2UfoVd0A}SWGw?>q8L%W|!6O$mnuCu6?A_xikDU1sZRjg1dJNQM>5!y4G~
zq}#J+o2^eYHs<>CR@?v|=i{40*03nI=nDjLAi%iULS@0Mi#9hqKaaU!%
zY$nFOUE8mg`y7yyxF
zMKE)!vghSzJ4r%({;Za)uURaw`rthUP#EB8jAE1#N`AqnAT_OFGsq+C94o>>ghnO!
zk}XqYB6mYB{OsKDli2*9$d;t%ZjRKl5DZ`M_)U)_ME9*L#2CoA3LI?=$~W
z|NrrSRMb%PV)35hKa?yeNd}C8ErIWs7L*<=%PQ+F+gbKV*&D%duqXJX;71`T)D+qs
z8VK9NE#aHOKP+!8zqev)#j{horW~8{$IAN3%PU{6GF5d~JyP|j$c)H0t81!Xuc@fH
zE1DmDu-09BW$lSrD0Y49qxg>ar*)g_PSmfc|6uCIsY4B(hQ@~Hr|qA1YI^SU_UU&|
ze|`EVGYV&{nDJ<%qj5*$ubP}qZA}N7zMF6*W+X04ypZ^D^RnjqnoqS9w5)7-yygAY
zDXmA^+->{Xe%?N{{i62d%-WgH%qpC9<*ZY)n`ZxH&bm2&o_o!_z`Qr+SICd|l^@u$e^?YYp_OeHoS1(VkczNZ6t1e$PuzLFHw|md)J=`bs
z&FFh#P0^Yg*G^e`Y+c>DU#>42(
zX0TxtTgX8?i#M3h*4Bpb>r>Tfe_0Z>WMDUkC2H@Z5&H1^8Dp
zO2-f{ECfYhPW1&tpX#yABM5&yj_)s#ULE3BF^6EH=XgJixN-5mp-yb|k-?;LPsg??Hd>1Ic{pzhk9mPT1IKC7&3*QRl6Q?hGKzIS)vh=y%{T
z$_G7$`vfHAb>
z`hEJ9?ls~|^rXM(vhgcqg3~AM#dYn__xSg1T=B&_qsm5g1zy$hckmu_W$3;gap@by
zm(q=ke-=9Fi!d(}mjjZ8`*@joy6UJ9$Cu)F;LGnR*EAhz`qI}lKhjs8mvlhTk*rW%
zrmvt!;9sRKP={UgrSwOIsXR%cQfk7pCde;-6MZAfL*X<1KE3Se_~~n!7EYfqK=L#6
zJEY0m4dtVJ=HS|;gz3ur3+aPYm9R`-@W*My%PNUth>ziq
zhv!GB(7kN@rCuysP)UurzA0Rek#8a6cAigU86oCJe((gS{uhkpy
zM!a!vllNBdZQlF5|K>gH{de!zz5U*&z0Z5U<^8tzE$<2MN$)A|FMQ0W_L+TlU$)QX
zEAW;0qP}Uqgs;sv(>L3RaL4h4*NRQWw&LvKoZ_9u4-_9OeyaEz#V;1WUZM^-0-mxDf~$g;
z1#b-A6?`uEYVgfd`cqk_@`i>$l?SNV)2R_hQB$i>bBI%O#QQaG()*P6Iqx^UFMD70
z{#S+?)d*@lz8YVHuSub1zHgCl38>isYPR`y`!4le=exys$oFN8&5!zyf|}FD25uR+dEnr{
zbprX_{mG9`et7bOlkcDW#mS$aJazJCCr_UI$;pR)%1(Uq
z#PcVfIq~F)l_x4scuq_{G3kW+gyp~9`N?;G^8E3SkMBR;cYOKr&g0SJq2mG1|9F1q
z`7M__RL=h&|B^!3lN1(rxAu5EbDj|_i{>OXoy)qDHF?R>p56_fgNwV9VsYQII!puB
zuJy0U^Lmp)Pf}?1w;Tm0ntK!FNfu6edN-6O#jxM&_m(H6uxH&dDcdO|nv;%ZPj7Fc
zU(9Y!^cPFbNwK+Wk0)vJBhcKpE~#3$=O{KakWA9MKHp1sk6N58k?%p!pE&AZ4m|TG
zg@xVgdycvo#Vk*%!bvHVbT)TWeo0qzvl1cCv(A%zabZ$bvg~LnGdH)cZB1%gyS+)N
zxTj-zHzMa9?DixVF2t?Io;*)7PN8^DkEdUbjS`jOmh#J!tfc3a6!XP}-5zk`V4o*x
zSlHc*J05ywpinJ^YJ2l~p`(=tZY534Ym-7pcT$)`k-hkxHzzrnLX+q8J!2ErQjBNR
z!kV6*b$vZa7V7CyDCqI513mskPkB-u_OyDEs^UJ-q-|cPmPxv7&{zP9=T(cp`)*^$XHdvn2hdoqU
z3&>IlYY+wHZS3u#D7`Jbw1)6ey+vqlO$5Ce!7+wM3zA7rg@sUrW{}?NX+7xgqe|t>
z7V@Y&YU#g_kp=jeN;M^6yU^Gn)jd6;+hy_x1!K#MW@X
zD7Gfo^|h2IZDEk$@g%LyvxzbUP(w)@{p!Fk8?Ub{BxK`E@qhJw-|LdjFpCq$50MQTLoq`DUIM_Z|FxcDP@#H!tq)x7$&LeTigN
zh?*QkE75PIKQ{bHG8gJXDqhPwf!wN*qKDBU@Y0>&I*9Fyw)r(<^An^t1<*w4?m(
zxI4PC#;L-7EUx`va&uCceiY{;TppZZEH}m0uI{AWpYXIMEf7C5GVV=ydY{h8VQ_Nc
z5E6+5aUdJdSYLm(E|k0>l;?wZyFjBeRGxH)`x#wxz;C)v3inHN%?iDoc4Pvl58clmhxnH#6wr+;RW);@(~Y9
zG7opk4?STaX$_4_Cy07dCY9(MNuL+=c~CAN=%cG2^wG5l^wG5#^wG5h^wBi{`si8;
z`si8)`sf-2eRQn|dm4B{niBT(CUbf{==4}G$wVKn$qJI$%5ZW@C^-e~u?kJ09TGcc
zgY@^s{nW9aF$To3JQ+z>alb{=N)nf>3iiV|X=^t+MXJT>5$qW+PEFVo@X@wqxTz!3w{}({K=JP8}W1Qz569)c6zW*q&rB^(l>ux{s+mYERxVRf#&cCqX@}0i8DT
zM+y9Gy-5vfdvtR}%VHsUR8lqfuJb3=7*x^Osha!p5bo_k|8V*{eJC3Ge}7wFJkO6D
z+CV2RJQt)lMkXi-b;%lZBB%^C1P&v}X(d65eKcB8Atd}&deY&%AS?}OUU*Ofb&0|Y
ze*@SwE%PX8Kxg9dwE5d9Q>w-3>1Ui6nbS$3tGmL}fB~IKFUmKOXr?NXnqvH#g-4mW
zi(HAHm%LuTQd{Wx%ab$GxpD3*)zwQAoYP58S8*fyj|$>qThiU!y)X}Bs;8l+qQ8=5
zqus(E!HB0Fc?(B9O^kY)e)mjoG>4P*p^*{NFQqeV2`8t94nq7$#tx#Tk5@KSXhpIT
zMQr6HlNguCobST~Eg_Rm;_OFDt3b<>32F=XV=FvC($6LT+(f#4ECKs_q?q_k{aAxP
zp64AQFWw%dobBj<>qBX-%*3y$AurV#@kOB~!-830fm3ewn4O@7J1Ua3XyvoVxjzTV
zv1~^&hB$M>$vRx-5f@v*ZciHq;WW4Ahe@E5^T6f>;iH1khQLAu7zGxEk1~Fz0|9=g
zlj5}FQ5VIbz+#F+fh81&0!zck&>J=*)Qu3vc7%Gu$FLlx&@zPNd&?;vqkAhT9uKXg
zcs#U<;_=XG%Ci;GdMQr|^iiG^SVMVIU@gU&iNHFFLxJ@ahXNZY4h7ERYqRo42ag*v6}W@{N;cxb1#++n!JWi(ik3{^
z*M%5s5u`Y~m&!qk
zun%#kXVSZj|KjQGmxC1jaydxRufUtr<@BzUgB0N^IY<$%M%)>h^seE*czOrqAVt4c
z4pQ{%@a7CTz3b&5MK~x2DZ&lmqeecnO=|Lv;uNJ7izbX^J&90Kw>~KqE!>kH(8~oZ
z0AK6CbdueSu})s{?dTV@2~@cdq`)yKcp2o7117W)(j}h51`HF72UA2S1yIDX{`sKY=NJ66S0p|r!di~_*wFvTAw<^$kAWQ{6%5)7NAQ)y
z45uMSl&}b2B~K_}33l9GR>CU5hjSG4|ZtR1NF5R_xrea*=}Jqp3Fm@9e8pcte0)U
zlbu2vDAzdm-3|&i@v;yPck@_r#HI9V=kov`VdnbQ;6Y9zX`PjteavOfhIbDR>A-UR#r&Jn}l}^Yk?Z+-aJ0M9O
zS)RG0QlMHHTN0>j!zCM?uLq^tjqfHduWRs^avkPJAJ4G~*jtLZ3o>g!$w;ntAUp-1
z3qb|7&mFjTA?lRc-PC?1rK*8Vhjwp9fLsy~2jPVcs2?l0tt4Kl-u-ql^^HT~*
z3c}k?7;U!#Wutx}0tv5y?gMyvjP|qDr6q!Wj^MIMdxBx!UC+6
zm9ZcTu`nxV6>JLNT2-)!R?TYQx2BfGSe(@fAHlQERMxq!+S9tb=v3F1DC0VM|#z>tV~-a<+o4WUJU}*30_X8n%|L
zgT2lTfTC?=o7iS{KHCE4oZHxTwgX~3J$?`4PBee6r@
z%k1CS{p>J%fE{7~&K_hBv4`0s>?`d5u&=VOu}9fs?Cb1tmSp|xC_5%R%bs9QvZvV7
z>>2hfdk)s!USQu~-(=rnFS3`|%j^~QZT21ZD*G;bjeU>3&fZ{evhTAWu(#L`*?+LN
z*?+Qk*t_gF`w{yw`w9Cmc7pwson!;ri?(g5tZb@OZCum0lmDo$jOcf5+Olr_+U;A{
z$ah*=Gf7ev$`*!Z!e({#|8+I9ZXy>N$
zHtv!i)-@^DgmP__uT65MRZU9bP1VYMC0CG`aOlHW+lI7CBNnxIh|%Don|GSW`(%sI_0^NZnKhZvr@ihrF_jwKFvx#ElT_r
zCBDq;NL8y+{#LmhkxH44NM(&~{nj13_FlMNW?ZCFPB>B}7cf#)Yud4M`;P59cWv6f
zt#6CEZ`*lW*7LGOB1#$&CC!LTTO^{q8j&j&FdqG`jq7)=->`kB@+PYM!cAK@ZIOip
z9(9yVYm^jgloV@Z?nG*2sv)|?lerg(Dfz{e{9;OeF(qBVdP$@sF(sXtLRU;lFQ%jySJI0s
z>BW_D#FcWy6?)@xEk@$Xdv(ftigZWnl;?FyK6OeybxM3i+9OR$K21tKO-epZNdJ_u038jV;N)0EJbd^>RQCdMH(X3s!eb?5$T^nV-C{i9#q&w2A
zC%
zD)Em3)#*Sa9jKuIeO1eE9dbmaa-!&(
z`2BU;l>2faqRn!GwUu(E#j0ec#Uk?kI;HSUQJEP{itsim!rK&=-)oA?%xH?s%xF@C
zw@DG+CPjFg6ya@(%gku1Q{Jyr-dBXDN$EE4&$;P&A+qP}nwr$(?#xDf
zCI$ck{Ij4d0Q`UBTf+aY|C|4RlUJr^0sveD{&|)D!9XlPiq_cH(BYpi1pom4rv_2^
z9PVj0c5@*B0DSNMaq#|u0ip<^#mvFn765Q70RX_e0RVVdBf3v-b3^BU+MuI<9LWCz
zqPdNy82|tz0sz=e0s!+DnI`Mq7N&+K0Du$EKMvb}&?gcGviRrxmzUt*8vh?iK*b>u
zENopo{_$M?=_~)$^09G5%w%J4{Ez3r@UK4T|KRw}yJKtU@h`6f;y>MgdIF#>_%%C2
zTT=kQ@1GAS4*&pl(Czjab+C8-7t6olUn~{?0E%!_0k6ct$@HJr*WjNn_8-bkMe1@q
zHgYt<3^rH0R)6r3H=9U=b2!3=uh2Y+vZ4bRqe5J90>kj61di`GRxax1>&svmaw%uE4X?k{{xHOxc&3n<$ZgWDpFRs
z-GJM9bc@ZF-VMbWO)I=V?Z%%UBhCq{=5XLeN_DE-*J8cfb}ihsX0>WioqL7}v*Xe`
z6SkfBx|MR=$#SL3V#RrNU`2}Q_?X44M03?E*lLp(&2WmgtkiT!Z{V+yOq65q$d0x>_wdZ;SZ#)W)0)j%ko5UDaCJB`dMZ%l?5O8G
zJ3|Ou0yO&$bEv<4KmblO?VH4i@XzVcpdAv(B1wqA5=@E%GsCV0pDQ=s!G78r%{~zG
z4dCe0{Qj_upGe^TUf)#^Kzi&G`?kEog!JH8b(T8JBxV?g`WDipM&vD*t==tTtoD_k
z^S$mnZY!eVbDMp12t9mL_Uwz9T_3GO0WgV@;_gAx(;=X>D_6^x*I|RUgl!l`t?M?b
z)vZpYI(2GCb@(qt>G(D()~fWB@~VsH1h}At){|(F#gL?wxn*7PeGPl(a!=2H&je_-
zu39!_k_dLy2W7Yj{C~n&7~|8GVZvz3J4Zzt=(d&Ly8Fe(zzrJ-w*>&mFAjq=Krhlz
z!P20@CI`p{po_x6ZbfAAcACDIlG%hfRRACm!xe$1Hpj$~3O+t5^y{5iSaq!Tp2oJ
zG8qX0rGA8{Z9O^fs;0Toe%NKYT`vWJ&1#+PkigM#d(*Z&&DI(6ymYC*C(&pQ3hIZgFmP=8wzGQ5o776cMEq+XXTq>1~TisCr5Uu~iZ4yE8Lb?wSMy@bOXxPZK4?#DzvkK3K!8h6
zeJcFXm^bjLZu?Kx$8LMRo1O(y{V=9gf$dnzLZ~}HDZX)W
zlq~3%Yd6LvGSh@TccdpD1&Pt=MS@fWpfG|No|cfVinf(-5)~eg<^TZ03xvV?osnC=
z=eY?Q-ihzOS*o&iLu?DkB$`ci;`
z-s;<8HS`ig$-W)W{b
zZ&|O7G;M?4`=b!zw)3+rJ;t%jh+aLhO{FH4T+4hg)WxT{H$lyK{!n4T5~F+wmVWBh
z9JI1b+%YD^)519?kLLbMiMYnwv&7QG8O`o{*?d|4^vK
z-i&XB@hkNni4WHOpE^tDQ2Ca_KP9wIa{)TWT{SkcZ2Ln|1^>FXwCG?5Z@s+`)I
zX25h=@yw29axWMNubCUYWh)0!`VR^K`0^yP&prD37z#$oe`2)xWP?4+Uxot=nvpsU
zVI{T|lWt-J8D+^l`HUiJvSw0B7^2xX
zRLi^aN?B=F0lOBbGmW)&}VBT
zC~}DAVSrrKXQQo52smL^xgyqifBbH0qF=blvCu^H(b0x99gmm8niCag;K#HCUGNu6
z2an9CT|!lQI+0M=*E`F$#d!0B1ZEEb@3?Oy4NLi>aVchF(EQV9eZa
zwonf#Ct|V6JQCzBL>^gU16+RFZYXc)PxgFtmE(Jy0~1iWirh&IcL1~7NRY}$_pE1j
zR$ApS$mP4Xz6eFPXw#k-atwS|Mf&<2Kf%HP5`955%d%&oRuy2TA4*bXu8O9QcbGJ~p_~8GQ{|h*0!ZI^mm#iaw8r6e$`%P7?#Qh>#v;3OW
z+E|B)X(p=5kXbO{rZnlPqA7J)@*``;@8Lol9PJNhk^vc72r>ZhPE;|0Oriql|2VM%
zZ5Wxw6XJ2Epwr|>IA8(-DAO-7OmUOMDDQm9y>32)B8dcK?#bpi5JEwDe}o7*2y4W&ivdqS>*jxb5)=FBKA=|SXpKheLg-~J+}Q(_uV5sBtRBNY(=Y>M>5?<
z#~RX7y*ABCbs~9Hz^xZ2+KNrR
zhN{!5{9&ABbO{-ecmh(_vHVwl5o9KRu61jxX(A<^K2pKZNxXz0kYbZ!Ml`W-VIwD7
znb`Z3KAS7Ld{&wfa=AK5${&oI7vhS8Lde=)Z*xiV@pYMUNB$`4Urww2YA*MtbA`g&
zm-F-0sfabuX^m1CvF(R8#cQ`F^kF<*zp{<_i1~&u);0&0+#yG$o1CEzU?1D<&!zEHmupf&WN6TaWfRBq2C^8UwDD5vSAOP5e
zg=+zReXdMN7xz+LMw!4|8HqEtb!tsn}9-7#FbKvU7ryHq)y4nrEgm)3TWZAjq*^2@enJ
zt6+XGLxiRHYv(hQ;O@Wm)rkcSrfmJvgZTZXekp;VG|2V!fuM086ohtZCd0+&CXHq+)dz#2^Yx
zmvSf&Y{$FvLl2J3I9z{i|6q-U%;OaQpOp6Ux6k{DGfa6Sq#VyRUjV
zpy~0pd&{SArrG~}*T37`-vAoU=5w@8JLNkoU7zu%%YVIi8==P^qi`p$y~lQu_$dd$
z*P);N{e_&YnvmFK?Wx8j-NdJ`&AzL-;~G5I^Ye4`uvf~~jO#O(7{xz^rCPRi
zS;|e1fv@sYibGkqXSjrzA2t4Yb}ya0{uAYJ7_OLD{U#gi45JwKIi}^P9#)VKgn}MG
zR%T9kJ*yh
zy1*?pD>8?}=_W3gdb9b{h7-k5F`Wz|^FRiKJ#OVZa2s|4>fr}D8#Xp|JhJv2ld>Pi
zr_WiHEk9{FsL@$ne*e!yOszLYZb}qS^-O5>Y9EEF+mAYHV`(+p6VeXei_GXykiFh8
zmboN&&0sL?yH60p_d8|fT3$0Wp7cSrUXGW1KTe>l8gY?6f^f72c69l-(#)sH?MuT8
z)pb4EqW?=4IbP@Ki#FX21RHB_ntDt{G*Z$62McZ_Pg<+cndpmIf7L56)WJlX)l`1{
zM+W;d$}qS>pbC>V6qSz3Um4-V6!M?HWcbgv;<6dJ+H5Uu
zIgDe|cOA++9+8fmbVz+H|6TX?jZ5DFy#>rR!hV-Z((_siuH3OO764x$!cIP-Z$G0r
z)@4jpHA2A6$-9@?kOLce0KShX-n+Y81BwMU@
zyRQAg?Nb{pb(F-4@rp6yn?C|c!eCZB*!zs_=a%}SY1HDg))Pxs?p6YL{zeK-MCn?x
zMdMYYWKm!XiTQaC#YfqyrU@xXjSKD*o?WxyR>HhsbI4Q+4r7E9q0MI9V!nwIGId%S
ze{dbBy9i#kq-=i4
zr_|%+_P6wZf^)-Q#ShWH>iqug$h$PiUKC8C!=}gB$c)ZW8kwiV;4jXmexcvRxc?UR
zNlLz!)6N6*3|7}?d|$H=8IQBqU{vVvQSXHw+el)UpFVjM?i5T60tONpN32cV`R>~9
zZ*+f>q)U@36Y8(Xb?tTDa=d~4{$!Xx=)ZQ<=31?ua?qnlB^S&c>pdd