aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorymherklotz <ymherklotz@users.noreply.github.com>2021-04-02 12:57:22 +0000
committerymherklotz <ymherklotz@users.noreply.github.com>2021-04-02 12:57:22 +0000
commit95bb2fda796ca17ad9cbb213dd15690ef6346c35 (patch)
treecde05820eed4fca111ce9c3297b87d168f8fa75c
parent8fcb210c336a50b81cf726e161ed82981bfbec5d (diff)
downloadvericert-docs-95bb2fda796ca17ad9cbb213dd15690ef6346c35.tar.gz
vericert-docs-95bb2fda796ca17ad9cbb213dd15690ef6346c35.zip
deploy: f85153b7335ebf99ab6bf6e696b5a08fef38b61b
-rw-r--r--404.html2
-rw-r--r--book.min.b07e338e07a9a926c141d155a3e6d06d0c41e4afe4d81564015c56799705b0ca.css (renamed from book.min.cc7f7da4e201466c24d4145b227311a8f1462dd7940d82e2d55c370645cf9541.css)2
-rw-r--r--categories/index.html4
-rw-r--r--categories/index.xml2
-rw-r--r--coq-style-guide/index.html4
-rw-r--r--docs/building/index.html4
-rw-r--r--docs/index.html6
-rw-r--r--docs/index.xml5
-rw-r--r--docs/unreleased/index.html11
-rw-r--r--docs/using-vericert/index.html4
-rw-r--r--en.search-data.min.aeff076d6e9b0b384920d3b30200e418907084a5cba80b98fd2d92b4f054a984.js (renamed from en.search-data.min.db967840e46b1744e8ea5911a8b316229481ddd955ae9497d3ef232b1590c47d.js)2
-rw-r--r--en.search.min.09c4470fdacb71a68922c07311d906b9cd808586067883b11db52f10e30e96d4.js (renamed from en.search.min.d59155e62a5c5b4ff8f90845580f2225b938da2b1506af250727aadcdc5122f1.js)2
-rw-r--r--favicon.pngbin109 -> 3664 bytes
-rw-r--r--favicon.svg83
-rw-r--r--future/index.html15
-rw-r--r--index.html4
-rw-r--r--index.xml9
-rw-r--r--manifest.json4
-rw-r--r--sitemap.xml2
-rw-r--r--tags/index.html4
-rw-r--r--tags/index.xml2
-rw-r--r--vericert-main.svg500
-rw-r--r--vericert-white.svg182
23 files changed, 824 insertions, 29 deletions
diff --git a/404.html b/404.html
index b8deca1..a6fdd6a 100644
--- a/404.html
+++ b/404.html
@@ -1 +1 @@
-<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="404 Page not found"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="https://vericert.ymhg.org/404.html"><title>404 Page not found | Vericert</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.cc7f7da4e201466c24d4145b227311a8f1462dd7940d82e2d55c370645cf9541.css integrity="sha256-zH99pOIBRmwk1BRbInMRqPFGLdeUDYLi1Vw3BkXPlUE="><script defer src=/en.search.min.d59155e62a5c5b4ff8f90845580f2225b938da2b1506af250727aadcdc5122f1.js integrity="sha256-1ZFV5ipcW0/4+QhFWA8iJbk42isVBq8lByeq3NxRIvE="></script><style>.not-found{text-align:center}.not-found h1{margin:.25em 0 0;opacity:.25;font-size:40vmin}</style></head><body><main class="flex justify-center not-found"><div><h1>404</h1><h2>Page Not Found</h2><h3><a href=/>Vericert</a></h3></div></main></body></html> \ No newline at end of file
+<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="404 Page not found"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="https://vericert.ymhg.org/404.html"><title>404 Page not found |</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.b07e338e07a9a926c141d155a3e6d06d0c41e4afe4d81564015c56799705b0ca.css integrity="sha256-sH4zjgepqSbBQdFVo+bQbQxB5K/k2BVkAVxWeZcFsMo="><script defer src=/en.search.min.09c4470fdacb71a68922c07311d906b9cd808586067883b11db52f10e30e96d4.js integrity="sha256-CcRHD9rLcaaJIsBzEdkGuc2AhYYGeIOxHbUvEOMOltQ="></script><style>.not-found{text-align:center}.not-found h1{margin:.25em 0 0;opacity:.25;font-size:40vmin}</style></head><body><main class="flex justify-center not-found"><div><h1>404</h1><h2>Page Not Found</h2><h3><a href=/></a></h3></div></main></body></html> \ No newline at end of file
diff --git a/book.min.cc7f7da4e201466c24d4145b227311a8f1462dd7940d82e2d55c370645cf9541.css b/book.min.b07e338e07a9a926c141d155a3e6d06d0c41e4afe4d81564015c56799705b0ca.css
index 3daf417..d7b1391 100644
--- a/book.min.cc7f7da4e201466c24d4145b227311a8f1462dd7940d82e2d55c370645cf9541.css
+++ b/book.min.b07e338e07a9a926c141d155a3e6d06d0c41e4afe4d81564015c56799705b0ca.css
@@ -1 +1 @@
-:root{--gray-100: #f7eed2;--gray-200: #f2e6c1;--gray-500: #e5dab7;--color-link: #33a083;--color-visited-link: #8333a0;--body-background: #fff8e5;--body-font-color: #0b1326;--icon-filter: none;--hint-color-info: #6bf;--hint-color-warning: #fd6;--hint-color-danger: #f66}@media(prefers-color-scheme:dark){:root{--gray-100: rgba(255, 255, 255, 0.1);--gray-200: rgba(255, 255, 255, 0.2);--gray-500: rgba(255, 255, 255, 0.5);--color-link: #80e5ca;--color-visited-link: #c173dd;--body-background: #363f54;--body-font-color: #fffbf2;--icon-filter: brightness(0) invert(1);--hint-color-info: #6bf;--hint-color-warning: #fd6;--hint-color-danger: #f66}}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:1 1 auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}.book-brand{margin-top:0}.book-brand img{height:1.5em;width:auto;vertical-align:middle;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu nav{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-section-flat{margin-bottom:2rem}.book-section-flat:not(:first-child){margin-top:2rem}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{display:none;margin-bottom:1rem}.book-header label{line-height:0}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc nav{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;margin-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{position:relative;overflow:visible;padding:1rem;margin:-1rem}.book-languages ul{margin:0;padding:0;list-style:none}.book-languages ul li{white-space:nowrap;cursor:pointer}.book-languages:hover .book-languages-list,.book-languages:focus .book-languages-list,.book-languages:focus-within .book-languages-list{display:block}.book-languages .book-languages-list{display:none;position:absolute;bottom:100%;left:0;padding:.5rem 0;background:var(--body-background);box-shadow:0 0 .25rem rgba(0,0,0,.1)}.book-languages .book-languages-list li img{opacity:.25}.book-languages .book-languages-list li.active img,.book-languages .book-languages-list li:hover img{opacity:initial}.book-languages .book-languages-list a{color:inherit;padding:.5rem 1rem}.book-home{padding:1rem}aside nav,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu nav{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked+main .book-menu nav{transform:translateX(-16rem)}}@media screen and (min-width:80rem){.book-page,.book-menu nav,.book-toc nav{padding:2rem 1rem}}@font-face{font-family:hk grotesk;font-style:italic;font-weight:400;font-display:swap;src:local("HK Grotesk Italic"),local("HKGrotesk-Italic"),url(fonts/HKGrotesk-Italic.woff2)format("woff2")}@font-face{font-family:hk grotesk;font-style:normal;font-weight:400;font-display:swap;src:local("HK Grotesk"),local("HKGrotesk"),url(fonts/HKGrotesk-Regular.woff2)format("woff2")}@font-face{font-family:hk grotesk;font-style:normal;font-weight:700;font-display:swap;src:local("HK Grotesk Bold"),local("HKGrotesk-Bold"),url(fonts/HKGrotesk-Bold.woff2)format("woff2")}@font-face{font-family:iosevka fixed;font-style:normal;font-weight:400;font-display:swap;src:local("Iosevka Fixed Regular"),local("IosevkaFixed-Regular"),url(fonts/iosevka-fixed-regular.woff2)format("woff2")}body{font-family:hk grotesk,sans-serif}code{font-family:iosevka fixed,roboto mono monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%}.markdown code{padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:.25rem solid var(--gray-200);border-radius:.25rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:1rem;margin-bottom:1rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)}@media(prefers-color-scheme:light){.chroma{background-color:#fff}.chroma .err{color:red;background-color:#faa}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:#ffc}.chroma .lnt{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .k{color:#289;font-weight:700}.chroma .kc{color:#289;font-weight:700}.chroma .kd{color:#289;font-weight:700}.chroma .kn{color:#289;font-weight:700}.chroma .kp{color:#08f;font-weight:700}.chroma .kr{color:#289;font-weight:700}.chroma .kt{color:#66f;font-weight:700}.chroma .na{color:#007}.chroma .nb{color:#072}.chroma .nc{color:#e9e;font-weight:700}.chroma .no{color:#23b2a1;font-weight:700}.chroma .nd{color:#555;font-weight:700}.chroma .ni{color:#800}.chroma .ne{color:red;font-weight:700}.chroma .nf{color:#23b2a1;font-weight:700}.chroma .nl{color:#970;font-weight:700}.chroma .nn{color:#0e84b5;font-weight:700}.chroma .nt{color:#070}.chroma .nv{color:#036}.chroma .vc{color:#ccf}.chroma .vg{color:#f84}.chroma .vi{color:#aaf}.chroma .s{background-color:#e0e0ff}.chroma .sa{background-color:#e0e0ff}.chroma .sb{background-color:#e0e0ff}.chroma .sc{color:#88f;background-color:#e0e0ff}.chroma .dl{background-color:#e0e0ff}.chroma .sd{color:#d42;background-color:#e0e0ff}.chroma .s2{background-color:#e0e0ff}.chroma .se{color:#666;background-color:#e0e0ff;font-weight:700}.chroma .sh{background-color:#e0e0ff}.chroma .si{background-color:#eee}.chroma .sx{color:#f88;background-color:#e0e0ff}.chroma .sr{color:#000;background-color:#e0e0ff}.chroma .s1{background-color:#e0e0ff}.chroma .ss{color:#fc8;background-color:#e0e0ff}.chroma .m{color:#60e;font-weight:700}.chroma .mb{color:#60e;font-weight:700}.chroma .mf{color:#60e;font-weight:700}.chroma .mh{color:#058;font-weight:700}.chroma .mi{color:#66f;font-weight:700}.chroma .il{color:#60e;font-weight:700}.chroma .mo{color:#40e;font-weight:700}.chroma .o{color:#333}.chroma .ow{color:#000;font-weight:700}.chroma .c{color:#666;font-style:italic}.chroma .ch{color:#666;font-style:italic}.chroma .cm{color:#666;font-style:italic}.chroma .c1{color:#666;font-style:italic}.chroma .cs{color:#c00;font-weight:700;font-style:italic}.chroma .cp{color:#579}.chroma .cpf{color:#579}.chroma .gd{color:#a00000}.chroma .ge{font-style:italic}.chroma .gr{color:red}.chroma .gh{color:navy;font-weight:700}.chroma .gi{color:#00a000}.chroma .go{color:#888}.chroma .gp{color:#c65d09;font-weight:700}.chroma .gs{font-weight:700}.chroma .gu{color:purple;font-weight:700}.chroma .gt{color:#04d}.chroma .gl{text-decoration:underline}.chroma .w{color:#bbb}}@media(prefers-color-scheme:dark){.chroma{color:#fff;background-color:#111}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:#ffc}.chroma .lnt{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .k{color:#fb660a;font-weight:700}.chroma .kc{color:#fb660a;font-weight:700}.chroma .kd{color:#fb660a;font-weight:700}.chroma .kn{color:#fb660a;font-weight:700}.chroma .kp{color:#fb660a}.chroma .kr{color:#fb660a;font-weight:700}.chroma .kt{color:#cdcaa9;font-weight:700}.chroma .na{color:#ff0086;font-weight:700}.chroma .no{color:#0086d2}.chroma .nf{color:#ff0086;font-weight:700}.chroma .nt{color:#fb660a;font-weight:700}.chroma .nv{color:#fb660a}.chroma .s{color:#0086d2}.chroma .sa{color:#0086d2}.chroma .sb{color:#0086d2}.chroma .sc{color:#0086d2}.chroma .dl{color:#0086d2}.chroma .sd{color:#0086d2}.chroma .s2{color:#0086d2}.chroma .se{color:#0086d2}.chroma .sh{color:#0086d2}.chroma .si{color:#0086d2}.chroma .sx{color:#0086d2}.chroma .sr{color:#0086d2}.chroma .s1{color:#0086d2}.chroma .ss{color:#0086d2}.chroma .m{color:#0086f7;font-weight:700}.chroma .mb{color:#0086f7;font-weight:700}.chroma .mf{color:#0086f7;font-weight:700}.chroma .mh{color:#0086f7;font-weight:700}.chroma .mi{color:#0086f7;font-weight:700}.chroma .il{color:#0086f7;font-weight:700}.chroma .mo{color:#0086f7;font-weight:700}.chroma .c{color:#080;background-color:#0f140f;font-style:italic}.chroma .ch{color:#080;background-color:#0f140f;font-style:italic}.chroma .cm{color:#080;background-color:#0f140f;font-style:italic}.chroma .c1{color:#080;background-color:#0f140f;font-style:italic}.chroma .cs{color:#080;background-color:#0f140f;font-style:italic}.chroma .cp{color:#ff0007;background-color:#0f140f;font-weight:700;font-style:italic}.chroma .cpf{color:#ff0007;background-color:#0f140f;font-weight:700;font-style:italic}.chroma .gh{font-weight:700}.chroma .go{color:#444;background-color:#222}.chroma .gu{font-weight:700}.chroma .w{color:#888}}.book-brand{font-size:3em} \ No newline at end of file
+:root{--gray-100: #fff8e5;--gray-200: #f2e6c1;--gray-500: #e5dab7;--color-link: #33a083;--color-visited-link: #8333a0;--body-background: #f7eed2;--body-font-color: #0b1326;--icon-filter: none;--hint-color-info: #6bf;--hint-color-warning: #fd6;--hint-color-danger: #f66}@media(prefers-color-scheme:dark){:root{--gray-100: rgba(255, 255, 255, 0.1);--gray-200: rgba(255, 255, 255, 0.2);--gray-500: rgba(255, 255, 255, 0.5);--color-link: #80e5ca;--color-visited-link: #c173dd;--body-background: #363f54;--body-font-color: #fffbf2;--icon-filter: brightness(0) invert(1);--hint-color-info: #6bf;--hint-color-warning: #fd6;--hint-color-danger: #f66}}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:1 1 auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}.book-brand{margin-top:0}.book-brand img{height:1.5em;width:auto;vertical-align:middle;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu nav{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-section-flat{margin-bottom:2rem}.book-section-flat:not(:first-child){margin-top:2rem}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{display:none;margin-bottom:1rem}.book-header label{line-height:0}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc nav{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;margin-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{position:relative;overflow:visible;padding:1rem;margin:-1rem}.book-languages ul{margin:0;padding:0;list-style:none}.book-languages ul li{white-space:nowrap;cursor:pointer}.book-languages:hover .book-languages-list,.book-languages:focus .book-languages-list,.book-languages:focus-within .book-languages-list{display:block}.book-languages .book-languages-list{display:none;position:absolute;bottom:100%;left:0;padding:.5rem 0;background:var(--body-background);box-shadow:0 0 .25rem rgba(0,0,0,.1)}.book-languages .book-languages-list li img{opacity:.25}.book-languages .book-languages-list li.active img,.book-languages .book-languages-list li:hover img{opacity:initial}.book-languages .book-languages-list a{color:inherit;padding:.5rem 1rem}.book-home{padding:1rem}aside nav,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu nav{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked+main .book-menu nav{transform:translateX(-16rem)}}@media screen and (min-width:80rem){.book-page,.book-menu nav,.book-toc nav{padding:2rem 1rem}}@font-face{font-family:hk grotesk;font-style:italic;font-weight:400;font-display:swap;src:local("HK Grotesk Italic"),local("HKGrotesk-Italic"),url(fonts/HKGrotesk-Italic.woff2)format("woff2")}@font-face{font-family:hk grotesk;font-style:normal;font-weight:400;font-display:swap;src:local("HK Grotesk"),local("HKGrotesk"),url(fonts/HKGrotesk-Regular.woff2)format("woff2")}@font-face{font-family:hk grotesk;font-style:normal;font-weight:700;font-display:swap;src:local("HK Grotesk Bold"),local("HKGrotesk-Bold"),url(fonts/HKGrotesk-Bold.woff2)format("woff2")}@font-face{font-family:iosevka fixed;font-style:normal;font-weight:400;font-display:swap;src:local("Iosevka Fixed Regular"),local("IosevkaFixed-Regular"),url(fonts/iosevka-fixed-regular.woff2)format("woff2")}body{font-family:hk grotesk,sans-serif}code{font-family:iosevka fixed,roboto mono monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%}.markdown code{padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:.25rem solid var(--gray-200);border-radius:.25rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:1rem;margin-bottom:1rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)}@media(prefers-color-scheme:light){.chroma{background-color:#fff}.chroma .err{color:red;background-color:#faa}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:#ffc}.chroma .lnt{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .k{color:#289;font-weight:700}.chroma .kc{color:#289;font-weight:700}.chroma .kd{color:#289;font-weight:700}.chroma .kn{color:#289;font-weight:700}.chroma .kp{color:#08f;font-weight:700}.chroma .kr{color:#289;font-weight:700}.chroma .kt{color:#66f;font-weight:700}.chroma .na{color:#007}.chroma .nb{color:#072}.chroma .nc{color:#e9e;font-weight:700}.chroma .no{color:#23b2a1;font-weight:700}.chroma .nd{color:#555;font-weight:700}.chroma .ni{color:#800}.chroma .ne{color:red;font-weight:700}.chroma .nf{color:#23b2a1;font-weight:700}.chroma .nl{color:#970;font-weight:700}.chroma .nn{color:#0e84b5;font-weight:700}.chroma .nt{color:#070}.chroma .nv{color:#036}.chroma .vc{color:#ccf}.chroma .vg{color:#f84}.chroma .vi{color:#aaf}.chroma .s{background-color:#e0e0ff}.chroma .sa{background-color:#e0e0ff}.chroma .sb{background-color:#e0e0ff}.chroma .sc{color:#88f;background-color:#e0e0ff}.chroma .dl{background-color:#e0e0ff}.chroma .sd{color:#d42;background-color:#e0e0ff}.chroma .s2{background-color:#e0e0ff}.chroma .se{color:#666;background-color:#e0e0ff;font-weight:700}.chroma .sh{background-color:#e0e0ff}.chroma .si{background-color:#eee}.chroma .sx{color:#f88;background-color:#e0e0ff}.chroma .sr{color:#000;background-color:#e0e0ff}.chroma .s1{background-color:#e0e0ff}.chroma .ss{color:#fc8;background-color:#e0e0ff}.chroma .m{color:#60e;font-weight:700}.chroma .mb{color:#60e;font-weight:700}.chroma .mf{color:#60e;font-weight:700}.chroma .mh{color:#058;font-weight:700}.chroma .mi{color:#66f;font-weight:700}.chroma .il{color:#60e;font-weight:700}.chroma .mo{color:#40e;font-weight:700}.chroma .o{color:#333}.chroma .ow{color:#000;font-weight:700}.chroma .c{color:#666;font-style:italic}.chroma .ch{color:#666;font-style:italic}.chroma .cm{color:#666;font-style:italic}.chroma .c1{color:#666;font-style:italic}.chroma .cs{color:#c00;font-weight:700;font-style:italic}.chroma .cp{color:#579}.chroma .cpf{color:#579}.chroma .gd{color:#a00000}.chroma .ge{font-style:italic}.chroma .gr{color:red}.chroma .gh{color:navy;font-weight:700}.chroma .gi{color:#00a000}.chroma .go{color:#888}.chroma .gp{color:#c65d09;font-weight:700}.chroma .gs{font-weight:700}.chroma .gu{color:purple;font-weight:700}.chroma .gt{color:#04d}.chroma .gl{text-decoration:underline}.chroma .w{color:#bbb}#book-logo{background-image:url(/vericert-main.svg);height:5rem;background-repeat:no-repeat;background-size:cover}}@media(prefers-color-scheme:dark){.chroma{color:#fff;background-color:#111}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:#ffc}.chroma .lnt{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .k{color:#fb660a;font-weight:700}.chroma .kc{color:#fb660a;font-weight:700}.chroma .kd{color:#fb660a;font-weight:700}.chroma .kn{color:#fb660a;font-weight:700}.chroma .kp{color:#fb660a}.chroma .kr{color:#fb660a;font-weight:700}.chroma .kt{color:#cdcaa9;font-weight:700}.chroma .na{color:#ff0086;font-weight:700}.chroma .no{color:#0086d2}.chroma .nf{color:#ff0086;font-weight:700}.chroma .nt{color:#fb660a;font-weight:700}.chroma .nv{color:#fb660a}.chroma .s{color:#0086d2}.chroma .sa{color:#0086d2}.chroma .sb{color:#0086d2}.chroma .sc{color:#0086d2}.chroma .dl{color:#0086d2}.chroma .sd{color:#0086d2}.chroma .s2{color:#0086d2}.chroma .se{color:#0086d2}.chroma .sh{color:#0086d2}.chroma .si{color:#0086d2}.chroma .sx{color:#0086d2}.chroma .sr{color:#0086d2}.chroma .s1{color:#0086d2}.chroma .ss{color:#0086d2}.chroma .m{color:#0086f7;font-weight:700}.chroma .mb{color:#0086f7;font-weight:700}.chroma .mf{color:#0086f7;font-weight:700}.chroma .mh{color:#0086f7;font-weight:700}.chroma .mi{color:#0086f7;font-weight:700}.chroma .il{color:#0086f7;font-weight:700}.chroma .mo{color:#0086f7;font-weight:700}.chroma .c{color:#080;background-color:#0f140f;font-style:italic}.chroma .ch{color:#080;background-color:#0f140f;font-style:italic}.chroma .cm{color:#080;background-color:#0f140f;font-style:italic}.chroma .c1{color:#080;background-color:#0f140f;font-style:italic}.chroma .cs{color:#080;background-color:#0f140f;font-style:italic}.chroma .cp{color:#ff0007;background-color:#0f140f;font-weight:700;font-style:italic}.chroma .cpf{color:#ff0007;background-color:#0f140f;font-weight:700;font-style:italic}.chroma .gh{font-weight:700}.chroma .go{color:#444;background-color:#222}.chroma .gu{font-weight:700}.chroma .w{color:#888}#book-logo{background-image:url(/vericert-white.svg);height:5rem;background-repeat:no-repeat;background-size:cover}}.book-brand{padding-bottom:1rem}.book-brand p{line-height:1.3;text-align:center}.book-page{background:var(--gray-100);border-radius:20px}.markdown pre{background-color:var(--body-background)} \ No newline at end of file
diff --git a/categories/index.html b/categories/index.html
index 2dd9a6a..1ac7166 100644
--- a/categories/index.html
+++ b/categories/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=en><head><meta name=generator content="Hugo 0.80.0"><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="Categories"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="https://vericert.ymhg.org/categories/"><title>Categories | Vericert</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.cc7f7da4e201466c24d4145b227311a8f1462dd7940d82e2d55c370645cf9541.css integrity="sha256-zH99pOIBRmwk1BRbInMRqPFGLdeUDYLi1Vw3BkXPlUE="><script defer src=/en.search.min.d59155e62a5c5b4ff8f90845580f2225b938da2b1506af250727aadcdc5122f1.js integrity="sha256-1ZFV5ipcW0/4+QhFWA8iJbk42isVBq8lByeq3NxRIvE="></script><link rel=alternate type=application/rss+xml href=https://vericert.ymhg.org/categories/index.xml title=Vericert></head><body><input type=checkbox class="hidden toggle" id=menu-control>
-<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><nav><h2 class=book-brand><a href=/><span>Vericert</span></a></h2><div class=book-search><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><ul><li><a href=https://vericert.ymhg.org/coq-style-guide/>Coq Style Guide</a></li><li><a href=https://vericert.ymhg.org/docs/>Docs</a><ul><li><a href=https://vericert.ymhg.org/docs/building/>Building Vericert</a></li><li><a href=https://vericert.ymhg.org/docs/using-vericert/>Using Vericert</a></li></ul></li></ul><ul><li><a href=https://github.com/ymherklotz/vericert target=_blank rel=noopener>Github</a></li></ul></nav><script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label>
+<!doctype html><html lang=en><head><meta name=generator content="Hugo 0.80.0"><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="Categories"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="https://vericert.ymhg.org/categories/"><title>Categories |</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.b07e338e07a9a926c141d155a3e6d06d0c41e4afe4d81564015c56799705b0ca.css integrity="sha256-sH4zjgepqSbBQdFVo+bQbQxB5K/k2BVkAVxWeZcFsMo="><script defer src=/en.search.min.09c4470fdacb71a68922c07311d906b9cd808586067883b11db52f10e30e96d4.js integrity="sha256-CcRHD9rLcaaJIsBzEdkGuc2AhYYGeIOxHbUvEOMOltQ="></script><link rel=alternate type=application/rss+xml href=https://vericert.ymhg.org/categories/index.xml></head><body><input type=checkbox class="hidden toggle" id=menu-control>
+<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><nav><div class=book-brand><a href=/><div id=book-logo></div><span></span></a><p>A formally verified high-level synthesis tool written in Coq.</p></div><div class=book-search><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><ul><li><a href=https://vericert.ymhg.org/coq-style-guide/>Coq Style Guide</a></li><li><a href=https://vericert.ymhg.org/docs/>Docs</a><ul><li><a href=https://vericert.ymhg.org/docs/building/>Building Vericert</a></li><li><a href=https://vericert.ymhg.org/docs/unreleased/>Unreleased Features</a></li><li><a href=https://vericert.ymhg.org/docs/using-vericert/>Using Vericert</a></li></ul></li><li><a href=https://vericert.ymhg.org/future/>Future Work</a></li></ul><ul><li><a href=https://github.com/ymherklotz/vericert target=_blank rel=noopener>Github</a></li></ul></nav><script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label>
<strong>Categories</strong>
<label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav><ul><li class=book-section-flat><strong>Categories</strong><ul></ul></li><li class=book-section-flat><strong>Tags</strong><ul></ul></li></ul></nav></aside></header><h1>Categories</h1><footer class=book-footer><div class="flex flex-wrap justify-between"></div></footer><label for=menu-control class="hidden book-menu-overlay"></label></div><aside class=book-toc><nav><ul><li class=book-section-flat><strong>Categories</strong><ul></ul></li><li class=book-section-flat><strong>Tags</strong><ul></ul></li></ul></nav></aside></main></body></html> \ No newline at end of file
diff --git a/categories/index.xml b/categories/index.xml
index 1b984b8..7b6c3cd 100644
--- a/categories/index.xml
+++ b/categories/index.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Categories on Vericert</title><link>https://vericert.ymhg.org/categories/</link><description>Recent content in Categories on Vericert</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>© 2020-2021 Yann Herklotz</copyright><atom:link href="https://vericert.ymhg.org/categories/index.xml" rel="self" type="application/rss+xml"/></channel></rss> \ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Categories on</title><link>https://vericert.ymhg.org/categories/</link><description>Recent content in Categories on</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>© 2020-2021 Yann Herklotz</copyright><atom:link href="https://vericert.ymhg.org/categories/index.xml" rel="self" type="application/rss+xml"/></channel></rss> \ No newline at end of file
diff --git a/coq-style-guide/index.html b/coq-style-guide/index.html
index 81250f8..1e64037 100644
--- a/coq-style-guide/index.html
+++ b/coq-style-guide/index.html
@@ -1,7 +1,7 @@
<!doctype html><html lang=en><head><meta name=generator content="Hugo 0.80.0"><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="This style guide was taken from Silveroak, it outlines code style for Coq code in this repository. There are certainly other valid strategies and opinions on Coq code style; this is laid out purely in the name of consistency. For a visual example of the style, see the example at the bottom of this file.
Code organization # Legal banner # Files should begin with a copyright/license banner, as shown in the example above."><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="Coq Style Guide"><meta property="og:description" content="This style guide was taken from Silveroak, it outlines code style for Coq code in this repository. There are certainly other valid strategies and opinions on Coq code style; this is laid out purely in the name of consistency. For a visual example of the style, see the example at the bottom of this file.
-Code organization # Legal banner # Files should begin with a copyright/license banner, as shown in the example above."><meta property="og:type" content="article"><meta property="og:url" content="https://vericert.ymhg.org/coq-style-guide/"><title>Coq Style Guide | Vericert</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.cc7f7da4e201466c24d4145b227311a8f1462dd7940d82e2d55c370645cf9541.css integrity="sha256-zH99pOIBRmwk1BRbInMRqPFGLdeUDYLi1Vw3BkXPlUE="><script defer src=/en.search.min.d59155e62a5c5b4ff8f90845580f2225b938da2b1506af250727aadcdc5122f1.js integrity="sha256-1ZFV5ipcW0/4+QhFWA8iJbk42isVBq8lByeq3NxRIvE="></script></head><body><input type=checkbox class="hidden toggle" id=menu-control>
-<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><nav><h2 class=book-brand><a href=/><span>Vericert</span></a></h2><div class=book-search><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><ul><li><a href=https://vericert.ymhg.org/coq-style-guide/ class=active>Coq Style Guide</a></li><li><a href=https://vericert.ymhg.org/docs/>Docs</a><ul><li><a href=https://vericert.ymhg.org/docs/building/>Building Vericert</a></li><li><a href=https://vericert.ymhg.org/docs/using-vericert/>Using Vericert</a></li></ul></li></ul><ul><li><a href=https://github.com/ymherklotz/vericert target=_blank rel=noopener>Github</a></li></ul></nav><script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label>
+Code organization # Legal banner # Files should begin with a copyright/license banner, as shown in the example above."><meta property="og:type" content="article"><meta property="og:url" content="https://vericert.ymhg.org/coq-style-guide/"><title>Coq Style Guide |</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.b07e338e07a9a926c141d155a3e6d06d0c41e4afe4d81564015c56799705b0ca.css integrity="sha256-sH4zjgepqSbBQdFVo+bQbQxB5K/k2BVkAVxWeZcFsMo="><script defer src=/en.search.min.09c4470fdacb71a68922c07311d906b9cd808586067883b11db52f10e30e96d4.js integrity="sha256-CcRHD9rLcaaJIsBzEdkGuc2AhYYGeIOxHbUvEOMOltQ="></script></head><body><input type=checkbox class="hidden toggle" id=menu-control>
+<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><nav><div class=book-brand><a href=/><div id=book-logo></div><span></span></a><p>A formally verified high-level synthesis tool written in Coq.</p></div><div class=book-search><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><ul><li><a href=https://vericert.ymhg.org/coq-style-guide/ class=active>Coq Style Guide</a></li><li><a href=https://vericert.ymhg.org/docs/>Docs</a><ul><li><a href=https://vericert.ymhg.org/docs/building/>Building Vericert</a></li><li><a href=https://vericert.ymhg.org/docs/unreleased/>Unreleased Features</a></li><li><a href=https://vericert.ymhg.org/docs/using-vericert/>Using Vericert</a></li></ul></li><li><a href=https://vericert.ymhg.org/future/>Future Work</a></li></ul><ul><li><a href=https://github.com/ymherklotz/vericert target=_blank rel=noopener>Github</a></li></ul></nav><script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label>
<strong>Coq Style Guide</strong>
<label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav id=TableOfContents><ul><li><ul><li><a href=#code-organization>Code organization</a><ul><li><a href=#legal-banner>Legal banner</a></li><li><a href=#import-statements>Import statements</a></li><li><a href=#notations-and-scopes>Notations and scopes</a></li></ul></li><li><a href=#formatting>Formatting</a><ul><li><a href=#line-length>Line length</a></li><li><a href=#whitespace-and-indentation>Whitespace and indentation</a></li></ul></li><li><a href=#definitions-and-fixpoints>Definitions and Fixpoints</a></li><li><a href=#inductives>Inductives</a></li><li><a href=#lemmatheorem-statements>Lemma/Theorem statements</a></li><li><a href=#proofs-and-tactics>Proofs and tactics</a></li><li><a href=#naming>Naming</a></li><li><a href=#example>Example</a></li></ul></li></ul></nav></aside></header><h1>Coq Style Guide</h1><article class=markdown><p>This style guide was taken from <a href=https://github.com/project-oak/silveroak>Silveroak</a>, it outlines code style for Coq code
in this repository. There are certainly other valid strategies and opinions on
diff --git a/docs/building/index.html b/docs/building/index.html
index 2fa9951..c761f82 100644
--- a/docs/building/index.html
+++ b/docs/building/index.html
@@ -2,8 +2,8 @@
The project is written in Coq, a theorem prover, which is extracted to OCaml so that it can then be compiled and executed. The dependencies of this project are the following:
Coq: theorem prover that is used to also program the HLS tool."><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="Building Vericert"><meta property="og:description" content="To build Vericert, the provided Makefile can be used. External dependencies are needed to build the project, which can be pulled in automatically with nix using the provided default.nix and shell.nix files.
The project is written in Coq, a theorem prover, which is extracted to OCaml so that it can then be compiled and executed. The dependencies of this project are the following:
- Coq: theorem prover that is used to also program the HLS tool."><meta property="og:type" content="article"><meta property="og:url" content="https://vericert.ymhg.org/docs/building/"><title>Building Vericert | Vericert</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.cc7f7da4e201466c24d4145b227311a8f1462dd7940d82e2d55c370645cf9541.css integrity="sha256-zH99pOIBRmwk1BRbInMRqPFGLdeUDYLi1Vw3BkXPlUE="><script defer src=/en.search.min.d59155e62a5c5b4ff8f90845580f2225b938da2b1506af250727aadcdc5122f1.js integrity="sha256-1ZFV5ipcW0/4+QhFWA8iJbk42isVBq8lByeq3NxRIvE="></script></head><body><input type=checkbox class="hidden toggle" id=menu-control>
-<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><nav><h2 class=book-brand><a href=/><span>Vericert</span></a></h2><div class=book-search><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><ul><li><a href=https://vericert.ymhg.org/coq-style-guide/>Coq Style Guide</a></li><li><a href=https://vericert.ymhg.org/docs/>Docs</a><ul><li><a href=https://vericert.ymhg.org/docs/building/ class=active>Building Vericert</a></li><li><a href=https://vericert.ymhg.org/docs/using-vericert/>Using Vericert</a></li></ul></li></ul><ul><li><a href=https://github.com/ymherklotz/vericert target=_blank rel=noopener>Github</a></li></ul></nav><script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label>
+ Coq: theorem prover that is used to also program the HLS tool."><meta property="og:type" content="article"><meta property="og:url" content="https://vericert.ymhg.org/docs/building/"><title>Building Vericert |</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.b07e338e07a9a926c141d155a3e6d06d0c41e4afe4d81564015c56799705b0ca.css integrity="sha256-sH4zjgepqSbBQdFVo+bQbQxB5K/k2BVkAVxWeZcFsMo="><script defer src=/en.search.min.09c4470fdacb71a68922c07311d906b9cd808586067883b11db52f10e30e96d4.js integrity="sha256-CcRHD9rLcaaJIsBzEdkGuc2AhYYGeIOxHbUvEOMOltQ="></script></head><body><input type=checkbox class="hidden toggle" id=menu-control>
+<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><nav><div class=book-brand><a href=/><div id=book-logo></div><span></span></a><p>A formally verified high-level synthesis tool written in Coq.</p></div><div class=book-search><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><ul><li><a href=https://vericert.ymhg.org/coq-style-guide/>Coq Style Guide</a></li><li><a href=https://vericert.ymhg.org/docs/>Docs</a><ul><li><a href=https://vericert.ymhg.org/docs/building/ class=active>Building Vericert</a></li><li><a href=https://vericert.ymhg.org/docs/unreleased/>Unreleased Features</a></li><li><a href=https://vericert.ymhg.org/docs/using-vericert/>Using Vericert</a></li></ul></li><li><a href=https://vericert.ymhg.org/future/>Future Work</a></li></ul><ul><li><a href=https://github.com/ymherklotz/vericert target=_blank rel=noopener>Github</a></li></ul></nav><script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label>
<strong>Building Vericert</strong>
<label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav id=TableOfContents><ul><li><ul><li><a href=#downloading-compcert>Downloading CompCert</a></li><li><a href=#setting-up-nix>Setting up Nix</a></li><li><a href=#makefile-build>Makefile build</a></li><li><a href=#testing>Testing</a></li></ul></li></ul></nav></aside></header><h1>Building Vericert</h1><article class=markdown><p>To build Vericert, the provided Makefile can be used. External dependencies are needed to build the project, which can be pulled in automatically with <a href=https://nixos.org/nix/>nix</a> using the provided <code>default.nix</code> and <code>shell.nix</code> files.</p><p>The project is written in Coq, a theorem prover, which is extracted to OCaml so that it can then be compiled and executed. The dependencies of this project are the following:</p><ul><li><a href=https://coq.inria.fr/>Coq</a>: theorem prover that is used to also program the HLS tool.</li><li><a href=https://ocaml.org/>OCaml</a>: the OCaml compiler to compile the extracted files.</li><li><a href=https://github.com/mit-plv/bbv>bbv</a>: an efficient bit vector library.</li><li><a href=https://github.com/ocaml/dune>dune</a>: build tool for ocaml projects to gather all the ocaml files and compile them in the right order.</li><li><a href=http://gallium.inria.fr/~fpottier/menhir/>menhir</a>: parser generator for ocaml.</li><li><a href=https://github.com/ocaml/ocamlfind>findlib</a> to find installed OCaml libraries.</li><li><a href=https://gcc.gnu.org/>GCC</a>: compiler to help build CompCert.</li></ul><p>These dependencies can be installed manually, or automatically through Nix.</p><h2 id=downloading-compcert>Downloading CompCert
<a class=anchor href=#downloading-compcert>#</a></h2><p>CompCert is added as a submodule in the <code>lib/CompCert</code> directory. It is needed to run the build process below, as it is the one dependency that is not downloaded by nix, and has to be downloaded together with the repository. To clone CompCert together with this project, you can run:</p><div class=highlight><pre class=chroma><code class=language-shell data-lang=shell>git clone --recursive https://github.com/ymherklotz/vericert
diff --git a/docs/index.html b/docs/index.html
index 3ef9d95..7319b68 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1,7 +1,7 @@
<!doctype html><html lang=en><head><meta name=generator content="Hugo 0.80.0"><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Vericert translates C code into a hardware description language called Verilog, which can then be synthesised into hardware, to be placed onto a field-programmable gate array (FPGA) or application-specific integrated circuit (ASIC).
Figure 1: Current design of Vericert, where HTL is an intermediate language representing a finite state machine with data-path (FSMD) and Verilog is the target language.
- The design shown in Figure 1 shows how Vericert leverages an existing verified C compiler called CompCert to perform this translation."><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="Docs"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="https://vericert.ymhg.org/docs/"><title>Docs | Vericert</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.cc7f7da4e201466c24d4145b227311a8f1462dd7940d82e2d55c370645cf9541.css integrity="sha256-zH99pOIBRmwk1BRbInMRqPFGLdeUDYLi1Vw3BkXPlUE="><script defer src=/en.search.min.d59155e62a5c5b4ff8f90845580f2225b938da2b1506af250727aadcdc5122f1.js integrity="sha256-1ZFV5ipcW0/4+QhFWA8iJbk42isVBq8lByeq3NxRIvE="></script><link rel=alternate type=application/rss+xml href=https://vericert.ymhg.org/docs/index.xml title=Vericert></head><body><input type=checkbox class="hidden toggle" id=menu-control>
-<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><nav><h2 class=book-brand><a href=/><span>Vericert</span></a></h2><div class=book-search><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><ul><li><a href=https://vericert.ymhg.org/coq-style-guide/>Coq Style Guide</a></li><li><a href=https://vericert.ymhg.org/docs/ class=active>Docs</a><ul><li><a href=https://vericert.ymhg.org/docs/building/>Building Vericert</a></li><li><a href=https://vericert.ymhg.org/docs/using-vericert/>Using Vericert</a></li></ul></li></ul><ul><li><a href=https://github.com/ymherklotz/vericert target=_blank rel=noopener>Github</a></li></ul></nav><script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label>
+ The design shown in Figure 1 shows how Vericert leverages an existing verified C compiler called CompCert to perform this translation."><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="Docs"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="https://vericert.ymhg.org/docs/"><title>Docs |</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.b07e338e07a9a926c141d155a3e6d06d0c41e4afe4d81564015c56799705b0ca.css integrity="sha256-sH4zjgepqSbBQdFVo+bQbQxB5K/k2BVkAVxWeZcFsMo="><script defer src=/en.search.min.09c4470fdacb71a68922c07311d906b9cd808586067883b11db52f10e30e96d4.js integrity="sha256-CcRHD9rLcaaJIsBzEdkGuc2AhYYGeIOxHbUvEOMOltQ="></script><link rel=alternate type=application/rss+xml href=https://vericert.ymhg.org/docs/index.xml></head><body><input type=checkbox class="hidden toggle" id=menu-control>
+<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><nav><div class=book-brand><a href=/><div id=book-logo></div><span></span></a><p>A formally verified high-level synthesis tool written in Coq.</p></div><div class=book-search><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><ul><li><a href=https://vericert.ymhg.org/coq-style-guide/>Coq Style Guide</a></li><li><a href=https://vericert.ymhg.org/docs/ class=active>Docs</a><ul><li><a href=https://vericert.ymhg.org/docs/building/>Building Vericert</a></li><li><a href=https://vericert.ymhg.org/docs/unreleased/>Unreleased Features</a></li><li><a href=https://vericert.ymhg.org/docs/using-vericert/>Using Vericert</a></li></ul></li><li><a href=https://vericert.ymhg.org/future/>Future Work</a></li></ul><ul><li><a href=https://github.com/ymherklotz/vericert target=_blank rel=noopener>Github</a></li></ul></nav><script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label>
<strong>Docs</strong>
-<label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav id=TableOfContents></nav></aside></header><h1>Docs</h1><article class=markdown><p>Vericert translates C code into a hardware description language called Verilog, which can then be synthesised into hardware, to be placed onto a field-programmable gate array (FPGA) or application-specific integrated circuit (ASIC).</p><p><a id=org711bf3e></a></p><figure><img src=/images/design.jpg alt="Figure 1: Current design of Vericert, where HTL is an intermediate language representing a finite state machine with data-path (FSMD) and Verilog is the target language." width=600><figcaption><p>Figure 1: Current design of Vericert, where HTL is an intermediate language representing a finite state machine with data-path (FSMD) and Verilog is the target language.</p></figcaption></figure><p>The design shown in Figure <a href=#org711bf3e>1</a> shows how Vericert leverages an existing verified C compiler called <a href=https://compcert.org/compcert-C.html>CompCert</a> to perform this translation.</p></article><footer class=book-footer><div class="flex flex-wrap justify-between"></div></footer><div class=book-comments></div><label for=menu-control class="hidden book-menu-overlay"></label></div><aside class=book-toc><nav id=TableOfContents></nav></aside></main></body></html> \ No newline at end of file
+<label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav id=TableOfContents></nav></aside></header><h1>Docs</h1><article class=markdown><p>Vericert translates C code into a hardware description language called Verilog, which can then be synthesised into hardware, to be placed onto a field-programmable gate array (FPGA) or application-specific integrated circuit (ASIC).</p><p><a id=org7c640a9></a></p><figure><img src=/images/design.jpg alt="Figure 1: Current design of Vericert, where HTL is an intermediate language representing a finite state machine with data-path (FSMD) and Verilog is the target language." width=600><figcaption><p>Figure 1: Current design of Vericert, where HTL is an intermediate language representing a finite state machine with data-path (FSMD) and Verilog is the target language.</p></figcaption></figure><p>The design shown in Figure <a href=#org7c640a9>1</a> shows how Vericert leverages an existing verified C compiler called <a href=https://compcert.org/compcert-C.html>CompCert</a> to perform this translation.</p></article><footer class=book-footer><div class="flex flex-wrap justify-between"></div></footer><div class=book-comments></div><label for=menu-control class="hidden book-menu-overlay"></label></div><aside class=book-toc><nav id=TableOfContents></nav></aside></main></body></html> \ No newline at end of file
diff --git a/docs/index.xml b/docs/index.xml
index 2807f93..42dff8e 100644
--- a/docs/index.xml
+++ b/docs/index.xml
@@ -1,4 +1,5 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Docs on Vericert</title><link>https://vericert.ymhg.org/docs/</link><description>Recent content in Docs on Vericert</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>© 2020-2021 Yann Herklotz</copyright><atom:link href="https://vericert.ymhg.org/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>Building Vericert</title><link>https://vericert.ymhg.org/docs/building/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vericert.ymhg.org/docs/building/</guid><description>To build Vericert, the provided Makefile can be used. External dependencies are needed to build the project, which can be pulled in automatically with nix using the provided default.nix and shell.nix files.
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Docs on</title><link>https://vericert.ymhg.org/docs/</link><description>Recent content in Docs on</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>© 2020-2021 Yann Herklotz</copyright><atom:link href="https://vericert.ymhg.org/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>Building Vericert</title><link>https://vericert.ymhg.org/docs/building/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vericert.ymhg.org/docs/building/</guid><description>To build Vericert, the provided Makefile can be used. External dependencies are needed to build the project, which can be pulled in automatically with nix using the provided default.nix and shell.nix files.
The project is written in Coq, a theorem prover, which is extracted to OCaml so that it can then be compiled and executed. The dependencies of this project are the following:
-Coq: theorem prover that is used to also program the HLS tool.</description></item><item><title>Using Vericert</title><link>https://vericert.ymhg.org/docs/using-vericert/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vericert.ymhg.org/docs/using-vericert/</guid><description>Vericert can be used to translate a subset of C into Verilog. As a simple example, consider the following C file (main.c):
+Coq: theorem prover that is used to also program the HLS tool.</description></item><item><title>Unreleased Features</title><link>https://vericert.ymhg.org/docs/unreleased/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vericert.ymhg.org/docs/unreleased/</guid><description>The following are unreleased features in Vericert that are currently being worked on and have not been completely proven correct yet. Currently this includes features such as:
+scheduling, if-conversion, loop pipelining, and functions. This page gives some preliminary information on how the features are implemented and how the proofs for the features are being done. Once these features are properly implemented, they will be added to the proper documentation.</description></item><item><title>Using Vericert</title><link>https://vericert.ymhg.org/docs/using-vericert/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vericert.ymhg.org/docs/using-vericert/</guid><description>Vericert can be used to translate a subset of C into Verilog. As a simple example, consider the following C file (main.c):
void matrix_multiply(int first[2][2], int second[2][2], int multiply[2][2]) { int sum = 0; for (int c = 0; c &amp;lt; 2; c++) { for (int d = 0; d &amp;lt; 2; d++) { for (int k = 0; k &amp;lt; 2; k++) { sum = sum + first[c][k]*second[k][d]; } multiply[c][d] = sum; sum = 0; } } } int main() { int f[2][2] = {{1, 2}, {3, 4}}; int s[2][2] = {{5, 6}, {7, 8}}; int m[2][2] = {{0, 0}, {0, 0}}; matrix_multiply(f, s, m); return m[1][1]; } It can be compiled using the following command, assuming that vericert is somewhere on the path.</description></item></channel></rss> \ No newline at end of file
diff --git a/docs/unreleased/index.html b/docs/unreleased/index.html
new file mode 100644
index 0000000..1cf635a
--- /dev/null
+++ b/docs/unreleased/index.html
@@ -0,0 +1,11 @@
+<!doctype html><html lang=en><head><meta name=generator content="Hugo 0.80.0"><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="The following are unreleased features in Vericert that are currently being worked on and have not been completely proven correct yet. Currently this includes features such as:
+ scheduling, if-conversion, loop pipelining, and functions. This page gives some preliminary information on how the features are implemented and how the proofs for the features are being done. Once these features are properly implemented, they will be added to the proper documentation."><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="Unreleased Features"><meta property="og:description" content="The following are unreleased features in Vericert that are currently being worked on and have not been completely proven correct yet. Currently this includes features such as:
+ scheduling, if-conversion, loop pipelining, and functions. This page gives some preliminary information on how the features are implemented and how the proofs for the features are being done. Once these features are properly implemented, they will be added to the proper documentation."><meta property="og:type" content="article"><meta property="og:url" content="https://vericert.ymhg.org/docs/unreleased/"><title>Unreleased Features |</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.b07e338e07a9a926c141d155a3e6d06d0c41e4afe4d81564015c56799705b0ca.css integrity="sha256-sH4zjgepqSbBQdFVo+bQbQxB5K/k2BVkAVxWeZcFsMo="><script defer src=/en.search.min.09c4470fdacb71a68922c07311d906b9cd808586067883b11db52f10e30e96d4.js integrity="sha256-CcRHD9rLcaaJIsBzEdkGuc2AhYYGeIOxHbUvEOMOltQ="></script></head><body><input type=checkbox class="hidden toggle" id=menu-control>
+<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><nav><div class=book-brand><a href=/><div id=book-logo></div><span></span></a><p>A formally verified high-level synthesis tool written in Coq.</p></div><div class=book-search><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><ul><li><a href=https://vericert.ymhg.org/coq-style-guide/>Coq Style Guide</a></li><li><a href=https://vericert.ymhg.org/docs/>Docs</a><ul><li><a href=https://vericert.ymhg.org/docs/building/>Building Vericert</a></li><li><a href=https://vericert.ymhg.org/docs/unreleased/ class=active>Unreleased Features</a></li><li><a href=https://vericert.ymhg.org/docs/using-vericert/>Using Vericert</a></li></ul></li><li><a href=https://vericert.ymhg.org/future/>Future Work</a></li></ul><ul><li><a href=https://github.com/ymherklotz/vericert target=_blank rel=noopener>Github</a></li></ul></nav><script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label>
+<strong>Unreleased Features</strong>
+<label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav id=TableOfContents><ul><li><ul><li><a href=#scheduling>Scheduling</a></li><li><a href=#scheduling>Operation Chaining</a></li><li><a href=#if-conversion>If-conversion</a></li><li><a href=#loop-pipelining>Loop pipelining</a></li><li><a href=#functions>Functions</a></li></ul></li></ul></nav></aside></header><h1>Unreleased Features</h1><article class=markdown><p>The following are unreleased features in Vericert that are currently being worked on and have not been completely proven correct yet. Currently this includes features such as:</p><ul><li><a href=#scheduling>scheduling</a>,</li><li><a href=#if-conversion>if-conversion</a>,</li><li><a href=#loop-pipelining>loop pipelining</a>, and</li><li><a href=#functions>functions</a>.</li></ul><p>This page gives some preliminary information on how the features are implemented and how the proofs for the features are being done. Once these features are properly implemented, they will be added to the proper documentation.</p><h2 id=scheduling>Scheduling
+<a class=anchor href=#scheduling>#</a></h2><p>Scheduling is an optimisation which is used to run</p><h2 id=scheduling>Operation Chaining
+<a class=anchor href=#scheduling>#</a></h2><p>Scheduling is an optimisation which is used to run</p><h2 id=if-conversion>If-conversion
+<a class=anchor href=#if-conversion>#</a></h2><p>If-conversion</p><h2 id=loop-pipelining>Loop pipelining
+<a class=anchor href=#loop-pipelining>#</a></h2><p>Loop pipelining</p><h2 id=functions>Functions
+<a class=anchor href=#functions>#</a></h2><p>Functions.</p></article><footer class=book-footer><div class="flex flex-wrap justify-between"></div></footer><div class=book-comments></div><label for=menu-control class="hidden book-menu-overlay"></label></div><aside class=book-toc><nav id=TableOfContents><ul><li><ul><li><a href=#scheduling>Scheduling</a></li><li><a href=#scheduling>Operation Chaining</a></li><li><a href=#if-conversion>If-conversion</a></li><li><a href=#loop-pipelining>Loop pipelining</a></li><li><a href=#functions>Functions</a></li></ul></li></ul></nav></aside></main></body></html> \ No newline at end of file
diff --git a/docs/using-vericert/index.html b/docs/using-vericert/index.html
index d410356..56a0c3a 100644
--- a/docs/using-vericert/index.html
+++ b/docs/using-vericert/index.html
@@ -1,7 +1,7 @@
<!doctype html><html lang=en><head><meta name=generator content="Hugo 0.80.0"><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Vericert can be used to translate a subset of C into Verilog. As a simple example, consider the following C file (main.c):
void matrix_multiply(int first[2][2], int second[2][2], int multiply[2][2]) { int sum = 0; for (int c = 0; c < 2; c++) { for (int d = 0; d < 2; d++) { for (int k = 0; k < 2; k++) { sum = sum + first[c][k]*second[k][d]; } multiply[c][d] = sum; sum = 0; } } } int main() { int f[2][2] = {{1, 2}, {3, 4}}; int s[2][2] = {{5, 6}, {7, 8}}; int m[2][2] = {{0, 0}, {0, 0}}; matrix_multiply(f, s, m); return m[1][1]; } It can be compiled using the following command, assuming that vericert is somewhere on the path."><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="Using Vericert"><meta property="og:description" content="Vericert can be used to translate a subset of C into Verilog. As a simple example, consider the following C file (main.c):
-void matrix_multiply(int first[2][2], int second[2][2], int multiply[2][2]) { int sum = 0; for (int c = 0; c < 2; c++) { for (int d = 0; d < 2; d++) { for (int k = 0; k < 2; k++) { sum = sum + first[c][k]*second[k][d]; } multiply[c][d] = sum; sum = 0; } } } int main() { int f[2][2] = {{1, 2}, {3, 4}}; int s[2][2] = {{5, 6}, {7, 8}}; int m[2][2] = {{0, 0}, {0, 0}}; matrix_multiply(f, s, m); return m[1][1]; } It can be compiled using the following command, assuming that vericert is somewhere on the path."><meta property="og:type" content="article"><meta property="og:url" content="https://vericert.ymhg.org/docs/using-vericert/"><title>Using Vericert | Vericert</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.cc7f7da4e201466c24d4145b227311a8f1462dd7940d82e2d55c370645cf9541.css integrity="sha256-zH99pOIBRmwk1BRbInMRqPFGLdeUDYLi1Vw3BkXPlUE="><script defer src=/en.search.min.d59155e62a5c5b4ff8f90845580f2225b938da2b1506af250727aadcdc5122f1.js integrity="sha256-1ZFV5ipcW0/4+QhFWA8iJbk42isVBq8lByeq3NxRIvE="></script></head><body><input type=checkbox class="hidden toggle" id=menu-control>
-<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><nav><h2 class=book-brand><a href=/><span>Vericert</span></a></h2><div class=book-search><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><ul><li><a href=https://vericert.ymhg.org/coq-style-guide/>Coq Style Guide</a></li><li><a href=https://vericert.ymhg.org/docs/>Docs</a><ul><li><a href=https://vericert.ymhg.org/docs/building/>Building Vericert</a></li><li><a href=https://vericert.ymhg.org/docs/using-vericert/ class=active>Using Vericert</a></li></ul></li></ul><ul><li><a href=https://github.com/ymherklotz/vericert target=_blank rel=noopener>Github</a></li></ul></nav><script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label>
+void matrix_multiply(int first[2][2], int second[2][2], int multiply[2][2]) { int sum = 0; for (int c = 0; c < 2; c++) { for (int d = 0; d < 2; d++) { for (int k = 0; k < 2; k++) { sum = sum + first[c][k]*second[k][d]; } multiply[c][d] = sum; sum = 0; } } } int main() { int f[2][2] = {{1, 2}, {3, 4}}; int s[2][2] = {{5, 6}, {7, 8}}; int m[2][2] = {{0, 0}, {0, 0}}; matrix_multiply(f, s, m); return m[1][1]; } It can be compiled using the following command, assuming that vericert is somewhere on the path."><meta property="og:type" content="article"><meta property="og:url" content="https://vericert.ymhg.org/docs/using-vericert/"><title>Using Vericert |</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.b07e338e07a9a926c141d155a3e6d06d0c41e4afe4d81564015c56799705b0ca.css integrity="sha256-sH4zjgepqSbBQdFVo+bQbQxB5K/k2BVkAVxWeZcFsMo="><script defer src=/en.search.min.09c4470fdacb71a68922c07311d906b9cd808586067883b11db52f10e30e96d4.js integrity="sha256-CcRHD9rLcaaJIsBzEdkGuc2AhYYGeIOxHbUvEOMOltQ="></script></head><body><input type=checkbox class="hidden toggle" id=menu-control>
+<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><nav><div class=book-brand><a href=/><div id=book-logo></div><span></span></a><p>A formally verified high-level synthesis tool written in Coq.</p></div><div class=book-search><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><ul><li><a href=https://vericert.ymhg.org/coq-style-guide/>Coq Style Guide</a></li><li><a href=https://vericert.ymhg.org/docs/>Docs</a><ul><li><a href=https://vericert.ymhg.org/docs/building/>Building Vericert</a></li><li><a href=https://vericert.ymhg.org/docs/unreleased/>Unreleased Features</a></li><li><a href=https://vericert.ymhg.org/docs/using-vericert/ class=active>Using Vericert</a></li></ul></li><li><a href=https://vericert.ymhg.org/future/>Future Work</a></li></ul><ul><li><a href=https://github.com/ymherklotz/vericert target=_blank rel=noopener>Github</a></li></ul></nav><script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label>
<strong>Using Vericert</strong>
<label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav id=TableOfContents></nav></aside></header><h1>Using Vericert</h1><article class=markdown><p>Vericert can be used to translate a subset of C into Verilog. As a simple example, consider the following C file (<code>main.c</code>):</p><div class=highlight><pre class=chroma><code class=language-C data-lang=C><span class=kt>void</span> <span class=nf>matrix_multiply</span><span class=p>(</span><span class=kt>int</span> <span class=n>first</span><span class=p>[</span><span class=mi>2</span><span class=p>][</span><span class=mi>2</span><span class=p>],</span> <span class=kt>int</span> <span class=n>second</span><span class=p>[</span><span class=mi>2</span><span class=p>][</span><span class=mi>2</span><span class=p>],</span> <span class=kt>int</span> <span class=n>multiply</span><span class=p>[</span><span class=mi>2</span><span class=p>][</span><span class=mi>2</span><span class=p>])</span> <span class=p>{</span>
<span class=kt>int</span> <span class=n>sum</span> <span class=o>=</span> <span class=mi>0</span><span class=p>;</span>
diff --git a/en.search-data.min.db967840e46b1744e8ea5911a8b316229481ddd955ae9497d3ef232b1590c47d.js b/en.search-data.min.aeff076d6e9b0b384920d3b30200e418907084a5cba80b98fd2d92b4f054a984.js
index 2664e55..f615527 100644
--- a/en.search-data.min.db967840e46b1744e8ea5911a8b316229481ddd955ae9497d3ef232b1590c47d.js
+++ b/en.search-data.min.aeff076d6e9b0b384920d3b30200e418907084a5cba80b98fd2d92b4f054a984.js
@@ -1 +1 @@
-'use strict';(function(){const indexCfg={cache:true};indexCfg.doc={id:'id',field:['title','content'],store:['title','href','section'],};const index=FlexSearch.create('balance',indexCfg);window.bookSearchIndex=index;index.add({'id':0,'href':'/docs/building/','title':"Building Vericert",'section':"Docs",'content':"To build Vericert, the provided Makefile can be used. External dependencies are needed to build the project, which can be pulled in automatically with nix using the provided default.nix and shell.nix files.\nThe project is written in Coq, a theorem prover, which is extracted to OCaml so that it can then be compiled and executed. The dependencies of this project are the following:\n Coq: theorem prover that is used to also program the HLS tool. OCaml: the OCaml compiler to compile the extracted files. bbv: an efficient bit vector library. dune: build tool for ocaml projects to gather all the ocaml files and compile them in the right order. menhir: parser generator for ocaml. findlib to find installed OCaml libraries. GCC: compiler to help build CompCert. These dependencies can be installed manually, or automatically through Nix.\nDownloading CompCert # CompCert is added as a submodule in the lib/CompCert directory. It is needed to run the build process below, as it is the one dependency that is not downloaded by nix, and has to be downloaded together with the repository. To clone CompCert together with this project, you can run:\ngit clone --recursive https://github.com/ymherklotz/vericert If the repository is already cloned, you can run the following command to make sure that CompCert is also downloaded:\ngit submodule update --init Setting up Nix # Nix is a package manager that can create an isolated environment so that the builds are reproducible. Once nix is installed, it can be used in the following way.\nTo open a shell which includes all the necessary dependencies, one can use:\nnix-shell which will open a shell that has all the dependencies loaded.\nMakefile build # If the dependencies were installed manually, or if one is in the nix-shell, the project can be built by running:\nmake -j8 and installed locally, or under the PREFIX location using:\nmake install Which will install the binary in ./bin/vericert by default. However, this can be changed by changing the PREFIX environment variable, in which case the binary will be installed in $PREFIX/bin/vericert.\nTesting # To test out vericert you can try the following examples which are in the test folder using the following:\n./bin/vericert test/loop.c -o loop.v ./bin/vericert test/conditional.c -o conditional.v ./bin/vericert test/add.c -o add.v Or by running the test suite using the following command:\nmake test "});index.add({'id':1,'href':'/coq-style-guide/','title':"Coq Style Guide",'section':"Vericert",'content':"This style guide was taken from Silveroak, it outlines code style for Coq code in this repository. There are certainly other valid strategies and opinions on Coq code style; this is laid out purely in the name of consistency. For a visual example of the style, see the example at the bottom of this file.\nCode organization # Legal banner # Files should begin with a copyright/license banner, as shown in the example above. Import statements # Require Import statements should all go at the top of the file, followed by file-wide Import statements.\n =Import=s often contain notations or typeclass instances that might override notations or instances from another library, so it\u0026rsquo;s nice to highlight them separately. One Require Import statement per line; it\u0026rsquo;s easier to scan that way.\n Require Import statements should use \u0026ldquo;fully-qualified\u0026rdquo; names (e.g. =Require Import Coq.ZArith.ZArith= instead of Require Import ZArith).\n Use the Locate command to find the fully-qualified name! Require Import\u0026rsquo;s should go in the following order:\n Standard library dependencies (start with Coq.) External dependencies (anything outside the current project) Same-project dependencies Require Import\u0026rsquo;s with the same root library (the name before the first .) should be grouped together. Within each root-library group, they should be in alphabetical order (so Coq.Lists.List before Coq.ZArith.ZArith).\n Notations and scopes # Any file-wide Local Open Scope\u0026rsquo;s should come immediately after the =Import=s (see example).\n Always use Local Open Scope; just Open Scope will sneakily open the scope for those who import your file. Put notations in their own separate modules or files, so that those who import your file can choose whether or not they want the notations.\n Conflicting notations can cause a lot of headache, so it comes in very handy to leave this flexibility! Formatting # Line length # Maximum line length 80 characters. Many Coq IDE setups divide the screen in half vertically and use only half to display source code, so more than 80 characters can be genuinely hard to read on a laptop. Whitespace and indentation # No trailing whitespace.\n Spaces, not tabs.\n Files should end with a newline.\n Many editors do this automatically on save. Colons may be either \u0026ldquo;English-spaced\u0026rdquo;, with no space before the colon and one space after (x: nat) or \u0026ldquo;French-spaced\u0026rdquo;, with one space before and after (x : nat).\n Default indentation is 2 spaces.\n Keeping this small prevents complex proofs from being indented ridiculously far, and matches IDE defaults. Use 2-space indents if inserting a line break immediately after:\n Proof. fun \u0026lt;...\u0026gt; =\u0026gt; forall \u0026lt;...\u0026gt;, exists \u0026lt;....\u0026gt;, The style for indenting arguments in function application depends on where you make a line break. If you make the line break immediately after the function name, use a 2-space indent. However, if you make it after one or more arguments, align the next line with the first argument:\n(Z.pow 1 2) (Z.pow 1 2 3 4 5 6) Inductive cases should not be indented. Example:\nInductive Foo : Type := | FooA : Foo | FooB : Foo . match or lazymatch cases should line up with the \u0026ldquo;m\u0026rdquo; in match or \u0026ldquo;l\u0026rdquo; in lazymatch, as in the following examples:\nmatch x with | 3 =\u0026gt; true | _ =\u0026gt; false end. lazymatch x with | 3 =\u0026gt; idtac | _ =\u0026gt; fail \u0026#34;Not equal to 3:\u0026#34; x end. repeat match goal with | _ =\u0026gt; progress subst | _ =\u0026gt; reflexivity end. do 2 lazymatch goal with | |- context [eq] =\u0026gt; idtac end. Definitions and Fixpoints # It\u0026rsquo;s okay to leave the return type of Definition\u0026rsquo;s and Fixpoint\u0026rsquo;s implicit (e.g. Definition x := 5 instead of Definition x : nat := 5) when the type is very simple or obvious (for instance, the definition is in a file which deals exclusively with operations on Z). Inductives # The . ending an Inductive can be either on the same line as the last case or on its own line immediately below. That is, both of the following are acceptable:\nInductive Foo : Type := | FooA : Foo | FooB : Foo . Inductive Foo : Type := | FooA : Foo | FooB : Foo. Lemma/Theorem statements # Generally, use Theorem for the most important, top-level facts you prove and Lemma for everything else. Insert a line break after the colon in the lemma statement. Insert a line break after the comma for forall or exist quantifiers. Implication arrows (-\u0026gt;) should share a line with the previous hypothesis, not the following one. There is no need to make a line break after every -\u0026gt;; short preconditions may share a line. Proofs and tactics # Use the Proof command (lined up vertically with Lemma or Theorem it corresponds to) to open a proof, and indent the first line after it 2 spaces.\n Very small proofs (where Proof. \u0026lt;tactics\u0026gt; Qed. is \u0026lt;= 80 characters) can go all in one line.\n When ending a proof, align the ending statement (Qed, Admitted, etc.) with Proof.\n Avoid referring to autogenerated names (e.g. =H0=, n0). It\u0026rsquo;s okay to let Coq generate these names, but you should not explicitly refer to them in your proof. So intros; my_solver is fine, but intros; apply H1; my_solver is not fine.\n You can force a non-autogenerated name by either putting the variable before the colon in the lemma statement (Lemma foo x : ... instead of Lemma foo : forall x, ...), or by passing arguments to intros (e.g. =intros ? x= to name the second argument x) This way, the proof won\u0026rsquo;t break when new hypotheses are added or autogenerated variable names change.\n Use curly braces {} for subgoals, instead of bullets.\n Never write tactics with more than one subgoal focused. This can make the proof very confusing to step through! If you have more than one subgoal, use curly braces.\n Consider adding a comment after the opening curly brace that explains what case you\u0026rsquo;re in (see example).\n This is not necessary for small subgoals but can help show the major lines of reasoning in large proofs. If invoking a tactic that is expected to return multiple subgoals, use [ | ... | ] before the . to explicitly specify how many subgoals you expect.\n Examples: split; [ | ]. induction z; [ | | ]. This helps make code more maintainable, because it fails immediately if your tactic no longer solves as many subgoals as expected (or unexpectedly solves more). If invoking a string of tactics (composed by ;) that will break the goal into multiple subgoals and then solve all but one, still use [ ] to enforce that all but one goal is solved.\n Example: split; try lia; [ ]. Tactics that consist only of repeat-ing a procedure (e.g. repeat match, repeat first) should factor out a single step of that procedure a separate tactic called \u0026lt;tactic name\u0026gt;_step, because the single-step version is much easier to debug. For instance:\nLtac crush_step := match goal with | _ =\u0026gt; progress subst | _ =\u0026gt; reflexivity end. Ltac crush := repeat crush_step. Naming # Helper proofs about standard library datatypes should go in a module that is named to match the standard library module (see example).\n This makes the helper proofs look like standard-library ones, which is helpful for categorizing them if they\u0026rsquo;re genuinely at the standard-library level of abstraction. Names of modules should start with capital letters.\n Names of inductives and their constructors should start with capital letters.\n Names of other definitions/lemmas should be snake case.\n Example # A small standalone Coq file that exhibits many of the style points.\n(* * Vericert: Verified high-level synthesis. * Copyright (C) 2021 Name \u0026lt;email@example.com\u0026gt; * * \u0026lt;License...\u0026gt; *) Require Import Coq.Lists.List. Require Import Coq.micromega.Lia. Require Import Coq.ZArith.ZArith. Import ListNotations. Local Open Scope Z_scope. (* Helper proofs about standard library integers (Z) go within [Module Z] so that they match standard-library Z lemmas when used. *) Module Z. Lemma pow_3_r x : x ^ 3 = x * x * x. Proof. lia. Qed. (* very short proofs can go all on one line *) Lemma pow_4_r x : x ^ 4 = x * x * x * x. Proof. change 4 with (Z.succ (Z.succ (Z.succ (Z.succ 0)))). repeat match goal with | _ =\u0026gt; rewrite Z.pow_1_r | _ =\u0026gt; rewrite Z.pow_succ_r by lia | |- context [x * (?a * ?b)] =\u0026gt; replace (x * (a * b)) with (a * b * x) by lia | _ =\u0026gt; reflexivity end. Qed. End Z. (* Now we can access the lemmas above as Z.pow_3_r and Z.pow_4_r, as if they were in the ZArith library! *) Definition bar (x y : Z) := x ^ (y + 1). (* example with a painfully manual proof to show case formatting *) Lemma bar_upper_bound : forall x y a, 0 \u0026lt;= x \u0026lt;= a -\u0026gt; 0 \u0026lt;= y -\u0026gt; 0 \u0026lt;= bar x y \u0026lt;= a ^ (y + 1). Proof. (* avoid referencing autogenerated names by explicitly naming variables *) intros x y a Hx Hy. revert y Hy x a Hx. (* explicitly indicate # subgoals with [ | ... | ] if \u0026gt; 1 *) cbv [bar]; refine (natlike_ind _ _ _); [ | ]. { (* y = 0 *) intros; lia. } { (* y = Z.succ _ *) intros. rewrite Z.add_succ_l, Z.pow_succ_r by lia. split. { (* 0 \u0026lt;= bar x y *) apply Z.mul_nonneg_nonneg; [ lia | ]. apply Z.pow_nonneg; lia. } { (* bar x y \u0026lt; a ^ y *) rewrite Z.pow_succ_r by lia. apply Z.mul_le_mono_nonneg; try lia; [ apply Z.pow_nonneg; lia | ]. (* For more flexible proofs, use match statements to find hypotheses rather than referring to them by autogenerated names like H0. In this case, we\u0026#39;ll take any hypothesis that applies to and then solves the goal. *) match goal with H : _ |- _ =\u0026gt; apply H; solve [auto] end. } } Qed. (* Put notations in a separate module or file so that importers can decide whether or not to use them. *) Module BarNotations. Infix \u0026#34;#\u0026#34; := bar (at level 40) : Z_scope. Notation \u0026#34;x \u0026#39;##\u0026#39;\u0026#34; := (bar x x) (at level 40) : Z_scope. End BarNotations. "});index.add({'id':2,'href':'/docs/','title':"Docs",'section':"Vericert",'content':"Vericert translates C code into a hardware description language called Verilog, which can then be synthesised into hardware, to be placed onto a field-programmable gate array (FPGA) or application-specific integrated circuit (ASIC).\n\n Figure 1: Current design of Vericert, where HTL is an intermediate language representing a finite state machine with data-path (FSMD) and Verilog is the target language.\n The design shown in Figure 1 shows how Vericert leverages an existing verified C compiler called CompCert to perform this translation.\n"});index.add({'id':3,'href':'/docs/using-vericert/','title':"Using Vericert",'section':"Docs",'content':"Vericert can be used to translate a subset of C into Verilog. As a simple example, consider the following C file (main.c):\nvoid matrix_multiply(int first[2][2], int second[2][2], int multiply[2][2]) { int sum = 0; for (int c = 0; c \u0026lt; 2; c++) { for (int d = 0; d \u0026lt; 2; d++) { for (int k = 0; k \u0026lt; 2; k++) { sum = sum + first[c][k]*second[k][d]; } multiply[c][d] = sum; sum = 0; } } } int main() { int f[2][2] = {{1, 2}, {3, 4}}; int s[2][2] = {{5, 6}, {7, 8}}; int m[2][2] = {{0, 0}, {0, 0}}; matrix_multiply(f, s, m); return m[1][1]; } It can be compiled using the following command, assuming that vericert is somewhere on the path.\nvericert main.c -o main.v The Verilog file contains a top-level test-bench, which can be given to any Verilog simulator to simulate the hardware, which should give the same result as executing the C code. Using Icarus Verilog as an example:\niverilog -o main_v main.v When executing, it should therefore print the following:\n$ ./main_v finished: 50 This gives the same result as executing the C in the following way:\n$ gcc -o main_c main.c $ ./main_c $ echo $? 50 "});})(); \ No newline at end of file
+'use strict';(function(){const indexCfg={cache:true};indexCfg.doc={id:'id',field:['title','content'],store:['title','href','section'],};const index=FlexSearch.create('balance',indexCfg);window.bookSearchIndex=index;index.add({'id':0,'href':'/docs/building/','title':"Building Vericert",'section':"Docs",'content':"To build Vericert, the provided Makefile can be used. External dependencies are needed to build the project, which can be pulled in automatically with nix using the provided default.nix and shell.nix files.\nThe project is written in Coq, a theorem prover, which is extracted to OCaml so that it can then be compiled and executed. The dependencies of this project are the following:\n Coq: theorem prover that is used to also program the HLS tool. OCaml: the OCaml compiler to compile the extracted files. bbv: an efficient bit vector library. dune: build tool for ocaml projects to gather all the ocaml files and compile them in the right order. menhir: parser generator for ocaml. findlib to find installed OCaml libraries. GCC: compiler to help build CompCert. These dependencies can be installed manually, or automatically through Nix.\nDownloading CompCert # CompCert is added as a submodule in the lib/CompCert directory. It is needed to run the build process below, as it is the one dependency that is not downloaded by nix, and has to be downloaded together with the repository. To clone CompCert together with this project, you can run:\ngit clone --recursive https://github.com/ymherklotz/vericert If the repository is already cloned, you can run the following command to make sure that CompCert is also downloaded:\ngit submodule update --init Setting up Nix # Nix is a package manager that can create an isolated environment so that the builds are reproducible. Once nix is installed, it can be used in the following way.\nTo open a shell which includes all the necessary dependencies, one can use:\nnix-shell which will open a shell that has all the dependencies loaded.\nMakefile build # If the dependencies were installed manually, or if one is in the nix-shell, the project can be built by running:\nmake -j8 and installed locally, or under the PREFIX location using:\nmake install Which will install the binary in ./bin/vericert by default. However, this can be changed by changing the PREFIX environment variable, in which case the binary will be installed in $PREFIX/bin/vericert.\nTesting # To test out vericert you can try the following examples which are in the test folder using the following:\n./bin/vericert test/loop.c -o loop.v ./bin/vericert test/conditional.c -o conditional.v ./bin/vericert test/add.c -o add.v Or by running the test suite using the following command:\nmake test "});index.add({'id':1,'href':'/coq-style-guide/','title':"Coq Style Guide",'section':"Vericert",'content':"This style guide was taken from Silveroak, it outlines code style for Coq code in this repository. There are certainly other valid strategies and opinions on Coq code style; this is laid out purely in the name of consistency. For a visual example of the style, see the example at the bottom of this file.\nCode organization # Legal banner # Files should begin with a copyright/license banner, as shown in the example above. Import statements # Require Import statements should all go at the top of the file, followed by file-wide Import statements.\n =Import=s often contain notations or typeclass instances that might override notations or instances from another library, so it\u0026rsquo;s nice to highlight them separately. One Require Import statement per line; it\u0026rsquo;s easier to scan that way.\n Require Import statements should use \u0026ldquo;fully-qualified\u0026rdquo; names (e.g. =Require Import Coq.ZArith.ZArith= instead of Require Import ZArith).\n Use the Locate command to find the fully-qualified name! Require Import\u0026rsquo;s should go in the following order:\n Standard library dependencies (start with Coq.) External dependencies (anything outside the current project) Same-project dependencies Require Import\u0026rsquo;s with the same root library (the name before the first .) should be grouped together. Within each root-library group, they should be in alphabetical order (so Coq.Lists.List before Coq.ZArith.ZArith).\n Notations and scopes # Any file-wide Local Open Scope\u0026rsquo;s should come immediately after the =Import=s (see example).\n Always use Local Open Scope; just Open Scope will sneakily open the scope for those who import your file. Put notations in their own separate modules or files, so that those who import your file can choose whether or not they want the notations.\n Conflicting notations can cause a lot of headache, so it comes in very handy to leave this flexibility! Formatting # Line length # Maximum line length 80 characters. Many Coq IDE setups divide the screen in half vertically and use only half to display source code, so more than 80 characters can be genuinely hard to read on a laptop. Whitespace and indentation # No trailing whitespace.\n Spaces, not tabs.\n Files should end with a newline.\n Many editors do this automatically on save. Colons may be either \u0026ldquo;English-spaced\u0026rdquo;, with no space before the colon and one space after (x: nat) or \u0026ldquo;French-spaced\u0026rdquo;, with one space before and after (x : nat).\n Default indentation is 2 spaces.\n Keeping this small prevents complex proofs from being indented ridiculously far, and matches IDE defaults. Use 2-space indents if inserting a line break immediately after:\n Proof. fun \u0026lt;...\u0026gt; =\u0026gt; forall \u0026lt;...\u0026gt;, exists \u0026lt;....\u0026gt;, The style for indenting arguments in function application depends on where you make a line break. If you make the line break immediately after the function name, use a 2-space indent. However, if you make it after one or more arguments, align the next line with the first argument:\n(Z.pow 1 2) (Z.pow 1 2 3 4 5 6) Inductive cases should not be indented. Example:\nInductive Foo : Type := | FooA : Foo | FooB : Foo . match or lazymatch cases should line up with the \u0026ldquo;m\u0026rdquo; in match or \u0026ldquo;l\u0026rdquo; in lazymatch, as in the following examples:\nmatch x with | 3 =\u0026gt; true | _ =\u0026gt; false end. lazymatch x with | 3 =\u0026gt; idtac | _ =\u0026gt; fail \u0026#34;Not equal to 3:\u0026#34; x end. repeat match goal with | _ =\u0026gt; progress subst | _ =\u0026gt; reflexivity end. do 2 lazymatch goal with | |- context [eq] =\u0026gt; idtac end. Definitions and Fixpoints # It\u0026rsquo;s okay to leave the return type of Definition\u0026rsquo;s and Fixpoint\u0026rsquo;s implicit (e.g. Definition x := 5 instead of Definition x : nat := 5) when the type is very simple or obvious (for instance, the definition is in a file which deals exclusively with operations on Z). Inductives # The . ending an Inductive can be either on the same line as the last case or on its own line immediately below. That is, both of the following are acceptable:\nInductive Foo : Type := | FooA : Foo | FooB : Foo . Inductive Foo : Type := | FooA : Foo | FooB : Foo. Lemma/Theorem statements # Generally, use Theorem for the most important, top-level facts you prove and Lemma for everything else. Insert a line break after the colon in the lemma statement. Insert a line break after the comma for forall or exist quantifiers. Implication arrows (-\u0026gt;) should share a line with the previous hypothesis, not the following one. There is no need to make a line break after every -\u0026gt;; short preconditions may share a line. Proofs and tactics # Use the Proof command (lined up vertically with Lemma or Theorem it corresponds to) to open a proof, and indent the first line after it 2 spaces.\n Very small proofs (where Proof. \u0026lt;tactics\u0026gt; Qed. is \u0026lt;= 80 characters) can go all in one line.\n When ending a proof, align the ending statement (Qed, Admitted, etc.) with Proof.\n Avoid referring to autogenerated names (e.g. =H0=, n0). It\u0026rsquo;s okay to let Coq generate these names, but you should not explicitly refer to them in your proof. So intros; my_solver is fine, but intros; apply H1; my_solver is not fine.\n You can force a non-autogenerated name by either putting the variable before the colon in the lemma statement (Lemma foo x : ... instead of Lemma foo : forall x, ...), or by passing arguments to intros (e.g. =intros ? x= to name the second argument x) This way, the proof won\u0026rsquo;t break when new hypotheses are added or autogenerated variable names change.\n Use curly braces {} for subgoals, instead of bullets.\n Never write tactics with more than one subgoal focused. This can make the proof very confusing to step through! If you have more than one subgoal, use curly braces.\n Consider adding a comment after the opening curly brace that explains what case you\u0026rsquo;re in (see example).\n This is not necessary for small subgoals but can help show the major lines of reasoning in large proofs. If invoking a tactic that is expected to return multiple subgoals, use [ | ... | ] before the . to explicitly specify how many subgoals you expect.\n Examples: split; [ | ]. induction z; [ | | ]. This helps make code more maintainable, because it fails immediately if your tactic no longer solves as many subgoals as expected (or unexpectedly solves more). If invoking a string of tactics (composed by ;) that will break the goal into multiple subgoals and then solve all but one, still use [ ] to enforce that all but one goal is solved.\n Example: split; try lia; [ ]. Tactics that consist only of repeat-ing a procedure (e.g. repeat match, repeat first) should factor out a single step of that procedure a separate tactic called \u0026lt;tactic name\u0026gt;_step, because the single-step version is much easier to debug. For instance:\nLtac crush_step := match goal with | _ =\u0026gt; progress subst | _ =\u0026gt; reflexivity end. Ltac crush := repeat crush_step. Naming # Helper proofs about standard library datatypes should go in a module that is named to match the standard library module (see example).\n This makes the helper proofs look like standard-library ones, which is helpful for categorizing them if they\u0026rsquo;re genuinely at the standard-library level of abstraction. Names of modules should start with capital letters.\n Names of inductives and their constructors should start with capital letters.\n Names of other definitions/lemmas should be snake case.\n Example # A small standalone Coq file that exhibits many of the style points.\n(* * Vericert: Verified high-level synthesis. * Copyright (C) 2021 Name \u0026lt;email@example.com\u0026gt; * * \u0026lt;License...\u0026gt; *) Require Import Coq.Lists.List. Require Import Coq.micromega.Lia. Require Import Coq.ZArith.ZArith. Import ListNotations. Local Open Scope Z_scope. (* Helper proofs about standard library integers (Z) go within [Module Z] so that they match standard-library Z lemmas when used. *) Module Z. Lemma pow_3_r x : x ^ 3 = x * x * x. Proof. lia. Qed. (* very short proofs can go all on one line *) Lemma pow_4_r x : x ^ 4 = x * x * x * x. Proof. change 4 with (Z.succ (Z.succ (Z.succ (Z.succ 0)))). repeat match goal with | _ =\u0026gt; rewrite Z.pow_1_r | _ =\u0026gt; rewrite Z.pow_succ_r by lia | |- context [x * (?a * ?b)] =\u0026gt; replace (x * (a * b)) with (a * b * x) by lia | _ =\u0026gt; reflexivity end. Qed. End Z. (* Now we can access the lemmas above as Z.pow_3_r and Z.pow_4_r, as if they were in the ZArith library! *) Definition bar (x y : Z) := x ^ (y + 1). (* example with a painfully manual proof to show case formatting *) Lemma bar_upper_bound : forall x y a, 0 \u0026lt;= x \u0026lt;= a -\u0026gt; 0 \u0026lt;= y -\u0026gt; 0 \u0026lt;= bar x y \u0026lt;= a ^ (y + 1). Proof. (* avoid referencing autogenerated names by explicitly naming variables *) intros x y a Hx Hy. revert y Hy x a Hx. (* explicitly indicate # subgoals with [ | ... | ] if \u0026gt; 1 *) cbv [bar]; refine (natlike_ind _ _ _); [ | ]. { (* y = 0 *) intros; lia. } { (* y = Z.succ _ *) intros. rewrite Z.add_succ_l, Z.pow_succ_r by lia. split. { (* 0 \u0026lt;= bar x y *) apply Z.mul_nonneg_nonneg; [ lia | ]. apply Z.pow_nonneg; lia. } { (* bar x y \u0026lt; a ^ y *) rewrite Z.pow_succ_r by lia. apply Z.mul_le_mono_nonneg; try lia; [ apply Z.pow_nonneg; lia | ]. (* For more flexible proofs, use match statements to find hypotheses rather than referring to them by autogenerated names like H0. In this case, we\u0026#39;ll take any hypothesis that applies to and then solves the goal. *) match goal with H : _ |- _ =\u0026gt; apply H; solve [auto] end. } } Qed. (* Put notations in a separate module or file so that importers can decide whether or not to use them. *) Module BarNotations. Infix \u0026#34;#\u0026#34; := bar (at level 40) : Z_scope. Notation \u0026#34;x \u0026#39;##\u0026#39;\u0026#34; := (bar x x) (at level 40) : Z_scope. End BarNotations. "});index.add({'id':2,'href':'/docs/','title':"Docs",'section':"Vericert",'content':"Vericert translates C code into a hardware description language called Verilog, which can then be synthesised into hardware, to be placed onto a field-programmable gate array (FPGA) or application-specific integrated circuit (ASIC).\n\n Figure 1: Current design of Vericert, where HTL is an intermediate language representing a finite state machine with data-path (FSMD) and Verilog is the target language.\n The design shown in Figure 1 shows how Vericert leverages an existing verified C compiler called CompCert to perform this translation.\n"});index.add({'id':3,'href':'/future/','title':"Future Work",'section':"Vericert",'content':"This section contains future work that should be added to Vericert to make it into a better high-level synthesis tool.\nThe next interesting optimisations that should be looked at are the following:\n Globals Type Support Memory Partitioning Operation Chaining Globals # globals\nType Support # type support\nMemory Partitioning # memory\n"});index.add({'id':4,'href':'/docs/unreleased/','title':"Unreleased Features",'section':"Docs",'content':"The following are unreleased features in Vericert that are currently being worked on and have not been completely proven correct yet. Currently this includes features such as:\n scheduling, if-conversion, loop pipelining, and functions. This page gives some preliminary information on how the features are implemented and how the proofs for the features are being done. Once these features are properly implemented, they will be added to the proper documentation.\nScheduling # Scheduling is an optimisation which is used to run\nOperation Chaining # Scheduling is an optimisation which is used to run\nIf-conversion # If-conversion\nLoop pipelining # Loop pipelining\nFunctions # Functions.\n"});index.add({'id':5,'href':'/docs/using-vericert/','title':"Using Vericert",'section':"Docs",'content':"Vericert can be used to translate a subset of C into Verilog. As a simple example, consider the following C file (main.c):\nvoid matrix_multiply(int first[2][2], int second[2][2], int multiply[2][2]) { int sum = 0; for (int c = 0; c \u0026lt; 2; c++) { for (int d = 0; d \u0026lt; 2; d++) { for (int k = 0; k \u0026lt; 2; k++) { sum = sum + first[c][k]*second[k][d]; } multiply[c][d] = sum; sum = 0; } } } int main() { int f[2][2] = {{1, 2}, {3, 4}}; int s[2][2] = {{5, 6}, {7, 8}}; int m[2][2] = {{0, 0}, {0, 0}}; matrix_multiply(f, s, m); return m[1][1]; } It can be compiled using the following command, assuming that vericert is somewhere on the path.\nvericert main.c -o main.v The Verilog file contains a top-level test-bench, which can be given to any Verilog simulator to simulate the hardware, which should give the same result as executing the C code. Using Icarus Verilog as an example:\niverilog -o main_v main.v When executing, it should therefore print the following:\n$ ./main_v finished: 50 This gives the same result as executing the C in the following way:\n$ gcc -o main_c main.c $ ./main_c $ echo $? 50 "});})(); \ No newline at end of file
diff --git a/en.search.min.d59155e62a5c5b4ff8f90845580f2225b938da2b1506af250727aadcdc5122f1.js b/en.search.min.09c4470fdacb71a68922c07311d906b9cd808586067883b11db52f10e30e96d4.js
index 81189f8..131df46 100644
--- a/en.search.min.d59155e62a5c5b4ff8f90845580f2225b938da2b1506af250727aadcdc5122f1.js
+++ b/en.search.min.09c4470fdacb71a68922c07311d906b9cd808586067883b11db52f10e30e96d4.js
@@ -3,7 +3,7 @@ input.addEventListener('focus',init);input.addEventListener('keyup',search);docu
const characterPressed=String.fromCharCode(event.charCode);if(!isHotkey(characterPressed)){return;}
input.focus();event.preventDefault();}
function isHotkey(character){const dataHotkeys=input.getAttribute('data-hotkeys')||'';return dataHotkeys.indexOf(character)>=0;}
-function init(){input.removeEventListener('focus',init);input.required=true;loadScript('/flexsearch.min.js');loadScript('/en.search-data.min.db967840e46b1744e8ea5911a8b316229481ddd955ae9497d3ef232b1590c47d.js',function(){input.required=false;search();});}
+function init(){input.removeEventListener('focus',init);input.required=true;loadScript('/flexsearch.min.js');loadScript('/en.search-data.min.aeff076d6e9b0b384920d3b30200e418907084a5cba80b98fd2d92b4f054a984.js',function(){input.required=false;search();});}
function search(){while(results.firstChild){results.removeChild(results.firstChild);}
if(!input.value){return;}
const searchHits=window.bookSearchIndex.search(input.value,10);searchHits.forEach(function(page){const li=element('<li><a href></a><small></small></li>');const a=li.querySelector('a'),small=li.querySelector('small');a.href=page.href;a.textContent=page.title;small.textContent=page.section;results.appendChild(li);});}
diff --git a/favicon.png b/favicon.png
index 59c7c2a..0b897d1 100644
--- a/favicon.png
+++ b/favicon.png
Binary files differ
diff --git a/favicon.svg b/favicon.svg
index a3c696d..336d2d1 100644
--- a/favicon.svg
+++ b/favicon.svg
@@ -1 +1,82 @@
-<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M3 18h12v-2H3v2zM3 6v2h18V6H3zm0 7h18v-2H3v2z"/></svg> \ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:i="&amp;ns_ai;"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ id="Vrstva_1"
+ x="0px"
+ y="0px"
+ width="85.774002"
+ height="94.737"
+ viewBox="0 0 85.773999 94.736998"
+ enable-background="new 0 0 618.822 841.89"
+ xml:space="preserve"><metadata
+ id="metadata231"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs229" />
+<switch
+ id="switch224"
+ transform="translate(-443.598,-165.873)">
+ <foreignObject
+ requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/"
+ x="0"
+ y="0"
+ width="1"
+ height="1">
+
+ </foreignObject>
+ <g
+ i:extraneous="self"
+ id="g222">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <g
+ id="g102">
+ <path
+ fill="#2a3e40"
+ d="m 529.372,181.027 h -7.912 c 0,0 -2.048,2.33 -5.214,5.937 l -0.171,-21.091 -3.548,2.644 c -3.565,2.649 -7.454,4.844 -11.545,6.549 v -8.789 h -4.487 v 10.432 c -5.39,1.723 -11.039,2.63 -16.71,2.63 -0.292,0 -0.572,0 -0.864,0 -5.051,-0.084 -9.998,-0.847 -14.742,-2.253 v -10.809 h -4.487 v 9.252 c -4.413,-1.741 -8.613,-4.057 -12.508,-6.934 l -3.586,-2.657 0.089,35.792 v 0.116 c 0.661,12.079 4.945,23.522 12.384,33.108 5.73,7.38 13.194,13.271 21.659,17.187 v 8.469 h 4.487 v -8.297 c 9.715,-4.771 17.995,-11.995 23.99,-21.021 6.104,-9.168 9.6,-19.834 10.147,-30.833 v -0.063 l -0.03,-3.751 z m -26.902,47.787 c -5.57,8.378 -13.263,15.131 -22.303,19.542 -8.049,-3.61 -15.13,-9.179 -20.547,-16.161 -6.866,-8.835 -10.82,-19.402 -11.444,-30.54 L 448.1,174.659 c 9.218,5.837 19.759,8.991 30.746,9.155 11.557,0.192 23.078,-3.089 32.818,-9.256 l 0.138,17.472 c -11.852,13.51 -30.401,34.702 -30.492,35.096 -0.09,-0.579 -10.269,-30.954 -10.269,-30.954 h -7.979 l 13.619,39.961 h 6.653 l 28.411,-34.005 c -0.787,9.524 -3.981,18.711 -9.275,26.686 z"
+ id="path100" />
+ </g>
+ <path
+ fill="#9acfb2"
+ d="m 483.333,236.132 h -6.653 l -13.619,-39.961 h 7.979 c 0,0 10.178,30.375 10.269,30.954 0.091,-0.394 18.641,-21.586 30.492,-35.096 l -0.138,-17.472 c -9.74,6.167 -21.261,9.449 -32.818,9.256 -10.987,-0.164 -21.527,-3.317 -30.746,-9.155 l 0.076,26.996 c 0.624,11.138 4.578,21.705 11.444,30.54 5.417,6.982 12.499,12.551 20.547,16.161 9.041,-4.411 16.733,-11.163 22.303,-19.542 0.629,-0.947 1.223,-1.914 1.792,-2.894 0.042,-0.073 0.087,-0.145 0.13,-0.219 0.54,-0.939 1.047,-1.896 1.532,-2.862 0.058,-0.117 0.119,-0.232 0.177,-0.349 0.466,-0.947 0.902,-1.907 1.314,-2.877 0.059,-0.138 0.119,-0.276 0.177,-0.416 0.401,-0.964 0.773,-1.938 1.12,-2.922 0.052,-0.147 0.103,-0.294 0.154,-0.441 0.339,-0.989 0.652,-1.987 0.936,-2.994 0.04,-0.14 0.077,-0.28 0.116,-0.42 0.28,-1.023 0.535,-2.054 0.757,-3.093 0.025,-0.116 0.047,-0.233 0.072,-0.35 0.222,-1.069 0.417,-2.144 0.578,-3.226 0.011,-0.073 0.019,-0.146 0.03,-0.22 0.163,-1.129 0.295,-2.264 0.39,-3.405 z"
+ id="path104" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </g>
+</switch>
+
+</svg>
diff --git a/future/index.html b/future/index.html
new file mode 100644
index 0000000..e79cf0b
--- /dev/null
+++ b/future/index.html
@@ -0,0 +1,15 @@
+<!doctype html><html lang=en><head><meta name=generator content="Hugo 0.80.0"><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="This section contains future work that should be added to Vericert to make it into a better high-level synthesis tool.
+The next interesting optimisations that should be looked at are the following:
+ Globals Type Support Memory Partitioning Operation Chaining Globals # globals
+Type Support # type support
+Memory Partitioning # memory"><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="Future Work"><meta property="og:description" content="This section contains future work that should be added to Vericert to make it into a better high-level synthesis tool.
+The next interesting optimisations that should be looked at are the following:
+ Globals Type Support Memory Partitioning Operation Chaining Globals # globals
+Type Support # type support
+Memory Partitioning # memory"><meta property="og:type" content="article"><meta property="og:url" content="https://vericert.ymhg.org/future/"><title>Future Work |</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.b07e338e07a9a926c141d155a3e6d06d0c41e4afe4d81564015c56799705b0ca.css integrity="sha256-sH4zjgepqSbBQdFVo+bQbQxB5K/k2BVkAVxWeZcFsMo="><script defer src=/en.search.min.09c4470fdacb71a68922c07311d906b9cd808586067883b11db52f10e30e96d4.js integrity="sha256-CcRHD9rLcaaJIsBzEdkGuc2AhYYGeIOxHbUvEOMOltQ="></script></head><body><input type=checkbox class="hidden toggle" id=menu-control>
+<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><nav><div class=book-brand><a href=/><div id=book-logo></div><span></span></a><p>A formally verified high-level synthesis tool written in Coq.</p></div><div class=book-search><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><ul><li><a href=https://vericert.ymhg.org/coq-style-guide/>Coq Style Guide</a></li><li><a href=https://vericert.ymhg.org/docs/>Docs</a><ul><li><a href=https://vericert.ymhg.org/docs/building/>Building Vericert</a></li><li><a href=https://vericert.ymhg.org/docs/unreleased/>Unreleased Features</a></li><li><a href=https://vericert.ymhg.org/docs/using-vericert/>Using Vericert</a></li></ul></li><li><a href=https://vericert.ymhg.org/future/ class=active>Future Work</a></li></ul><ul><li><a href=https://github.com/ymherklotz/vericert target=_blank rel=noopener>Github</a></li></ul></nav><script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label>
+<strong>Future Work</strong>
+<label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav id=TableOfContents><ul><li><ul><li><a href=#globals>Globals</a></li><li><a href=#type-support>Type Support</a></li><li><a href=#memory-partitioning>Memory Partitioning</a></li></ul></li></ul></nav></aside></header><h1>Future Work</h1><article class=markdown><p>This section contains future work that should be added to Vericert to make it into a better high-level synthesis tool.</p><p>The next interesting optimisations that should be looked at are the following:</p><ul><li><a href=#globals>Globals</a></li><li><a href=#type-support>Type Support</a></li><li><a href=#memory-partitioning>Memory Partitioning</a></li><li><a href=/docs/unreleased/#scheduling>Operation Chaining</a></li></ul><h2 id=globals>Globals
+<a class=anchor href=#globals>#</a></h2><p>globals</p><h2 id=type-support>Type Support
+<a class=anchor href=#type-support>#</a></h2><p>type support</p><h2 id=memory-partitioning>Memory Partitioning
+<a class=anchor href=#memory-partitioning>#</a></h2><p>memory</p></article><footer class=book-footer><div class="flex flex-wrap justify-between"></div></footer><div class=book-comments></div><label for=menu-control class="hidden book-menu-overlay"></label></div><aside class=book-toc><nav id=TableOfContents><ul><li><ul><li><a href=#globals>Globals</a></li><li><a href=#type-support>Type Support</a></li><li><a href=#memory-partitioning>Memory Partitioning</a></li></ul></li></ul></nav></aside></main></body></html> \ No newline at end of file
diff --git a/index.html b/index.html
index 2ae29c9..f9a56c0 100644
--- a/index.html
+++ b/index.html
@@ -1,6 +1,6 @@
<!doctype html><html lang=en><head><meta name=generator content="Hugo 0.80.0"><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A formally verified high-level synthesis (HLS) tool written in Coq, building on top of CompCert. This ensures the correctness of the C to Verilog translation according to our Verilog semantics and CompCert&rsquo;s C semantics, removing the need to check the resulting hardware for behavioural correctness.
-Features # The project is currently a work in progress, so proofs remain to be finished. Currently, the following C features are supported, but are not all proven correct yet:"><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="Vericert"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="https://vericert.ymhg.org/"><meta property="og:updated_time" content="2021-01-16T00:00:00+00:00"><title>Vericert | Vericert</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.cc7f7da4e201466c24d4145b227311a8f1462dd7940d82e2d55c370645cf9541.css integrity="sha256-zH99pOIBRmwk1BRbInMRqPFGLdeUDYLi1Vw3BkXPlUE="><script defer src=/en.search.min.d59155e62a5c5b4ff8f90845580f2225b938da2b1506af250727aadcdc5122f1.js integrity="sha256-1ZFV5ipcW0/4+QhFWA8iJbk42isVBq8lByeq3NxRIvE="></script><link rel=alternate type=application/rss+xml href=https://vericert.ymhg.org/index.xml title=Vericert></head><body><input type=checkbox class="hidden toggle" id=menu-control>
-<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><nav><h2 class=book-brand><a href=/><span>Vericert</span></a></h2><div class=book-search><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><ul><li><a href=https://vericert.ymhg.org/coq-style-guide/>Coq Style Guide</a></li><li><a href=https://vericert.ymhg.org/docs/>Docs</a><ul><li><a href=https://vericert.ymhg.org/docs/building/>Building Vericert</a></li><li><a href=https://vericert.ymhg.org/docs/using-vericert/>Using Vericert</a></li></ul></li></ul><ul><li><a href=https://github.com/ymherklotz/vericert target=_blank rel=noopener>Github</a></li></ul></nav><script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label>
+Features # The project is currently a work in progress, so proofs remain to be finished. Currently, the following C features are supported, but are not all proven correct yet:"><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="Vericert"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="https://vericert.ymhg.org/"><meta property="og:updated_time" content="2021-01-16T00:00:00+00:00"><title>Vericert |</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.b07e338e07a9a926c141d155a3e6d06d0c41e4afe4d81564015c56799705b0ca.css integrity="sha256-sH4zjgepqSbBQdFVo+bQbQxB5K/k2BVkAVxWeZcFsMo="><script defer src=/en.search.min.09c4470fdacb71a68922c07311d906b9cd808586067883b11db52f10e30e96d4.js integrity="sha256-CcRHD9rLcaaJIsBzEdkGuc2AhYYGeIOxHbUvEOMOltQ="></script><link rel=alternate type=application/rss+xml href=https://vericert.ymhg.org/index.xml></head><body><input type=checkbox class="hidden toggle" id=menu-control>
+<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><nav><div class=book-brand><a href=/><div id=book-logo></div><span></span></a><p>A formally verified high-level synthesis tool written in Coq.</p></div><div class=book-search><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><ul><li><a href=https://vericert.ymhg.org/coq-style-guide/>Coq Style Guide</a></li><li><a href=https://vericert.ymhg.org/docs/>Docs</a><ul><li><a href=https://vericert.ymhg.org/docs/building/>Building Vericert</a></li><li><a href=https://vericert.ymhg.org/docs/unreleased/>Unreleased Features</a></li><li><a href=https://vericert.ymhg.org/docs/using-vericert/>Using Vericert</a></li></ul></li><li><a href=https://vericert.ymhg.org/future/>Future Work</a></li></ul><ul><li><a href=https://github.com/ymherklotz/vericert target=_blank rel=noopener>Github</a></li></ul></nav><script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label>
<strong>Vericert</strong>
<label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav id=TableOfContents><ul><li><ul><li><a href=#features>Features</a></li><li><a href=#content>Content</a></li></ul></li></ul></nav></aside></header><h1>Vericert</h1><article class=markdown><p>A formally verified high-level synthesis (HLS) tool written in Coq, building on top of <a href=https://github.com/AbsInt/CompCert>CompCert</a>. This ensures the correctness of the C to Verilog translation according to our Verilog semantics and CompCert&rsquo;s C semantics, removing the need to check the resulting hardware for behavioural correctness.</p><h2 id=features>Features
<a class=anchor href=#features>#</a></h2><p>The project is currently a work in progress, so proofs remain to be finished. Currently, the following C features are supported, but are not all proven correct yet:</p><ul><li>all int operations,</li><li>non-recursive function calls,</li><li>local arrays and pointers</li><li>control-flow structures such as if-statements, for-loops, etc&mldr;</li></ul><h2 id=content>Content
diff --git a/index.xml b/index.xml
index cb9d1aa..4ab6423 100644
--- a/index.xml
+++ b/index.xml
@@ -1,5 +1,10 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Vericert</title><link>https://vericert.ymhg.org/</link><description>Recent content on Vericert</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>© 2020-2021 Yann Herklotz</copyright><lastBuildDate>Sat, 16 Jan 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://vericert.ymhg.org/index.xml" rel="self" type="application/rss+xml"/><item><title>Building Vericert</title><link>https://vericert.ymhg.org/docs/building/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vericert.ymhg.org/docs/building/</guid><description>To build Vericert, the provided Makefile can be used. External dependencies are needed to build the project, which can be pulled in automatically with nix using the provided default.nix and shell.nix files.
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Vericert on</title><link>https://vericert.ymhg.org/</link><description>Recent content in Vericert on</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>© 2020-2021 Yann Herklotz</copyright><lastBuildDate>Sat, 16 Jan 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://vericert.ymhg.org/index.xml" rel="self" type="application/rss+xml"/><item><title>Building Vericert</title><link>https://vericert.ymhg.org/docs/building/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vericert.ymhg.org/docs/building/</guid><description>To build Vericert, the provided Makefile can be used. External dependencies are needed to build the project, which can be pulled in automatically with nix using the provided default.nix and shell.nix files.
The project is written in Coq, a theorem prover, which is extracted to OCaml so that it can then be compiled and executed. The dependencies of this project are the following:
Coq: theorem prover that is used to also program the HLS tool.</description></item><item><title>Coq Style Guide</title><link>https://vericert.ymhg.org/coq-style-guide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vericert.ymhg.org/coq-style-guide/</guid><description>This style guide was taken from Silveroak, it outlines code style for Coq code in this repository. There are certainly other valid strategies and opinions on Coq code style; this is laid out purely in the name of consistency. For a visual example of the style, see the example at the bottom of this file.
-Code organization # Legal banner # Files should begin with a copyright/license banner, as shown in the example above.</description></item><item><title>Using Vericert</title><link>https://vericert.ymhg.org/docs/using-vericert/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vericert.ymhg.org/docs/using-vericert/</guid><description>Vericert can be used to translate a subset of C into Verilog. As a simple example, consider the following C file (main.c):
+Code organization # Legal banner # Files should begin with a copyright/license banner, as shown in the example above.</description></item><item><title>Future Work</title><link>https://vericert.ymhg.org/future/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vericert.ymhg.org/future/</guid><description>This section contains future work that should be added to Vericert to make it into a better high-level synthesis tool.
+The next interesting optimisations that should be looked at are the following:
+Globals Type Support Memory Partitioning Operation Chaining Globals # globals
+Type Support # type support
+Memory Partitioning # memory</description></item><item><title>Unreleased Features</title><link>https://vericert.ymhg.org/docs/unreleased/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vericert.ymhg.org/docs/unreleased/</guid><description>The following are unreleased features in Vericert that are currently being worked on and have not been completely proven correct yet. Currently this includes features such as:
+scheduling, if-conversion, loop pipelining, and functions. This page gives some preliminary information on how the features are implemented and how the proofs for the features are being done. Once these features are properly implemented, they will be added to the proper documentation.</description></item><item><title>Using Vericert</title><link>https://vericert.ymhg.org/docs/using-vericert/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vericert.ymhg.org/docs/using-vericert/</guid><description>Vericert can be used to translate a subset of C into Verilog. As a simple example, consider the following C file (main.c):
void matrix_multiply(int first[2][2], int second[2][2], int multiply[2][2]) { int sum = 0; for (int c = 0; c &amp;lt; 2; c++) { for (int d = 0; d &amp;lt; 2; d++) { for (int k = 0; k &amp;lt; 2; k++) { sum = sum + first[c][k]*second[k][d]; } multiply[c][d] = sum; sum = 0; } } } int main() { int f[2][2] = {{1, 2}, {3, 4}}; int s[2][2] = {{5, 6}, {7, 8}}; int m[2][2] = {{0, 0}, {0, 0}}; matrix_multiply(f, s, m); return m[1][1]; } It can be compiled using the following command, assuming that vericert is somewhere on the path.</description></item></channel></rss> \ No newline at end of file
diff --git a/manifest.json b/manifest.json
index c9bce8a..26a2c92 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,6 +1,6 @@
{
- "name": "Vericert",
- "short_name": "Vericert",
+ "name": "",
+ "short_name": "",
"start_url": "/",
"scope": "/",
"display": "standalone",
diff --git a/sitemap.xml b/sitemap.xml
index 00cbb45..b2166cf 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://vericert.ymhg.org/</loc><lastmod>2021-01-16T00:00:00+00:00</lastmod></url><url><loc>https://vericert.ymhg.org/docs/building/</loc></url><url><loc>https://vericert.ymhg.org/categories/</loc></url><url><loc>https://vericert.ymhg.org/coq-style-guide/</loc></url><url><loc>https://vericert.ymhg.org/docs/</loc></url><url><loc>https://vericert.ymhg.org/tags/</loc></url><url><loc>https://vericert.ymhg.org/docs/using-vericert/</loc></url></urlset> \ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://vericert.ymhg.org/</loc><lastmod>2021-01-16T00:00:00+00:00</lastmod></url><url><loc>https://vericert.ymhg.org/docs/building/</loc></url><url><loc>https://vericert.ymhg.org/categories/</loc></url><url><loc>https://vericert.ymhg.org/coq-style-guide/</loc></url><url><loc>https://vericert.ymhg.org/docs/</loc></url><url><loc>https://vericert.ymhg.org/future/</loc></url><url><loc>https://vericert.ymhg.org/tags/</loc></url><url><loc>https://vericert.ymhg.org/docs/unreleased/</loc></url><url><loc>https://vericert.ymhg.org/docs/using-vericert/</loc></url></urlset> \ No newline at end of file
diff --git a/tags/index.html b/tags/index.html
index a54f027..29ad127 100644
--- a/tags/index.html
+++ b/tags/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=en><head><meta name=generator content="Hugo 0.80.0"><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="Tags"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="https://vericert.ymhg.org/tags/"><title>Tags | Vericert</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.cc7f7da4e201466c24d4145b227311a8f1462dd7940d82e2d55c370645cf9541.css integrity="sha256-zH99pOIBRmwk1BRbInMRqPFGLdeUDYLi1Vw3BkXPlUE="><script defer src=/en.search.min.d59155e62a5c5b4ff8f90845580f2225b938da2b1506af250727aadcdc5122f1.js integrity="sha256-1ZFV5ipcW0/4+QhFWA8iJbk42isVBq8lByeq3NxRIvE="></script><link rel=alternate type=application/rss+xml href=https://vericert.ymhg.org/tags/index.xml title=Vericert></head><body><input type=checkbox class="hidden toggle" id=menu-control>
-<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><nav><h2 class=book-brand><a href=/><span>Vericert</span></a></h2><div class=book-search><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><ul><li><a href=https://vericert.ymhg.org/coq-style-guide/>Coq Style Guide</a></li><li><a href=https://vericert.ymhg.org/docs/>Docs</a><ul><li><a href=https://vericert.ymhg.org/docs/building/>Building Vericert</a></li><li><a href=https://vericert.ymhg.org/docs/using-vericert/>Using Vericert</a></li></ul></li></ul><ul><li><a href=https://github.com/ymherklotz/vericert target=_blank rel=noopener>Github</a></li></ul></nav><script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label>
+<!doctype html><html lang=en><head><meta name=generator content="Hugo 0.80.0"><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="Tags"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="https://vericert.ymhg.org/tags/"><title>Tags |</title><link rel=manifest href=/manifest.json><link rel=icon href=/favicon.png type=image/x-icon><link rel=stylesheet href=/book.min.b07e338e07a9a926c141d155a3e6d06d0c41e4afe4d81564015c56799705b0ca.css integrity="sha256-sH4zjgepqSbBQdFVo+bQbQxB5K/k2BVkAVxWeZcFsMo="><script defer src=/en.search.min.09c4470fdacb71a68922c07311d906b9cd808586067883b11db52f10e30e96d4.js integrity="sha256-CcRHD9rLcaaJIsBzEdkGuc2AhYYGeIOxHbUvEOMOltQ="></script><link rel=alternate type=application/rss+xml href=https://vericert.ymhg.org/tags/index.xml></head><body><input type=checkbox class="hidden toggle" id=menu-control>
+<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><nav><div class=book-brand><a href=/><div id=book-logo></div><span></span></a><p>A formally verified high-level synthesis tool written in Coq.</p></div><div class=book-search><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><ul><li><a href=https://vericert.ymhg.org/coq-style-guide/>Coq Style Guide</a></li><li><a href=https://vericert.ymhg.org/docs/>Docs</a><ul><li><a href=https://vericert.ymhg.org/docs/building/>Building Vericert</a></li><li><a href=https://vericert.ymhg.org/docs/unreleased/>Unreleased Features</a></li><li><a href=https://vericert.ymhg.org/docs/using-vericert/>Using Vericert</a></li></ul></li><li><a href=https://vericert.ymhg.org/future/>Future Work</a></li></ul><ul><li><a href=https://github.com/ymherklotz/vericert target=_blank rel=noopener>Github</a></li></ul></nav><script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label>
<strong>Tags</strong>
<label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav><ul><li class=book-section-flat><strong>Categories</strong><ul></ul></li><li class=book-section-flat><strong>Tags</strong><ul></ul></li></ul></nav></aside></header><h1>Tags</h1><footer class=book-footer><div class="flex flex-wrap justify-between"></div></footer><label for=menu-control class="hidden book-menu-overlay"></label></div><aside class=book-toc><nav><ul><li class=book-section-flat><strong>Categories</strong><ul></ul></li><li class=book-section-flat><strong>Tags</strong><ul></ul></li></ul></nav></aside></main></body></html> \ No newline at end of file
diff --git a/tags/index.xml b/tags/index.xml
index dc92cad..2f5d942 100644
--- a/tags/index.xml
+++ b/tags/index.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tags on Vericert</title><link>https://vericert.ymhg.org/tags/</link><description>Recent content in Tags on Vericert</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>© 2020-2021 Yann Herklotz</copyright><atom:link href="https://vericert.ymhg.org/tags/index.xml" rel="self" type="application/rss+xml"/></channel></rss> \ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tags on</title><link>https://vericert.ymhg.org/tags/</link><description>Recent content in Tags on</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>© 2020-2021 Yann Herklotz</copyright><atom:link href="https://vericert.ymhg.org/tags/index.xml" rel="self" type="application/rss+xml"/></channel></rss> \ No newline at end of file
diff --git a/vericert-main.svg b/vericert-main.svg
new file mode 100644
index 0000000..2280ec0
--- /dev/null
+++ b/vericert-main.svg
@@ -0,0 +1,500 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:i="&amp;ns_ai;"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ id="Vrstva_1"
+ x="0px"
+ y="0px"
+ width="260.46588"
+ height="94.647018"
+ viewBox="0 0 260.46587 94.647017"
+ enable-background="new 0 0 618.822 841.89"
+ xml:space="preserve"><metadata
+ id="metadata231"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs229"><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath235"><rect
+ style="opacity:0.33;fill:#cccccc;stroke-width:1.00152"
+ id="rect237"
+ width="260.46588"
+ height="94.647018"
+ x="82.589996"
+ y="165.938" /></clipPath></defs>
+<switch
+ id="switch224"
+ clip-path="url(#clipPath235)"
+ transform="translate(-82.589996,-165.938)">
+ <foreignObject
+ requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/"
+ x="0"
+ y="0"
+ width="1"
+ height="1">
+
+ </foreignObject>
+ <g
+ i:extraneous="self"
+ id="g222">
+ <path
+ fill="#2a3e40"
+ d="m 138.548,46.104 -2.739,2.042 c -2.752,2.045 -5.755,3.74 -8.914,5.057 v -6.786 h -3.464 v 8.054 c -4.161,1.331 -8.523,2.031 -12.901,2.031 -0.226,0 -0.441,0 -0.667,0 -3.9,-0.065 -7.719,-0.654 -11.382,-1.739 v -8.346 h -3.464 v 7.144 C 91.61,52.217 88.367,50.429 85.36,48.207 l -2.769,-2.051 0.069,27.635 v 0.089 c 0.511,9.326 3.818,18.161 9.562,25.563 4.424,5.698 10.187,10.246 16.722,13.27 v 6.539 h 3.465 v -6.406 c 7.5,-3.683 13.894,-9.261 18.522,-16.229 4.712,-7.079 7.412,-15.313 7.834,-23.806 V 72.762 Z M 128.044,94.7 c -4.301,6.469 -10.24,11.682 -17.22,15.087 C 104.61,107 99.143,102.701 94.96,97.31 89.659,90.488 86.606,82.33 86.124,73.73 L 86.065,52.887 c 7.117,4.507 15.255,6.941 23.738,7.068 8.923,0.148 17.818,-2.385 25.338,-7.147 l 0.157,19.879 c -0.392,7.856 -2.905,15.463 -7.254,22.013 z"
+ id="path10" />
+ <path
+ fill="#9acfb2"
+ d="m 135.142,52.809 0.157,19.879 c -0.393,7.854 -2.906,15.462 -7.254,22.012 -4.301,6.469 -10.24,11.682 -17.22,15.087 C 104.61,107 99.143,102.701 94.96,97.31 89.659,90.488 86.606,82.33 86.124,73.73 L 86.065,52.887 c 7.117,4.507 15.255,6.941 23.738,7.068 8.924,0.149 17.819,-2.384 25.339,-7.146 z"
+ id="path12" />
+ <g
+ id="g30">
+ <path
+ fill="#2a3e40"
+ d="m 97.618,69.497 h 6.16 c 0,0 7.858,23.452 7.928,23.899 0.104,-0.447 31,-35.591 31,-35.591 h 6.108 l -35.546,42.546 h -5.137 z"
+ id="path14" />
+ <path
+ fill="#2a3e40"
+ d="m 146.425,100.029 c -0.948,-0.214 -1.831,-0.589 -2.65,-1.119 -0.819,-0.532 -1.508,-1.199 -2.069,-2.007 -0.56,-0.802 -0.948,-1.678 -1.163,-2.626 -0.216,-0.95 -0.324,-1.911 -0.324,-2.888 v -5.604 c 0,-0.977 0.108,-1.94 0.324,-2.886 0.215,-0.951 0.596,-1.826 1.142,-2.63 0.546,-0.803 1.222,-1.481 2.026,-2.026 0.804,-0.546 1.687,-0.919 2.65,-1.121 0.962,-0.198 1.918,-0.301 2.866,-0.301 0.977,0 1.939,0.103 2.888,0.301 0.948,0.202 1.824,0.575 2.628,1.121 0.804,0.545 1.48,1.223 2.026,2.026 0.545,0.804 0.926,1.679 1.142,2.63 0.215,0.946 0.324,1.91 0.324,2.886 v 4.956 h -13.017 v 0.647 c 0,0.573 0.071,1.148 0.216,1.724 0.143,0.574 0.401,1.098 0.775,1.573 0.373,0.474 0.84,0.819 1.4,1.033 0.561,0.218 1.127,0.324 1.702,0.324 0.574,0 1.143,-0.072 1.704,-0.215 0.56,-0.143 1.048,-0.438 1.464,-0.884 0.417,-0.446 0.64,-0.954 0.668,-1.529 h 4.999 c -0.058,1.034 -0.338,2.024 -0.84,2.973 -0.503,0.947 -1.186,1.731 -2.047,2.349 -0.862,0.619 -1.803,1.042 -2.823,1.271 -1.021,0.229 -2.063,0.343 -3.125,0.343 -0.975,0.001 -1.938,-0.106 -2.886,-0.321 z m 6.809,-14.244 c 0,-0.575 -0.065,-1.148 -0.193,-1.724 -0.13,-0.574 -0.374,-1.1 -0.733,-1.574 -0.359,-0.474 -0.819,-0.819 -1.378,-1.035 -0.561,-0.215 -1.128,-0.322 -1.703,-0.322 -0.575,0 -1.135,0.106 -1.681,0.322 -0.546,0.216 -1,0.561 -1.357,1.035 -0.36,0.474 -0.611,1 -0.754,1.574 -0.145,0.576 -0.216,1.148 -0.216,1.724 v 0.645 h 8.016 v -0.645 z"
+ id="path16" />
+ <path
+ fill="#2a3e40"
+ d="m 162.356,77.178 h 5.042 v 5.074 c 0.172,-0.702 0.41,-1.364 0.712,-1.989 0.301,-0.628 0.674,-1.215 1.12,-1.771 0.445,-0.553 0.991,-0.967 1.637,-1.246 0.647,-0.276 1.329,-0.416 2.047,-0.416 0.661,0 1.314,0.125 1.961,0.372 0.647,0.248 1.185,0.635 1.616,1.158 0.432,0.525 0.762,1.115 0.992,1.771 0.23,0.655 0.388,1.317 0.474,1.989 0.086,0.67 0.128,1.356 0.128,2.054 h -4.998 c 0,-0.467 -0.058,-0.934 -0.173,-1.4 -0.115,-0.465 -0.359,-0.842 -0.732,-1.135 -0.375,-0.291 -0.791,-0.437 -1.25,-0.437 -0.576,0 -1.1,0.174 -1.573,0.523 -0.474,0.35 -0.834,0.787 -1.078,1.312 -0.244,0.526 -0.43,1.066 -0.561,1.618 -0.128,0.553 -0.214,1.115 -0.259,1.684 -0.042,0.567 -0.064,1.142 -0.064,1.725 v 12.286 h -5.042 V 77.178 Z"
+ id="path18" />
+ <path
+ fill="#2a3e40"
+ d="m 182.207,95.911 h 5.344 V 81.26 h -4.74 v -4.44 h 9.74 v 19.091 h 4.741 v 4.44 h -15.085 z m 5.753,-23.025 c -0.591,-0.256 -1.013,-0.68 -1.271,-1.269 -0.258,-0.587 -0.388,-1.185 -0.388,-1.789 0,-0.633 0.13,-1.236 0.388,-1.812 0.258,-0.574 0.68,-0.99 1.271,-1.25 0.587,-0.258 1.185,-0.387 1.789,-0.387 0.631,0 1.235,0.128 1.809,0.387 0.575,0.259 0.993,0.676 1.251,1.25 0.258,0.576 0.387,1.179 0.387,1.812 0,0.604 -0.128,1.201 -0.387,1.789 -0.258,0.589 -0.676,1.013 -1.251,1.269 -0.574,0.261 -1.178,0.39 -1.809,0.39 -0.603,-10e-4 -1.201,-0.13 -1.789,-0.39 z"
+ id="path20" />
+ <path
+ fill="#2a3e40"
+ d="m 206.469,100.029 c -0.935,-0.214 -1.804,-0.596 -2.608,-1.142 -0.804,-0.545 -1.471,-1.22 -2.004,-2.026 -0.531,-0.803 -0.904,-1.679 -1.121,-2.629 -0.215,-0.948 -0.323,-1.896 -0.323,-2.843 v -5.604 c 0,-0.949 0.108,-1.897 0.323,-2.845 0.217,-0.949 0.59,-1.824 1.121,-2.629 0.533,-0.804 1.2,-1.48 2.004,-2.026 0.804,-0.546 1.673,-0.924 2.608,-1.144 0.933,-0.213 1.874,-0.322 2.823,-0.322 1.148,0 2.276,0.152 3.383,0.452 1.107,0.302 2.083,0.836 2.931,1.598 0.847,0.76 1.486,1.679 1.918,2.755 0.432,1.079 0.646,2.179 0.646,3.299 v 0.087 h -4.999 v -0.044 c 0,-0.689 -0.158,-1.352 -0.474,-1.984 -0.316,-0.63 -0.791,-1.097 -1.422,-1.399 -0.633,-0.301 -1.292,-0.452 -1.983,-0.452 -0.546,0 -1.092,0.116 -1.638,0.343 -0.546,0.232 -0.992,0.583 -1.337,1.056 -0.345,0.475 -0.58,0.992 -0.71,1.552 -0.13,0.558 -0.194,1.127 -0.194,1.703 v 5.604 c 0,0.573 0.064,1.142 0.194,1.703 0.13,0.56 0.365,1.077 0.71,1.55 0.345,0.474 0.791,0.827 1.337,1.056 0.546,0.231 1.092,0.345 1.638,0.345 0.69,0 1.35,-0.15 1.983,-0.452 0.631,-0.302 1.106,-0.769 1.422,-1.4 0.315,-0.633 0.474,-1.293 0.474,-1.983 v -0.044 h 4.999 v 0.085 c 0,1.123 -0.214,2.221 -0.646,3.298 -0.432,1.078 -1.071,1.999 -1.918,2.758 -0.847,0.764 -1.824,1.292 -2.931,1.595 -1.106,0.301 -2.235,0.452 -3.383,0.452 -0.949,-0.001 -1.89,-0.108 -2.823,-0.323 z"
+ id="path22" />
+ <path
+ fill="#2a3e40"
+ d="m 228.497,100.029 c -0.948,-0.214 -1.832,-0.589 -2.649,-1.119 -0.82,-0.532 -1.51,-1.199 -2.07,-2.007 -0.561,-0.802 -0.949,-1.678 -1.164,-2.626 -0.217,-0.95 -0.323,-1.911 -0.323,-2.888 v -5.604 c 0,-0.977 0.106,-1.94 0.323,-2.886 0.215,-0.951 0.597,-1.826 1.141,-2.63 0.546,-0.803 1.223,-1.481 2.027,-2.026 0.804,-0.546 1.687,-0.919 2.65,-1.121 0.962,-0.198 1.919,-0.301 2.867,-0.301 0.978,0 1.94,0.103 2.887,0.301 0.95,0.202 1.825,0.575 2.629,1.121 0.803,0.545 1.48,1.223 2.027,2.026 0.545,0.804 0.925,1.679 1.141,2.63 0.215,0.946 0.323,1.91 0.323,2.886 v 4.956 h -13.015 v 0.647 c 0,0.573 0.071,1.148 0.214,1.724 0.145,0.574 0.403,1.098 0.776,1.573 0.372,0.474 0.841,0.819 1.4,1.033 0.561,0.218 1.129,0.324 1.704,0.324 0.573,0 1.142,-0.072 1.701,-0.215 0.561,-0.143 1.049,-0.438 1.465,-0.884 0.416,-0.446 0.64,-0.954 0.668,-1.529 h 5 c -0.059,1.034 -0.338,2.024 -0.84,2.973 -0.504,0.947 -1.187,1.731 -2.049,2.349 -0.862,0.619 -1.803,1.042 -2.823,1.271 -1.021,0.229 -2.063,0.343 -3.124,0.343 -0.975,0.001 -1.939,-0.106 -2.886,-0.321 z m 6.811,-14.244 c 0,-0.575 -0.066,-1.148 -0.194,-1.724 -0.129,-0.574 -0.375,-1.1 -0.734,-1.574 -0.358,-0.474 -0.819,-0.819 -1.378,-1.035 -0.561,-0.215 -1.129,-0.322 -1.703,-0.322 -0.575,0 -1.135,0.106 -1.681,0.322 -0.546,0.216 -0.999,0.561 -1.359,1.035 -0.358,0.474 -0.609,1 -0.754,1.574 -0.143,0.576 -0.214,1.148 -0.214,1.724 v 0.645 h 8.017 z"
+ id="path24" />
+ <path
+ fill="#2a3e40"
+ d="m 244.427,77.077 h 5.043 v 5.096 c 0.17,-0.705 0.408,-1.369 0.71,-1.998 0.302,-0.631 0.675,-1.221 1.121,-1.779 0.444,-0.555 0.99,-0.972 1.638,-1.25 0.645,-0.278 1.328,-0.418 2.046,-0.418 0.66,0 1.314,0.126 1.962,0.374 0.645,0.249 1.184,0.638 1.616,1.163 0.43,0.527 0.76,1.12 0.99,1.779 0.23,0.658 0.389,1.323 0.475,1.998 0.086,0.673 0.128,1.362 0.128,2.063 h -4.998 c 0,-0.469 -0.059,-0.938 -0.174,-1.407 -0.115,-0.467 -0.36,-0.846 -0.732,-1.14 -0.376,-0.292 -0.792,-0.439 -1.251,-0.439 -0.575,0 -1.099,0.175 -1.573,0.525 -0.474,0.351 -0.835,0.791 -1.079,1.318 -0.244,0.528 -0.43,1.07 -0.559,1.625 -0.13,0.555 -0.214,1.12 -0.26,1.691 -0.042,0.569 -0.063,1.147 -0.063,1.733 v 12.339 h -5.043 V 77.077 Z"
+ id="path26" />
+ <path
+ fill="#2a3e40"
+ d="m 273.286,99.938 c -0.891,-0.276 -1.666,-0.748 -2.328,-1.419 -0.661,-0.667 -1.185,-1.425 -1.574,-2.271 -0.387,-0.843 -0.653,-1.724 -0.796,-2.64 -0.146,-0.917 -0.214,-1.841 -0.214,-2.774 v -9.605 h -4.095 v -4.367 h 4.095 v -8.949 h 4.997 v 8.949 h 5.992 v 4.367 h -5.992 v 9.605 c 0,0.525 0.029,1.057 0.087,1.595 0.058,0.54 0.164,1.063 0.324,1.573 0.157,0.509 0.431,0.967 0.818,1.374 0.389,0.407 0.854,0.611 1.401,0.611 0.432,0 0.84,-0.138 1.229,-0.414 0.386,-0.276 0.668,-0.625 0.841,-1.048 0.171,-0.423 0.294,-0.853 0.366,-1.29 0.071,-0.435 0.107,-0.887 0.107,-1.352 v -0.22 h 5.042 v 0.48 c 0,1.048 -0.15,2.089 -0.452,3.123 -0.301,1.035 -0.805,1.966 -1.509,2.793 -0.705,0.832 -1.561,1.42 -2.565,1.77 -1.006,0.347 -2.024,0.522 -3.059,0.522 -0.921,0 -1.824,-0.14 -2.715,-0.413 z"
+ id="path28" />
+ </g>
+ <rect
+ x="411.99899"
+ y="43.333"
+ fill="#2a3e40"
+ width="23.02"
+ height="23.02"
+ id="rect32" />
+ <rect
+ x="411.99899"
+ y="98.114998"
+ fill="#99cfb8"
+ width="23.02"
+ height="23.02"
+ id="rect34" />
+ <text
+ transform="translate(456.6675,49.9995)"
+ id="text50"><tspan
+ x="0"
+ y="0"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ id="tspan36">CMYK</tspan><tspan
+ x="29.604"
+ y="0"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ letter-spacing="3"
+ id="tspan38"> </tspan><tspan
+ x="36"
+ y="0"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ id="tspan40">80 / 58 / 52 / 55</tspan><tspan
+ x="0"
+ y="14.4"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ id="tspan42">RGB</tspan><tspan
+ x="20.712"
+ y="14.4"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ letter-spacing="12"
+ id="tspan44"> </tspan><tspan
+ x="36"
+ y="14.4"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ id="tspan46">44 / 60 / 66</tspan><tspan
+ x="0"
+ y="28.799999"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ id="tspan48">#2c3c42</tspan></text>
+ <text
+ transform="translate(456.6675,102.4316)"
+ id="text66"><tspan
+ x="0"
+ y="0"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ id="tspan52">CMYK</tspan><tspan
+ x="29.604"
+ y="0"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ letter-spacing="3"
+ id="tspan54"> </tspan><tspan
+ x="36"
+ y="0"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ id="tspan56">45 / 0 / 38 / 0</tspan><tspan
+ x="0"
+ y="14.4"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ id="tspan58">RGB</tspan><tspan
+ x="20.712"
+ y="14.4"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ letter-spacing="12"
+ id="tspan60"> </tspan><tspan
+ x="36"
+ y="14.4"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ id="tspan62">152 / 217 / 182</tspan><tspan
+ x="0"
+ y="28.799999"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ id="tspan64">#98d9b6</tspan></text>
+
+ <line
+ fill="none"
+ stroke="#000000"
+ stroke-width="0.25"
+ stroke-miterlimit="10"
+ x1="110.683"
+ y1="144"
+ x2="110.683"
+ y2="124.668"
+ id="line68" />
+ <polyline
+ fill="none"
+ stroke="#000000"
+ stroke-width="0.25"
+ stroke-miterlimit="10"
+ points="74.961,69.341 57,69.341 57,59.956 74.961,59.956 "
+ id="polyline70" />
+ <polyline
+ fill="none"
+ stroke="#000000"
+ stroke-width="0.25"
+ stroke-miterlimit="10"
+ points="74.961,109.819 57,109.819 57,100.434 74.961,100.434 "
+ id="polyline72" />
+
+ <line
+ fill="none"
+ stroke="#000000"
+ stroke-width="0.25"
+ stroke-miterlimit="10"
+ x1="287.66699"
+ y1="100.029"
+ x2="313.66699"
+ y2="100.029"
+ id="line74" />
+
+ <line
+ fill="none"
+ stroke="#000000"
+ stroke-width="0.25"
+ stroke-miterlimit="10"
+ x1="287.66699"
+ y1="77.077003"
+ x2="313.66699"
+ y2="77.077003"
+ id="line76" />
+ <g
+ id="g96">
+ <path
+ fill="#2a3e40"
+ d="m 168.364,181.027 h -7.912 c 0,0 -2.048,2.33 -5.214,5.937 l -0.171,-21.091 -3.548,2.644 c -3.565,2.649 -7.454,4.844 -11.545,6.549 v -8.789 h -4.487 v 10.432 c -5.39,1.723 -11.039,2.63 -16.71,2.63 -0.292,0 -0.572,0 -0.864,0 -5.051,-0.084 -9.998,-0.847 -14.742,-2.253 v -10.809 h -4.487 v 9.252 c -4.413,-1.741 -8.613,-4.057 -12.508,-6.934 l -3.586,-2.657 0.089,35.792 v 0.116 c 0.661,12.079 4.945,23.522 12.384,33.108 5.73,7.38 13.194,13.271 21.659,17.187 v 8.469 h 4.487 v -8.297 c 9.715,-4.771 17.995,-11.995 23.99,-21.021 6.104,-9.168 9.6,-19.834 10.147,-30.833 v -0.063 l -0.03,-3.751 z m -26.902,47.787 c -5.57,8.378 -13.263,15.131 -22.303,19.542 -8.049,-3.61 -15.13,-9.179 -20.547,-16.161 -6.866,-8.835 -10.82,-19.402 -11.444,-30.54 l -0.076,-26.996 c 9.218,5.837 19.759,8.991 30.746,9.155 11.557,0.192 23.078,-3.089 32.818,-9.256 l 0.138,17.472 c -11.852,13.51 -30.401,34.702 -30.492,35.096 -0.09,-0.579 -10.269,-30.954 -10.269,-30.954 h -7.979 l 13.619,39.961 h 6.653 l 28.411,-34.005 c -0.787,9.524 -3.98,18.711 -9.275,26.686 z"
+ id="path78" />
+ <path
+ fill="#2a3e40"
+ d="m 178.667,210.122 c -0.708,-1.04 -1.583,-1.918 -2.625,-2.624 -1.042,-0.708 -2.176,-1.191 -3.404,-1.452 -1.229,-0.257 -2.476,-0.39 -3.741,-0.39 -1.229,0 -2.467,0.133 -3.712,0.39 -1.247,0.261 -2.391,0.745 -3.432,1.452 -1.042,0.706 -1.917,1.583 -2.625,2.624 -0.707,1.042 -1.2,2.175 -1.479,3.407 -0.28,1.226 -0.419,2.474 -0.419,3.738 v 7.258 c 0,1.266 0.14,2.509 0.419,3.74 0.279,1.228 0.781,2.363 1.506,3.402 0.726,1.046 1.618,1.91 2.679,2.6 1.062,0.687 2.206,1.172 3.433,1.45 1.228,0.279 2.475,0.417 3.74,0.417 1.376,0 2.726,-0.147 4.047,-0.444 1.321,-0.298 2.54,-0.845 3.656,-1.647 1.116,-0.8 2,-1.815 2.652,-3.042 0.651,-1.229 1.013,-2.511 1.088,-3.851 h -6.475 c -0.037,0.745 -0.326,1.403 -0.866,1.98 -0.539,0.577 -1.171,0.959 -1.896,1.145 -0.726,0.186 -1.463,0.279 -2.207,0.279 -0.745,0 -1.479,-0.138 -2.205,-0.42 -0.726,-0.278 -1.332,-0.725 -1.814,-1.338 -0.484,-0.615 -0.82,-1.294 -1.004,-2.037 -0.188,-0.746 -0.28,-1.491 -0.28,-2.232 v -0.838 h 16.859 v -6.419 c 0,-1.265 -0.141,-2.512 -0.419,-3.738 -0.277,-1.236 -0.77,-2.369 -1.476,-3.41 z m -4.579,7.98 h -10.383 v -0.835 c 0,-0.745 0.092,-1.487 0.28,-2.232 0.185,-0.743 0.51,-1.425 0.977,-2.038 0.463,-0.613 1.051,-1.061 1.758,-1.34 0.706,-0.279 1.432,-0.417 2.177,-0.417 0.744,0 1.479,0.138 2.206,0.417 0.725,0.28 1.32,0.727 1.786,1.34 0.465,0.613 0.781,1.295 0.949,2.038 0.166,0.746 0.25,1.488 0.25,2.232 z"
+ id="path80" />
+ <path
+ fill="#2a3e40"
+ d="m 205.495,209.945 c -0.298,-0.851 -0.725,-1.614 -1.284,-2.294 -0.559,-0.678 -1.255,-1.18 -2.093,-1.5 -0.837,-0.318 -1.684,-0.481 -2.54,-0.481 -0.93,0 -1.813,0.18 -2.651,0.538 -0.837,0.36 -1.544,0.897 -2.121,1.613 -0.578,0.72 -1.061,1.481 -1.451,2.294 -0.392,0.81 -0.699,1.667 -0.922,2.577 v -6.572 h -6.53 v 30.013 h 6.53 V 220.22 c 0,-0.755 0.028,-1.5 0.083,-2.234 0.058,-0.737 0.169,-1.465 0.335,-2.181 0.169,-0.715 0.41,-1.415 0.726,-2.096 0.316,-0.68 0.782,-1.246 1.396,-1.699 0.613,-0.453 1.292,-0.678 2.038,-0.678 0.595,0 1.134,0.19 1.619,0.566 0.483,0.379 0.8,0.868 0.948,1.47 0.149,0.604 0.224,1.209 0.224,1.813 h 6.474 c 0,-0.904 -0.055,-1.792 -0.167,-2.661 -0.111,-0.869 -0.317,-1.727 -0.614,-2.575 z"
+ id="path82" />
+ <polygon
+ fill="#2a3e40"
+ points="212.395,211.406 218.534,211.406 218.534,230.382 211.613,230.382 211.613,236.132 231.151,236.132 231.151,230.382 225.011,230.382 225.011,205.656 212.395,205.656 "
+ id="polygon84" />
+ <path
+ fill="#2a3e40"
+ d="m 219.065,200.56 c 0.761,0.338 1.535,0.505 2.316,0.505 0.818,0 1.599,-0.167 2.343,-0.505 0.745,-0.332 1.286,-0.881 1.62,-1.644 0.334,-0.761 0.501,-1.535 0.501,-2.316 0,-0.82 -0.167,-1.601 -0.501,-2.346 -0.334,-0.743 -0.875,-1.283 -1.62,-1.619 -0.744,-0.334 -1.525,-0.501 -2.343,-0.501 -0.782,0 -1.556,0.167 -2.316,0.501 -0.766,0.336 -1.313,0.875 -1.647,1.619 -0.334,0.746 -0.503,1.526 -0.503,2.346 0,0.782 0.168,1.556 0.503,2.316 0.335,0.763 0.881,1.313 1.647,1.644 z"
+ id="path86" />
+ <path
+ fill="#2a3e40"
+ d="m 254.871,208.31 c -1.097,-0.987 -2.362,-1.678 -3.796,-2.069 -1.433,-0.389 -2.895,-0.585 -4.381,-0.585 -1.229,0 -2.448,0.141 -3.656,0.417 -1.211,0.284 -2.336,0.774 -3.378,1.481 -1.042,0.708 -1.905,1.583 -2.595,2.624 -0.688,1.043 -1.171,2.176 -1.452,3.405 -0.279,1.227 -0.418,2.456 -0.418,3.684 v 7.258 c 0,1.227 0.14,2.455 0.418,3.683 0.281,1.23 0.764,2.366 1.452,3.406 0.69,1.043 1.554,1.918 2.595,2.624 1.042,0.707 2.167,1.202 3.378,1.479 1.208,0.279 2.427,0.417 3.656,0.417 1.487,0 2.948,-0.195 4.381,-0.585 1.434,-0.391 2.699,-1.076 3.796,-2.065 1.097,-0.983 1.924,-2.175 2.484,-3.572 0.56,-1.395 0.837,-2.817 0.837,-4.271 v -0.11 h -6.475 v 0.057 c 0,0.893 -0.205,1.749 -0.613,2.568 -0.409,0.818 -1.025,1.422 -1.842,1.813 -0.82,0.391 -1.674,0.585 -2.568,0.585 -0.707,0 -1.414,-0.147 -2.121,-0.447 -0.707,-0.297 -1.285,-0.754 -1.732,-1.368 -0.447,-0.612 -0.751,-1.282 -0.919,-2.007 -0.168,-0.726 -0.251,-1.463 -0.251,-2.205 v -7.258 c 0,-0.745 0.083,-1.482 0.251,-2.205 0.168,-0.726 0.473,-1.395 0.919,-2.01 0.447,-0.614 1.025,-1.067 1.732,-1.368 0.707,-0.293 1.414,-0.444 2.121,-0.444 0.894,0 1.749,0.195 2.568,0.585 0.817,0.392 1.433,0.996 1.842,1.812 0.408,0.819 0.613,1.678 0.613,2.57 v 0.057 h 6.475 v -0.113 c 0,-1.451 -0.277,-2.875 -0.837,-4.272 -0.56,-1.396 -1.387,-2.587 -2.484,-3.571 z"
+ id="path88" />
+ <path
+ fill="#2a3e40"
+ d="m 284.967,210.122 c -0.708,-1.04 -1.585,-1.918 -2.625,-2.624 -1.042,-0.708 -2.175,-1.191 -3.405,-1.452 -1.227,-0.257 -2.473,-0.39 -3.74,-0.39 -1.228,0 -2.467,0.133 -3.713,0.39 -1.248,0.261 -2.391,0.745 -3.432,1.452 -1.042,0.706 -1.918,1.583 -2.626,2.624 -0.704,1.042 -1.198,2.175 -1.477,3.407 -0.281,1.226 -0.418,2.474 -0.418,3.738 v 7.258 c 0,1.266 0.138,2.509 0.418,3.74 0.279,1.228 0.782,2.363 1.508,3.402 0.725,1.046 1.618,1.91 2.681,2.6 1.059,0.687 2.204,1.172 3.431,1.45 1.227,0.279 2.475,0.417 3.742,0.417 1.374,0 2.723,-0.147 4.045,-0.444 1.321,-0.298 2.54,-0.845 3.656,-1.647 1.116,-0.8 2,-1.815 2.653,-3.042 0.65,-1.229 1.012,-2.511 1.088,-3.851 h -6.476 c -0.037,0.745 -0.327,1.403 -0.866,1.98 -0.54,0.577 -1.172,0.959 -1.898,1.145 -0.724,0.186 -1.461,0.279 -2.203,0.279 -0.745,0 -1.481,-0.138 -2.207,-0.42 -0.724,-0.278 -1.332,-0.725 -1.814,-1.338 -0.483,-0.615 -0.818,-1.294 -1.005,-2.037 -0.186,-0.746 -0.278,-1.491 -0.278,-2.232 v -0.838 h 16.857 v -6.419 c 0,-1.265 -0.139,-2.512 -0.418,-3.738 -0.279,-1.236 -0.772,-2.369 -1.478,-3.41 z m -4.578,7.98 h -10.383 v -0.835 c 0,-0.745 0.092,-1.487 0.278,-2.232 0.187,-0.743 0.512,-1.425 0.977,-2.038 0.466,-0.613 1.053,-1.061 1.76,-1.34 0.707,-0.279 1.432,-0.417 2.177,-0.417 0.743,0 1.479,0.138 2.206,0.417 0.724,0.28 1.32,0.727 1.785,1.34 0.466,0.613 0.783,1.295 0.951,2.038 0.165,0.746 0.251,1.488 0.251,2.232 v 0.835 z"
+ id="path90" />
+ <path
+ fill="#2a3e40"
+ d="m 311.792,209.832 c -0.298,-0.854 -0.726,-1.622 -1.283,-2.305 -0.56,-0.681 -1.257,-1.185 -2.092,-1.506 -0.839,-0.321 -1.687,-0.484 -2.542,-0.484 -0.931,0 -1.815,0.181 -2.65,0.542 -0.839,0.361 -1.546,0.9 -2.122,1.62 -0.578,0.723 -1.061,1.487 -1.452,2.304 -0.391,0.814 -0.699,1.675 -0.919,2.587 v -6.601 H 292.2 v 30.144 h 6.532 v -15.981 c 0,-0.758 0.027,-1.507 0.081,-2.245 0.059,-0.74 0.168,-1.472 0.336,-2.19 0.167,-0.719 0.409,-1.421 0.724,-2.105 0.315,-0.683 0.784,-1.252 1.397,-1.707 0.613,-0.454 1.292,-0.681 2.037,-0.681 0.594,0 1.133,0.191 1.62,0.568 0.482,0.38 0.799,0.872 0.948,1.476 0.149,0.607 0.226,1.215 0.226,1.822 h 6.473 c 0,-0.909 -0.055,-1.801 -0.167,-2.673 -0.111,-0.873 -0.316,-1.733 -0.615,-2.585 z"
+ id="path92" />
+ <path
+ fill="#2a3e40"
+ d="m 336.389,224.88 v 0.285 c 0,0.602 -0.047,1.187 -0.139,1.75 -0.094,0.565 -0.252,1.123 -0.474,1.67 -0.224,0.547 -0.59,0.999 -1.089,1.357 -0.504,0.358 -1.032,0.537 -1.592,0.537 -0.708,0 -1.311,-0.265 -1.815,-0.792 -0.501,-0.527 -0.856,-1.119 -1.06,-1.779 -0.207,-0.661 -0.345,-1.338 -0.42,-2.037 -0.074,-0.697 -0.112,-1.386 -0.112,-2.065 v -12.441 h 7.76 v -5.657 h -7.76 v -11.591 h -6.472 v 11.591 h -5.304 v 5.657 h 5.304 v 12.441 c 0,1.208 0.089,2.404 0.278,3.593 0.185,1.187 0.529,2.327 1.031,3.419 0.504,1.095 1.183,2.076 2.038,2.94 0.858,0.871 1.861,1.481 3.016,1.839 1.154,0.354 2.324,0.535 3.516,0.535 1.34,0 2.659,-0.227 3.962,-0.676 1.301,-0.453 2.409,-1.214 3.322,-2.292 0.912,-1.071 1.565,-2.277 1.955,-3.618 0.39,-1.338 0.585,-2.687 0.585,-4.044 v -0.622 z"
+ id="path94" />
+ </g>
+ <path
+ fill="#9acfb2"
+ d="m 122.325,236.132 h -6.653 l -13.619,-39.961 h 7.979 c 0,0 10.178,30.375 10.269,30.954 0.091,-0.394 18.641,-21.586 30.492,-35.096 l -0.138,-17.472 c -9.74,6.167 -21.261,9.449 -32.818,9.256 -10.987,-0.164 -21.527,-3.317 -30.746,-9.155 l 0.076,26.996 c 0.624,11.138 4.578,21.705 11.444,30.54 5.417,6.982 12.499,12.551 20.547,16.161 9.041,-4.411 16.733,-11.163 22.303,-19.542 0.629,-0.947 1.223,-1.914 1.792,-2.894 0.042,-0.073 0.087,-0.145 0.13,-0.219 0.54,-0.939 1.047,-1.896 1.532,-2.862 0.058,-0.117 0.119,-0.232 0.177,-0.349 0.466,-0.947 0.902,-1.907 1.314,-2.877 0.059,-0.138 0.119,-0.276 0.177,-0.416 0.401,-0.964 0.773,-1.938 1.12,-2.922 0.052,-0.147 0.103,-0.294 0.154,-0.441 0.339,-0.989 0.652,-1.987 0.936,-2.994 0.04,-0.14 0.077,-0.28 0.116,-0.42 0.28,-1.023 0.535,-2.054 0.757,-3.093 0.025,-0.116 0.047,-0.233 0.072,-0.35 0.222,-1.069 0.417,-2.144 0.578,-3.226 0.011,-0.073 0.019,-0.146 0.03,-0.22 0.163,-1.129 0.295,-2.264 0.39,-3.405 z"
+ id="path98" />
+ <g
+ id="g102">
+ <path
+ fill="#2a3e40"
+ d="m 529.372,181.027 h -7.912 c 0,0 -2.048,2.33 -5.214,5.937 l -0.171,-21.091 -3.548,2.644 c -3.565,2.649 -7.454,4.844 -11.545,6.549 v -8.789 h -4.487 v 10.432 c -5.39,1.723 -11.039,2.63 -16.71,2.63 -0.292,0 -0.572,0 -0.864,0 -5.051,-0.084 -9.998,-0.847 -14.742,-2.253 v -10.809 h -4.487 v 9.252 c -4.413,-1.741 -8.613,-4.057 -12.508,-6.934 l -3.586,-2.657 0.089,35.792 v 0.116 c 0.661,12.079 4.945,23.522 12.384,33.108 5.73,7.38 13.194,13.271 21.659,17.187 v 8.469 h 4.487 v -8.297 c 9.715,-4.771 17.995,-11.995 23.99,-21.021 6.104,-9.168 9.6,-19.834 10.147,-30.833 v -0.063 l -0.03,-3.751 z m -26.902,47.787 c -5.57,8.378 -13.263,15.131 -22.303,19.542 -8.049,-3.61 -15.13,-9.179 -20.547,-16.161 -6.866,-8.835 -10.82,-19.402 -11.444,-30.54 L 448.1,174.659 c 9.218,5.837 19.759,8.991 30.746,9.155 11.557,0.192 23.078,-3.089 32.818,-9.256 l 0.138,17.472 c -11.852,13.51 -30.401,34.702 -30.492,35.096 -0.09,-0.579 -10.269,-30.954 -10.269,-30.954 h -7.979 l 13.619,39.961 h 6.653 l 28.411,-34.005 c -0.787,9.524 -3.981,18.711 -9.275,26.686 z"
+ id="path100" />
+ </g>
+ <path
+ fill="#9acfb2"
+ d="m 483.333,236.132 h -6.653 l -13.619,-39.961 h 7.979 c 0,0 10.178,30.375 10.269,30.954 0.091,-0.394 18.641,-21.586 30.492,-35.096 l -0.138,-17.472 c -9.74,6.167 -21.261,9.449 -32.818,9.256 -10.987,-0.164 -21.527,-3.317 -30.746,-9.155 l 0.076,26.996 c 0.624,11.138 4.578,21.705 11.444,30.54 5.417,6.982 12.499,12.551 20.547,16.161 9.041,-4.411 16.733,-11.163 22.303,-19.542 0.629,-0.947 1.223,-1.914 1.792,-2.894 0.042,-0.073 0.087,-0.145 0.13,-0.219 0.54,-0.939 1.047,-1.896 1.532,-2.862 0.058,-0.117 0.119,-0.232 0.177,-0.349 0.466,-0.947 0.902,-1.907 1.314,-2.877 0.059,-0.138 0.119,-0.276 0.177,-0.416 0.401,-0.964 0.773,-1.938 1.12,-2.922 0.052,-0.147 0.103,-0.294 0.154,-0.441 0.339,-0.989 0.652,-1.987 0.936,-2.994 0.04,-0.14 0.077,-0.28 0.116,-0.42 0.28,-1.023 0.535,-2.054 0.757,-3.093 0.025,-0.116 0.047,-0.233 0.072,-0.35 0.222,-1.069 0.417,-2.144 0.578,-3.226 0.011,-0.073 0.019,-0.146 0.03,-0.22 0.163,-1.129 0.295,-2.264 0.39,-3.405 z"
+ id="path104" />
+ <g
+ id="g124">
+ <path
+ d="m 156.12,356.96 h -6.782 c 0,0 -1.756,1.997 -4.47,5.089 l -0.147,-18.081 -3.042,2.267 c -3.056,2.271 -6.39,4.152 -9.897,5.614 v -7.534 h -3.846 v 8.942 c -4.621,1.477 -9.463,2.255 -14.325,2.255 -0.25,0 -0.49,0 -0.741,0 -4.33,-0.072 -8.57,-0.726 -12.638,-1.931 v -9.266 h -3.847 v 7.931 c -3.783,-1.492 -7.384,-3.478 -10.722,-5.944 l -3.074,-2.278 0.077,30.683 v 0.099 c 0.567,10.354 4.239,20.165 10.616,28.382 4.912,6.327 11.311,11.377 18.567,14.734 v 7.26 h 3.847 v -7.113 c 8.328,-4.089 15.426,-10.283 20.565,-18.02 5.232,-7.86 8.23,-17.003 8.699,-26.432 v -0.054 l -0.026,-3.216 z m -23.061,40.965 c -4.775,7.183 -11.37,12.971 -19.12,16.752 -6.9,-3.094 -12.97,-7.869 -17.614,-13.854 -5.886,-7.574 -9.275,-16.632 -9.81,-26.181 L 86.449,351.5 c 7.902,5.004 16.938,7.708 26.357,7.848 9.907,0.165 19.783,-2.648 28.133,-7.935 l 0.118,14.978 c -10.16,11.582 -26.061,29.749 -26.139,30.086 -0.078,-0.496 -8.803,-26.535 -8.803,-26.535 h -6.84 l 11.675,34.257 h 5.703 l 24.355,-29.151 c -0.673,8.165 -3.411,16.041 -7.949,22.877 z"
+ id="path106" />
+ <path
+ d="m 164.952,381.901 c -0.607,-0.892 -1.357,-1.644 -2.25,-2.249 -0.893,-0.606 -1.866,-1.021 -2.918,-1.245 -1.054,-0.22 -2.122,-0.334 -3.207,-0.334 -1.053,0 -2.115,0.114 -3.183,0.334 -1.069,0.224 -2.05,0.639 -2.942,1.245 -0.894,0.605 -1.644,1.357 -2.25,2.249 -0.605,0.893 -1.028,1.864 -1.267,2.92 -0.24,1.051 -0.36,2.121 -0.36,3.205 v 6.222 c 0,1.085 0.12,2.151 0.36,3.207 0.239,1.053 0.669,2.026 1.291,2.916 0.623,0.897 1.387,1.638 2.297,2.229 0.91,0.589 1.891,1.004 2.943,1.243 1.053,0.239 2.122,0.357 3.207,0.357 1.18,0 2.336,-0.126 3.47,-0.38 1.132,-0.255 2.177,-0.724 3.134,-1.412 0.957,-0.686 1.714,-1.556 2.273,-2.608 0.558,-1.053 0.869,-2.153 0.933,-3.301 h -5.551 c -0.032,0.639 -0.279,1.203 -0.742,1.697 -0.462,0.495 -1.004,0.823 -1.625,0.981 -0.623,0.159 -1.254,0.239 -1.892,0.239 -0.639,0 -1.268,-0.118 -1.89,-0.36 -0.622,-0.238 -1.141,-0.622 -1.555,-1.147 -0.416,-0.527 -0.703,-1.109 -0.861,-1.746 -0.161,-0.639 -0.24,-1.278 -0.24,-1.914 v -0.719 h 14.453 v -5.503 c 0,-1.084 -0.121,-2.153 -0.36,-3.205 -0.24,-1.056 -0.663,-2.028 -1.268,-2.921 z m -3.925,6.842 h -8.901 v -0.716 c 0,-0.638 0.079,-1.274 0.24,-1.914 0.158,-0.637 0.438,-1.222 0.837,-1.747 0.397,-0.526 0.901,-0.909 1.507,-1.149 0.605,-0.239 1.228,-0.357 1.866,-0.357 0.638,0 1.268,0.118 1.891,0.357 0.622,0.24 1.131,0.623 1.531,1.149 0.398,0.525 0.669,1.11 0.813,1.747 0.143,0.639 0.215,1.275 0.215,1.914 v 0.716 z"
+ id="path108" />
+ <path
+ d="m 187.951,381.75 c -0.255,-0.729 -0.622,-1.384 -1.101,-1.967 -0.479,-0.581 -1.076,-1.011 -1.794,-1.286 -0.718,-0.273 -1.443,-0.412 -2.178,-0.412 -0.797,0 -1.555,0.154 -2.273,0.461 -0.718,0.309 -1.324,0.77 -1.818,1.383 -0.496,0.617 -0.909,1.27 -1.243,1.967 -0.336,0.694 -0.599,1.43 -0.791,2.209 v -5.634 h -5.598 V 404.2 h 5.598 v -13.641 c 0,-0.647 0.024,-1.286 0.071,-1.916 0.049,-0.632 0.145,-1.256 0.287,-1.87 0.145,-0.613 0.352,-1.213 0.623,-1.797 0.271,-0.583 0.67,-1.068 1.197,-1.456 0.525,-0.389 1.107,-0.582 1.747,-0.582 0.51,0 0.972,0.163 1.388,0.485 0.414,0.325 0.686,0.744 0.813,1.26 0.128,0.518 0.192,1.036 0.192,1.555 h 5.549 c 0,-0.775 -0.047,-1.536 -0.143,-2.281 -0.095,-0.745 -0.271,-1.479 -0.526,-2.207 z"
+ id="path110" />
+ <polygon
+ points="193.866,383.002 199.128,383.002 199.128,399.27 193.195,399.27 193.195,404.199 209.944,404.199 209.944,399.27 204.681,399.27 204.681,378.073 193.866,378.073 "
+ id="polygon112" />
+ <path
+ d="m 199.584,373.705 c 0.652,0.29 1.315,0.433 1.986,0.433 0.701,0 1.371,-0.144 2.009,-0.433 0.638,-0.284 1.102,-0.755 1.389,-1.409 0.287,-0.652 0.43,-1.316 0.43,-1.986 0,-0.703 -0.143,-1.372 -0.43,-2.011 -0.287,-0.637 -0.75,-1.1 -1.389,-1.388 -0.638,-0.287 -1.308,-0.43 -2.009,-0.43 -0.67,0 -1.333,0.143 -1.986,0.43 -0.657,0.288 -1.125,0.75 -1.412,1.388 -0.287,0.639 -0.431,1.309 -0.431,2.011 0,0.67 0.144,1.333 0.431,1.986 0.287,0.654 0.755,1.124 1.412,1.409 z"
+ id="path114" />
+ <path
+ d="m 230.279,380.349 c -0.941,-0.846 -2.025,-1.439 -3.254,-1.774 -1.229,-0.333 -2.481,-0.501 -3.756,-0.501 -1.054,0 -2.099,0.12 -3.134,0.357 -1.038,0.244 -2.003,0.664 -2.896,1.27 -0.893,0.606 -1.633,1.356 -2.225,2.25 -0.589,0.894 -1.004,1.865 -1.245,2.919 -0.239,1.052 -0.359,2.105 -0.359,3.158 v 6.222 c 0,1.052 0.12,2.104 0.359,3.157 0.241,1.055 0.655,2.028 1.245,2.919 0.592,0.895 1.332,1.644 2.225,2.249 0.893,0.606 1.858,1.03 2.896,1.269 1.036,0.239 2.081,0.357 3.134,0.357 1.274,0 2.527,-0.167 3.756,-0.501 1.229,-0.335 2.313,-0.922 3.254,-1.771 0.94,-0.843 1.649,-1.865 2.129,-3.062 0.48,-1.196 0.718,-2.415 0.718,-3.662 v -0.095 h -5.551 v 0.048 c 0,0.766 -0.176,1.499 -0.525,2.202 -0.351,0.701 -0.879,1.219 -1.58,1.554 -0.703,0.335 -1.435,0.502 -2.202,0.502 -0.606,0 -1.212,-0.126 -1.818,-0.383 -0.606,-0.254 -1.101,-0.646 -1.484,-1.173 -0.383,-0.524 -0.644,-1.099 -0.789,-1.721 -0.144,-0.622 -0.215,-1.254 -0.215,-1.891 v -6.222 c 0,-0.638 0.071,-1.271 0.215,-1.89 0.145,-0.623 0.405,-1.196 0.789,-1.723 0.383,-0.526 0.878,-0.915 1.484,-1.173 0.606,-0.252 1.212,-0.381 1.818,-0.381 0.767,0 1.499,0.167 2.202,0.501 0.701,0.336 1.229,0.854 1.58,1.553 0.35,0.703 0.525,1.438 0.525,2.203 v 0.049 h 5.551 v -0.097 c 0,-1.243 -0.238,-2.465 -0.718,-3.662 -0.48,-1.193 -1.189,-2.214 -2.129,-3.057 z"
+ id="path116" />
+ <path
+ d="m 256.079,381.901 c -0.607,-0.892 -1.359,-1.644 -2.25,-2.249 -0.893,-0.606 -1.865,-1.021 -2.919,-1.245 -1.052,-0.22 -2.12,-0.334 -3.206,-0.334 -1.052,0 -2.114,0.114 -3.183,0.334 -1.069,0.224 -2.05,0.639 -2.942,1.245 -0.893,0.605 -1.645,1.357 -2.251,2.249 -0.603,0.893 -1.027,1.864 -1.266,2.92 -0.241,1.051 -0.359,2.121 -0.359,3.205 v 6.222 c 0,1.085 0.118,2.151 0.359,3.207 0.239,1.053 0.67,2.026 1.292,2.916 0.621,0.897 1.387,1.638 2.298,2.229 0.908,0.589 1.889,1.004 2.941,1.243 1.052,0.239 2.122,0.357 3.208,0.357 1.178,0 2.334,-0.126 3.468,-0.38 1.132,-0.255 2.177,-0.724 3.134,-1.412 0.957,-0.686 1.714,-1.556 2.274,-2.608 0.558,-1.053 0.868,-2.153 0.933,-3.301 h -5.552 c -0.031,0.639 -0.28,1.203 -0.742,1.697 -0.463,0.495 -1.005,0.823 -1.627,0.981 -0.621,0.159 -1.252,0.239 -1.889,0.239 -0.639,0 -1.27,-0.118 -1.892,-0.36 -0.621,-0.238 -1.142,-0.622 -1.555,-1.147 -0.415,-0.527 -0.701,-1.109 -0.861,-1.746 -0.159,-0.639 -0.238,-1.278 -0.238,-1.914 v -0.719 h 14.451 v -5.503 c 0,-1.084 -0.12,-2.153 -0.358,-3.205 -0.241,-1.056 -0.663,-2.028 -1.268,-2.921 z m -3.925,6.842 h -8.901 v -0.716 c 0,-0.638 0.079,-1.274 0.238,-1.914 0.16,-0.637 0.439,-1.222 0.837,-1.747 0.399,-0.526 0.902,-0.909 1.509,-1.149 0.606,-0.239 1.228,-0.357 1.866,-0.357 0.637,0 1.269,0.118 1.891,0.357 0.621,0.24 1.132,0.623 1.53,1.149 0.399,0.525 0.671,1.11 0.815,1.747 0.142,0.639 0.215,1.275 0.215,1.914 z"
+ id="path118" />
+ <path
+ d="m 279.075,381.653 c -0.255,-0.732 -0.623,-1.39 -1.1,-1.976 -0.48,-0.583 -1.078,-1.016 -1.793,-1.292 -0.719,-0.275 -1.446,-0.415 -2.179,-0.415 -0.798,0 -1.556,0.155 -2.272,0.464 -0.719,0.31 -1.325,0.772 -1.818,1.389 -0.496,0.62 -0.909,1.275 -1.245,1.975 -0.335,0.698 -0.599,1.436 -0.788,2.218 v -5.659 h -5.6 v 25.841 h 5.6 v -13.7 c 0,-0.65 0.023,-1.292 0.069,-1.924 0.05,-0.634 0.144,-1.262 0.289,-1.877 0.144,-0.616 0.35,-1.218 0.621,-1.804 0.271,-0.585 0.672,-1.073 1.198,-1.463 0.525,-0.39 1.107,-0.583 1.746,-0.583 0.509,0 0.972,0.164 1.389,0.487 0.413,0.326 0.685,0.748 0.813,1.266 0.128,0.521 0.193,1.042 0.193,1.562 h 5.548 c 0,-0.779 -0.047,-1.543 -0.143,-2.291 -0.096,-0.75 -0.272,-1.487 -0.528,-2.218 z"
+ id="path120" />
+ <path
+ d="m 300.16,394.553 v 0.244 c 0,0.516 -0.041,1.018 -0.119,1.5 -0.081,0.485 -0.216,0.962 -0.406,1.432 -0.192,0.469 -0.506,0.856 -0.934,1.163 -0.432,0.307 -0.885,0.46 -1.365,0.46 -0.607,0 -1.124,-0.228 -1.556,-0.679 -0.43,-0.452 -0.734,-0.959 -0.908,-1.525 -0.178,-0.567 -0.296,-1.147 -0.36,-1.746 -0.064,-0.598 -0.097,-1.188 -0.097,-1.771 v -10.665 h 6.653 v -4.849 h -6.653 v -9.936 h -5.548 v 9.936 h -4.547 v 4.849 h 4.547 v 10.665 c 0,1.036 0.077,2.061 0.238,3.08 0.159,1.018 0.454,1.995 0.884,2.931 0.432,0.939 1.014,1.78 1.747,2.521 0.736,0.746 1.596,1.27 2.585,1.576 0.99,0.304 1.993,0.458 3.014,0.458 1.149,0 2.279,-0.195 3.397,-0.58 1.116,-0.388 2.065,-1.041 2.848,-1.964 0.782,-0.918 1.341,-1.953 1.676,-3.102 0.334,-1.147 0.501,-2.303 0.501,-3.467 v -0.533 h -5.597 z"
+ id="path122" />
+ </g>
+ <path
+ fill="#ffffff"
+ d="M 116.653,404.199 H 110.95 L 99.275,369.942 h 6.84 c 0,0 8.725,26.039 8.803,26.535 0.078,-0.337 15.979,-18.504 26.139,-30.086 l -0.118,-14.978 c -8.35,5.287 -18.226,8.1 -28.133,7.935 -9.418,-0.141 -18.455,-2.844 -26.357,-7.848 l 0.065,23.142 c 0.535,9.548 3.924,18.606 9.81,26.181 4.644,5.985 10.714,10.76 17.614,13.854 7.75,-3.781 14.344,-9.569 19.12,-16.752 0.539,-0.812 1.048,-1.641 1.537,-2.481 0.037,-0.063 0.075,-0.124 0.111,-0.188 0.462,-0.805 0.898,-1.625 1.313,-2.453 0.05,-0.1 0.102,-0.199 0.152,-0.299 0.399,-0.812 0.773,-1.635 1.126,-2.467 0.051,-0.118 0.102,-0.237 0.152,-0.356 0.343,-0.827 0.663,-1.662 0.959,-2.505 0.044,-0.126 0.088,-0.252 0.132,-0.378 0.291,-0.848 0.559,-1.704 0.803,-2.566 0.034,-0.12 0.066,-0.24 0.099,-0.36 0.24,-0.877 0.458,-1.761 0.649,-2.652 0.022,-0.1 0.041,-0.2 0.062,-0.299 0.191,-0.917 0.358,-1.838 0.496,-2.766 0.009,-0.063 0.016,-0.126 0.025,-0.188 0.139,-0.968 0.253,-1.941 0.334,-2.919 z"
+ id="path126" />
+ <g
+ id="g130">
+ <path
+ d="m 465.595,356.96 h -6.782 c 0,0 -1.756,1.997 -4.47,5.089 l -0.147,-18.081 -3.042,2.267 c -3.056,2.271 -6.39,4.152 -9.897,5.614 v -7.534 h -3.846 v 8.942 c -4.62,1.477 -9.463,2.255 -14.325,2.255 -0.25,0 -0.49,0 -0.74,0 -4.331,-0.072 -8.571,-0.726 -12.638,-1.931 v -9.266 h -3.847 v 7.931 c -3.783,-1.492 -7.384,-3.478 -10.722,-5.944 l -3.074,-2.278 0.077,30.683 v 0.099 c 0.567,10.354 4.239,20.165 10.616,28.382 4.912,6.327 11.311,11.377 18.567,14.734 v 7.26 h 3.847 v -7.113 c 8.328,-4.089 15.426,-10.283 20.566,-18.02 5.232,-7.86 8.229,-17.003 8.699,-26.432 v -0.054 l -0.026,-3.216 z m -23.062,40.965 c -4.775,7.183 -11.369,12.971 -19.119,16.752 -6.9,-3.094 -12.971,-7.869 -17.615,-13.854 -5.885,-7.574 -9.275,-16.632 -9.81,-26.181 L 395.924,351.5 c 7.902,5.004 16.938,7.708 26.357,7.848 9.907,0.165 19.783,-2.648 28.133,-7.935 l 0.118,14.978 c -10.16,11.582 -26.062,29.749 -26.14,30.086 -0.078,-0.496 -8.803,-26.535 -8.803,-26.535 h -6.84 l 11.675,34.257 h 5.703 l 24.355,-29.151 c -0.672,8.165 -3.41,16.041 -7.949,22.877 z"
+ id="path128" />
+ </g>
+ <path
+ fill="#ffffff"
+ d="m 426.128,404.199 h -5.703 L 408.75,369.942 h 6.84 c 0,0 8.725,26.039 8.803,26.535 0.078,-0.337 15.979,-18.504 26.14,-30.086 l -0.118,-14.978 c -8.35,5.287 -18.226,8.1 -28.133,7.935 -9.418,-0.141 -18.455,-2.844 -26.357,-7.848 l 0.065,23.142 c 0.535,9.548 3.925,18.606 9.81,26.181 4.644,5.985 10.715,10.76 17.615,13.854 7.75,-3.781 14.344,-9.569 19.119,-16.752 0.539,-0.812 1.049,-1.641 1.537,-2.481 0.037,-0.063 0.075,-0.124 0.111,-0.188 0.463,-0.805 0.898,-1.625 1.313,-2.453 0.05,-0.1 0.103,-0.199 0.152,-0.299 0.4,-0.812 0.773,-1.635 1.127,-2.467 0.05,-0.118 0.102,-0.237 0.151,-0.356 0.344,-0.827 0.663,-1.662 0.96,-2.505 0.044,-0.126 0.088,-0.252 0.132,-0.378 0.291,-0.848 0.559,-1.704 0.802,-2.566 0.034,-0.12 0.066,-0.24 0.099,-0.36 0.24,-0.877 0.458,-1.761 0.649,-2.652 0.021,-0.1 0.041,-0.2 0.062,-0.299 0.19,-0.917 0.358,-1.838 0.495,-2.766 0.009,-0.063 0.016,-0.126 0.025,-0.188 0.14,-0.968 0.253,-1.941 0.334,-2.919 z"
+ id="path132" />
+ <g
+ id="g152">
+ <path
+ fill="#ffffff"
+ d="m 155.445,473.178 h -6.736 c 0,0 -1.744,1.984 -4.44,5.056 l -0.146,-17.96 -3.021,2.252 c -3.036,2.256 -6.347,4.124 -9.831,5.576 v -7.483 h -3.821 v 8.882 c -4.589,1.468 -9.4,2.24 -14.229,2.24 -0.249,0 -0.487,0 -0.735,0 -4.301,-0.071 -8.513,-0.721 -12.553,-1.919 v -9.203 h -3.82 v 7.878 c -3.758,-1.482 -7.335,-3.454 -10.65,-5.904 l -3.054,-2.263 0.076,30.477 v 0.099 c 0.563,10.286 4.211,20.029 10.545,28.191 4.879,6.285 11.234,11.302 18.442,14.636 v 7.211 h 3.821 v -7.066 c 8.272,-4.062 15.323,-10.213 20.427,-17.897 5.198,-7.807 8.175,-16.89 8.641,-26.255 v -0.053 l -0.025,-3.195 z m -22.906,40.69 c -4.743,7.134 -11.293,12.883 -18.991,16.639 -6.853,-3.073 -12.883,-7.814 -17.496,-13.76 -5.846,-7.523 -9.213,-16.521 -9.745,-26.005 l -0.064,-22.986 c 7.849,4.971 16.824,7.655 26.18,7.795 9.841,0.164 19.651,-2.632 27.945,-7.882 l 0.117,14.877 c -10.091,11.504 -25.886,29.549 -25.964,29.885 -0.077,-0.493 -8.744,-26.357 -8.744,-26.357 H 98.984 L 110.58,520.1 h 5.665 l 24.191,-28.955 c -0.67,8.109 -3.39,15.932 -7.897,22.723 z"
+ id="path134" />
+ <path
+ fill="#ffffff"
+ d="m 164.218,497.951 c -0.602,-0.886 -1.348,-1.633 -2.234,-2.233 -0.887,-0.603 -1.853,-1.013 -2.899,-1.236 -1.046,-0.219 -2.107,-0.333 -3.185,-0.333 -1.046,0 -2.1,0.114 -3.161,0.333 -1.062,0.224 -2.036,0.634 -2.922,1.236 -0.888,0.601 -1.633,1.348 -2.235,2.233 -0.602,0.888 -1.021,1.853 -1.259,2.901 -0.238,1.045 -0.357,2.106 -0.357,3.183 v 6.181 c 0,1.078 0.119,2.137 0.357,3.185 0.237,1.046 0.666,2.012 1.282,2.896 0.618,0.891 1.378,1.627 2.282,2.215 0.904,0.584 1.878,0.997 2.923,1.233 1.045,0.238 2.108,0.354 3.186,0.354 1.171,0 2.32,-0.125 3.446,-0.378 1.125,-0.254 2.162,-0.719 3.113,-1.402 0.951,-0.681 1.703,-1.546 2.258,-2.59 0.554,-1.046 0.863,-2.14 0.927,-3.279 h -5.513 c -0.032,0.634 -0.277,1.194 -0.737,1.686 -0.458,0.491 -0.998,0.816 -1.614,0.975 -0.619,0.157 -1.246,0.237 -1.879,0.237 -0.635,0 -1.259,-0.117 -1.878,-0.357 -0.617,-0.236 -1.133,-0.616 -1.544,-1.139 -0.413,-0.524 -0.698,-1.103 -0.855,-1.735 -0.16,-0.636 -0.238,-1.269 -0.238,-1.9 v -0.714 h 14.356 v -5.467 c 0,-1.076 -0.12,-2.138 -0.357,-3.183 -0.242,-1.049 -0.662,-2.014 -1.263,-2.902 z m -3.898,6.797 h -8.841 v -0.713 c 0,-0.633 0.079,-1.265 0.238,-1.9 0.158,-0.633 0.435,-1.214 0.832,-1.735 0.395,-0.521 0.895,-0.903 1.497,-1.142 0.601,-0.236 1.219,-0.354 1.854,-0.354 0.634,0 1.26,0.118 1.878,0.354 0.618,0.238 1.124,0.62 1.521,1.142 0.396,0.521 0.665,1.103 0.809,1.735 0.141,0.636 0.213,1.268 0.213,1.9 v 0.713 z"
+ id="path136" />
+ <path
+ fill="#ffffff"
+ d="m 187.062,497.801 c -0.253,-0.724 -0.617,-1.374 -1.093,-1.954 -0.475,-0.576 -1.068,-1.003 -1.782,-1.277 -0.713,-0.271 -1.434,-0.409 -2.163,-0.409 -0.792,0 -1.544,0.152 -2.257,0.459 -0.713,0.307 -1.315,0.763 -1.806,1.373 -0.492,0.612 -0.903,1.262 -1.235,1.953 -0.333,0.689 -0.595,1.421 -0.785,2.194 v -5.596 H 170.38 V 520.1 h 5.561 v -13.549 c 0,-0.643 0.023,-1.278 0.071,-1.902 0.049,-0.627 0.144,-1.249 0.285,-1.858 0.144,-0.609 0.35,-1.204 0.618,-1.783 0.269,-0.58 0.666,-1.062 1.189,-1.447 0.522,-0.386 1.1,-0.577 1.735,-0.577 0.506,0 0.965,0.162 1.378,0.481 0.411,0.323 0.681,0.739 0.808,1.253 0.127,0.514 0.191,1.029 0.191,1.543 h 5.512 c 0,-0.77 -0.046,-1.525 -0.142,-2.266 -0.096,-0.741 -0.271,-1.471 -0.524,-2.194 z"
+ id="path138" />
+ <polygon
+ fill="#ffffff"
+ points="192.938,499.046 198.165,499.046 198.165,515.203 192.271,515.203 192.271,520.1 208.908,520.1 208.908,515.203 203.68,515.203 203.68,494.148 192.938,494.148 "
+ id="polygon140" />
+ <path
+ fill="#ffffff"
+ d="m 198.617,489.81 c 0.648,0.288 1.307,0.431 1.973,0.431 0.696,0 1.362,-0.143 1.995,-0.431 0.634,-0.281 1.095,-0.75 1.379,-1.399 0.285,-0.647 0.427,-1.307 0.427,-1.972 0,-0.698 -0.142,-1.363 -0.427,-1.998 -0.285,-0.633 -0.745,-1.092 -1.379,-1.378 -0.633,-0.285 -1.299,-0.427 -1.995,-0.427 -0.666,0 -1.325,0.142 -1.973,0.427 -0.652,0.286 -1.117,0.745 -1.402,1.378 -0.285,0.635 -0.428,1.3 -0.428,1.998 0,0.665 0.143,1.324 0.428,1.972 0.285,0.649 0.75,1.117 1.402,1.399 z"
+ id="path142" />
+ <path
+ fill="#ffffff"
+ d="m 229.106,496.409 c -0.934,-0.84 -2.012,-1.43 -3.232,-1.762 -1.22,-0.331 -2.465,-0.499 -3.73,-0.499 -1.046,0 -2.085,0.12 -3.114,0.355 -1.031,0.242 -1.989,0.659 -2.876,1.261 -0.887,0.603 -1.622,1.349 -2.21,2.234 -0.585,0.888 -0.998,1.853 -1.236,2.899 -0.238,1.045 -0.356,2.091 -0.356,3.137 v 6.181 c 0,1.044 0.119,2.09 0.356,3.136 0.239,1.048 0.651,2.016 1.236,2.899 0.588,0.889 1.323,1.634 2.21,2.234 0.887,0.603 1.846,1.023 2.876,1.26 1.029,0.238 2.067,0.354 3.114,0.354 1.266,0 2.51,-0.166 3.73,-0.498 1.221,-0.333 2.298,-0.916 3.232,-1.759 0.934,-0.836 1.638,-1.853 2.115,-3.041 0.477,-1.188 0.713,-2.399 0.713,-3.638 v -0.094 h -5.514 v 0.048 c 0,0.761 -0.174,1.488 -0.521,2.188 -0.349,0.696 -0.873,1.21 -1.569,1.545 -0.698,0.331 -1.426,0.497 -2.187,0.497 -0.603,0 -1.204,-0.125 -1.807,-0.381 -0.602,-0.252 -1.093,-0.642 -1.475,-1.164 -0.38,-0.521 -0.639,-1.093 -0.783,-1.709 -0.143,-0.619 -0.214,-1.246 -0.214,-1.878 v -6.181 c 0,-0.633 0.071,-1.261 0.214,-1.878 0.144,-0.617 0.403,-1.187 0.783,-1.71 0.381,-0.523 0.873,-0.91 1.475,-1.166 0.603,-0.25 1.204,-0.378 1.807,-0.378 0.761,0 1.489,0.166 2.187,0.498 0.696,0.334 1.22,0.848 1.569,1.543 0.347,0.698 0.521,1.429 0.521,2.188 v 0.048 h 5.514 v -0.095 c 0,-1.235 -0.236,-2.449 -0.713,-3.639 -0.477,-1.183 -1.181,-2.197 -2.115,-3.035 z"
+ id="path144" />
+ <path
+ fill="#ffffff"
+ d="m 254.732,497.951 c -0.603,-0.886 -1.35,-1.633 -2.235,-2.233 -0.887,-0.603 -1.852,-1.013 -2.9,-1.236 -1.044,-0.219 -2.105,-0.333 -3.184,-0.333 -1.045,0 -2.101,0.114 -3.162,0.333 -1.063,0.224 -2.036,0.634 -2.922,1.236 -0.887,0.601 -1.633,1.348 -2.236,2.233 -0.599,0.888 -1.021,1.853 -1.258,2.901 -0.239,1.045 -0.356,2.106 -0.356,3.183 v 6.181 c 0,1.078 0.117,2.137 0.356,3.185 0.238,1.046 0.666,2.012 1.284,2.896 0.617,0.891 1.378,1.627 2.282,2.215 0.902,0.584 1.876,0.997 2.922,1.233 1.045,0.238 2.107,0.354 3.186,0.354 1.17,0 2.318,-0.125 3.444,-0.378 1.125,-0.254 2.163,-0.719 3.114,-1.402 0.95,-0.681 1.703,-1.546 2.259,-2.59 0.554,-1.046 0.862,-2.14 0.926,-3.279 h -5.514 c -0.031,0.634 -0.278,1.194 -0.737,1.686 -0.459,0.491 -0.999,0.816 -1.617,0.975 -0.616,0.157 -1.244,0.237 -1.875,0.237 -0.635,0 -1.262,-0.117 -1.879,-0.357 -0.617,-0.236 -1.134,-0.616 -1.545,-1.139 -0.411,-0.524 -0.696,-1.103 -0.855,-1.735 -0.158,-0.636 -0.236,-1.269 -0.236,-1.9 v -0.714 h 14.354 v -5.467 c 0,-1.076 -0.119,-2.138 -0.356,-3.183 -0.239,-1.049 -0.659,-2.014 -1.26,-2.902 z m -3.898,6.797 h -8.841 v -0.713 c 0,-0.633 0.078,-1.265 0.236,-1.9 0.159,-0.633 0.436,-1.214 0.832,-1.735 0.397,-0.521 0.896,-0.903 1.499,-1.142 0.602,-0.236 1.22,-0.354 1.854,-0.354 0.633,0 1.259,0.118 1.878,0.354 0.617,0.238 1.125,0.62 1.52,1.142 0.396,0.521 0.667,1.103 0.81,1.735 0.141,0.636 0.214,1.268 0.214,1.9 v 0.713 z"
+ id="path146" />
+ <path
+ fill="#ffffff"
+ d="m 277.574,497.705 c -0.253,-0.728 -0.618,-1.382 -1.092,-1.963 -0.476,-0.579 -1.07,-1.008 -1.782,-1.282 -0.714,-0.272 -1.436,-0.413 -2.164,-0.413 -0.792,0 -1.545,0.155 -2.257,0.461 -0.714,0.308 -1.316,0.768 -1.807,1.381 -0.492,0.615 -0.903,1.266 -1.236,1.961 -0.333,0.692 -0.595,1.427 -0.783,2.203 v -5.62 h -5.562 V 520.1 h 5.562 v -13.608 c 0,-0.645 0.023,-1.283 0.069,-1.91 0.05,-0.631 0.144,-1.254 0.286,-1.864 0.143,-0.613 0.349,-1.211 0.617,-1.792 0.268,-0.583 0.667,-1.067 1.189,-1.454 0.522,-0.388 1.1,-0.58 1.735,-0.58 0.506,0 0.964,0.162 1.379,0.484 0.41,0.323 0.68,0.742 0.807,1.257 0.127,0.517 0.192,1.035 0.192,1.552 h 5.512 c 0,-0.774 -0.047,-1.534 -0.142,-2.275 -0.094,-0.747 -0.269,-1.479 -0.523,-2.205 z"
+ id="path148" />
+ <path
+ fill="#ffffff"
+ d="m 298.518,510.519 v 0.242 c 0,0.513 -0.041,1.012 -0.118,1.491 -0.08,0.481 -0.215,0.956 -0.404,1.422 -0.19,0.467 -0.501,0.851 -0.927,1.155 -0.429,0.305 -0.879,0.458 -1.355,0.458 -0.603,0 -1.116,-0.227 -1.545,-0.675 -0.426,-0.448 -0.729,-0.954 -0.902,-1.515 -0.176,-0.563 -0.294,-1.141 -0.357,-1.734 -0.063,-0.594 -0.095,-1.182 -0.095,-1.76 V 499.01 h 6.607 v -4.816 h -6.607 v -9.869 h -5.511 v 9.869 h -4.517 v 4.816 h 4.517 v 10.593 c 0,1.029 0.077,2.048 0.237,3.06 0.157,1.011 0.45,1.981 0.877,2.912 0.429,0.932 1.007,1.768 1.735,2.503 0.731,0.742 1.584,1.262 2.567,1.566 0.983,0.302 1.979,0.455 2.994,0.455 1.141,0 2.264,-0.193 3.374,-0.575 1.108,-0.386 2.051,-1.034 2.829,-1.95 0.777,-0.915 1.333,-1.94 1.665,-3.083 0.332,-1.139 0.498,-2.287 0.498,-3.443 v -0.529 z"
+ id="path150" />
+ </g>
+ <path
+ d="m 116.243,520.1 h -5.665 L 98.982,486.074 h 6.793 c 0,0 8.667,25.864 8.744,26.357 0.078,-0.336 15.873,-18.381 25.964,-29.885 l -0.117,-14.877 c -8.294,5.25 -18.104,8.046 -27.945,7.882 -9.355,-0.14 -18.331,-2.824 -26.18,-7.795 l 0.064,22.986 c 0.532,9.483 3.899,18.481 9.745,26.005 4.613,5.945 10.643,10.687 17.496,13.76 7.698,-3.756 14.248,-9.505 18.991,-16.639 0.536,-0.808 1.042,-1.63 1.526,-2.464 0.036,-0.063 0.075,-0.125 0.11,-0.187 0.459,-0.801 0.892,-1.614 1.304,-2.437 0.049,-0.1 0.102,-0.198 0.151,-0.297 0.397,-0.807 0.768,-1.625 1.119,-2.45 0.05,-0.118 0.101,-0.235 0.15,-0.354 0.341,-0.822 0.659,-1.651 0.954,-2.489 0.043,-0.126 0.088,-0.25 0.131,-0.375 0.289,-0.843 0.555,-1.693 0.797,-2.55 0.034,-0.12 0.066,-0.238 0.099,-0.357 0.238,-0.872 0.456,-1.749 0.645,-2.634 0.021,-0.099 0.041,-0.198 0.061,-0.298 0.189,-0.909 0.355,-1.826 0.492,-2.747 0.009,-0.063 0.017,-0.125 0.025,-0.187 0.139,-0.962 0.252,-1.929 0.332,-2.899 z"
+ id="path154" />
+ <g
+ id="g158">
+ <path
+ fill="#ffffff"
+ d="m 462.842,473.178 h -6.737 c 0,0 -1.744,1.984 -4.44,5.056 l -0.146,-17.96 -3.021,2.252 c -3.035,2.256 -6.347,4.124 -9.831,5.576 v -7.483 h -3.82 v 8.882 c -4.589,1.468 -9.4,2.24 -14.229,2.24 -0.248,0 -0.486,0 -0.735,0 -4.301,-0.071 -8.513,-0.721 -12.553,-1.919 v -9.203 h -3.821 v 7.878 c -3.758,-1.482 -7.334,-3.454 -10.65,-5.904 l -3.054,-2.263 0.077,30.477 v 0.099 c 0.563,10.286 4.21,20.029 10.544,28.191 4.879,6.285 11.235,11.302 18.442,14.636 v 7.211 h 3.821 v -7.066 c 8.272,-4.062 15.323,-10.213 20.427,-17.897 5.198,-7.807 8.175,-16.89 8.641,-26.255 v -0.053 l -0.026,-3.195 z m -22.907,40.69 c -4.743,7.134 -11.293,12.883 -18.991,16.639 -6.854,-3.073 -12.884,-7.814 -17.497,-13.76 -5.846,-7.523 -9.212,-16.521 -9.744,-26.005 l -0.065,-22.986 c 7.85,4.971 16.825,7.655 26.18,7.795 9.84,0.164 19.65,-2.632 27.944,-7.882 l 0.117,14.877 c -10.092,11.504 -25.886,29.549 -25.964,29.885 -0.077,-0.493 -8.744,-26.357 -8.744,-26.357 h -6.793 l 11.597,34.026 h 5.665 l 24.191,-28.955 c -0.668,8.109 -3.387,15.932 -7.896,22.723 z"
+ id="path156" />
+ </g>
+ <path
+ d="m 423.64,520.1 h -5.665 l -11.597,-34.026 h 6.793 c 0,0 8.667,25.864 8.744,26.357 0.078,-0.336 15.872,-18.381 25.964,-29.885 l -0.117,-14.877 c -8.294,5.25 -18.104,8.046 -27.944,7.882 -9.355,-0.14 -18.331,-2.824 -26.18,-7.795 l 0.065,22.986 c 0.531,9.483 3.898,18.481 9.744,26.005 4.613,5.945 10.643,10.687 17.497,13.76 7.698,-3.756 14.248,-9.505 18.991,-16.639 0.536,-0.808 1.042,-1.63 1.526,-2.464 0.037,-0.063 0.075,-0.125 0.111,-0.187 0.459,-0.801 0.892,-1.614 1.305,-2.437 0.049,-0.1 0.101,-0.198 0.15,-0.297 0.397,-0.807 0.769,-1.625 1.119,-2.45 0.051,-0.118 0.102,-0.235 0.151,-0.354 0.341,-0.822 0.658,-1.651 0.953,-2.489 0.044,-0.126 0.088,-0.25 0.131,-0.375 0.29,-0.843 0.555,-1.693 0.797,-2.55 0.034,-0.12 0.066,-0.238 0.099,-0.357 0.239,-0.872 0.455,-1.749 0.645,-2.634 0.022,-0.099 0.041,-0.198 0.061,-0.298 0.189,-0.909 0.355,-1.826 0.492,-2.747 0.01,-0.063 0.017,-0.125 0.025,-0.187 0.139,-0.962 0.252,-1.929 0.332,-2.899 z"
+ id="path160" />
+ <g
+ id="g180">
+ <path
+ fill="#ffffff"
+ d="m 155.445,588.192 h -6.736 c 0,0 -1.744,1.984 -4.44,5.056 l -0.146,-17.96 -3.021,2.252 c -3.036,2.256 -6.347,4.124 -9.831,5.576 v -7.483 h -3.821 v 8.882 c -4.589,1.468 -9.4,2.24 -14.229,2.24 -0.249,0 -0.487,0 -0.735,0 -4.301,-0.071 -8.513,-0.721 -12.553,-1.919 v -9.203 h -3.82 v 7.878 c -3.758,-1.482 -7.335,-3.454 -10.65,-5.904 l -3.054,-2.263 0.076,30.477 v 0.099 c 0.563,10.286 4.211,20.029 10.545,28.191 4.879,6.285 11.234,11.302 18.442,14.636 v 7.211 h 3.821 v -7.066 c 8.272,-4.062 15.323,-10.213 20.427,-17.897 5.198,-7.807 8.175,-16.89 8.641,-26.255 v -0.053 l -0.025,-3.195 z m -22.906,40.691 c -4.743,7.134 -11.293,12.883 -18.991,16.639 -6.853,-3.073 -12.883,-7.814 -17.496,-13.76 -5.846,-7.523 -9.213,-16.521 -9.745,-26.005 l -0.064,-22.986 c 7.849,4.971 16.824,7.655 26.18,7.795 9.841,0.164 19.651,-2.632 27.945,-7.882 l 0.117,14.877 c -10.091,11.504 -25.886,29.549 -25.964,29.885 -0.077,-0.493 -8.744,-26.357 -8.744,-26.357 h -6.793 l 11.596,34.026 h 5.665 l 24.191,-28.955 c -0.67,8.109 -3.39,15.932 -7.897,22.723 z"
+ id="path162" />
+ <path
+ fill="#ffffff"
+ d="m 164.218,612.966 c -0.602,-0.886 -1.348,-1.633 -2.234,-2.233 -0.887,-0.603 -1.853,-1.013 -2.899,-1.236 -1.046,-0.219 -2.107,-0.333 -3.185,-0.333 -1.046,0 -2.1,0.114 -3.161,0.333 -1.062,0.224 -2.036,0.634 -2.922,1.236 -0.888,0.601 -1.633,1.348 -2.235,2.233 -0.602,0.888 -1.021,1.853 -1.259,2.901 -0.238,1.045 -0.357,2.106 -0.357,3.183 v 6.181 c 0,1.078 0.119,2.137 0.357,3.185 0.237,1.046 0.666,2.012 1.282,2.896 0.618,0.891 1.378,1.627 2.282,2.215 0.904,0.584 1.878,0.997 2.923,1.233 1.045,0.238 2.108,0.354 3.186,0.354 1.171,0 2.32,-0.125 3.446,-0.378 1.125,-0.254 2.162,-0.719 3.113,-1.402 0.951,-0.681 1.703,-1.546 2.258,-2.59 0.554,-1.046 0.863,-2.14 0.927,-3.279 h -5.513 c -0.032,0.634 -0.277,1.194 -0.737,1.686 -0.458,0.491 -0.998,0.816 -1.614,0.975 -0.619,0.157 -1.246,0.237 -1.879,0.237 -0.635,0 -1.259,-0.117 -1.878,-0.357 -0.617,-0.236 -1.133,-0.616 -1.544,-1.139 -0.413,-0.524 -0.698,-1.103 -0.855,-1.735 -0.16,-0.636 -0.238,-1.269 -0.238,-1.9 v -0.714 h 14.356 v -5.467 c 0,-1.076 -0.12,-2.138 -0.357,-3.183 -0.242,-1.05 -0.662,-2.014 -1.263,-2.902 z m -3.898,6.797 h -8.841 v -0.713 c 0,-0.633 0.079,-1.265 0.238,-1.9 0.158,-0.633 0.435,-1.214 0.832,-1.735 0.395,-0.521 0.895,-0.903 1.497,-1.142 0.601,-0.236 1.219,-0.354 1.854,-0.354 0.634,0 1.26,0.118 1.878,0.354 0.618,0.238 1.124,0.62 1.521,1.142 0.396,0.521 0.665,1.103 0.809,1.735 0.141,0.636 0.213,1.268 0.213,1.9 v 0.713 z"
+ id="path164" />
+ <path
+ fill="#ffffff"
+ d="m 187.062,612.815 c -0.253,-0.724 -0.617,-1.374 -1.093,-1.954 -0.475,-0.576 -1.068,-1.003 -1.782,-1.277 -0.713,-0.271 -1.434,-0.409 -2.163,-0.409 -0.792,0 -1.544,0.152 -2.257,0.459 -0.713,0.307 -1.315,0.763 -1.806,1.373 -0.492,0.612 -0.903,1.262 -1.235,1.953 -0.333,0.689 -0.595,1.421 -0.785,2.194 v -5.596 h -5.561 v 25.556 h 5.561 v -13.549 c 0,-0.643 0.023,-1.278 0.071,-1.902 0.049,-0.627 0.144,-1.249 0.285,-1.858 0.144,-0.609 0.35,-1.204 0.618,-1.783 0.269,-0.58 0.666,-1.062 1.189,-1.447 0.522,-0.386 1.1,-0.577 1.735,-0.577 0.506,0 0.965,0.162 1.378,0.481 0.411,0.323 0.681,0.739 0.808,1.253 0.127,0.514 0.191,1.029 0.191,1.543 h 5.512 c 0,-0.77 -0.046,-1.525 -0.142,-2.266 -0.096,-0.74 -0.271,-1.47 -0.524,-2.194 z"
+ id="path166" />
+ <polygon
+ fill="#ffffff"
+ points="192.938,614.061 198.165,614.061 198.165,630.218 192.271,630.218 192.271,635.114 208.908,635.114 208.908,630.218 203.68,630.218 203.68,609.163 192.938,609.163 "
+ id="polygon168" />
+ <path
+ fill="#ffffff"
+ d="m 198.617,604.824 c 0.648,0.288 1.307,0.431 1.973,0.431 0.696,0 1.362,-0.143 1.995,-0.431 0.634,-0.281 1.095,-0.75 1.379,-1.399 0.285,-0.647 0.427,-1.307 0.427,-1.972 0,-0.698 -0.142,-1.363 -0.427,-1.998 -0.285,-0.633 -0.745,-1.092 -1.379,-1.378 -0.633,-0.285 -1.299,-0.427 -1.995,-0.427 -0.666,0 -1.325,0.142 -1.973,0.427 -0.652,0.286 -1.117,0.745 -1.402,1.378 -0.285,0.635 -0.428,1.3 -0.428,1.998 0,0.665 0.143,1.324 0.428,1.972 0.285,0.649 0.75,1.118 1.402,1.399 z"
+ id="path170" />
+ <path
+ fill="#ffffff"
+ d="m 229.106,611.424 c -0.934,-0.84 -2.012,-1.43 -3.232,-1.762 -1.22,-0.331 -2.465,-0.499 -3.73,-0.499 -1.046,0 -2.085,0.12 -3.114,0.355 -1.031,0.242 -1.989,0.659 -2.876,1.261 -0.887,0.603 -1.622,1.349 -2.21,2.234 -0.585,0.888 -0.998,1.853 -1.236,2.899 -0.238,1.045 -0.356,2.091 -0.356,3.137 v 6.181 c 0,1.044 0.119,2.09 0.356,3.136 0.239,1.048 0.651,2.016 1.236,2.899 0.588,0.889 1.323,1.634 2.21,2.234 0.887,0.603 1.846,1.023 2.876,1.26 1.029,0.238 2.067,0.354 3.114,0.354 1.266,0 2.51,-0.166 3.73,-0.498 1.221,-0.333 2.298,-0.916 3.232,-1.759 0.934,-0.836 1.638,-1.853 2.115,-3.041 0.477,-1.188 0.713,-2.399 0.713,-3.638 v -0.094 h -5.514 v 0.048 c 0,0.761 -0.174,1.488 -0.521,2.188 -0.349,0.696 -0.873,1.21 -1.569,1.545 -0.698,0.331 -1.426,0.497 -2.187,0.497 -0.603,0 -1.204,-0.125 -1.807,-0.381 -0.602,-0.252 -1.093,-0.642 -1.475,-1.164 -0.38,-0.521 -0.639,-1.093 -0.783,-1.709 -0.143,-0.619 -0.214,-1.246 -0.214,-1.878 v -6.181 c 0,-0.633 0.071,-1.261 0.214,-1.878 0.144,-0.617 0.403,-1.187 0.783,-1.71 0.381,-0.523 0.873,-0.91 1.475,-1.166 0.603,-0.25 1.204,-0.378 1.807,-0.378 0.761,0 1.489,0.166 2.187,0.498 0.696,0.334 1.22,0.848 1.569,1.543 0.347,0.698 0.521,1.429 0.521,2.188 v 0.048 h 5.514 v -0.095 c 0,-1.235 -0.236,-2.449 -0.713,-3.639 -0.477,-1.184 -1.181,-2.197 -2.115,-3.035 z"
+ id="path172" />
+ <path
+ fill="#ffffff"
+ d="m 254.732,612.966 c -0.603,-0.886 -1.35,-1.633 -2.235,-2.233 -0.887,-0.603 -1.852,-1.013 -2.9,-1.236 -1.044,-0.219 -2.105,-0.333 -3.184,-0.333 -1.045,0 -2.101,0.114 -3.162,0.333 -1.063,0.224 -2.036,0.634 -2.922,1.236 -0.887,0.601 -1.633,1.348 -2.236,2.233 -0.599,0.888 -1.021,1.853 -1.258,2.901 -0.239,1.045 -0.356,2.106 -0.356,3.183 v 6.181 c 0,1.078 0.117,2.137 0.356,3.185 0.238,1.046 0.666,2.012 1.284,2.896 0.617,0.891 1.378,1.627 2.282,2.215 0.902,0.584 1.876,0.997 2.922,1.233 1.045,0.238 2.107,0.354 3.186,0.354 1.17,0 2.318,-0.125 3.444,-0.378 1.125,-0.254 2.163,-0.719 3.114,-1.402 0.95,-0.681 1.703,-1.546 2.259,-2.59 0.554,-1.046 0.862,-2.14 0.926,-3.279 h -5.514 c -0.031,0.634 -0.278,1.194 -0.737,1.686 -0.459,0.491 -0.999,0.816 -1.617,0.975 -0.616,0.157 -1.244,0.237 -1.875,0.237 -0.635,0 -1.262,-0.117 -1.879,-0.357 -0.617,-0.236 -1.134,-0.616 -1.545,-1.139 -0.411,-0.524 -0.696,-1.103 -0.855,-1.735 -0.158,-0.636 -0.236,-1.269 -0.236,-1.9 v -0.714 h 14.354 v -5.467 c 0,-1.076 -0.119,-2.138 -0.356,-3.183 -0.239,-1.05 -0.659,-2.014 -1.26,-2.902 z m -3.898,6.797 h -8.841 v -0.713 c 0,-0.633 0.078,-1.265 0.236,-1.9 0.159,-0.633 0.436,-1.214 0.832,-1.735 0.397,-0.521 0.896,-0.903 1.499,-1.142 0.602,-0.236 1.22,-0.354 1.854,-0.354 0.633,0 1.259,0.118 1.878,0.354 0.617,0.238 1.125,0.62 1.52,1.142 0.396,0.521 0.667,1.103 0.81,1.735 0.141,0.636 0.214,1.268 0.214,1.9 v 0.713 z"
+ id="path174" />
+ <path
+ fill="#ffffff"
+ d="m 277.574,612.72 c -0.253,-0.728 -0.618,-1.382 -1.092,-1.963 -0.476,-0.579 -1.07,-1.008 -1.782,-1.282 -0.714,-0.272 -1.436,-0.413 -2.164,-0.413 -0.792,0 -1.545,0.155 -2.257,0.461 -0.714,0.308 -1.316,0.768 -1.807,1.381 -0.492,0.615 -0.903,1.266 -1.236,1.961 -0.333,0.692 -0.595,1.427 -0.783,2.203 v -5.62 h -5.562 v 25.667 h 5.562 v -13.608 c 0,-0.645 0.023,-1.283 0.069,-1.91 0.05,-0.631 0.144,-1.254 0.286,-1.864 0.143,-0.613 0.349,-1.211 0.617,-1.792 0.268,-0.583 0.667,-1.067 1.189,-1.454 0.522,-0.388 1.1,-0.58 1.735,-0.58 0.506,0 0.964,0.162 1.379,0.484 0.41,0.323 0.68,0.742 0.807,1.257 0.127,0.517 0.192,1.035 0.192,1.552 h 5.512 c 0,-0.774 -0.047,-1.534 -0.142,-2.275 -0.094,-0.747 -0.269,-1.48 -0.523,-2.205 z"
+ id="path176" />
+ <path
+ fill="#ffffff"
+ d="m 298.518,625.533 v 0.242 c 0,0.513 -0.041,1.012 -0.118,1.491 -0.08,0.481 -0.215,0.956 -0.404,1.422 -0.19,0.467 -0.501,0.851 -0.927,1.155 -0.429,0.305 -0.879,0.458 -1.355,0.458 -0.603,0 -1.116,-0.227 -1.545,-0.675 -0.426,-0.448 -0.729,-0.954 -0.902,-1.515 -0.176,-0.563 -0.294,-1.141 -0.357,-1.734 -0.063,-0.594 -0.095,-1.182 -0.095,-1.76 v -10.593 h 6.607 v -4.816 h -6.607 v -9.869 h -5.511 v 9.869 h -4.517 v 4.816 h 4.517 v 10.593 c 0,1.029 0.077,2.048 0.237,3.06 0.157,1.011 0.45,1.981 0.877,2.912 0.429,0.932 1.007,1.768 1.735,2.503 0.731,0.742 1.584,1.262 2.567,1.566 0.983,0.302 1.979,0.455 2.994,0.455 1.141,0 2.264,-0.193 3.374,-0.575 1.108,-0.386 2.051,-1.034 2.829,-1.95 0.777,-0.915 1.333,-1.94 1.665,-3.083 0.332,-1.139 0.498,-2.287 0.498,-3.443 v -0.529 z"
+ id="path178" />
+ </g>
+ <path
+ fill="#9acfb2"
+ d="m 116.243,635.114 h -5.665 L 98.982,601.088 h 6.793 c 0,0 8.667,25.864 8.744,26.357 0.078,-0.336 15.873,-18.381 25.964,-29.885 l -0.117,-14.877 c -8.294,5.25 -18.104,8.046 -27.945,7.882 -9.355,-0.14 -18.331,-2.824 -26.18,-7.795 l 0.064,22.986 c 0.532,9.483 3.899,18.481 9.745,26.005 4.613,5.945 10.643,10.687 17.496,13.76 7.698,-3.756 14.248,-9.505 18.991,-16.639 0.536,-0.808 1.042,-1.63 1.526,-2.464 0.036,-0.063 0.075,-0.125 0.11,-0.187 0.459,-0.801 0.892,-1.614 1.304,-2.437 0.049,-0.1 0.102,-0.198 0.151,-0.297 0.397,-0.807 0.768,-1.625 1.119,-2.45 0.05,-0.118 0.101,-0.235 0.15,-0.354 0.341,-0.822 0.659,-1.651 0.954,-2.489 0.043,-0.126 0.088,-0.25 0.131,-0.375 0.289,-0.843 0.555,-1.693 0.797,-2.55 0.034,-0.12 0.066,-0.238 0.099,-0.357 0.238,-0.872 0.456,-1.749 0.645,-2.634 0.021,-0.099 0.041,-0.198 0.061,-0.298 0.189,-0.909 0.355,-1.826 0.492,-2.747 0.009,-0.063 0.017,-0.125 0.025,-0.187 0.139,-0.962 0.252,-1.929 0.332,-2.899 z"
+ id="path182" />
+ <g
+ id="g186">
+ <path
+ fill="#ffffff"
+ d="m 462.842,588.192 h -6.737 c 0,0 -1.744,1.984 -4.44,5.056 l -0.146,-17.96 -3.021,2.252 c -3.035,2.256 -6.347,4.124 -9.831,5.576 v -7.483 h -3.82 v 8.882 c -4.589,1.468 -9.4,2.24 -14.229,2.24 -0.248,0 -0.486,0 -0.735,0 -4.301,-0.071 -8.513,-0.721 -12.553,-1.919 v -9.203 h -3.821 v 7.878 c -3.758,-1.482 -7.334,-3.454 -10.65,-5.904 l -3.054,-2.263 0.077,30.477 v 0.099 c 0.563,10.286 4.21,20.029 10.544,28.191 4.879,6.285 11.235,11.302 18.442,14.636 v 7.211 h 3.821 v -7.066 c 8.272,-4.062 15.323,-10.213 20.427,-17.897 5.198,-7.807 8.175,-16.89 8.641,-26.255 v -0.053 l -0.026,-3.195 z m -22.907,40.691 c -4.743,7.134 -11.293,12.883 -18.991,16.639 -6.854,-3.073 -12.884,-7.814 -17.497,-13.76 -5.846,-7.523 -9.212,-16.521 -9.744,-26.005 l -0.065,-22.986 c 7.85,4.971 16.825,7.655 26.18,7.795 9.84,0.164 19.65,-2.632 27.944,-7.882 l 0.117,14.877 c -10.092,11.504 -25.886,29.549 -25.964,29.885 -0.077,-0.493 -8.744,-26.357 -8.744,-26.357 h -6.793 l 11.597,34.026 h 5.665 l 24.191,-28.955 c -0.668,8.109 -3.387,15.932 -7.896,22.723 z"
+ id="path184" />
+ </g>
+ <path
+ fill="#9acfb2"
+ d="m 423.64,635.114 h -5.665 l -11.597,-34.026 h 6.793 c 0,0 8.667,25.864 8.744,26.357 0.078,-0.336 15.872,-18.381 25.964,-29.885 l -0.117,-14.877 c -8.294,5.25 -18.104,8.046 -27.944,7.882 -9.355,-0.14 -18.331,-2.824 -26.18,-7.795 l 0.065,22.986 c 0.531,9.483 3.898,18.481 9.744,26.005 4.613,5.945 10.643,10.687 17.497,13.76 7.698,-3.756 14.248,-9.505 18.991,-16.639 0.536,-0.808 1.042,-1.63 1.526,-2.464 0.037,-0.063 0.075,-0.125 0.111,-0.187 0.459,-0.801 0.892,-1.614 1.305,-2.437 0.049,-0.1 0.101,-0.198 0.15,-0.297 0.397,-0.807 0.769,-1.625 1.119,-2.45 0.051,-0.118 0.102,-0.235 0.151,-0.354 0.341,-0.822 0.658,-1.651 0.953,-2.489 0.044,-0.126 0.088,-0.25 0.131,-0.375 0.29,-0.843 0.555,-1.693 0.797,-2.55 0.034,-0.12 0.066,-0.238 0.099,-0.357 0.239,-0.872 0.455,-1.749 0.645,-2.634 0.022,-0.099 0.041,-0.198 0.061,-0.298 0.189,-0.909 0.355,-1.826 0.492,-2.747 0.01,-0.063 0.017,-0.125 0.025,-0.187 0.139,-0.962 0.252,-1.929 0.332,-2.899 z"
+ id="path188" />
+ <g
+ id="g208">
+ <path
+ fill="#2a3e40"
+ d="m 168.364,746.698 h -7.912 c 0,0 -2.048,2.33 -5.214,5.936 l -0.171,-21.091 -3.548,2.644 c -3.565,2.65 -7.454,4.844 -11.545,6.55 v -8.789 h -4.487 v 10.432 c -5.39,1.724 -11.039,2.63 -16.71,2.63 -0.292,0 -0.572,0 -0.864,0 -5.051,-0.084 -9.998,-0.847 -14.742,-2.252 v -10.81 h -4.487 v 9.252 c -4.413,-1.741 -8.613,-4.057 -12.508,-6.935 l -3.586,-2.656 0.09,35.791 v 0.116 c 0.661,12.078 4.945,23.521 12.384,33.107 5.73,7.381 13.194,13.271 21.659,17.188 v 8.469 h 4.487 v -8.298 c 9.715,-4.77 17.995,-11.995 23.99,-21.021 6.104,-9.168 9.6,-19.834 10.147,-30.833 v -0.063 l -0.03,-3.751 z m -26.902,47.786 c -5.57,8.378 -13.263,15.131 -22.303,19.541 -8.049,-3.609 -15.13,-9.179 -20.547,-16.161 -6.866,-8.835 -10.82,-19.401 -11.444,-30.539 l -0.076,-26.996 c 9.218,5.838 19.759,8.99 30.746,9.154 11.557,0.193 23.078,-3.089 32.818,-9.256 l 0.138,17.473 c -11.852,13.51 -30.401,34.701 -30.492,35.096 -0.09,-0.579 -10.269,-30.954 -10.269,-30.954 h -7.979 l 13.619,39.961 h 6.653 l 28.411,-34.005 c -0.787,9.524 -3.98,18.711 -9.275,26.686 z"
+ id="path190" />
+ <path
+ fill="#2a3e40"
+ d="m 178.667,775.792 c -0.708,-1.04 -1.583,-1.918 -2.625,-2.623 -1.042,-0.708 -2.176,-1.191 -3.404,-1.453 -1.229,-0.256 -2.476,-0.39 -3.741,-0.39 -1.229,0 -2.467,0.134 -3.712,0.39 -1.247,0.262 -2.391,0.745 -3.432,1.453 -1.042,0.705 -1.917,1.583 -2.625,2.623 -0.707,1.041 -1.2,2.175 -1.479,3.406 -0.28,1.227 -0.419,2.475 -0.419,3.738 v 7.258 c 0,1.266 0.14,2.51 0.419,3.74 0.279,1.229 0.781,2.363 1.506,3.402 0.726,1.047 1.618,1.91 2.679,2.6 1.062,0.688 2.206,1.172 3.433,1.449 1.228,0.279 2.475,0.417 3.74,0.417 1.376,0 2.726,-0.147 4.047,-0.444 1.321,-0.297 2.54,-0.844 3.656,-1.646 1.116,-0.801 2,-1.815 2.652,-3.043 0.651,-1.229 1.013,-2.511 1.088,-3.85 h -6.475 c -0.037,0.744 -0.326,1.402 -0.866,1.979 -0.539,0.577 -1.171,0.96 -1.896,1.145 -0.726,0.186 -1.463,0.279 -2.207,0.279 -0.745,0 -1.479,-0.138 -2.205,-0.42 -0.726,-0.278 -1.332,-0.726 -1.814,-1.339 -0.484,-0.615 -0.82,-1.293 -1.004,-2.037 -0.188,-0.745 -0.28,-1.49 -0.28,-2.232 v -0.838 h 16.859 v -6.42 c 0,-1.264 -0.141,-2.512 -0.419,-3.738 -0.277,-1.231 -0.77,-2.365 -1.476,-3.406 z m -4.579,7.98 h -10.383 v -0.836 c 0,-0.744 0.092,-1.486 0.28,-2.232 0.185,-0.742 0.51,-1.424 0.977,-2.037 0.463,-0.613 1.051,-1.061 1.758,-1.341 0.706,-0.278 1.432,-0.417 2.177,-0.417 0.744,0 1.479,0.139 2.206,0.417 0.725,0.28 1.32,0.728 1.786,1.341 0.465,0.613 0.781,1.295 0.949,2.037 0.166,0.746 0.25,1.488 0.25,2.232 z"
+ id="path192" />
+ <path
+ fill="#2a3e40"
+ d="m 205.495,775.615 c -0.298,-0.851 -0.725,-1.614 -1.284,-2.294 -0.559,-0.678 -1.255,-1.18 -2.093,-1.501 -0.837,-0.318 -1.684,-0.481 -2.54,-0.481 -0.93,0 -1.813,0.181 -2.651,0.539 -0.837,0.359 -1.544,0.896 -2.121,1.613 -0.578,0.72 -1.061,1.48 -1.451,2.294 -0.392,0.81 -0.699,1.667 -0.922,2.577 v -6.572 h -6.53 v 30.013 h 6.53 v -15.912 c 0,-0.755 0.028,-1.5 0.083,-2.234 0.058,-0.737 0.169,-1.466 0.335,-2.181 0.169,-0.716 0.41,-1.415 0.726,-2.096 0.316,-0.681 0.782,-1.246 1.396,-1.699 0.613,-0.453 1.292,-0.678 2.038,-0.678 0.595,0 1.134,0.189 1.619,0.565 0.483,0.379 0.8,0.868 0.948,1.47 0.149,0.605 0.224,1.209 0.224,1.814 h 6.474 c 0,-0.904 -0.055,-1.793 -0.167,-2.661 -0.111,-0.87 -0.317,-1.727 -0.614,-2.576 z"
+ id="path194" />
+ <polygon
+ fill="#2a3e40"
+ points="212.395,777.077 218.534,777.077 218.534,796.052 211.613,796.052 211.613,801.803 231.151,801.803 231.151,796.052 225.011,796.052 225.011,771.326 212.395,771.326 "
+ id="polygon196" />
+ <path
+ fill="#2a3e40"
+ d="m 219.065,766.23 c 0.761,0.338 1.535,0.505 2.316,0.505 0.818,0 1.599,-0.167 2.343,-0.505 0.745,-0.331 1.286,-0.881 1.62,-1.644 0.334,-0.761 0.501,-1.535 0.501,-2.316 0,-0.82 -0.167,-1.601 -0.501,-2.346 -0.334,-0.744 -0.875,-1.283 -1.62,-1.619 -0.744,-0.334 -1.525,-0.501 -2.343,-0.501 -0.782,0 -1.556,0.167 -2.316,0.501 -0.766,0.336 -1.313,0.875 -1.647,1.619 -0.334,0.745 -0.503,1.525 -0.503,2.346 0,0.781 0.168,1.556 0.503,2.316 0.335,0.764 0.881,1.313 1.647,1.644 z"
+ id="path198" />
+ <path
+ fill="#2a3e40"
+ d="m 254.871,773.98 c -1.097,-0.987 -2.362,-1.679 -3.796,-2.069 -1.433,-0.389 -2.895,-0.585 -4.381,-0.585 -1.229,0 -2.448,0.141 -3.656,0.417 -1.211,0.283 -2.336,0.773 -3.378,1.48 -1.042,0.707 -1.905,1.582 -2.595,2.624 -0.688,1.043 -1.171,2.177 -1.452,3.405 -0.279,1.227 -0.418,2.455 -0.418,3.684 v 7.258 c 0,1.228 0.14,2.455 0.418,3.684 0.281,1.23 0.764,2.365 1.452,3.405 0.69,1.044 1.554,1.918 2.595,2.624 1.042,0.707 2.167,1.201 3.378,1.479 1.208,0.279 2.427,0.417 3.656,0.417 1.487,0 2.948,-0.194 4.381,-0.585 1.434,-0.391 2.699,-1.076 3.796,-2.065 1.097,-0.983 1.924,-2.175 2.484,-3.571 0.56,-1.396 0.837,-2.818 0.837,-4.271 V 791.2 h -6.475 v 0.057 c 0,0.894 -0.205,1.749 -0.613,2.568 -0.409,0.818 -1.025,1.423 -1.842,1.814 -0.82,0.391 -1.674,0.585 -2.568,0.585 -0.707,0 -1.414,-0.147 -2.121,-0.447 -0.707,-0.297 -1.285,-0.755 -1.732,-1.368 -0.447,-0.611 -0.751,-1.282 -0.919,-2.008 -0.168,-0.725 -0.251,-1.463 -0.251,-2.205 v -7.258 c 0,-0.744 0.083,-1.482 0.251,-2.205 0.168,-0.726 0.473,-1.395 0.919,-2.01 0.447,-0.613 1.025,-1.066 1.732,-1.368 0.707,-0.294 1.414,-0.444 2.121,-0.444 0.894,0 1.749,0.195 2.568,0.586 0.817,0.391 1.433,0.995 1.842,1.812 0.408,0.819 0.613,1.678 0.613,2.569 v 0.058 h 6.475 v -0.112 c 0,-1.451 -0.277,-2.876 -0.837,-4.273 -0.56,-1.396 -1.387,-2.587 -2.484,-3.571 z"
+ id="path200" />
+ <path
+ fill="#2a3e40"
+ d="m 284.967,775.792 c -0.708,-1.04 -1.585,-1.918 -2.625,-2.623 -1.042,-0.708 -2.175,-1.191 -3.405,-1.453 -1.227,-0.256 -2.473,-0.39 -3.74,-0.39 -1.228,0 -2.467,0.134 -3.713,0.39 -1.248,0.262 -2.391,0.745 -3.432,1.453 -1.042,0.705 -1.918,1.583 -2.626,2.623 -0.704,1.041 -1.198,2.175 -1.477,3.406 -0.281,1.227 -0.418,2.475 -0.418,3.738 v 7.258 c 0,1.266 0.138,2.51 0.418,3.74 0.279,1.229 0.782,2.363 1.508,3.402 0.725,1.047 1.618,1.91 2.681,2.6 1.059,0.688 2.204,1.172 3.431,1.449 1.227,0.279 2.475,0.417 3.742,0.417 1.374,0 2.723,-0.147 4.045,-0.444 1.321,-0.297 2.54,-0.844 3.656,-1.646 1.116,-0.801 2,-1.815 2.653,-3.043 0.65,-1.229 1.012,-2.511 1.088,-3.85 h -6.476 c -0.037,0.744 -0.327,1.402 -0.866,1.979 -0.54,0.577 -1.172,0.96 -1.898,1.145 -0.724,0.186 -1.461,0.279 -2.203,0.279 -0.745,0 -1.481,-0.138 -2.207,-0.42 -0.724,-0.278 -1.332,-0.726 -1.814,-1.339 -0.483,-0.615 -0.818,-1.293 -1.005,-2.037 -0.186,-0.745 -0.278,-1.49 -0.278,-2.232 v -0.838 h 16.857 v -6.42 c 0,-1.264 -0.139,-2.512 -0.418,-3.738 -0.279,-1.231 -0.772,-2.365 -1.478,-3.406 z m -4.578,7.98 h -10.383 v -0.836 c 0,-0.744 0.092,-1.486 0.278,-2.232 0.187,-0.742 0.512,-1.424 0.977,-2.037 0.466,-0.613 1.053,-1.061 1.76,-1.341 0.707,-0.278 1.432,-0.417 2.177,-0.417 0.743,0 1.479,0.139 2.206,0.417 0.724,0.28 1.32,0.728 1.785,1.341 0.466,0.613 0.783,1.295 0.951,2.037 0.165,0.746 0.251,1.488 0.251,2.232 v 0.836 z"
+ id="path202" />
+ <path
+ fill="#2a3e40"
+ d="m 311.792,775.502 c -0.298,-0.854 -0.726,-1.622 -1.283,-2.305 -0.56,-0.681 -1.257,-1.185 -2.092,-1.507 -0.839,-0.32 -1.687,-0.483 -2.542,-0.483 -0.931,0 -1.815,0.181 -2.65,0.542 -0.839,0.36 -1.546,0.9 -2.122,1.619 -0.578,0.723 -1.061,1.487 -1.452,2.305 -0.391,0.813 -0.699,1.674 -0.919,2.587 v -6.601 H 292.2 v 30.144 h 6.532 v -15.981 c 0,-0.758 0.027,-1.507 0.081,-2.244 0.059,-0.74 0.168,-1.472 0.336,-2.189 0.167,-0.72 0.409,-1.422 0.724,-2.105 0.315,-0.683 0.784,-1.252 1.397,-1.707 0.613,-0.453 1.292,-0.68 2.037,-0.68 0.594,0 1.133,0.19 1.62,0.568 0.482,0.38 0.799,0.871 0.948,1.476 0.149,0.607 0.226,1.216 0.226,1.822 h 6.473 c 0,-0.909 -0.055,-1.801 -0.167,-2.673 -0.111,-0.875 -0.316,-1.736 -0.615,-2.588 z"
+ id="path204" />
+ <path
+ fill="#2a3e40"
+ d="m 336.389,790.551 v 0.284 c 0,0.603 -0.047,1.188 -0.139,1.751 -0.094,0.565 -0.252,1.122 -0.474,1.671 -0.224,0.547 -0.59,0.998 -1.089,1.356 -0.504,0.358 -1.032,0.536 -1.592,0.536 -0.708,0 -1.311,-0.265 -1.815,-0.791 -0.501,-0.527 -0.856,-1.119 -1.06,-1.779 -0.207,-0.661 -0.345,-1.338 -0.42,-2.037 -0.074,-0.697 -0.112,-1.386 -0.112,-2.065 v -12.44 h 7.76 v -5.657 h -7.76 v -11.591 h -6.472 v 11.591 h -5.304 v 5.657 h 5.304 v 12.44 c 0,1.208 0.089,2.404 0.278,3.593 0.185,1.188 0.529,2.327 1.031,3.42 0.504,1.095 1.183,2.076 2.038,2.939 0.858,0.871 1.861,1.481 3.016,1.84 1.154,0.354 2.324,0.534 3.516,0.534 1.34,0 2.659,-0.228 3.962,-0.676 1.301,-0.453 2.409,-1.214 3.322,-2.292 0.912,-1.071 1.565,-2.277 1.955,-3.618 0.39,-1.338 0.585,-2.687 0.585,-4.044 v -0.622 z"
+ id="path206" />
+ </g>
+ <g
+ id="g212">
+ <path
+ fill="#2a3e40"
+ d="m 529.372,746.698 h -7.912 c 0,0 -2.048,2.33 -5.214,5.936 l -0.171,-21.091 -3.548,2.644 c -3.565,2.65 -7.454,4.844 -11.545,6.55 v -8.789 h -4.487 v 10.432 c -5.39,1.724 -11.039,2.63 -16.71,2.63 -0.292,0 -0.572,0 -0.864,0 -5.051,-0.084 -9.998,-0.847 -14.742,-2.252 v -10.81 h -4.487 v 9.252 c -4.413,-1.741 -8.613,-4.057 -12.508,-6.935 l -3.586,-2.656 0.089,35.792 v 0.116 c 0.661,12.078 4.945,23.521 12.384,33.107 5.73,7.381 13.194,13.271 21.659,17.188 v 8.469 h 4.487 v -8.298 c 9.715,-4.77 17.995,-11.995 23.99,-21.021 6.104,-9.168 9.6,-19.834 10.147,-30.833 v -0.063 l -0.03,-3.751 z m -26.902,47.786 c -5.57,8.378 -13.263,15.131 -22.303,19.541 -8.049,-3.609 -15.13,-9.179 -20.547,-16.161 -6.866,-8.835 -10.82,-19.401 -11.444,-30.539 L 448.1,740.329 c 9.218,5.838 19.759,8.99 30.746,9.154 11.557,0.193 23.078,-3.089 32.818,-9.256 L 511.8,757.7 c -11.852,13.51 -30.401,34.701 -30.492,35.096 -0.09,-0.579 -10.269,-30.954 -10.269,-30.954 h -7.979 l 13.619,39.961 h 6.653 l 28.411,-34.005 c -0.785,9.524 -3.979,18.711 -9.273,26.686 z"
+ id="path210" />
+ </g>
+ <text
+ transform="translate(19.1211,283.5981)"
+ id="text220"><tspan
+ x="0"
+ y="0"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ id="tspan214">b/w</tspan><tspan
+ x="0"
+ y="302.39999"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ id="tspan216">col/w</tspan><tspan
+ x="0"
+ y="417.60001"
+ font-family="MyriadPro-Regular"
+ font-size="12px"
+ id="tspan218">monochr.</tspan></text>
+ </g>
+</switch>
+
+</svg>
diff --git a/vericert-white.svg b/vericert-white.svg
new file mode 100644
index 0000000..2972196
--- /dev/null
+++ b/vericert-white.svg
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ id="svg833"
+ xml:space="preserve"
+ width="295.55865"
+ height="107.55866"
+ viewBox="0 0 295.55866 107.55866"><metadata
+ id="metadata839"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs837"><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath849"><path
+ d="M 0,841.89 H 618.822 V 0 H 0 Z"
+ id="path847" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath915"><path
+ d="M 0,841.89 H 618.822 V 0 H 0 Z"
+ id="path913" /></clipPath></defs><g
+ id="g841"
+ transform="matrix(1.3333333,0,0,-1.3333333,-109.87946,355.46906)"><g
+ id="g843"><g
+ id="g845"
+ clip-path="url(#clipPath849)"><g
+ id="g851"
+ transform="translate(128.0444,747.1895)"><path
+ d="M 0,0 C -4.301,-6.469 -10.24,-11.682 -17.22,-15.087 -23.434,-12.3 -28.902,-8 -33.084,-2.61 c -5.301,6.822 -8.354,14.98 -8.836,23.58 l -0.059,20.843 c 7.118,-4.507 15.256,-6.942 23.739,-7.069 8.923,-0.148 17.818,2.385 25.338,7.147 L 7.254,22.012 C 6.862,14.157 4.348,6.55 0,0 M 10.504,48.596 7.765,46.555 C 5.012,44.509 2.01,42.815 -1.149,41.498 v 6.786 H -4.613 V 40.23 c -4.161,-1.331 -8.523,-2.031 -12.902,-2.031 h -0.667 c -3.9,0.065 -7.718,0.654 -11.382,1.739 v 8.346 h -3.464 v -7.143 c -3.408,1.344 -6.651,3.132 -9.658,5.354 l -2.768,2.051 0.069,-27.635 v -0.089 c 0.51,-9.326 3.818,-18.161 9.561,-25.563 4.425,-5.697 10.187,-10.246 16.722,-13.269 v -6.539 h 3.465 v 6.406 c 7.501,3.684 13.894,9.262 18.523,16.23 4.712,7.079 7.412,15.313 7.834,23.806 v 0.049 z"
+ style="fill:#243539;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path853" /></g><g
+ id="g855"
+ transform="translate(135.1421,789.0806)"><path
+ d="m 0,0 0.157,-19.879 c -0.393,-7.855 -2.907,-15.462 -7.255,-22.012 -4.3,-6.469 -10.239,-11.682 -17.219,-15.088 -6.215,2.788 -11.683,7.087 -15.865,12.478 -5.301,6.822 -8.354,14.98 -8.836,23.58 l -0.058,20.842 c 7.117,-4.506 15.255,-6.941 23.738,-7.068 C -16.415,-7.295 -7.52,-4.762 0,0"
+ style="fill:#8cd6a7;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path857" /></g><g
+ id="g859"
+ transform="translate(97.6177,772.3926)"><path
+ d="m 0,0 h 6.16 c 0,0 7.859,-23.452 7.928,-23.899 0.104,0.447 31.001,35.591 31.001,35.591 h 6.108 L 15.651,-30.854 h -5.136 z"
+ style="fill:#243539;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path861" /></g><g
+ id="g863"
+ transform="translate(153.2344,756.105)"><path
+ d="m 0,0 c 0,0.575 -0.065,1.148 -0.193,1.724 -0.13,0.573 -0.374,1.1 -0.733,1.573 -0.36,0.474 -0.819,0.819 -1.379,1.035 -0.56,0.215 -1.128,0.322 -1.703,0.322 -0.575,0 -1.135,-0.107 -1.68,-0.322 -0.546,-0.216 -1,-0.561 -1.358,-1.035 C -7.406,2.824 -7.657,2.297 -7.8,1.724 -7.945,1.148 -8.016,0.575 -8.016,0 V -0.645 H 0 Z m -6.81,-14.244 c -0.947,0.214 -1.831,0.589 -2.65,1.119 -0.819,0.532 -1.508,1.199 -2.069,2.007 -0.559,0.802 -0.948,1.679 -1.163,2.627 -0.216,0.95 -0.324,1.91 -0.324,2.887 V 0 c 0,0.977 0.108,1.94 0.324,2.886 0.215,0.951 0.596,1.826 1.142,2.631 0.546,0.803 1.221,1.481 2.026,2.025 0.804,0.546 1.687,0.92 2.65,1.122 0.962,0.198 1.918,0.301 2.866,0.301 0.977,0 1.94,-0.103 2.888,-0.301 C -0.171,8.462 0.705,8.088 1.509,7.542 2.313,6.998 2.989,6.32 3.535,5.517 4.08,4.712 4.461,3.837 4.677,2.886 4.892,1.94 5,0.977 5,0 V -4.956 H -8.016 v -0.648 c 0,-0.572 0.071,-1.147 0.216,-1.723 0.143,-0.574 0.402,-1.098 0.776,-1.573 0.372,-0.474 0.84,-0.819 1.4,-1.033 0.561,-0.218 1.127,-0.324 1.702,-0.324 0.574,0 1.143,0.072 1.704,0.215 0.56,0.143 1.048,0.438 1.464,0.884 0.417,0.446 0.64,0.953 0.669,1.529 H 4.914 C 4.855,-8.664 4.576,-9.654 4.073,-10.603 3.57,-11.55 2.888,-12.333 2.026,-12.952 c -0.862,-0.619 -1.803,-1.041 -2.823,-1.271 -1.02,-0.229 -2.062,-0.343 -3.125,-0.343 -0.976,0 -1.94,0.107 -2.888,0.322"
+ style="fill:#243539;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path865" /></g><g
+ id="g867"
+ transform="translate(162.356,764.7119)"><path
+ d="m 0,0 h 5.042 v -5.074 c 0.172,0.701 0.41,1.364 0.712,1.989 0.301,0.628 0.674,1.215 1.12,1.772 0.445,0.552 0.991,0.967 1.637,1.245 0.647,0.276 1.329,0.416 2.048,0.416 0.661,0 1.314,-0.126 1.961,-0.372 0.647,-0.247 1.184,-0.635 1.615,-1.158 0.432,-0.526 0.762,-1.115 0.992,-1.772 0.23,-0.655 0.388,-1.317 0.474,-1.989 0.086,-0.67 0.128,-1.356 0.128,-2.054 h -4.998 c 0,0.467 -0.058,0.934 -0.172,1.4 -0.115,0.465 -0.36,0.843 -0.733,1.135 -0.374,0.291 -0.79,0.437 -1.25,0.437 C 8,-4.025 7.477,-4.199 7.003,-4.548 6.529,-4.898 6.169,-5.335 5.925,-5.86 5.681,-6.386 5.495,-6.926 5.365,-7.478 5.236,-8.031 5.15,-8.593 5.106,-9.162 5.063,-9.729 5.042,-10.304 5.042,-10.887 V -23.173 H 0 Z"
+ style="fill:#243539;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path869" /></g><g
+ id="g871"
+ transform="translate(187.9604,769.0039)"><path
+ d="M 0,0 C -0.591,0.256 -1.013,0.68 -1.271,1.269 -1.53,1.856 -1.66,2.454 -1.66,3.058 c 0,0.632 0.13,1.235 0.389,1.811 0.258,0.574 0.68,0.99 1.271,1.25 0.587,0.258 1.185,0.386 1.789,0.386 0.631,0 1.234,-0.128 1.809,-0.386 C 4.173,5.859 4.59,5.443 4.849,4.869 5.107,4.293 5.235,3.69 5.235,3.058 5.235,2.454 5.107,1.856 4.849,1.269 4.59,0.68 4.173,0.256 3.598,0 3.023,-0.261 2.42,-0.39 1.789,-0.39 1.185,-0.39 0.587,-0.261 0,0 m -5.754,-23.025 h 5.344 v 14.651 h -4.74 v 4.44 h 9.74 v -19.091 h 4.741 v -4.44 H -5.754 Z"
+ style="fill:#243539;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path873" /></g><g
+ id="g875"
+ transform="translate(206.4692,741.8608)"><path
+ d="m 0,0 c -0.935,0.214 -1.804,0.596 -2.608,1.142 -0.805,0.545 -1.472,1.22 -2.004,2.026 -0.532,0.803 -0.905,1.679 -1.121,2.629 -0.216,0.949 -0.324,1.896 -0.324,2.844 v 5.603 c 0,0.949 0.108,1.898 0.324,2.845 0.216,0.949 0.589,1.824 1.121,2.629 0.532,0.804 1.199,1.48 2.004,2.026 0.804,0.546 1.673,0.924 2.608,1.143 0.933,0.213 1.874,0.322 2.823,0.322 1.148,0 2.276,-0.152 3.383,-0.452 1.107,-0.302 2.083,-0.836 2.93,-1.597 0.847,-0.76 1.486,-1.68 1.918,-2.755 0.432,-1.079 0.647,-2.179 0.647,-3.299 V 15.019 H 6.702 v 0.044 c 0,0.689 -0.159,1.352 -0.474,1.984 -0.316,0.631 -0.791,1.097 -1.422,1.399 -0.633,0.302 -1.293,0.452 -1.983,0.452 -0.546,0 -1.092,-0.116 -1.638,-0.343 -0.546,-0.232 -0.992,-0.582 -1.337,-1.056 -0.345,-0.475 -0.58,-0.992 -0.71,-1.552 -0.13,-0.558 -0.194,-1.128 -0.194,-1.703 V 8.641 c 0,-0.573 0.064,-1.142 0.194,-1.703 0.13,-0.56 0.365,-1.077 0.71,-1.55 C 0.193,4.915 0.639,4.561 1.185,4.332 1.731,4.101 2.277,3.987 2.823,3.987 c 0.69,0 1.35,0.15 1.983,0.451 0.631,0.303 1.106,0.769 1.422,1.401 0.315,0.633 0.474,1.293 0.474,1.983 v 0.044 h 4.999 V 7.78 C 11.701,6.658 11.486,5.56 11.054,4.482 10.622,3.404 9.983,2.484 9.136,1.725 8.289,0.961 7.313,0.432 6.206,0.13 5.099,-0.171 3.971,-0.322 2.823,-0.322 1.874,-0.322 0.933,-0.215 0,0"
+ style="fill:#243539;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path877" /></g><g
+ id="g879"
+ transform="translate(235.3076,756.105)"><path
+ d="m 0,0 c 0,0.575 -0.066,1.148 -0.194,1.724 -0.129,0.573 -0.374,1.1 -0.734,1.573 -0.359,0.474 -0.819,0.819 -1.378,1.035 -0.561,0.215 -1.129,0.322 -1.703,0.322 -0.575,0 -1.135,-0.107 -1.68,-0.322 C -6.235,4.116 -6.688,3.771 -7.048,3.297 -7.407,2.824 -7.658,2.297 -7.802,1.724 -7.945,1.148 -8.017,0.575 -8.017,0 V -0.645 H 0 Z m -6.811,-14.244 c -0.947,0.214 -1.831,0.589 -2.648,1.119 -0.821,0.532 -1.511,1.199 -2.07,2.007 -0.561,0.802 -0.949,1.679 -1.164,2.627 -0.217,0.95 -0.324,1.91 -0.324,2.887 V 0 c 0,0.977 0.107,1.94 0.324,2.886 0.215,0.951 0.597,1.826 1.14,2.631 0.546,0.803 1.223,1.481 2.028,2.025 0.803,0.546 1.686,0.92 2.65,1.122 0.961,0.198 1.918,0.301 2.866,0.301 0.978,0 1.94,-0.103 2.887,-0.301 C -0.171,8.462 0.704,8.088 1.508,7.542 2.311,6.998 2.988,6.32 3.535,5.517 4.08,4.712 4.46,3.837 4.676,2.886 4.891,1.94 4.999,0.977 4.999,0 V -4.956 H -8.017 v -0.648 c 0,-0.572 0.072,-1.147 0.215,-1.723 0.144,-0.574 0.403,-1.098 0.776,-1.573 0.372,-0.474 0.841,-0.819 1.4,-1.033 0.561,-0.218 1.129,-0.324 1.704,-0.324 0.573,0 1.142,0.072 1.701,0.215 0.561,0.143 1.049,0.438 1.466,0.884 0.416,0.446 0.64,0.953 0.668,1.529 h 5 c -0.059,-1.035 -0.338,-2.025 -0.84,-2.974 -0.504,-0.947 -1.187,-1.73 -2.049,-2.349 -0.861,-0.619 -1.803,-1.041 -2.822,-1.271 -1.021,-0.229 -2.063,-0.343 -3.124,-0.343 -0.978,0 -1.941,0.107 -2.889,0.322"
+ style="fill:#243539;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path881" /></g><g
+ id="g883"
+ transform="translate(244.4272,764.8125)"><path
+ d="m 0,0 h 5.043 v -5.096 c 0.17,0.704 0.408,1.369 0.71,1.997 0.302,0.631 0.675,1.221 1.121,1.78 0.444,0.555 0.99,0.971 1.638,1.25 0.645,0.278 1.328,0.418 2.047,0.418 0.659,0 1.314,-0.126 1.962,-0.373 0.645,-0.249 1.183,-0.638 1.615,-1.164 0.43,-0.527 0.76,-1.119 0.99,-1.779 0.231,-0.658 0.39,-1.323 0.476,-1.997 0.086,-0.674 0.128,-1.362 0.128,-2.064 h -4.998 c 0,0.469 -0.058,0.938 -0.173,1.407 -0.116,0.467 -0.36,0.846 -0.732,1.14 C 9.451,-4.19 9.035,-4.042 8.576,-4.042 8,-4.042 7.477,-4.217 7.003,-4.568 6.529,-4.919 6.168,-5.358 5.924,-5.886 5.681,-6.414 5.495,-6.956 5.365,-7.511 5.235,-8.065 5.151,-8.63 5.105,-9.202 5.064,-9.771 5.043,-10.349 5.043,-10.935 V -23.273 H 0 Z"
+ style="fill:#243539;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path885" /></g><g
+ id="g887"
+ transform="translate(273.2856,741.9521)"><path
+ d="M 0,0 C -0.891,0.276 -1.666,0.748 -2.328,1.419 -2.989,2.087 -3.513,2.844 -3.902,3.69 -4.289,4.533 -4.555,5.414 -4.698,6.33 -4.843,7.248 -4.912,8.171 -4.912,9.104 v 9.605 h -4.095 v 4.368 h 4.095 v 8.949 H 0.084 V 23.077 H 6.076 V 18.709 H 0.084 V 9.104 C 0.084,8.579 0.114,8.047 0.171,7.509 0.229,6.97 0.335,6.447 0.496,5.937 0.652,5.427 0.927,4.97 1.313,4.563 1.703,4.156 2.168,3.952 2.715,3.952 c 0.432,0 0.84,0.137 1.229,0.414 C 4.33,4.642 4.612,4.991 4.785,5.414 4.956,5.836 5.079,6.267 5.151,6.703 5.222,7.138 5.258,7.59 5.258,8.055 V 8.274 H 10.3 V 7.794 C 10.3,6.746 10.15,5.705 9.849,4.672 9.547,3.637 9.043,2.706 8.339,1.878 7.634,1.046 6.779,0.458 5.774,0.109 4.768,-0.238 3.75,-0.413 2.715,-0.413 1.794,-0.413 0.891,-0.274 0,0"
+ style="fill:#243539;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path889" /></g><path
+ d="m 435.019,775.537 h -23.02 v 23.02 h 23.02 z"
+ style="fill:#243539;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path891" /><path
+ d="m 435.019,720.754 h -23.02 v 23.02 h 23.02 z"
+ style="fill:#8cd6ae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path893" /></g></g><text
+ transform="matrix(1,0,0,-1,456.6675,791.8901)"
+ style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;font-family:'Myriad Pro';-inkscape-font-specification:MyriadPro-Regular;writing-mode:lr-tb;fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="text907"><tspan
+ x="0 6.96 16.608 23.016001 29.52 36 42.155998 48.312 50.855999 54.972 57.515999 63.672001 69.828003 72.372002 76.487999 79.031998 85.188004 91.344002 93.888 98.003998 100.548 106.704"
+ y="0"
+ id="tspan895">CMYK 80 / 58 / 52 / 55</tspan><tspan
+ x="0 6.4920001 14.244 20.747999 36 42.155998 48.312 50.855999 54.972 57.515999 63.672001 69.828003 72.372002 76.487999 79.031998 85.188004"
+ y="14.4"
+ id="tspan897">RGB 44 / 60 / 66</tspan><tspan
+ x="0 5.9640002 12.12 17.496 23.652 29.028 35.183998"
+ y="28.799999"
+ id="tspan899">#2c3c42</tspan><tspan
+ x="0 6.96 16.608 23.016001 29.52 36 42.155998 48.312 50.855999 54.972 57.515999 63.672001 66.216003 70.332001 72.875999 79.031998 85.188004 87.732002 91.848 94.391998"
+ y="52.428001"
+ id="tspan901">CMYK 45 / 0 / 38 / 0</tspan><tspan
+ x="0 6.4920001 14.244 20.747999 36 42.155998 48.312 54.467999 57.012001 61.127998 63.672001 69.828003 75.984001 82.139999 84.683998 88.800003 91.344002 97.5 103.656"
+ y="66.828003"
+ id="tspan903">RGB 152 / 217 / 182</tspan><tspan
+ x="0 5.9640002 12.12 18.275999 25.044001 31.200001 38.028"
+ y="81.227997"
+ id="tspan905">#98d9b6</tspan></text><g
+ id="g909"><g
+ id="g911"
+ clip-path="url(#clipPath915)"><g
+ id="g1081"
+ transform="translate(132.5386,213.0068)"
+ style="fill:#fff8e5;fill-opacity:1"><path
+ d="m 0,0 c -4.743,-7.134 -11.293,-12.883 -18.991,-16.639 -6.853,3.074 -12.884,7.815 -17.496,13.76 -5.846,7.524 -9.213,16.522 -9.745,26.005 l -0.064,22.986 c 7.849,-4.97 16.824,-7.655 26.179,-7.795 9.841,-0.164 19.651,2.632 27.945,7.882 L 7.945,31.322 C -2.146,19.818 -17.941,1.773 -18.019,1.438 c -0.077,0.493 -8.744,26.357 -8.744,26.357 h -6.793 L -21.96,-6.231 h 5.665 L 7.896,22.724 C 7.228,14.614 4.508,6.791 0,0 M 22.907,40.69 H 16.17 c 0,0 -1.744,-1.984 -4.44,-5.055 L 11.584,53.595 8.563,51.343 C 5.527,49.087 2.216,47.219 -1.267,45.767 v 7.483 h -3.821 v -8.882 c -4.589,-1.468 -9.4,-2.24 -14.228,-2.24 h -0.736 c -4.301,0.071 -8.512,0.721 -12.553,1.919 v 9.203 h -3.82 v -7.878 c -3.758,1.482 -7.335,3.454 -10.651,5.904 l -3.053,2.263 0.075,-30.476 v -0.099 c 0.563,-10.286 4.212,-20.029 10.546,-28.192 4.879,-6.285 11.234,-11.301 18.442,-14.635 v -7.211 h 3.821 v 7.066 c 8.272,4.062 15.323,10.213 20.427,17.898 5.198,7.806 8.175,16.889 8.641,26.255 v 0.052 l -0.026,3.196 z"
+ style="fill:#fff8e5;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path1083" /></g><g
+ id="g1085"
+ transform="translate(160.3198,222.127)"
+ style="fill:#fff8e5;fill-opacity:1"><path
+ d="m 0,0 h -8.841 v 0.713 c 0,0.633 0.078,1.265 0.238,1.9 0.158,0.633 0.435,1.214 0.832,1.736 0.395,0.521 0.895,0.903 1.497,1.141 0.601,0.237 1.219,0.355 1.854,0.355 0.633,0 1.259,-0.118 1.878,-0.355 0.617,-0.238 1.124,-0.62 1.52,-1.141 C -0.626,3.827 -0.357,3.246 -0.213,2.613 -0.072,1.978 0,1.346 0,0.713 Z M 3.898,6.797 C 3.296,7.683 2.55,8.43 1.664,9.03 0.777,9.633 -0.189,10.043 -1.235,10.267 -2.282,10.485 -3.343,10.6 -4.42,10.6 -5.466,10.6 -6.521,10.485 -7.582,10.267 -8.644,10.043 -9.618,9.633 -10.504,9.03 -11.392,8.43 -12.137,7.683 -12.739,6.797 -13.34,5.909 -13.76,4.944 -13.998,3.896 -14.236,2.851 -14.354,1.789 -14.354,0.713 v -6.181 c 0,-1.078 0.118,-2.136 0.356,-3.184 0.238,-1.046 0.666,-2.012 1.283,-2.897 0.618,-0.89 1.378,-1.627 2.281,-2.215 0.904,-0.584 1.878,-0.997 2.923,-1.233 1.046,-0.238 2.108,-0.355 3.186,-0.355 1.171,0 2.32,0.125 3.446,0.378 1.124,0.254 2.162,0.719 3.112,1.403 0.951,0.68 1.704,1.546 2.259,2.59 0.554,1.045 0.862,2.139 0.926,3.279 h -5.513 c -0.031,-0.634 -0.277,-1.194 -0.737,-1.686 -0.459,-0.491 -0.998,-0.816 -1.614,-0.974 -0.619,-0.158 -1.246,-0.238 -1.879,-0.238 -0.635,0 -1.259,0.118 -1.878,0.358 -0.617,0.236 -1.133,0.616 -1.545,1.138 -0.412,0.525 -0.697,1.103 -0.855,1.736 -0.16,0.636 -0.238,1.268 -0.238,1.9 v 0.714 H 5.515 v 5.467 c 0,1.076 -0.12,2.138 -0.357,3.183 C 4.919,4.944 4.5,5.909 3.898,6.797"
+ style="fill:#fff8e5;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path1087" /></g><g
+ id="g1089"
+ transform="translate(187.0615,229.0742)"
+ style="fill:#fff8e5;fill-opacity:1"><path
+ d="m 0,0 c -0.253,0.724 -0.617,1.374 -1.093,1.954 -0.475,0.576 -1.069,1.003 -1.782,1.277 -0.713,0.271 -1.434,0.41 -2.163,0.41 -0.792,0 -1.544,-0.153 -2.257,-0.459 -0.713,-0.307 -1.316,-0.763 -1.807,-1.373 -0.492,-0.613 -0.902,-1.262 -1.235,-1.954 -0.333,-0.689 -0.595,-1.42 -0.785,-2.194 v 5.596 h -5.561 v -25.556 h 5.561 V -8.75 c 0,0.643 0.023,1.278 0.071,1.902 0.049,0.627 0.144,1.249 0.285,1.859 0.144,0.609 0.349,1.204 0.618,1.783 0.269,0.58 0.666,1.061 1.189,1.447 0.522,0.386 1.1,0.577 1.735,0.577 0.507,0 0.966,-0.162 1.378,-0.481 0.411,-0.323 0.681,-0.739 0.808,-1.253 0.127,-0.514 0.191,-1.029 0.191,-1.543 h 5.512 c 0,0.77 -0.046,1.525 -0.142,2.266 C 0.428,-1.453 0.254,-0.724 0,0"
+ style="fill:#fff8e5;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path1091" /></g><g
+ id="g1093"
+ transform="translate(203.6797,232.7266)"
+ style="fill:#fff8e5;fill-opacity:1"><path
+ d="m 0,0 h -10.742 v -4.897 h 5.227 v -16.158 h -5.893 v -4.896 H 5.228 v 4.896 H 0 Z"
+ style="fill:#fff8e5;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path1095" /></g><g
+ id="g1097"
+ transform="translate(198.6172,237.0654)"
+ style="fill:#fff8e5;fill-opacity:1"><path
+ d="m 0,0 c 0.648,-0.288 1.307,-0.431 1.973,-0.431 0.696,0 1.361,0.143 1.995,0.431 0.634,0.281 1.095,0.75 1.379,1.399 0.285,0.648 0.427,1.307 0.427,1.972 0,0.698 -0.142,1.363 -0.427,1.998 C 5.063,6.002 4.602,6.461 3.968,6.747 3.334,7.032 2.669,7.174 1.973,7.174 1.307,7.174 0.648,7.032 0,6.747 -0.652,6.461 -1.117,6.002 -1.402,5.369 -1.687,4.734 -1.83,4.069 -1.83,3.371 -1.83,2.706 -1.687,2.047 -1.402,1.399 -1.117,0.75 -0.652,0.281 0,0"
+ style="fill:#fff8e5;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path1099" /></g><g
+ id="g1101"
+ transform="translate(229.106,230.4658)"
+ style="fill:#fff8e5;fill-opacity:1"><path
+ d="m 0,0 c -0.934,0.84 -2.012,1.43 -3.232,1.762 -1.221,0.331 -2.465,0.499 -3.731,0.499 -1.046,0 -2.085,-0.12 -3.114,-0.356 -1.03,-0.242 -1.989,-0.659 -2.876,-1.26 -0.887,-0.603 -1.622,-1.349 -2.21,-2.235 -0.586,-0.888 -0.998,-1.852 -1.236,-2.899 -0.238,-1.045 -0.357,-2.091 -0.357,-3.137 v -6.181 c 0,-1.044 0.119,-2.089 0.357,-3.135 0.238,-1.048 0.65,-2.016 1.236,-2.9 0.588,-0.888 1.323,-1.634 2.21,-2.234 0.887,-0.603 1.846,-1.024 2.876,-1.26 1.029,-0.238 2.068,-0.354 3.114,-0.354 1.266,0 2.51,0.166 3.731,0.498 1.22,0.333 2.298,0.916 3.232,1.758 0.934,0.836 1.638,1.853 2.115,3.041 0.477,1.189 0.713,2.4 0.713,3.638 v 0.094 h -5.514 v -0.048 c 0,-0.761 -0.174,-1.488 -0.521,-2.187 -0.349,-0.697 -0.873,-1.21 -1.569,-1.545 -0.698,-0.331 -1.426,-0.497 -2.187,-0.497 -0.602,0 -1.204,0.125 -1.807,0.38 -0.601,0.252 -1.093,0.642 -1.474,1.164 -0.38,0.521 -0.639,1.093 -0.783,1.709 -0.143,0.62 -0.214,1.247 -0.214,1.878 v 6.181 c 0,0.633 0.071,1.261 0.214,1.878 0.144,0.617 0.403,1.186 0.783,1.71 0.381,0.523 0.873,0.91 1.474,1.166 0.603,0.25 1.205,0.378 1.807,0.378 0.761,0 1.489,-0.166 2.187,-0.498 0.696,-0.334 1.22,-0.848 1.569,-1.543 0.347,-0.698 0.521,-1.429 0.521,-2.189 v -0.047 h 5.514 v 0.094 c 0,1.236 -0.236,2.449 -0.713,3.639 C 1.638,-1.852 0.934,-0.838 0,0"
+ style="fill:#fff8e5;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path1103" /></g><g
+ id="g1105"
+ transform="translate(250.8345,222.127)"
+ style="fill:#fff8e5;fill-opacity:1"><path
+ d="m 0,0 h -8.841 v 0.713 c 0,0.633 0.078,1.265 0.236,1.9 0.159,0.633 0.436,1.214 0.832,1.736 0.397,0.521 0.896,0.903 1.498,1.141 0.602,0.237 1.22,0.355 1.854,0.355 0.632,0 1.259,-0.118 1.878,-0.355 0.616,-0.238 1.124,-0.62 1.519,-1.141 0.397,-0.522 0.668,-1.103 0.81,-1.736 C -0.073,1.978 0,1.346 0,0.713 Z M 3.898,6.797 C 3.295,7.683 2.548,8.43 1.663,9.03 c -0.887,0.603 -1.852,1.013 -2.9,1.237 -1.045,0.218 -2.105,0.333 -3.184,0.333 -1.045,0 -2.101,-0.115 -3.162,-0.333 C -8.646,10.043 -9.619,9.633 -10.505,9.03 -11.393,8.43 -12.139,7.683 -12.741,6.797 -13.34,5.909 -13.762,4.944 -14,3.896 -14.238,2.851 -14.355,1.789 -14.355,0.713 v -6.181 c 0,-1.078 0.117,-2.136 0.355,-3.184 0.238,-1.046 0.667,-2.012 1.285,-2.897 0.617,-0.89 1.378,-1.627 2.282,-2.215 0.902,-0.584 1.876,-0.997 2.922,-1.233 1.045,-0.238 2.107,-0.355 3.186,-0.355 1.17,0 2.318,0.125 3.444,0.378 1.125,0.254 2.163,0.719 3.114,1.403 0.95,0.68 1.703,1.546 2.259,2.59 0.553,1.045 0.862,2.139 0.926,3.279 h -5.514 c -0.031,-0.634 -0.279,-1.194 -0.737,-1.686 -0.459,-0.491 -0.999,-0.816 -1.617,-0.974 -0.616,-0.158 -1.244,-0.238 -1.875,-0.238 -0.635,0 -1.262,0.118 -1.88,0.358 -0.616,0.236 -1.134,0.616 -1.545,1.138 -0.411,0.525 -0.696,1.103 -0.855,1.736 -0.158,0.636 -0.236,1.268 -0.236,1.9 v 0.714 H 5.513 V 0.713 C 5.513,1.789 5.394,2.851 5.157,3.896 4.918,4.944 4.499,5.909 3.898,6.797"
+ style="fill:#fff8e5;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path1107" /></g><g
+ id="g1109"
+ transform="translate(277.5737,229.1699)"
+ style="fill:#fff8e5;fill-opacity:1"><path
+ d="M 0,0 C -0.253,0.728 -0.618,1.382 -1.092,1.963 -1.568,2.542 -2.162,2.971 -2.874,3.245 -3.587,3.518 -4.31,3.658 -5.038,3.658 -5.83,3.658 -6.583,3.503 -7.294,3.197 -8.008,2.89 -8.61,2.43 -9.101,1.816 -9.593,1.201 -10.004,0.551 -10.337,-0.145 -10.67,-0.837 -10.932,-1.571 -11.12,-2.348 v 5.62 h -5.562 v -25.667 h 5.562 v 13.609 c 0,0.644 0.023,1.283 0.069,1.91 0.05,0.631 0.143,1.254 0.286,1.864 0.143,0.614 0.348,1.211 0.617,1.792 0.268,0.583 0.667,1.068 1.19,1.454 0.522,0.388 1.1,0.58 1.734,0.58 0.506,0 0.965,-0.162 1.38,-0.484 0.41,-0.323 0.679,-0.742 0.806,-1.257 0.128,-0.516 0.192,-1.035 0.192,-1.552 h 5.512 c 0,0.775 -0.047,1.535 -0.142,2.276 C 0.43,-1.458 0.254,-0.726 0,0"
+ style="fill:#fff8e5;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path1111" /></g><g
+ id="g1113"
+ transform="translate(298.5176,216.3564)"
+ style="fill:#fff8e5;fill-opacity:1"><path
+ d="m 0,0 v -0.242 c 0,-0.513 -0.041,-1.012 -0.118,-1.491 -0.08,-0.482 -0.215,-0.956 -0.404,-1.422 -0.19,-0.467 -0.502,-0.851 -0.928,-1.156 -0.429,-0.304 -0.879,-0.458 -1.355,-0.458 -0.603,0 -1.116,0.227 -1.546,0.675 -0.426,0.448 -0.729,0.954 -0.902,1.515 -0.176,0.563 -0.294,1.141 -0.357,1.734 -0.063,0.594 -0.096,1.182 -0.096,1.76 v 10.593 h 6.608 v 4.816 h -6.608 v 9.869 h -5.511 v -9.869 h -4.516 v -4.816 h 4.516 V 0.915 c 0,-1.029 0.077,-2.048 0.238,-3.06 0.157,-1.01 0.45,-1.981 0.877,-2.912 0.429,-0.931 1.007,-1.767 1.735,-2.503 0.731,-0.742 1.585,-1.261 2.568,-1.566 0.983,-0.302 1.979,-0.455 2.994,-0.455 1.141,0 2.264,0.193 3.374,0.575 1.108,0.386 2.051,1.034 2.829,1.95 0.777,0.915 1.332,1.941 1.665,3.083 0.332,1.139 0.498,2.287 0.498,3.444 V 0 Z"
+ style="fill:#fff8e5;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path1115" /></g><g
+ id="g1117"
+ transform="translate(116.2432,206.7754)"
+ style="fill:#6bb28c;fill-opacity:1"><path
+ d="m 0,0 h -5.665 l -11.596,34.026 h 6.794 c 0,0 8.667,-25.864 8.743,-26.357 0.078,0.336 15.873,18.381 25.964,29.885 L 24.124,52.431 C 15.83,47.181 6.02,44.385 -3.821,44.549 c -9.356,0.139 -18.331,2.824 -26.18,7.795 l 0.064,-22.987 c 0.532,-9.483 3.899,-18.481 9.745,-26.004 4.613,-5.946 10.643,-10.687 17.496,-13.76 7.698,3.756 14.248,9.505 18.991,16.638 0.536,0.808 1.042,1.63 1.527,2.464 0.035,0.063 0.074,0.125 0.11,0.187 0.46,0.801 0.892,1.614 1.304,2.436 0.05,0.1 0.102,0.199 0.151,0.297 0.397,0.807 0.768,1.625 1.119,2.45 0.05,0.119 0.101,0.236 0.151,0.354 0.341,0.822 0.658,1.651 0.953,2.489 0.044,0.126 0.088,0.25 0.131,0.375 0.289,0.843 0.555,1.694 0.797,2.55 0.034,0.12 0.066,0.238 0.099,0.357 0.238,0.873 0.455,1.749 0.645,2.634 0.021,0.099 0.04,0.198 0.061,0.298 0.189,0.909 0.355,1.826 0.491,2.747 0.01,0.063 0.017,0.125 0.026,0.187 0.139,0.962 0.252,1.928 0.331,2.899 z"
+ style="fill:#6bb28c;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path1119" /></g></g></g><text
+ transform="matrix(1,0,0,-1,19.1211,558.2915)"
+ style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;font-family:'Myriad Pro';-inkscape-font-specification:MyriadPro-Regular;writing-mode:lr-tb;fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="text1175"><tspan
+ x="0 6.8280001 10.944"
+ y="0"
+ id="tspan1169">b/w</tspan><tspan
+ x="0 5.3039999 11.892 14.724 18.84"
+ y="302.39999"
+ id="tspan1171">col/w</tspan><tspan
+ x="0 10.008 16.596001 23.256001 29.844 35.220001 41.880001 45.167999"
+ y="417.60001"
+ id="tspan1173">monochr.</tspan></text></g></svg>