Reorganize website.

This commit is contained in:
Gábor Boskovits 2018-12-13 18:32:48 +01:00
parent 14c778af61
commit 593d01c8c3
30 changed files with 1642 additions and 48 deletions

View File

@ -1,6 +1,8 @@
;; -*- geiser-scheme-implementation: guile -*-
;;; Bootstrappable.org website
;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;;
;;; This file is part of the Bootstrappable.org website.
;;;
@ -130,6 +132,19 @@ place them in the directory DEST."
(a (@ (href "https://gnu.org/licenses/agpl-3.0.html"))
"GNU AGPL") "."))
(define top-level-titles
'(("Benefits" . "/benefits.html")
("Best Practises" . "/best-practises.html")
("Projects" . "/projects.html")
("Contact" . "/who.html")))
(define (menu title)
`(ul ,@(map (lambda (arg)
(let ((name (car arg))
(link (cdr arg)))
`(li (a (@ (href ,link) (class ,(if (equal? name title) "active" "inactive"))) ,name))))
top-level-titles)))
(define (make-layout big-banner?)
(lambda (site title body)
`((doctype "html")
@ -158,6 +173,8 @@ place them in the directory DEST."
(a (@ (href "/"))
(img (@ (alt "A boot pulled up by its straps.")
(src "/images/banner-slim.svg"))))))
(nav (@ (id "menu"))
,(menu title))
(div (@ (id "page"))
,body)
,footer))))

View File

@ -1,4 +1,4 @@
(post :title "Best practises"
(post :title "Best Practises"
(page
(p [Are you developing or contributing to software that is affected by the bootstrapping problem?
The following sections list best practises and practical examples that can help you pull yourself up by your own bootstraps,

View File

@ -1,47 +1,8 @@
(post :title "Collaboration projects"
(post :title "Projects"
(page
(p [Here are a couple of ongoing projects in the bootstrappable builds community.
If you're interested in working on any of these projects please ,(anchor "contact us" "/who.html").])
(h2 [From C++ to the world of Java])
(p [The Java Development Kit (JDK) is written in Java, so you
need a JDK to build a JDK.
,(anchor "Learn more about how we cut the cycle!" "/projects/java.html")])
(h2 [Maintaining GCC version 4.7])
(p [The C and C++ compilers of the GNU Compiler Collection make up the foundation of many free software distributions.
Current versions of GCC are written in C++, which means that a C++ compiler is needed to build it from source.
GCC 4.7 was the last version of the collection that could be built with a plain C compiler, a much simpler task.])
(p [We propose to collectively maintain a subset of GCC 4.7 to ensure that we can build the foundation of free software distributions starting with a simple C compiler (such as tinyCC, pcc, etc).])
(h2 [Build GCC 4.7 with a smaller compiler])
(p [GCC is a complex beast and a binary of it is often used to bootstrap the whole system.
Version 4.7 is the last version of GCC to not require a C++ compiler.
This project aims to build GCC version 4.7 with a simple C compiler such as
,(anchor "TinyCC" "http://www.landley.net/code/tinycc/"),
,(anchor "pcc" "http://pcc.ludd.ltu.se/"), or
,(anchor "qcc" "http://www.landley.net/qcc/").])
(h2 [Bootstrapping GHC with Hugs])
(p [The Glasgow Haskell Compiler (GHC) is the most popular Haskell compiler.
It is written in Haskell and since the first public release requires GHC to build newer versions of the compiler.
It might be possible to build a first GHC from source with the Hugs interpreter and an older version of GHC.
,(anchor "This blog post describes a first attempt"
"http://elephly.net/posts/2017-01-09-bootstrapping-haskell-part-1.html")
of this project.])
(h2 [Working towards a source-based bootstrapping path to a GNU+Linux system])
(p [,(anchor "Mes"
"https://gitlab.com/janneke/mes")
aims to create an entirely source-based bootstrapping path.
The target is to have
,(anchor "GuixSD" "https://gnu.org/software/guix")
bootstrap from a minimal, easily inspectable binary—that should be readable as source—into something close to R6RS Scheme.])
(p [As bootstrapping is presumably easiest and probably most fun with Scheme, the next step for Mes is mescc:
a C compiler/linker to bootstrap into GNU GCC and GNU Guile, possibly via Tiny-CC.])
(p [It currently has an interpreter written in C with garbage collector,
a library of loadable Scheme modules and test suite just barely enough to support a simple REPL and a proof-of-concept C compiler that produces an ELF from the simplest of C files.])
(h2 [Growing a source-based bootstrapping path to a GNU system])
(p [,(anchor "Stage0"
"http://savannah.nongnu.org/projects/stage0")
@ -49,4 +10,43 @@
With zero external dependencies, with the most painful work already done and real langauges such as assembly, forth and garbage collected lisp already implemented])
(p [Demonstrate some old school skill, by writting a new compiler or interpreter or help with various support tasks required to keep this project on track.
Or if low level programming isn't for you, help bridge the gap between our goal and where we are by writing low dependency software in the high level language of your choice that might be easier for us to bootstrap.])
(p [Even if contributing to it isn't for you, if you could take 7 minutes to verify what already exists on whatever weird operating system or hardware you have; we would love to hear about your results.])))
(p [Even if contributing to it isn't for you, if you could take 7 minutes to verify what already exists on whatever weird operating system or hardware you have; we would love to hear about your results.])
(h2 [Working towards a source-based bootstrapping path to a GNU+Linux system])
(p [A distsribution has to start from bootstrap binaries that are taken for granted.
,(anchor "Learn more about how we reduce the size of the binary seeds!" "/projects/mes.html")])
(h2 [Maintaining GCC version 4.7])
(p [The C and C++ compilers of the GNU Compiler Collection make up the foundation of many free software distributions.
Current versions of GCC are written in C++, which means that a C++ compiler is needed to build it from source.
GCC 4.7 was the last version of the collection that could be built with a plain C compiler, a much simpler task.])
(p [We propose to collectively maintain a subset of GCC 4.7 to ensure that we can build the foundation of free software
distributions starting with a simple C compiler (such as tinyCC, pcc, etc).])
(h2 [From C++ to the world of Java])
(p [The Java Development Kit (JDK) is written in Java, so you
need a JDK to build a JDK.
,(anchor "Learn more about how we cut the cycle!" "/projects/java.html")])
(h2 [Bootstrapping the rest of the Java ecosystem])
(p [In the Java world there are a lot of tools from testing frameworks
like JUnit to build tools like Maven and Gradle that have self dependencies.
Bootstrapping these is an ongoing effort. To see the current status and
work to be done have a look at ,(anchor "Bootstrapping Java Tools"
"/projects/java-tools.html")])
(h2 [Boostrapping JVM languages])
(p [The Java Virtual Machine runs several other languages besides java,
all of them with their own tools and ecosystem. The most prominent ones
are Groovy, Clojure, Scala and Kotlin. Some of these are already
bootstrapped, but this is an ongoing effort. To see the current status
and work to be done have a look at ,(anchor "Bootstrapping JVM languages"
"/projects/jvm-languages.scm")])
(h2 [Bootstrapping GHC with Hugs])
(p [The Glasgow Haskell Compiler (GHC) is the most popular Haskell compiler.
It is written in Haskell and since the first public release requires GHC to build newer versions of the compiler.
It might be possible to build a first GHC from source with the Hugs interpreter and an older version of GHC.
,(anchor "This blog post describes a first attempt"
"http://elephly.net/posts/2017-01-09-bootstrapping-haskell-part-1.html")
of this project.])))

View File

@ -0,0 +1,24 @@
title: Bootstapping Java Tools
---
### Maven
Maven is a build tool in the Java ecosystem. It needs Maven to build.
Maven is bootstrapped in GNU Guix, using generated build configuration
files for the Ant build tool, that is already bootstrapped as the result
of the [From C++ to the world of Java](/projects/java.html) project.
You can download the graph of dependencies from [here](/static/graphs/maven.dot)
in a dot format.
## Gradle
Gradle is a build tool in the Java ecosystem. It needs Gradle to build.
It also depends on Scala. Scala is currently not bootstrappable, to
see the status of work in progress on the issue see
[Bootstrapping JVM Languages](/projects/jvm-languages.html).
It would be nice to check if Gradle also depends on Kotlin, which is
another JVM language that is not bootstrapped yet.
[← back to list of projects](/projects.html)

View File

@ -0,0 +1,35 @@
title: Bootstrapping JVM languages
---
### Clojure
The Clojure language is bootstrapped on GNU Guix.
Clojure just did the right thing regarding bootstrappability. They have a
bootstrappabel build system (Ant), and they have their core in a bootstrappable
language (Java), that is just enough to build the parts of the Clojure complier
so that it can build its Clojure files.
### Groovy
The Groovy language is bootstrapped on GNU Guix.
### Scala
We do not know about a bootsrap path for Scala. Going down the dependency chain
of Scala proved to be futile, as the first pulished version of Scala depends
on proprietary software. Most probably the only way to do this, after a
thoughtful mapping of problem space, seems to be writing a bootstrap compiler
for Scala. Some preliminary work has already been done in that direction, but
it is not ready for publication yet. People interested bootstrapping Scala
are welcome to inquire on the
[#bootstrappable IRC channel]("http://webchat.freenode.net?randomnick=1&channels=%23bootstrappable&uio=d4")
on freenode.
### Kotlin
We do not know about a bootstrap path for Kotiln. We are in the phase of
mapping the dependencies of Kotlin to get a plan to have it bootstrapped.
People interested in bootstrapping Kotlin are welcome to join in.
[← back to list of projects](/projects.html)

39
pages/projects/mes.md Normal file
View File

@ -0,0 +1,39 @@
title: Working towards a source-based bootstrapping path to a GNU+Linux system]
---
### Reduced binary seed bootstrap (current status)
[Mes](https://www.gnu.org/software/mes) aims to create an entirely source-based bootstrapping path.
The target is to have [GuixSD](https://gnu.org/software/guix)
bootstrap from a minimal, easily inspectable binary—that should be readable as
source—into something close to R6RS Scheme.
As bootstrapping is presumably easiest and probably most fun with Scheme, the next step for Mes is mescc:
a C compiler/linker to bootstrap into GNU GCC and GNU Guile, via Tiny-CC.
It currently has an interpreter written in C with garbage collector,
a library of loadable Scheme modules and test suite just barely enough to support a simple REPL and a
C compiler that can build TinyCC.
The following the graph shows how in GuixSD GCC is removed from the bootstrap binary seed:
This is the dependency graph of the bootstrap as implemented in
[GNU Guix](https://gnu.org/software/guix):
![dependency graph of the bootstrap in GNU Guix](/images/gcc-mesboot0.png)
--The nodes having elliptical shape are the static bootstrap binaries bundled into
--a single tarball, we show them to make implicit dependencies clear.
--
--The nodes having red text are development only dependecies, they can be safely
--dropped once the bootstrap is stabilized.
It is also possible to create a similar bootstrap path for other distributions,
as showcased by Nix on the Reproducible Build Summit.
### Build GCC 4.7 with a smaller compiler
GCC is a complex beast and a binary of it is often used to bootstrap the whole system.
Version 4.7 is the last version of GCC to not require a C++ compiler.
This project aims to build GCC version 4.7 with a simple C compiler such as
[TinyCC](http://www.landley.net/code/tinycc/).
[← back to list of projects](/projects.html)

View File

@ -1,7 +1,8 @@
(post :title "Who we are"
(post :title "Contact"
(page
(p [This project was started at the ,(anchor "2016 Reproducible Builds Summit" "https://reproducible-builds.org/events/berlin2016/") in Berlin,
where people involved with various GNU+Linux distributions and BSDs discussed the state of software reproducibility.])
(p [To contact us please send email to ,(anchor "the bootstrappable mailing list" "mailto:bootstrappable@freelists.org.").
(p [To contact us please send email to ,(anchor "the bootstrappable mailing list" "mailto:bootstrappable@freelists.org")
or join the ,(anchor "#bootstrappable IRC channel" "http://webchat.freenode.net?randomnick=1&channels=%23bootstrappable&uio=d4") on freenode.
The ,(anchor "mailing list archive is publicly accessible" "https://www.freelists.org/archive/bootstrappable/").])
(p [To subscribe to the mailing list send an email with "subscribe" in the subject to ,(code "bootstrappable-request@freelists.org").])))

0
screen.css Normal file
View File

5
site/benefits.html Normal file
View File

@ -0,0 +1,5 @@
<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="Content-Language" content="en" /><meta name="author" content="Ricardo Wurmus" /><meta name="viewport" content="width=device-width" /><title>Benefits</title><link rel="stylesheet" media="screen" type="text/css" href="/css/reset.css" /><link rel="stylesheet" media="screen" type="text/css" href="/css/screen.css" /><link rel="shortcut icon" href="http://bootstrappable.org/favicon.ico" /></head><body id="top"><div id="banner-slim"><a href="/"><img alt="A boot pulled up by its straps." src="/images/banner-slim.svg" /></a></div><nav id="menu"><ul><li><a href="/benefits.html" class="active">Benefits</a></li><li><a href="/best-practises.html" class="inactive">Best Practises</a></li><li><a href="/projects.html" class="inactive">Projects</a></li><li><a href="/who.html" class="inactive">Contact</a></li></ul></nav><div id="page"><div class="page"><p>This is nice, but what are the actual benefits of “bootstrappable” implementations?</p><h2>For users</h2><p>As a user, bootstrappable implementations, together with <a href="https://reproducible-builds.org">reproducible builds</a>, provide confidence that you are running the code you expect to be running.
Its source code is auditable by the developer community, which in turns provides reassurance that the code youre running does not have backdoors.</p><h2>For distributors</h2><p>Bootstrappable implementations provide clear provenance tracking:
the dependency graph of your distribution packages shows how each binary was obtained.</p><p>Having an automated process for bootstrapping your distribution on existing architectures greatly simplifies porting to new architectures.
With a formalised system bootstrap process you can just focus on issues specific to the new architecture.</p><h2>For developers</h2><p>If you are a compiler writer, making your compiler bootstrappable from a different language will simplify the development process (no need to carry large pre-built binaries around).
It will also make it easier to port the compiler to a different platform for which no bootstrap binaries exist yet.</p></div></div><footer>Made with <span class="highlight"></span> by <a href="/who.html">humans</a> and powered by <a href="https://gnu.org/software/guile">GNU Guile</a>. <a href="http://git.savannah.gnu.org/cgit/guix/bootstrappable.git/">Source code</a> under the <a href="https://gnu.org/licenses/agpl-3.0.html">GNU AGPL</a>.</footer></body>

28
site/best-practises.html Normal file
View File

@ -0,0 +1,28 @@
<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="Content-Language" content="en" /><meta name="author" content="Ricardo Wurmus" /><meta name="viewport" content="width=device-width" /><title>Best Practises</title><link rel="stylesheet" media="screen" type="text/css" href="/css/reset.css" /><link rel="stylesheet" media="screen" type="text/css" href="/css/screen.css" /><link rel="shortcut icon" href="http://bootstrappable.org/favicon.ico" /></head><body id="top"><div id="banner-slim"><a href="/"><img alt="A boot pulled up by its straps." src="/images/banner-slim.svg" /></a></div><nav id="menu"><ul><li><a href="/benefits.html" class="inactive">Benefits</a></li><li><a href="/best-practises.html" class="active">Best Practises</a></li><li><a href="/projects.html" class="inactive">Projects</a></li><li><a href="/who.html" class="inactive">Contact</a></li></ul></nav><div id="page"><div class="page"><p>Are you developing or contributing to software that is affected by the bootstrapping problem?
The following sections list best practises and practical examples that can help you pull yourself up by your own bootstraps,
no matter if you are <a href="#compiler">a compiler writer</a>,
<a href="#build-system">a build system developer</a>,
or <a href="#distro">a system distribution developer</a>.</p><div id="compiler"></div><h2>For compiler writers</h2><p>If you're working on a compiler that is written in a language other than the one it's compiling, you're all set!</p><p>If your compiler is written in the language that it's compiling (“self-hosted”), it probably falls in one of the following categories.</p><h3>When an alternative implementation exists</h3><p>If other implementations of this programming language exist, please make sure your compiler can be built with one of these.
Examples include:</p><ul><li>The Go programming language has two implementations:
<a href="https://golang.org/">the reference implementation</a> is self-hosted, and that in <a href="https://gcc.gnu.org">GCC</a> is written in C++.
Furthermore, version 1.4 of the reference implementation was written in a different language and can be used to build version 1.5.</li><li>Common Lisp has several implementations.
Notably <a href="http://www.clisp.org/">GNU clisp</a> is written and C and can be used to build self-hosted implementations such as <a href="http://www.sbcl.org/">SBCL</a>.</li></ul><h3>When there is only one implementation</h3><p>If your compiler targets a language for which no other implementation exists, then please consider maintaining a (minimal) implementation of the language written in a different language.
Most likely this implementation exists, or existed at the point the programming language was created.
Maintaining this alternate implementation has a cost;
however, this cost should be minimal if this alternate implementation is used routinely to build the compiler, and if this implementation is kept simple—it does not need to be optimized.</p><p>Examples include:</p><ul><li><a href="https://gnu.org/software/guile">GNU Guile</a>,
a Scheme implementation with a self-hosted compiler,
relies on a <a href="http://git.savannah.gnu.org/cgit/guile.git/tree/libguile/eval.c">Scheme interpreter written in C</a> for bootstrapping purposes.</li></ul><p>Please let us know if youd like to add your compiler to this list!</p><div id="build-system"></div><h2>For build systems writers</h2><p>Build systems sometimes have chicken-and-egg problems: they may need a version of themselves to get built.
If you are developing a build system, this can be avoided.
We recommend that you provide an alternative way to build your build system.</p><p>Examples include:</p><ul><li><a href="https://gnu.org/software/make">GNU Make</a> does not require a <code>make</code> implementation.
It can be built using a <a href="http://git.savannah.gnu.org/cgit/make.git/tree/build.template">shell script</a>.</li><li><a href="http://ant.apache.org/">Apache Ant</a> can bootstrap with a <a href="https://git-wip-us.apache.org/repos/asf?p=ant.git;a=blob;f=bootstrap.sh;h=60b6ece03ce78716bc036a44226f4934b541f326;hb=HEAD">shell script</a> that only relies on the Java compiler.</li><li><a href="https://bazel.build/">Bazel</a> does not require Bazel to build itself but can be boostrapped with a <a href="https://github.com/bazelbuild/bazel/blob/master/compile.sh">shell script</a>.</li><li><a href="https://buckbuild.com/">Buck</a> does not require Buck to build itself.
Instead, it can be built using <a href="https://github.com/facebook/buck/blob/master/build.xml">Ant</a>.</li></ul><p>Build systems are generally easier to safely bootstrap than a self-hosted compiler that may need a full language compiler of its language.
A slow and inefficient build written in shell scripts or a different older build system (Ant, GNU Make) may suffice to generate a minimal version of the build system to bootstrap a complete version of it.</p><div id="distro"></div><h2>For distros</h2><p>It is unavoidable that distributions use some binaries as part of their bootstrap chain.
However, distributions should endeavour to provide traceacibility and automated reproducibility for such binaries.
This means that:</p><ul><li>It should be clear where the binary came from and how it was produced.</li><li>Users can reproduce the binary to verify that it has not been tampered with.</li></ul><p>For example, a distribution might use a binary package of GCC to build GCC from source.
This bootstrap binary is in most cases built from a previous revision of the distribution's GCC package.
Thus, the distribution can label the binary with something like &quot;this package was built by running &lt;command&gt; on revision &lt;hash&gt; of the distribution's package repository.&quot;
A user can then easily reproduce the binary by fetching the specified sources and running the specified command.
This build will in most cases depend on a previous generation of bootstrap binaries.
Thus, we get a chain of verifiable bootstrap binaries stretching back in time.</p><p>Bootstrap binaries may also come from upstream.
This would typically be the case when a language is first added to a distribution.
In this case, it may not be obvious how the binary can be reproduced, but the distribution should at least clearly label the provenance of the binary, e.g. <em>this binary was downloaded from https://upstream-compiler.example.org/upstream-compiler-20161211-x86_64-linux.tar.xz</em>.</p></div></div><footer>Made with <span class="highlight"></span> by <a href="/who.html">humans</a> and powered by <a href="https://gnu.org/software/guile">GNU Guile</a>. <a href="http://git.savannah.gnu.org/cgit/guix/bootstrappable.git/">Source code</a> under the <a href="https://gnu.org/licenses/agpl-3.0.html">GNU AGPL</a>.</footer></body>

1
site/blog/index.html Normal file
View File

@ -0,0 +1 @@
<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="Content-Language" content="en" /><meta name="author" content="Ricardo Wurmus" /><meta name="viewport" content="width=device-width" /><title>Recent Posts</title><link rel="stylesheet" media="screen" type="text/css" href="/css/reset.css" /><link rel="stylesheet" media="screen" type="text/css" href="/css/screen.css" /><link rel="shortcut icon" href="http://bootstrappable.org/favicon.ico" /></head><body id="top"><div id="banner-slim"><a href="/"><img alt="A boot pulled up by its straps." src="/images/banner-slim.svg" /></a></div><nav id="menu"><ul><li><a href="/benefits.html" class="inactive">Benefits</a></li><li><a href="/best-practises.html" class="inactive">Best Practises</a></li><li><a href="/projects.html" class="inactive">Projects</a></li><li><a href="/who.html" class="inactive">Contact</a></li></ul></nav><div id="page"><h1>Recent Posts</h1><ul class="archive"></ul></div><footer>Made with <span class="highlight"></span> by <a href="/who.html">humans</a> and powered by <a href="https://gnu.org/software/guile">GNU Guile</a>. <a href="http://git.savannah.gnu.org/cgit/guix/bootstrappable.git/">Source code</a> under the <a href="https://gnu.org/licenses/agpl-3.0.html">GNU AGPL</a>.</footer></body>

Binary file not shown.

62
site/css/reset.css Normal file
View File

@ -0,0 +1,62 @@
/* http://meyerweb.com/eric/tools/css/reset/
v2.0b1 | 201101
NOTE: WORK IN PROGRESS
USE WITH CAUTION AND TEST WITH ABANDON */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
/* remember to define visible focus styles!
:focus {
outline: ?????;
} */
/* remember to highlight inserts somehow! */
ins {
text-decoration: none;
}
del {
text-decoration: line-through;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

298
site/css/screen.css Normal file
View File

@ -0,0 +1,298 @@
@font-face {
font-family: 'droid_serifregular';
src: url('DroidSerif-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'linbiolinum';
src: url('linbiolinum_rah-webfont.woff2') format('woff2'),
url('linbiolinum_rah-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
}
html {
height: 100%;
}
html, body {
font-family: "droid_serifregular", serif;
text-rendering: optimizelegibility;
-moz-font-feature-settings: "liga";
line-height: 140%;
color: #333;
background: #fcfbf3; }
@media all {html {font-size: 24px;}}
@media all and (max-width:1000px){html {font-size: 24px;}}
@media all and (max-width:960px){html {font-size: 23px;}}
@media all and (max-width:920px){html {font-size: 22px;}}
@media all and (max-width:880px){html {font-size: 21px;}}
@media all and (max-width:840px){html {font-size: 20px;}}
@media all and (max-width:800px){html {font-size: 19px;}}
@media all and (max-width:760px){html {font-size: 18px;}}
body {
margin: 0 auto;
display:flex;
flex-direction: column;
min-height: 100%;
}
body .elephly {
background: #bdc0ac; }
nav#menu {
box-shadow: 0px 3px 8px #ccc;
margin-bottom: 1em;
background: #fff; }
nav#menu ul {
list-type: none;
text-align: center;
}
nav#menu ul li {
display: inline-block;
padding: 0.5em 1em;
}
nav#menu a, nav#menu a:visited {
color: black;
}
nav#menu a.active, a.active:hover {
color: #ff00ff;
background: none;
}
/*nav#menu a:hover {
color: inherited;
background: none;
}*/
#index {
padding: 1rem;
margin-left: 2rem; }
#banner-slim, #banner {
margin-left: auto;
margin-right: auto;
margin-top: 0;
margin-bottom: 0;
width: 100%;
background: #fff;
text-align: center; }
#banner-slim a, #banner a {
border-bottom: none; }
#banner img {
max-width: 1200px;
min-width: 400px;
height: auto; }
#banner-slim {
padding-bottom: 0.3em;
padding-top: 0.3em; }
#banner-slim a:hover {
background-color: inherit;
}
footer {
background-color: #fff;
box-shadow: 0px -3px 8px #ccc;
color: #000;
font-size: 12px;
margin-top: 3rem;
padding: 1em;
text-align: center; }
footer .highlight {
color: #ff00ff; }
@media screen and (max-width: 600px) {
#index {
text-align: center; }}
#page {
flex: 1;
}
/* drop caps */
#page p:first-child:first-letter {
font-size: 5em;
float: left;
color: #ff00ff;
line-height: 1em;
padding-top: 4px;
padding-right: 8px;
padding-left: 3px;
}
#page ul {
list-style: square outside;
margin-top: 0.5rem;
margin-bottom: 0.5rem; }
div.time {
color: #9ba0a7;
margin-top: -2.8rem;
margin-bottom: 2.5rem;
font-size: 0.9rem;
font-weight: normal; }
div.figure {
text-align: center;
background: #fff;
box-sizing: border-box;
box-shadow: 0 0 0.4em 0 #888;
margin: 1rem;
padding: 1rem; }
@media screen and (min-width: 600px) {
div.figure {
float: right; }}
@media screen and (max-width: 600px) {
div.figure {
float: none;
clear: both; }}
div#page div.figure p.caption {
width: auto;
text-align: center;
font-size: 0.8rem; }
div.footnotes {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px dotted #aaaaaa; }
h1 {
color: #000;
clear: both;
line-height: 125%;
text-align: center;
margin-top: 1.3rem;
margin-bottom: 1.3rem;
display: block;
font-size: 2.2rem;
font-weight: 400; }
@media screen and (max-width: 600px) {
h1:first-child {
margin-top: 1rem; }}
* + h2 {
margin-top: 1.8rem; }
* + h3 {
margin-top: 1.5rem; }
h2, h3 {
color: #333;
margin-bottom: 0.5em;
clear: both; }
h2 {
text-align: center;
font-size: 1.2rem;
padding-bottom: 0.3em;
letter-spacing: -0.02em; }
h3 {
font-family: "Droid Sans", Arial, sans-serif;
font-size: 1em;
font-weight: bold; }
a {
color: #0aa;
text-decoration: none; }
a:visited {
color: #808; }
a:hover {
color: #000;
background: #ffff00; }
strong {
font-weight: bold; }
div#page {
overflow: visible;
max-width: 32rem;
margin-left: 1rem;
margin-right: 1rem;
margin-bottom: 1rem; }
@media only screen and (min-width: 600px) {
div#page {
margin-left: 4rem;
margin-right: 4rem; }}
@media only screen and (min-width: 1024px) {
div#page {
margin-left: auto;
margin-right: auto; }}
div#page ul {
max-width: 32rem; }
div#page p {
margin-bottom: 0;
text-align: justify;
max-width: 32rem; }
div#page p img, div#page p video {
max-width: 100%;
display: inline;
float: right;
margin-left: 0.8rem;
-moz-border-radius: 15px;
border-radius: 15px; }
div#page p.back {
margin-top: 1.5rem;
width: 50%; }
div#page blockquote {
margin-left: 3rem;
margin-right: 3rem;
margin-top: 1rem;
margin-bottom: 1rem;
font-size: 0.9rem;
font-style: italic; }
div#page img.full {
width: 100%;
margin-top: 0.5rem;
margin-bottom: 1rem;
margin-left: 0;
margin-right: 0;
position: static;
float: none;
clear: both;
padding: 0;
display: block;
-moz-border-radius: 15px;
border-radius: 15px; }
div#page img.stretch {
width: 100%; }
p + p, div.figure + p {
text-indent: .5rem;
margin-top: 0.4rem; }
pre {
margin: 1rem;
padding: 1rem;
display: inline-block;
border-radius: 3px;
background: #444; }
pre code {
color: #aaff00;
background: transparent; }
span.code, code {
font-family: "Envy Code R", "Inconsolata", "Consolas", "Courier New", monospace;
color: #111;
background: #dedede; }
span.code {
font-size: 0.85rem;
border-bottom: #888;
padding: .15rem; }
br {
clear: left; }
em {
font-style: italic; }

1
site/feed.xml Normal file
View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title>Bootstrappable</title><subtitle>Recent Posts</subtitle><updated>2018-12-16T00:06:05+0100</updated><link href="http://bootstrappable.org/blog/feed.xml" rel="self" /><link href="http://bootstrappable.org/blog" /></feed>

View File

@ -0,0 +1,89 @@
digraph "Guix bag" {
dpi=100
"/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [fontcolor = red]
//HANDCRAFTED UNTIL HERE TO BE ABLE TO CUSTOMIZE
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc-mesboot0-2.95.3.drv" [label = "gcc-mesboot0@2.95.3", shape = box, fontname = Helvetica];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils-mesboot0-2.20.1a.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-mesboot-2.95.3.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc-mesboot0-2.2.5.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make-mesboot0-3.80.drv" [color = darkgoldenrod];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils-mesboot0-2.20.1a.drv" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = Helvetica];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-boot-0.9.27.drv" [color = peachpuff4];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" [color = peachpuff4];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make-mesboot0-3.80.drv" [color = peachpuff4];
"/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-boot-0.9.27.drv" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
"/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-boot-0.9.27.drv" -> "/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-boot-0.18.drv" [color = red];
"/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-boot-0.9.27.drv" -> "/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc-boot0-0.9.26-5.c7b3f59.drv" [color = red];
"/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-boot-0.9.27.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = red];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-boot-0.18.drv" [label = "mes-boot@0.18", shape = box, fontname = Helvetica];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-boot-0.18.drv" -> "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [color = darkseagreen];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-boot-0.18.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-boot-0.18.drv" -> "/gnu/store/629yzay882kh1yhpqddps2psfhpjrk2q-bootstrap-mes-0.drv" [color = darkseagreen];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-boot-0.18.drv" -> "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [color = darkseagreen];
"/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [label = "bootstrap-mescc-tools@0.5.2", shape = box, fontname = Helvetica];
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [label = "bootstrap-binaries@0", shape = box, fontname = Helvetica];
"/gnu/store/629yzay882kh1yhpqddps2psfhpjrk2q-bootstrap-mes-0.drv" [label = "bootstrap-mes@0", shape = box, fontname = Helvetica];
"/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [label = "guile-bootstrap@2.0", shape = box, fontname = Helvetica];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc-boot0-0.9.26-5.c7b3f59.drv" [label = "tcc-boot0@0.9.26-5.c7b3f59", shape = box, fontname = Helvetica];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-boot-0.18.drv" [color = dimgrey];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [color = dimgrey];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/629yzay882kh1yhpqddps2psfhpjrk2q-bootstrap-mes-0.drv" [color = dimgrey];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [color = dimgrey];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" -> "/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-boot-0.18.drv" [color = blue];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" -> "/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-boot-0.9.27.drv" [color = blue];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make-mesboot0-3.80.drv" [color = blue];
"/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make-mesboot0-3.80.drv" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
"/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make-mesboot0-3.80.drv" -> "/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-boot-0.9.27.drv" [color = blue];
"/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make-mesboot0-3.80.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-mesboot-2.95.3.drv" [label = "gcc-core-mesboot@2.95.3", shape = box, fontname = Helvetica];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils-mesboot0-2.20.1a.drv" [color = darkseagreen];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-boot-0.9.27.drv" [color = darkseagreen];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" [color = darkseagreen];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make-mesboot0-3.80.drv" [color = darkseagreen];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc-mesboot0-2.2.5.drv" [label = "glibc-mesboot0@2.2.5", shape = box, fontname = Helvetica];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils-mesboot0-2.20.1a.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-mesboot-2.95.3.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make-mesboot0-3.80.drv" [color = blue];
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" [label = "mesboot-headers@0.18", shape = box, fontname = Helvetica];
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = cyan3];
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = cyan3];
"/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [label = "linux-libre-headers-bootstrap@0", shape = box, fontname = Helvetica];
// HANDCRAFTED FROM HERE TO MAKE THE STATIC BOOTSTRAP BINARIES VISIBLE
tar [fontname = Helvetica]
gzip [fontname = Helvetica]
bzip2 [fontname = Helvetica]
xz [fontname = Helevtica]
patch [fontname = Helevtica]
coreutils [fontname = Helvetica]
sed [fontname = Helvetica]
grep [fontname = Helvetica]
gawk [fontname = Helvetica]
bash [fontname = Helvetica]
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> tar
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> gzip
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> bzip2
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> xz
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> patch
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> coreutils
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> sed
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> grep
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> gawk
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> bash
}

359
site/images/banner-slim.svg Normal file
View File

@ -0,0 +1,359 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="100.47163mm"
height="17.497mm"
viewBox="0 0 356.00186 61.997247"
id="svg2"
version="1.1"
inkscape:version="0.92.1 r15371"
sodipodi:docname="banner-slim.svg">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="81.694488"
inkscape:cy="150.00474"
inkscape:document-units="px"
inkscape:current-layer="g4409"
showgrid="false"
showborder="true"
inkscape:window-width="1278"
inkscape:window-height="798"
inkscape:window-x="1"
inkscape:window-y="1"
inkscape:window-maximized="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata7">
<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:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="background"
transform="translate(-22.000028,-171.96619)" />
<g
inkscape:label="boot"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-113.5236,-244.12425)" />
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="pulleys"
style="display:inline"
transform="translate(-113.5236,-244.12425)" />
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="strap"
style="display:inline"
transform="translate(-113.5236,-244.12425)">
<g
id="g4409"
transform="matrix(0.60542205,0,0,0.60542205,44.793896,120.78879)">
<path
sodipodi:nodetypes="cssssccsssscsscccsscscssssssssssc"
inkscape:connector-curvature="0"
d="m 115.43033,269.76926 c 0,0 7.43865,11.8132 16.50857,15.00366 6.72736,2.36644 11.6964,4.18106 19.62057,5.29884 6.91677,0.97568 14.92029,-1.77714 22.27729,-0.33145 3.99824,0.78568 10.39275,6.14924 17.77719,8.41974 8.19586,2.52 17.29278,1.86163 18.86678,0.43869 m -44.44737,-9.36081 c 0,0 -13.35243,-3.91431 -14.53442,-9.5987 -1.13541,-5.46033 0.19378,-15.12046 9.12867,-14.02164 4.43134,0.54496 11.09596,-1.05427 14.6009,-2.76401 4.95429,-2.41674 9.52808,-7.55308 14.15707,-10.51802 6.02667,-3.8602 10.45205,-14.22793 12.01904,-13.04926 0,0 2.94884,5.64054 13.12156,9.86985 2.56718,1.06731 8.43343,3.56042 11.92613,3.32691 3.42035,-0.22867 4.39714,-3.76277 4.39714,-3.76277 l -0.35685,0.84552 m -19.62585,48.78276 c 0,0 6.03568,-9.48887 7.82077,-16.02671 1.30435,-4.77711 0.81289,-12.27292 2.29423,-16.99814 1.92488,-6.14004 7.94696,-12.01031 9.85348,-16.59986 -1.01774,-6.30804 -8.8699,-9.31859 -14.36987,-12.4814 -6.23348,-3.58462 -20.41797,-6.96116 -20.41797,-6.96116 0,0 -8.74573,14.42761 -15.32734,19.37837 -7.96497,5.99134 -17.83055,9.76317 -27.67519,11.31886 -7.59635,1.20041 -16.894,-2.55046 -24.93034,-0.43014 -3.79296,1.00075 -7.00481,2.9638 -10.13478,5.9815 -1.58503,1.52816 -0.96227,2.8316 -2.25927,4.07066 -3.51128,3.35447 -0.13534,8.98919 2.56848,12.02202 7.52916,8.44535 18.43636,11.10103 29.53659,13.29125 7.34173,1.44862 14.928,-1.28272 22.44801,0.28592 6.60932,1.37867 13.57103,6.41901 20.07511,8.23028 5.50113,1.53197 11.10738,3.09206 15.94436,0.87062 2.27381,-1.04427 4.57373,-5.95207 4.57373,-5.95207 z"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.41182423;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4159-3"
transform="translate(-4.0506463e-6,-2.1425481e-6)" />
<circle
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,-4.0506463e-6,-2.1425481e-6)"
r="1.5891345"
cy="106.03455"
cx="-301.01883"
id="path4178"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<circle
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,-4.0506463e-6,-2.1425481e-6)"
r="1.5891345"
cy="113.97942"
cx="-298.61157"
id="path4178-6"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<circle
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,-4.0506463e-6,-2.1425481e-6)"
r="1.5891345"
cy="121.79488"
cx="-295.58624"
id="path4178-6-7"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<circle
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,-4.0506463e-6,-2.1425481e-6)"
r="1.5891345"
cy="128.85399"
cx="-291.17429"
id="path4178-6-7-5"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<circle
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,-4.0506463e-6,-2.1425481e-6)"
r="1.5891345"
cy="97.844315"
cx="-302.39325"
id="path4178-3"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<circle
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,-4.0506463e-6,-2.1425481e-6)"
r="1.5891345"
cy="93.27935"
cx="-292.80392"
id="path4178-3-5"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<circle
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,-4.0506463e-6,-2.1425481e-6)"
r="1.5891345"
cy="101.30148"
cx="-292.26913"
id="path4178-3-5-6"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<circle
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,-4.0506463e-6,-2.1425481e-6)"
r="1.5891345"
cy="108.25399"
cx="-290.6647"
id="path4178-3-5-6-2"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
sodipodi:nodetypes="cscsccsc"
inkscape:connector-curvature="0"
id="rect4285"
d="m 240.97721,246.66457 c 0,0 -0.49537,-0.81661 -0.96228,-1.30834 -0.53422,-0.56261 -1.54496,-1.20294 -1.54496,-1.20294 0,0 -2.50595,0.27579 -3.83263,0.52524 -1.56837,0.29489 -4.85251,1.10777 -4.85251,1.10777 l 1.51787,2.39175 c 0,0 2.97751,-1.13307 4.53224,-1.44459 1.8487,-0.37043 5.14227,-0.0689 5.14227,-0.0689 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="translate(-4.0506463e-6,-2.1425481e-6)" />
<path
sodipodi:nodetypes="ccscsasc"
inkscape:connector-curvature="0"
id="rect4288"
d="m 219.06263,275.76342 c 0,0 -0.58025,3.23661 -3.18814,2.85992 -1.30455,1.99533 -11.24223,-0.0791 -14.0189,-0.027 -2.91012,0.0546 -8.73172,-0.0537 -8.73172,-0.0537 0,0 -3.49741,0.15087 -2.94153,1.0283 1.00241,1.58227 8.47334,1.8567 12.68694,2.88305 4.80731,1.17096 11.14509,5.39258 14.36586,3.73564 1.50026,-0.77183 1.82749,-10.42617 1.82749,-10.42617 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="translate(-4.0506463e-6,-2.1425481e-6)" />
<path
sodipodi:nodetypes="ccacsscscc"
inkscape:connector-curvature="0"
id="rect4288-9"
d="m 152.46523,271.03812 c 0,0 -1.41869,-10.91253 -4.02658,-11.28923 -1.30455,1.99533 -12.84531,-2.34658 -18.99989,-0.82741 -4.16763,1.02871 -11.12751,6.48271 -11.12751,6.48271 l -2.06505,5.01522 c -0.84063,2.04158 5.47984,8.0406 9.28266,10.86379 5.59125,4.15091 10.83194,4.99773 11.13653,5.63005 4.80691,0.22813 9.92542,1.77219 12.17773,2.67446 0,0 6.35428,1.41839 15.87945,-0.24343 -17.59001,-6.54388 -14.66186,-13.87154 -12.25734,-18.30616 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="translate(-4.0506463e-6,-2.1425481e-6)" />
<circle
r="8.544878"
cy="215.71735"
cx="526.30743"
id="path4317-3"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="translate(-4.0506463e-6,-2.1425481e-6)" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4542"
d="m 187.71061,245.14035 329.99322,-38.98654 c 0,0 8.63198,-1.69239 12.68535,-0.47775 34.99274,21.40851 79.61939,57.09255 107.32143,76.60714 l 0,0"
style="display:inline;fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:3.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
transform="translate(-4.0506463e-6,-2.1425481e-6)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4323"
d="m 171.70196,268.12297 -2.889,-10.78189"
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:transform-center-y="-2.0168914"
inkscape:transform-center-x="-1.5126698"
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4323-1"
d="m 179.56459,263.96338 -7.92487,-8.08632"
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:transform-center-y="-2.5150047"
inkscape:transform-center-x="-0.17540053"
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4323-1-2"
d="m 185.94704,259.39648 -3.4475,-9.65504"
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:transform-center-y="-2.0168905"
inkscape:transform-center-x="-1.5126682"
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4323-1-7"
d="m 179.18643,264.21549 3.54619,-14.26305"
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:transform-center-y="-2.5150016"
inkscape:transform-center-x="-0.17540159"
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4323-1-2-0"
d="m 186.21284,259.32734 1.86212,-14.48655"
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4447"
d="m 608.84237,295.08385 92.70386,0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.76478028;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0"
id="path4459"
d="m 623.29558,293.40672 c 0.50423,0.37816 4.67565,0.58178 4.67565,0.58178 l 4.94556,-3.78846 7.76444,-2.88617 5.5222,-8.63033 -8.03768,1.09572 -7.71295,-0.61946"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccc"
inkscape:connector-curvature="0"
id="path4465"
d="m 628.60767,275.15167 9.26893,2.32374 8.02323,0.70684"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.35295606px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0"
id="path4467"
d="m 628.78594,294.31566 2.58491,-0.80221 4.51542,-3.45226 5.37855,-2.69805"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.35295606px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<ellipse
transform="matrix(0.87616356,0.48201392,-0.54908076,0.8357693,0,0)"
cx="695.35815"
cy="-62.856232"
rx="1.9540629"
ry="5.9473672"
id="path4469"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<g
aria-label="Bootstrappable Builds"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="text4471">
<path
d="m 254.72308,288.34668 v -41.50763 h 5.36493 c 3.61427,0 6.43792,0.67767 8.30152,2.42834 1.86361,1.75066 2.82365,4.46136 2.82365,8.58389 0,1.97655 -0.16942,3.44485 -0.79062,4.8002 -0.6212,1.35535 -1.58124,2.48481 -2.99307,3.78369 1.52477,0.84709 2.65423,2.42834 3.5578,5.08256 0.45178,1.29888 0.67768,2.99307 0.67768,5.08257 0,3.10602 -0.56473,5.87319 -1.97656,8.01916 -1.41182,2.14598 -3.84016,3.5578 -7.45443,3.72722 z m 6.09908,-24.39632 c 0.50825,0 1.69419,0.0565 2.7107,-0.62121 1.01651,-0.67767 1.80713,-2.03302 1.80713,-4.91314 0,-2.88013 -0.79062,-4.23548 -1.80713,-4.91315 -1.01651,-0.67768 -2.20245,-0.6212 -2.7107,-0.6212 z m 0,18.35371 c 0.50825,0 1.69419,0.11295 2.7107,-0.6212 1.01651,-0.73415 1.80713,-2.37187 1.80713,-5.76024 0,-3.38838 -0.79062,-5.0261 -1.80713,-5.76025 -1.01651,-0.73414 -2.20245,-0.6212 -2.7107,-0.6212 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path5347" />
<path
d="m 289.35689,280.83577 c -0.16942,2.99307 -1.07299,5.08257 -3.04954,6.72029 -1.01651,0.84709 -2.42834,1.2424 -4.29195,1.2424 -3.67074,0 -5.47787,-2.03302 -6.38144,-4.06605 -0.50826,-1.18593 -0.8471,-2.54128 -0.90357,-4.06605 v -15.53007 c 0.16942,-2.99307 1.07299,-5.19551 3.04954,-6.8897 0.96004,-0.8471 2.37187,-1.24241 4.23547,-1.24241 3.67075,0 5.53435,2.03303 6.43792,4.00958 0.50826,1.18594 0.8471,2.48481 0.90357,3.95311 z m -5.36493,-15.69948 c 0.0565,-1.18593 -0.16942,-2.03303 -0.73415,-2.7107 -0.28237,-0.28237 -0.73415,-0.45179 -1.24241,-0.45179 -1.07298,0 -1.52477,0.73415 -1.75066,1.58125 -0.16942,0.45178 -0.22589,0.96004 -0.16942,1.58124 v 15.53007 c -0.0565,1.18593 0.22589,2.03302 0.73415,2.65423 0.28237,0.28236 0.67768,0.45178 1.18593,0.45178 1.07299,0 1.58125,-0.67768 1.80714,-1.52477 0.16942,-0.45178 0.22589,-0.96004 0.16942,-1.58124 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path5349" />
<path
d="m 307.44589,280.83577 c -0.16942,2.99307 -1.07299,5.08257 -3.04954,6.72029 -1.01652,0.84709 -2.42834,1.2424 -4.29195,1.2424 -3.67074,0 -5.47788,-2.03302 -6.38144,-4.06605 -0.50826,-1.18593 -0.8471,-2.54128 -0.90357,-4.06605 v -15.53007 c 0.16942,-2.99307 1.07298,-5.19551 3.04954,-6.8897 0.96004,-0.8471 2.37186,-1.24241 4.23547,-1.24241 3.67074,0 5.53435,2.03303 6.43792,4.00958 0.50826,1.18594 0.84709,2.48481 0.90357,3.95311 z m -5.36494,-15.69948 c 0.0565,-1.18593 -0.16941,-2.03303 -0.73414,-2.7107 -0.28237,-0.28237 -0.73415,-0.45179 -1.24241,-0.45179 -1.07299,0 -1.52477,0.73415 -1.75066,1.58125 -0.16942,0.45178 -0.22589,0.96004 -0.16942,1.58124 v 15.53007 c -0.0565,1.18593 0.22589,2.03302 0.73415,2.65423 0.28236,0.28236 0.67767,0.45178 1.18593,0.45178 1.07299,0 1.58124,-0.67768 1.80714,-1.52477 0.16941,-0.45178 0.22589,-0.96004 0.16941,-1.58124 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path5351" />
<path
d="m 317.97545,249.83211 v 7.62386 h 3.89663 v 5.13904 h -3.89663 v 15.36064 c 0,0.96004 0,2.20245 0.22589,3.21896 0.22589,1.01652 0.67768,1.86361 1.58124,1.86361 0.45179,0 1.01652,-0.0565 1.41183,-0.11295 0.22589,-0.0565 0.45178,-0.0565 0.67767,-0.11294 v 5.59082 c -0.28236,0.0565 -0.56473,0.16942 -0.84709,0.22589 -0.56473,0.11295 -1.29888,0.16942 -2.20245,0.16942 -3.3319,0 -4.91314,-1.69419 -5.70377,-3.84016 -0.79062,-2.14597 -0.84709,-4.74373 -0.84709,-6.55086 v -15.81243 h -2.88012 v -5.13904 h 2.88012 v -7.62386 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path5353" />
<path
d="m 333.51346,265.36218 c 0,-0.73415 0,-1.63771 -0.22589,-2.37186 -0.28237,-0.67768 -0.73415,-1.24241 -1.63772,-1.24241 -0.73415,0 -1.18593,0.56473 -1.41183,1.24241 -0.28236,0.67767 -0.33883,1.63771 -0.33883,2.37186 0,0.96004 0.50825,1.97656 1.2424,2.88012 0.67768,0.90357 1.58125,1.80714 2.48481,2.65423 1.18594,1.18593 2.59776,2.54129 3.5578,4.06606 0.96004,1.58124 1.69419,3.3319 1.69419,5.36493 0,1.97655 -0.45178,4.06605 -1.58124,5.64729 -1.18594,1.63772 -2.99307,2.82365 -5.70377,2.82365 -3.44486,0 -5.47788,-1.58124 -6.60734,-3.50132 -1.12946,-1.92008 -1.35535,-4.29195 -1.35535,-5.92966 h 5.30846 c 0,0.84709 0.0565,2.03302 0.45178,2.93659 0.39531,0.96004 1.01651,1.75066 2.20245,1.75066 1.63771,0 1.97655,-1.92008 1.97655,-3.72721 0,-1.86361 -1.80714,-3.72722 -3.5578,-5.47788 -1.35535,-1.29888 -2.65423,-2.48481 -3.67074,-4.00958 -1.01651,-1.52477 -1.75066,-3.21896 -1.75066,-5.47788 0,-1.80713 0.33884,-3.89663 1.41182,-5.53435 1.07299,-1.58124 2.82365,-2.76718 5.53435,-2.82365 3.33191,-0.0565 5.19552,1.18593 6.15556,2.82365 0.96004,1.63772 1.12946,3.78369 1.12946,5.53435 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path5355" />
<path
d="m 348.6385,249.83211 v 7.62386 h 3.89664 v 5.13904 h -3.89664 v 15.36064 c 0,0.96004 0,2.20245 0.2259,3.21896 0.22589,1.01652 0.67767,1.86361 1.58124,1.86361 0.45178,0 1.01651,-0.0565 1.41182,-0.11295 0.2259,-0.0565 0.45179,-0.0565 0.67768,-0.11294 v 5.59082 c -0.28237,0.0565 -0.56473,0.16942 -0.8471,0.22589 -0.56472,0.11295 -1.29887,0.16942 -2.20244,0.16942 -3.33191,0 -4.91315,-1.69419 -5.70377,-3.84016 -0.79062,-2.14597 -0.8471,-4.74373 -0.8471,-6.55086 v -15.81243 h -2.88012 v -5.13904 h 2.88012 v -7.62386 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path5357" />
<path
d="m 366.9437,263.32915 c -0.50826,-0.16941 -1.07299,-0.22589 -1.58125,-0.22589 -0.90357,0 -1.97655,0.11295 -2.88012,0.96004 -1.07299,0.90357 -1.2424,1.86361 -1.2424,2.82365 v 21.45973 h -5.70377 v -30.89071 h 5.70377 v 3.44485 c 0.0565,-0.39531 0.45178,-1.35535 1.35535,-2.25892 0.90356,-0.8471 2.25892,-1.63772 4.34842,-1.63772 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path5359" />
<path
d="m 377.63296,264.79745 c 0,-0.50826 0,-1.29888 -0.16942,-1.86361 -0.22589,-0.56473 -0.67767,-0.96004 -1.41182,-0.96004 -0.96004,0 -1.35535,0.73415 -1.52477,1.63772 -0.0565,0.45178 -0.11295,0.96004 -0.11295,1.4683 0,0.50825 0,1.01651 0,1.46829 h -5.70377 v -1.29887 c 0,-2.25892 0.8471,-4.29195 2.20245,-5.81672 1.35535,-1.52477 3.27543,-2.42834 5.47788,-2.42834 1.86361,0 3.5578,0.73415 4.85667,1.97656 1.29888,1.2424 2.0895,2.99306 2.0895,5.02609 v 18.97492 c 0,2.76717 0.16942,4.00958 0.39531,5.36493 h -5.59082 c -0.50826,-0.6212 -0.50826,-2.0895 -0.50826,-2.48481 h -0.39531 c -0.28236,0.50826 -0.79062,1.2424 -1.58124,1.86361 -0.79062,0.6212 -1.86361,1.07298 -2.99307,1.07298 -0.73415,0 -1.92008,-0.28236 -2.82365,-1.41182 -0.96004,-1.07299 -1.75066,-2.99307 -1.75066,-6.21203 0,-3.44485 1.01652,-5.92966 2.37187,-7.62385 1.35535,-1.69419 3.04954,-2.76717 4.46136,-3.50132 1.41183,-0.73415 2.48481,-1.24241 2.7107,-1.86361 z m 0,8.64037 c -2.76717,1.18593 -3.9531,3.9531 -3.9531,6.8897 0,0.39531 0.0565,1.07298 0.28236,1.69419 0.22589,0.67767 0.6212,1.18593 1.29888,1.18593 1.29888,0 2.37186,-0.79062 2.37186,-1.86361 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path5361" />
<path
d="m 386.97131,257.45597 h 5.70377 v 2.03302 c 0.96004,-0.90357 1.80713,-1.58124 2.93659,-2.0895 0.50826,-0.28236 1.07299,-0.39531 1.58124,-0.39531 1.58125,0 2.65423,0.90357 3.38838,2.03303 0.67768,1.18593 1.01651,2.7107 1.01651,4.00958 v 19.70907 c 0,1.29887 -0.33883,2.82364 -1.01651,3.9531 -0.73415,1.18594 -1.80713,2.0895 -3.38838,2.0895 -1.07298,0 -2.20244,-0.6212 -3.04954,-1.2424 -0.50825,-0.39531 -0.96004,-0.79062 -1.46829,-1.24241 v 12.64995 h -5.70377 z m 5.70377,24.11395 c 0,0.90357 0.84709,1.86361 1.69418,1.86361 0.8471,0 1.52477,-0.79062 1.52477,-1.86361 v -17.3372 c 0,-1.07298 -0.67767,-1.86361 -1.52477,-1.86361 -0.84709,0 -1.69418,0.79063 -1.69418,1.86361 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path5363" />
<path
d="m 405.94268,257.45597 h 5.70377 v 2.03302 c 0.96004,-0.90357 1.80714,-1.58124 2.93659,-2.0895 0.50826,-0.28236 1.07299,-0.39531 1.58125,-0.39531 1.58124,0 2.65423,0.90357 3.38838,2.03303 0.67767,1.18593 1.01651,2.7107 1.01651,4.00958 v 19.70907 c 0,1.29887 -0.33884,2.82364 -1.01651,3.9531 -0.73415,1.18594 -1.80714,2.0895 -3.38838,2.0895 -1.07299,0 -2.20245,-0.6212 -3.04954,-1.2424 -0.50826,-0.39531 -0.96004,-0.79062 -1.4683,-1.24241 v 12.64995 h -5.70377 z m 5.70377,24.11395 c 0,0.90357 0.84709,1.86361 1.69419,1.86361 0.84709,0 1.52477,-0.79062 1.52477,-1.86361 v -17.3372 c 0,-1.07298 -0.67768,-1.86361 -1.52477,-1.86361 -0.8471,0 -1.69419,0.79063 -1.69419,1.86361 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path5365" />
<path
d="m 433.22355,264.79745 c 0,-0.50826 0,-1.29888 -0.16942,-1.86361 -0.22589,-0.56473 -0.67768,-0.96004 -1.41183,-0.96004 -0.96004,0 -1.35535,0.73415 -1.52477,1.63772 -0.0565,0.45178 -0.11294,0.96004 -0.11294,1.4683 0,0.50825 0,1.01651 0,1.46829 h -5.70377 v -1.29887 c 0,-2.25892 0.84709,-4.29195 2.20244,-5.81672 1.35536,-1.52477 3.27544,-2.42834 5.47788,-2.42834 1.86361,0 3.5578,0.73415 4.85668,1.97656 1.29888,1.2424 2.0895,2.99306 2.0895,5.02609 v 18.97492 c 0,2.76717 0.16942,4.00958 0.39531,5.36493 h -5.59083 c -0.50825,-0.6212 -0.50825,-2.0895 -0.50825,-2.48481 h -0.39531 c -0.28237,0.50826 -0.79062,1.2424 -1.58125,1.86361 -0.79062,0.6212 -1.8636,1.07298 -2.99306,1.07298 -0.73415,0 -1.92008,-0.28236 -2.82365,-1.41182 -0.96004,-1.07299 -1.75066,-2.99307 -1.75066,-6.21203 0,-3.44485 1.01651,-5.92966 2.37186,-7.62385 1.35535,-1.69419 3.04954,-2.76717 4.46137,-3.50132 1.41182,-0.73415 2.48481,-1.24241 2.7107,-1.86361 z m 0,8.64037 c -2.76718,1.18593 -3.95311,3.9531 -3.95311,6.8897 0,0.39531 0.0565,1.07298 0.28236,1.69419 0.2259,0.67767 0.62121,1.18593 1.29888,1.18593 1.29888,0 2.37187,-0.79062 2.37187,-1.86361 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path5367" />
<path
d="m 442.78248,246.83905 h 5.70377 v 12.64994 c 0.96004,-0.90357 1.80713,-1.58124 2.93659,-2.0895 0.50826,-0.28236 1.07299,-0.39531 1.58125,-0.39531 1.58124,0 2.65423,0.90357 3.38837,2.03303 0.67768,1.18593 1.01652,2.7107 1.01652,4.00958 v 19.70907 c 0,1.29887 -0.33884,2.82364 -1.01652,3.9531 -0.73414,1.18594 -1.80713,2.0895 -3.38837,2.0895 -1.07299,0 -2.20245,-0.6212 -3.04954,-1.2424 -0.50826,-0.39531 -0.96005,-0.79062 -1.4683,-1.24241 v 2.03303 h -5.70377 z m 5.70377,34.73087 c 0,1.07299 0.84709,1.86361 1.69419,1.86361 0.84709,0 1.52477,-0.79062 1.52477,-1.86361 v -17.3372 c 0,-1.07298 -0.67768,-1.86361 -1.52477,-1.86361 -0.8471,0 -1.69419,0.96004 -1.69419,1.86361 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path5369" />
<path
d="m 461.75387,288.34668 v -41.50763 h 5.70377 v 41.50763 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path5371" />
<path
d="m 486.18901,277.27798 v 3.55779 c -0.16942,2.99307 -1.07299,5.08257 -3.10602,6.72029 -1.01651,0.84709 -2.42834,1.2424 -4.29194,1.2424 -3.67075,0 -5.53435,-2.03302 -6.43792,-4.06605 -0.50826,-1.18593 -0.8471,-2.54128 -0.90357,-4.06605 v -15.53007 c 0.16942,-2.99307 1.12946,-5.19551 3.16249,-6.8897 0.96004,-0.8471 2.37186,-1.24241 4.23547,-1.24241 3.67074,0 5.53435,2.03303 6.43792,4.00958 0.50825,1.18594 0.84709,2.48481 0.90357,3.95311 v 8.9792 h -9.43099 v 6.72029 c 0.0565,1.18593 0.39531,2.03302 0.90357,2.65423 0.28236,0.28236 0.67767,0.45178 1.18593,0.45178 1.07299,0 1.58124,-0.67768 1.80713,-1.52477 0.16942,-0.45178 0.2259,-0.96004 0.2259,-1.58124 v -3.38838 z m -9.43099,-7.79327 h 4.12253 v -4.34842 c 0,-1.18593 -0.2259,-2.03303 -0.79063,-2.7107 -0.28236,-0.28237 -0.73414,-0.45179 -1.2424,-0.45179 -1.07299,0 -1.52477,0.73415 -1.80714,1.58125 -0.16941,0.45178 -0.22589,0.96004 -0.28236,1.58124 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path5373" />
<path
d="m 498.81425,288.34668 v -41.50763 h 5.36493 c 3.61427,0 6.43792,0.67767 8.30153,2.42834 1.8636,1.75066 2.82364,4.46136 2.82364,8.58389 0,1.97655 -0.16941,3.44485 -0.79062,4.8002 -0.6212,1.35535 -1.58124,2.48481 -2.99306,3.78369 1.52477,0.84709 2.65422,2.42834 3.55779,5.08256 0.45179,1.29888 0.67768,2.99307 0.67768,5.08257 0,3.10602 -0.56473,5.87319 -1.97656,8.01916 -1.41182,2.14598 -3.84016,3.5578 -7.45443,3.72722 z m 6.09908,-24.39632 c 0.50825,0 1.69419,0.0565 2.7107,-0.62121 1.01651,-0.67767 1.80714,-2.03302 1.80714,-4.91314 0,-2.88013 -0.79063,-4.23548 -1.80714,-4.91315 -1.01651,-0.67768 -2.20245,-0.6212 -2.7107,-0.6212 z m 0,18.35371 c 0.50825,0 1.69419,0.11295 2.7107,-0.6212 1.01651,-0.73415 1.80714,-2.37187 1.80714,-5.76024 0,-3.38838 -0.79063,-5.0261 -1.80714,-5.76025 -1.01651,-0.73414 -2.20245,-0.6212 -2.7107,-0.6212 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path5375" />
<path
d="m 528.13961,257.45597 h 5.70377 v 30.89071 h -5.70377 v -2.59776 c -0.11295,0.0565 -0.33884,0.28237 -0.6212,0.56473 -0.67768,0.67768 -1.4683,1.4683 -2.48481,2.03303 -0.50826,0.28236 -1.01652,0.45178 -1.52477,0.45178 -1.52477,0 -2.59776,-0.90356 -3.27544,-2.0895 -0.67767,-1.12946 -1.01651,-2.65423 -1.01651,-3.9531 v -25.29989 h 5.70377 v 24.45279 c 0,1.18593 0.67768,1.35535 1.35535,1.35535 0.6212,0 0.96004,-0.33884 1.35535,-0.73415 0.16942,-0.16942 0.33884,-0.45178 0.50826,-0.73414 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path5377" />
<path
d="m 538.41152,246.83905 h 5.70377 v 5.70377 h -5.70377 z m 0,41.50763 v -30.89071 h 5.70377 v 30.89071 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path5379" />
<path
d="m 548.6693,288.34668 v -41.50763 h 5.70377 v 41.50763 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path5381" />
<path
d="m 573.32769,288.34668 h -5.70377 v -2.03303 c -0.96004,0.90357 -1.80713,1.58125 -2.88012,2.0895 -0.56473,0.28237 -1.12946,0.39531 -1.63771,0.39531 -1.58125,0 -2.65423,-0.90356 -3.33191,-2.0895 -0.73415,-1.12946 -1.07299,-2.65423 -1.07299,-3.9531 v -19.70907 c 0,-1.29888 0.33884,-2.82365 1.07299,-4.00958 0.67768,-1.12946 1.75066,-2.03303 3.33191,-2.03303 1.07298,0 2.20244,0.6212 3.04954,1.24241 0.50825,0.39531 0.96004,0.79062 1.46829,1.2424 v -12.64994 h 5.70377 z m -5.70377,-24.11396 c 0,-0.90357 -0.84709,-1.86361 -1.69419,-1.86361 -0.84709,0 -1.52477,0.79063 -1.52477,1.86361 v 17.3372 c 0,1.07299 0.67768,1.86361 1.52477,1.86361 0.8471,0 1.69419,-0.79062 1.69419,-1.86361 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path5383" />
<path
d="m 586.53882,265.36218 c 0,-0.73415 0,-1.63771 -0.22589,-2.37186 -0.28236,-0.67768 -0.73415,-1.24241 -1.63771,-1.24241 -0.73415,0 -1.18594,0.56473 -1.41183,1.24241 -0.28236,0.67767 -0.33884,1.63771 -0.33884,2.37186 0,0.96004 0.50826,1.97656 1.24241,2.88012 0.67768,0.90357 1.58124,1.80714 2.48481,2.65423 1.18593,1.18593 2.59776,2.54129 3.5578,4.06606 0.96004,1.58124 1.69419,3.3319 1.69419,5.36493 0,1.97655 -0.45179,4.06605 -1.58125,5.64729 -1.18593,1.63772 -2.99306,2.82365 -5.70377,2.82365 -3.44485,0 -5.47787,-1.58124 -6.60733,-3.50132 -1.12946,-1.92008 -1.35535,-4.29195 -1.35535,-5.92966 h 5.30845 c 0,0.84709 0.0565,2.03302 0.45179,2.93659 0.39531,0.96004 1.01651,1.75066 2.20244,1.75066 1.63772,0 1.97656,-1.92008 1.97656,-3.72721 0,-1.86361 -1.80714,-3.72722 -3.5578,-5.47788 -1.35535,-1.29888 -2.65423,-2.48481 -3.67074,-4.00958 -1.01652,-1.52477 -1.75066,-3.21896 -1.75066,-5.47788 0,-1.80713 0.33883,-3.89663 1.41182,-5.53435 1.07299,-1.58124 2.82365,-2.76718 5.53435,-2.82365 3.33191,-0.0565 5.19551,1.18593 6.15555,2.82365 0.96004,1.63772 1.12946,3.78369 1.12946,5.53435 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path5385" />
</g>
<circle
r="4.4642859"
cy="273.54895"
cx="648.43512"
id="path4516"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.55900002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 37 KiB

401
site/images/banner.svg Normal file
View File

@ -0,0 +1,401 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 670.74129 378.80721"
width="100%"
height="100%"
preserveAspectRatio="xMinYMin meet"
id="svg2"
version="1.1"
inkscape:version="0.92.1 r15371"
sodipodi:docname="banner.svg">
<title
id="title4648">Bootstrappable builds logo</title>
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="379.22658"
inkscape:cy="169.50442"
inkscape:document-units="px"
inkscape:current-layer="text4471"
showgrid="false"
showborder="true"
inkscape:window-width="1278"
inkscape:window-height="798"
inkscape:window-x="1"
inkscape:window-y="1"
inkscape:window-maximized="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata7">
<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>Bootstrappable builds logo</dc:title>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
<dc:date>2016</dc:date>
<dc:creator>
<cc:Agent>
<dc:title>Ricardo Wurmus</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>http://bootstrappable.org</dc:source>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="background"
transform="translate(66.670067,46.539188)">
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.55900002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4519"
width="670.74127"
height="378.80722"
x="-66.670067"
y="-46.539188" />
</g>
<g
inkscape:label="boot"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-24.853503,-25.618874)">
<path
id="path4159-3"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.41182423;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 93.43033,337.76926 c 0,0 7.43865,11.8132 16.50857,15.00366 6.72736,2.36644 11.6964,4.18106 19.62057,5.29884 6.91677,0.97568 14.92029,-1.77714 22.27729,-0.33145 3.99824,0.78568 10.39275,6.14924 17.77719,8.41974 8.19586,2.52 17.29278,1.86163 18.86678,0.43869 m -44.44737,-9.36081 c 0,0 -13.35243,-3.91431 -14.53442,-9.5987 -1.13541,-5.46033 0.19378,-15.12046 9.12867,-14.02164 4.43134,0.54496 11.09596,-1.05427 14.6009,-2.76401 4.95429,-2.41674 9.52808,-7.55308 14.15707,-10.51802 6.02667,-3.8602 10.45205,-14.22793 12.01904,-13.04926 0,0 2.94884,5.64054 13.12156,9.86985 2.56718,1.06731 8.43343,3.56042 11.92613,3.32691 3.42035,-0.22867 4.39714,-3.76277 4.39714,-3.76277 l -0.35685,0.84552 m -19.62585,48.78276 c 0,0 6.03568,-9.48887 7.82077,-16.02671 1.30435,-4.77711 0.81289,-12.27292 2.29423,-16.99814 1.92488,-6.14004 7.94696,-12.01031 9.85348,-16.59986 -1.01774,-6.30804 -8.8699,-9.31859 -14.36987,-12.4814 -6.23348,-3.58462 -20.41797,-6.96116 -20.41797,-6.96116 0,0 -8.74573,14.42761 -15.32734,19.37837 -7.96497,5.99134 -17.83055,9.76317 -27.67519,11.31886 -7.59635,1.20041 -16.894,-2.55046 -24.93034,-0.43014 -3.79296,1.00075 -7.00481,2.9638 -10.13478,5.9815 -1.58503,1.52816 -0.96227,2.8316 -2.25927,4.07066 -3.51128,3.35447 -0.13534,8.98919 2.56848,12.02202 7.52916,8.44535 18.43636,11.10103 29.53659,13.29125 7.34173,1.44862 14.928,-1.28272 22.44801,0.28592 6.60932,1.37867 13.57103,6.41901 20.07511,8.23028 5.50113,1.53197 11.10738,3.09206 15.94436,0.87062 2.27381,-1.04427 4.57373,-5.95207 4.57373,-5.95207 z"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cssssccsssscsscccsscscssssssssssc" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4178"
cx="-320.14972"
cy="174.89682"
r="1.5891345"
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,0,0)" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4178-6"
cx="-317.74246"
cy="182.84167"
r="1.5891345"
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,0,0)" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4178-6-7"
cx="-314.71713"
cy="190.65714"
r="1.5891345"
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,0,0)" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4178-6-7-5"
cx="-310.30518"
cy="197.71625"
r="1.5891345"
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,0,0)" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4178-3"
cx="-321.52414"
cy="166.70654"
r="1.5891345"
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,0,0)" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4178-3-5"
cx="-311.93481"
cy="162.14157"
r="1.5891345"
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,0,0)" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4178-3-5-6"
cx="-311.40002"
cy="170.1637"
r="1.5891345"
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,0,0)" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4178-3-5-6-2"
cx="-309.79559"
cy="177.11621"
r="1.5891345"
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,0,0)" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 218.97721,314.66457 c 0,0 -0.49537,-0.81661 -0.96228,-1.30834 -0.53422,-0.56261 -1.54496,-1.20294 -1.54496,-1.20294 0,0 -2.50595,0.27579 -3.83263,0.52524 -1.56837,0.29489 -4.85251,1.10777 -4.85251,1.10777 l 1.51787,2.39175 c 0,0 2.97751,-1.13307 4.53224,-1.44459 1.8487,-0.37043 5.14227,-0.0689 5.14227,-0.0689 z"
id="rect4285"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cscsccsc" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 197.06263,343.76342 c 0,0 -0.58025,3.23661 -3.18814,2.85992 -1.30455,1.99533 -11.24223,-0.0791 -14.0189,-0.027 -2.91012,0.0546 -8.73172,-0.0537 -8.73172,-0.0537 0,0 -3.49741,0.15087 -2.94153,1.0283 1.00241,1.58227 8.47334,1.8567 12.68694,2.88305 4.80731,1.17096 11.14509,5.39258 14.36586,3.73564 1.50026,-0.77183 1.82749,-10.42617 1.82749,-10.42617 z"
id="rect4288"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccscsasc" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 130.46523,339.03812 c 0,0 -1.41869,-10.91253 -4.02658,-11.28923 -1.30455,1.99533 -12.84531,-2.34658 -18.99989,-0.82741 -4.16763,1.02871 -11.12751,6.48271 -11.12751,6.48271 l -2.06505,5.01522 c -0.84063,2.04158 5.47984,8.0406 9.28266,10.86379 5.59125,4.15091 10.83194,4.99773 11.13653,5.63005 4.80691,0.22813 9.92542,1.77219 12.17773,2.67446 0,0 6.35428,1.41839 15.87945,-0.24343 -17.59001,-6.54388 -14.66186,-13.87154 -12.25734,-18.30616 z"
id="rect4288-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccacsscscc" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="pulleys"
style="display:inline"
transform="translate(-24.853503,-25.618874)">
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4317"
cx="183.1655"
cy="168.71939"
r="15.687736" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4319"
cx="256.867"
cy="167.09831"
r="32.77449" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4321"
cx="228.52968"
cy="100.1375"
r="24.706923" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4317-3"
cx="323.26675"
cy="196.52444"
r="15.687736" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4317-3-6"
cx="354.04843"
cy="185.69362"
r="8.6286154" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4319-0"
cx="403.29526"
cy="84.896515"
r="5.3285437" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="strap"
style="display:inline"
transform="translate(-24.853503,-25.618874)">
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 149.70196,336.12297 -2.889,-10.78189"
id="path4323"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 157.56459,331.96338 -7.92487,-8.08632"
id="path4323-1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc"
inkscape:transform-center-x="-1.5126698"
inkscape:transform-center-y="-2.0168914" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 163.94704,327.39648 -3.4475,-9.65504"
id="path4323-1-2"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc"
inkscape:transform-center-x="-0.17540053"
inkscape:transform-center-y="-2.5150047" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 157.18643,332.21549 3.54619,-14.26305"
id="path4323-1-7"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc"
inkscape:transform-center-x="-1.5126682"
inkscape:transform-center-y="-2.0168905" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 164.21284,327.32734 1.86212,-14.48655"
id="path4323-1-2-0"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc"
inkscape:transform-center-x="-0.17540159"
inkscape:transform-center-y="-2.5150016" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 500.62461,208.08165 c 0,0 -82.28556,-125.650313 -94.79605,-130.767678 -24.32168,-9.948677 -27.11688,120.250908 -51.35172,119.607958 -12.19244,-0.32346 -14.73937,-11.67555 -21.73493,-15.58171 -9.87079,-5.51161 -16.34317,-1.95209 -17.50782,-1.1857 -12.40883,8.1655 -42.90278,29.01285 -68.59558,20.49064 -31.79054,-10.54481 -26.49128,-41.06905 -20.23604,-50.45443 7.20839,-10.81548 17.66768,-16.729 22.75814,-26.94321 11.81076,-23.698789 4.84349,-36.157159 -1.02641,-42.218823 -12.36537,-12.769329 -32.67301,-6.954508 -39.38006,1.161614 -6.82055,8.253481 -34.47333,50.492679 -42.56696,79.416709 -4.70733,16.82251 -2.73132,43.30431 -2.79149,66.12626 -0.11463,43.48013 1.75602,83.05204 1.75602,83.05204"
id="path4323-1-2-0-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csssssssssssc"
inkscape:transform-center-x="-0.17540219"
inkscape:transform-center-y="-2.5150055" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.76478028;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 475.50222,222.35286 92.70386,0"
id="path4447"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 489.95543,220.67573 c 0.50423,0.37816 4.67565,0.58178 4.67565,0.58178 l 4.94556,-3.78846 7.76444,-2.88617 5.5222,-8.63033 -8.03768,1.09572 -7.71295,-0.61946"
id="path4459"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.35295606px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 495.26752,202.42068 9.26893,2.32374 8.02323,0.70684"
id="path4465"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.35295606px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 495.44579,221.58467 2.58491,-0.80221 4.51542,-3.45226 5.37855,-2.69805"
id="path4467"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<ellipse
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4469"
ry="5.9473672"
rx="1.9540629"
cy="-62.30698"
cx="543.51599"
transform="matrix(0.87616356,0.48201392,-0.54908076,0.8357693,0,0)" />
<g
aria-label="Bootstrappable Builds"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="text4471">
<path
d="m 254.72308,288.34668 v -41.50763 h 5.36493 c 3.61427,0 6.43792,0.67767 8.30152,2.42834 1.86361,1.75066 2.82365,4.46136 2.82365,8.58389 0,1.97655 -0.16942,3.44485 -0.79062,4.8002 -0.6212,1.35535 -1.58124,2.48481 -2.99307,3.78369 1.52477,0.84709 2.65423,2.42834 3.5578,5.08256 0.45178,1.29888 0.67768,2.99307 0.67768,5.08257 0,3.10602 -0.56473,5.87319 -1.97656,8.01916 -1.41182,2.14598 -3.84016,3.5578 -7.45443,3.72722 z m 6.09908,-24.39632 c 0.50825,0 1.69419,0.0565 2.7107,-0.62121 1.01651,-0.67767 1.80713,-2.03302 1.80713,-4.91314 0,-2.88013 -0.79062,-4.23548 -1.80713,-4.91315 -1.01651,-0.67768 -2.20245,-0.6212 -2.7107,-0.6212 z m 0,18.35371 c 0.50825,0 1.69419,0.11295 2.7107,-0.6212 1.01651,-0.73415 1.80713,-2.37187 1.80713,-5.76024 0,-3.38838 -0.79062,-5.0261 -1.80713,-5.76025 -1.01651,-0.73414 -2.20245,-0.6212 -2.7107,-0.6212 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4607" />
<path
d="m 289.35689,280.83577 c -0.16942,2.99307 -1.07299,5.08257 -3.04954,6.72029 -1.01651,0.84709 -2.42834,1.2424 -4.29195,1.2424 -3.67074,0 -5.47787,-2.03302 -6.38144,-4.06605 -0.50826,-1.18593 -0.8471,-2.54128 -0.90357,-4.06605 v -15.53007 c 0.16942,-2.99307 1.07299,-5.19551 3.04954,-6.8897 0.96004,-0.8471 2.37187,-1.24241 4.23547,-1.24241 3.67075,0 5.53435,2.03303 6.43792,4.00958 0.50826,1.18594 0.8471,2.48481 0.90357,3.95311 z m -5.36493,-15.69948 c 0.0565,-1.18593 -0.16942,-2.03303 -0.73415,-2.7107 -0.28237,-0.28237 -0.73415,-0.45179 -1.24241,-0.45179 -1.07298,0 -1.52477,0.73415 -1.75066,1.58125 -0.16942,0.45178 -0.22589,0.96004 -0.16942,1.58124 v 15.53007 c -0.0565,1.18593 0.22589,2.03302 0.73415,2.65423 0.28237,0.28236 0.67768,0.45178 1.18593,0.45178 1.07299,0 1.58125,-0.67768 1.80714,-1.52477 0.16942,-0.45178 0.22589,-0.96004 0.16942,-1.58124 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4609" />
<path
d="m 307.44589,280.83577 c -0.16942,2.99307 -1.07299,5.08257 -3.04954,6.72029 -1.01652,0.84709 -2.42834,1.2424 -4.29195,1.2424 -3.67074,0 -5.47788,-2.03302 -6.38144,-4.06605 -0.50826,-1.18593 -0.8471,-2.54128 -0.90357,-4.06605 v -15.53007 c 0.16942,-2.99307 1.07298,-5.19551 3.04954,-6.8897 0.96004,-0.8471 2.37186,-1.24241 4.23547,-1.24241 3.67074,0 5.53435,2.03303 6.43792,4.00958 0.50826,1.18594 0.84709,2.48481 0.90357,3.95311 z m -5.36494,-15.69948 c 0.0565,-1.18593 -0.16941,-2.03303 -0.73414,-2.7107 -0.28237,-0.28237 -0.73415,-0.45179 -1.24241,-0.45179 -1.07299,0 -1.52477,0.73415 -1.75066,1.58125 -0.16942,0.45178 -0.22589,0.96004 -0.16942,1.58124 v 15.53007 c -0.0565,1.18593 0.22589,2.03302 0.73415,2.65423 0.28236,0.28236 0.67767,0.45178 1.18593,0.45178 1.07299,0 1.58124,-0.67768 1.80714,-1.52477 0.16941,-0.45178 0.22589,-0.96004 0.16941,-1.58124 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4611" />
<path
d="m 317.97545,249.83211 v 7.62386 h 3.89663 v 5.13904 h -3.89663 v 15.36064 c 0,0.96004 0,2.20245 0.22589,3.21896 0.22589,1.01652 0.67768,1.86361 1.58124,1.86361 0.45179,0 1.01652,-0.0565 1.41183,-0.11295 0.22589,-0.0565 0.45178,-0.0565 0.67767,-0.11294 v 5.59082 c -0.28236,0.0565 -0.56473,0.16942 -0.84709,0.22589 -0.56473,0.11295 -1.29888,0.16942 -2.20245,0.16942 -3.3319,0 -4.91314,-1.69419 -5.70377,-3.84016 -0.79062,-2.14597 -0.84709,-4.74373 -0.84709,-6.55086 v -15.81243 h -2.88012 v -5.13904 h 2.88012 v -7.62386 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4613" />
<path
d="m 333.51346,265.36218 c 0,-0.73415 0,-1.63771 -0.22589,-2.37186 -0.28237,-0.67768 -0.73415,-1.24241 -1.63772,-1.24241 -0.73415,0 -1.18593,0.56473 -1.41183,1.24241 -0.28236,0.67767 -0.33883,1.63771 -0.33883,2.37186 0,0.96004 0.50825,1.97656 1.2424,2.88012 0.67768,0.90357 1.58125,1.80714 2.48481,2.65423 1.18594,1.18593 2.59776,2.54129 3.5578,4.06606 0.96004,1.58124 1.69419,3.3319 1.69419,5.36493 0,1.97655 -0.45178,4.06605 -1.58124,5.64729 -1.18594,1.63772 -2.99307,2.82365 -5.70377,2.82365 -3.44486,0 -5.47788,-1.58124 -6.60734,-3.50132 -1.12946,-1.92008 -1.35535,-4.29195 -1.35535,-5.92966 h 5.30846 c 0,0.84709 0.0565,2.03302 0.45178,2.93659 0.39531,0.96004 1.01651,1.75066 2.20245,1.75066 1.63771,0 1.97655,-1.92008 1.97655,-3.72721 0,-1.86361 -1.80714,-3.72722 -3.5578,-5.47788 -1.35535,-1.29888 -2.65423,-2.48481 -3.67074,-4.00958 -1.01651,-1.52477 -1.75066,-3.21896 -1.75066,-5.47788 0,-1.80713 0.33884,-3.89663 1.41182,-5.53435 1.07299,-1.58124 2.82365,-2.76718 5.53435,-2.82365 3.33191,-0.0565 5.19552,1.18593 6.15556,2.82365 0.96004,1.63772 1.12946,3.78369 1.12946,5.53435 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4615" />
<path
d="m 348.6385,249.83211 v 7.62386 h 3.89664 v 5.13904 h -3.89664 v 15.36064 c 0,0.96004 0,2.20245 0.2259,3.21896 0.22589,1.01652 0.67767,1.86361 1.58124,1.86361 0.45178,0 1.01651,-0.0565 1.41182,-0.11295 0.2259,-0.0565 0.45179,-0.0565 0.67768,-0.11294 v 5.59082 c -0.28237,0.0565 -0.56473,0.16942 -0.8471,0.22589 -0.56472,0.11295 -1.29887,0.16942 -2.20244,0.16942 -3.33191,0 -4.91315,-1.69419 -5.70377,-3.84016 -0.79062,-2.14597 -0.8471,-4.74373 -0.8471,-6.55086 v -15.81243 h -2.88012 v -5.13904 h 2.88012 v -7.62386 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4617" />
<path
d="m 366.9437,263.32915 c -0.50826,-0.16941 -1.07299,-0.22589 -1.58125,-0.22589 -0.90357,0 -1.97655,0.11295 -2.88012,0.96004 -1.07299,0.90357 -1.2424,1.86361 -1.2424,2.82365 v 21.45973 h -5.70377 v -30.89071 h 5.70377 v 3.44485 c 0.0565,-0.39531 0.45178,-1.35535 1.35535,-2.25892 0.90356,-0.8471 2.25892,-1.63772 4.34842,-1.63772 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4619" />
<path
d="m 377.63296,264.79745 c 0,-0.50826 0,-1.29888 -0.16942,-1.86361 -0.22589,-0.56473 -0.67767,-0.96004 -1.41182,-0.96004 -0.96004,0 -1.35535,0.73415 -1.52477,1.63772 -0.0565,0.45178 -0.11295,0.96004 -0.11295,1.4683 0,0.50825 0,1.01651 0,1.46829 h -5.70377 v -1.29887 c 0,-2.25892 0.8471,-4.29195 2.20245,-5.81672 1.35535,-1.52477 3.27543,-2.42834 5.47788,-2.42834 1.86361,0 3.5578,0.73415 4.85667,1.97656 1.29888,1.2424 2.0895,2.99306 2.0895,5.02609 v 18.97492 c 0,2.76717 0.16942,4.00958 0.39531,5.36493 h -5.59082 c -0.50826,-0.6212 -0.50826,-2.0895 -0.50826,-2.48481 h -0.39531 c -0.28236,0.50826 -0.79062,1.2424 -1.58124,1.86361 -0.79062,0.6212 -1.86361,1.07298 -2.99307,1.07298 -0.73415,0 -1.92008,-0.28236 -2.82365,-1.41182 -0.96004,-1.07299 -1.75066,-2.99307 -1.75066,-6.21203 0,-3.44485 1.01652,-5.92966 2.37187,-7.62385 1.35535,-1.69419 3.04954,-2.76717 4.46136,-3.50132 1.41183,-0.73415 2.48481,-1.24241 2.7107,-1.86361 z m 0,8.64037 c -2.76717,1.18593 -3.9531,3.9531 -3.9531,6.8897 0,0.39531 0.0565,1.07298 0.28236,1.69419 0.22589,0.67767 0.6212,1.18593 1.29888,1.18593 1.29888,0 2.37186,-0.79062 2.37186,-1.86361 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4621" />
<path
d="m 386.97131,257.45597 h 5.70377 v 2.03302 c 0.96004,-0.90357 1.80713,-1.58124 2.93659,-2.0895 0.50826,-0.28236 1.07299,-0.39531 1.58124,-0.39531 1.58125,0 2.65423,0.90357 3.38838,2.03303 0.67768,1.18593 1.01651,2.7107 1.01651,4.00958 v 19.70907 c 0,1.29887 -0.33883,2.82364 -1.01651,3.9531 -0.73415,1.18594 -1.80713,2.0895 -3.38838,2.0895 -1.07298,0 -2.20244,-0.6212 -3.04954,-1.2424 -0.50825,-0.39531 -0.96004,-0.79062 -1.46829,-1.24241 v 12.64995 h -5.70377 z m 5.70377,24.11395 c 0,0.90357 0.84709,1.86361 1.69418,1.86361 0.8471,0 1.52477,-0.79062 1.52477,-1.86361 v -17.3372 c 0,-1.07298 -0.67767,-1.86361 -1.52477,-1.86361 -0.84709,0 -1.69418,0.79063 -1.69418,1.86361 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4623" />
<path
d="m 405.94268,257.45597 h 5.70377 v 2.03302 c 0.96004,-0.90357 1.80714,-1.58124 2.93659,-2.0895 0.50826,-0.28236 1.07299,-0.39531 1.58125,-0.39531 1.58124,0 2.65423,0.90357 3.38838,2.03303 0.67767,1.18593 1.01651,2.7107 1.01651,4.00958 v 19.70907 c 0,1.29887 -0.33884,2.82364 -1.01651,3.9531 -0.73415,1.18594 -1.80714,2.0895 -3.38838,2.0895 -1.07299,0 -2.20245,-0.6212 -3.04954,-1.2424 -0.50826,-0.39531 -0.96004,-0.79062 -1.4683,-1.24241 v 12.64995 h -5.70377 z m 5.70377,24.11395 c 0,0.90357 0.84709,1.86361 1.69419,1.86361 0.84709,0 1.52477,-0.79062 1.52477,-1.86361 v -17.3372 c 0,-1.07298 -0.67768,-1.86361 -1.52477,-1.86361 -0.8471,0 -1.69419,0.79063 -1.69419,1.86361 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4625" />
<path
d="m 433.22355,264.79745 c 0,-0.50826 0,-1.29888 -0.16942,-1.86361 -0.22589,-0.56473 -0.67768,-0.96004 -1.41183,-0.96004 -0.96004,0 -1.35535,0.73415 -1.52477,1.63772 -0.0565,0.45178 -0.11294,0.96004 -0.11294,1.4683 0,0.50825 0,1.01651 0,1.46829 h -5.70377 v -1.29887 c 0,-2.25892 0.84709,-4.29195 2.20244,-5.81672 1.35536,-1.52477 3.27544,-2.42834 5.47788,-2.42834 1.86361,0 3.5578,0.73415 4.85668,1.97656 1.29888,1.2424 2.0895,2.99306 2.0895,5.02609 v 18.97492 c 0,2.76717 0.16942,4.00958 0.39531,5.36493 h -5.59083 c -0.50825,-0.6212 -0.50825,-2.0895 -0.50825,-2.48481 h -0.39531 c -0.28237,0.50826 -0.79062,1.2424 -1.58125,1.86361 -0.79062,0.6212 -1.8636,1.07298 -2.99306,1.07298 -0.73415,0 -1.92008,-0.28236 -2.82365,-1.41182 -0.96004,-1.07299 -1.75066,-2.99307 -1.75066,-6.21203 0,-3.44485 1.01651,-5.92966 2.37186,-7.62385 1.35535,-1.69419 3.04954,-2.76717 4.46137,-3.50132 1.41182,-0.73415 2.48481,-1.24241 2.7107,-1.86361 z m 0,8.64037 c -2.76718,1.18593 -3.95311,3.9531 -3.95311,6.8897 0,0.39531 0.0565,1.07298 0.28236,1.69419 0.2259,0.67767 0.62121,1.18593 1.29888,1.18593 1.29888,0 2.37187,-0.79062 2.37187,-1.86361 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4627" />
<path
d="m 442.78248,246.83905 h 5.70377 v 12.64994 c 0.96004,-0.90357 1.80713,-1.58124 2.93659,-2.0895 0.50826,-0.28236 1.07299,-0.39531 1.58125,-0.39531 1.58124,0 2.65423,0.90357 3.38837,2.03303 0.67768,1.18593 1.01652,2.7107 1.01652,4.00958 v 19.70907 c 0,1.29887 -0.33884,2.82364 -1.01652,3.9531 -0.73414,1.18594 -1.80713,2.0895 -3.38837,2.0895 -1.07299,0 -2.20245,-0.6212 -3.04954,-1.2424 -0.50826,-0.39531 -0.96005,-0.79062 -1.4683,-1.24241 v 2.03303 h -5.70377 z m 5.70377,34.73087 c 0,1.07299 0.84709,1.86361 1.69419,1.86361 0.84709,0 1.52477,-0.79062 1.52477,-1.86361 v -17.3372 c 0,-1.07298 -0.67768,-1.86361 -1.52477,-1.86361 -0.8471,0 -1.69419,0.96004 -1.69419,1.86361 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4629" />
<path
d="m 461.75387,288.34668 v -41.50763 h 5.70377 v 41.50763 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4631" />
<path
d="m 486.18901,277.27798 v 3.55779 c -0.16942,2.99307 -1.07299,5.08257 -3.10602,6.72029 -1.01651,0.84709 -2.42834,1.2424 -4.29194,1.2424 -3.67075,0 -5.53435,-2.03302 -6.43792,-4.06605 -0.50826,-1.18593 -0.8471,-2.54128 -0.90357,-4.06605 v -15.53007 c 0.16942,-2.99307 1.12946,-5.19551 3.16249,-6.8897 0.96004,-0.8471 2.37186,-1.24241 4.23547,-1.24241 3.67074,0 5.53435,2.03303 6.43792,4.00958 0.50825,1.18594 0.84709,2.48481 0.90357,3.95311 v 8.9792 h -9.43099 v 6.72029 c 0.0565,1.18593 0.39531,2.03302 0.90357,2.65423 0.28236,0.28236 0.67767,0.45178 1.18593,0.45178 1.07299,0 1.58124,-0.67768 1.80713,-1.52477 0.16942,-0.45178 0.2259,-0.96004 0.2259,-1.58124 v -3.38838 z m -9.43099,-7.79327 h 4.12253 v -4.34842 c 0,-1.18593 -0.2259,-2.03303 -0.79063,-2.7107 -0.28236,-0.28237 -0.73414,-0.45179 -1.2424,-0.45179 -1.07299,0 -1.52477,0.73415 -1.80714,1.58125 -0.16941,0.45178 -0.22589,0.96004 -0.28236,1.58124 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4633" />
<path
d="m 498.81425,288.34668 v -41.50763 h 5.36493 c 3.61427,0 6.43792,0.67767 8.30153,2.42834 1.8636,1.75066 2.82364,4.46136 2.82364,8.58389 0,1.97655 -0.16941,3.44485 -0.79062,4.8002 -0.6212,1.35535 -1.58124,2.48481 -2.99306,3.78369 1.52477,0.84709 2.65422,2.42834 3.55779,5.08256 0.45179,1.29888 0.67768,2.99307 0.67768,5.08257 0,3.10602 -0.56473,5.87319 -1.97656,8.01916 -1.41182,2.14598 -3.84016,3.5578 -7.45443,3.72722 z m 6.09908,-24.39632 c 0.50825,0 1.69419,0.0565 2.7107,-0.62121 1.01651,-0.67767 1.80714,-2.03302 1.80714,-4.91314 0,-2.88013 -0.79063,-4.23548 -1.80714,-4.91315 -1.01651,-0.67768 -2.20245,-0.6212 -2.7107,-0.6212 z m 0,18.35371 c 0.50825,0 1.69419,0.11295 2.7107,-0.6212 1.01651,-0.73415 1.80714,-2.37187 1.80714,-5.76024 0,-3.38838 -0.79063,-5.0261 -1.80714,-5.76025 -1.01651,-0.73414 -2.20245,-0.6212 -2.7107,-0.6212 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path4635" />
<path
d="m 528.13961,257.45597 h 5.70377 v 30.89071 h -5.70377 v -2.59776 c -0.11295,0.0565 -0.33884,0.28237 -0.6212,0.56473 -0.67768,0.67768 -1.4683,1.4683 -2.48481,2.03303 -0.50826,0.28236 -1.01652,0.45178 -1.52477,0.45178 -1.52477,0 -2.59776,-0.90356 -3.27544,-2.0895 -0.67767,-1.12946 -1.01651,-2.65423 -1.01651,-3.9531 v -25.29989 h 5.70377 v 24.45279 c 0,1.18593 0.67768,1.35535 1.35535,1.35535 0.6212,0 0.96004,-0.33884 1.35535,-0.73415 0.16942,-0.16942 0.33884,-0.45178 0.50826,-0.73414 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path4637" />
<path
d="m 538.41152,246.83905 h 5.70377 v 5.70377 h -5.70377 z m 0,41.50763 v -30.89071 h 5.70377 v 30.89071 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path4639" />
<path
d="m 548.6693,288.34668 v -41.50763 h 5.70377 v 41.50763 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path4641" />
<path
d="m 573.32769,288.34668 h -5.70377 v -2.03303 c -0.96004,0.90357 -1.80713,1.58125 -2.88012,2.0895 -0.56473,0.28237 -1.12946,0.39531 -1.63771,0.39531 -1.58125,0 -2.65423,-0.90356 -3.33191,-2.0895 -0.73415,-1.12946 -1.07299,-2.65423 -1.07299,-3.9531 v -19.70907 c 0,-1.29888 0.33884,-2.82365 1.07299,-4.00958 0.67768,-1.12946 1.75066,-2.03303 3.33191,-2.03303 1.07298,0 2.20244,0.6212 3.04954,1.24241 0.50825,0.39531 0.96004,0.79062 1.46829,1.2424 v -12.64994 h 5.70377 z m -5.70377,-24.11396 c 0,-0.90357 -0.84709,-1.86361 -1.69419,-1.86361 -0.84709,0 -1.52477,0.79063 -1.52477,1.86361 v 17.3372 c 0,1.07299 0.67768,1.86361 1.52477,1.86361 0.8471,0 1.69419,-0.79062 1.69419,-1.86361 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path4643" />
<path
d="m 586.53882,265.36218 c 0,-0.73415 0,-1.63771 -0.22589,-2.37186 -0.28236,-0.67768 -0.73415,-1.24241 -1.63771,-1.24241 -0.73415,0 -1.18594,0.56473 -1.41183,1.24241 -0.28236,0.67767 -0.33884,1.63771 -0.33884,2.37186 0,0.96004 0.50826,1.97656 1.24241,2.88012 0.67768,0.90357 1.58124,1.80714 2.48481,2.65423 1.18593,1.18593 2.59776,2.54129 3.5578,4.06606 0.96004,1.58124 1.69419,3.3319 1.69419,5.36493 0,1.97655 -0.45179,4.06605 -1.58125,5.64729 -1.18593,1.63772 -2.99306,2.82365 -5.70377,2.82365 -3.44485,0 -5.47787,-1.58124 -6.60733,-3.50132 -1.12946,-1.92008 -1.35535,-4.29195 -1.35535,-5.92966 h 5.30845 c 0,0.84709 0.0565,2.03302 0.45179,2.93659 0.39531,0.96004 1.01651,1.75066 2.20244,1.75066 1.63772,0 1.97656,-1.92008 1.97656,-3.72721 0,-1.86361 -1.80714,-3.72722 -3.5578,-5.47788 -1.35535,-1.29888 -2.65423,-2.48481 -3.67074,-4.00958 -1.01652,-1.52477 -1.75066,-3.21896 -1.75066,-5.47788 0,-1.80713 0.33883,-3.89663 1.41182,-5.53435 1.07299,-1.58124 2.82365,-2.76718 5.53435,-2.82365 3.33191,-0.0565 5.19551,1.18593 6.15555,2.82365 0.96004,1.63772 1.12946,3.78369 1.12946,5.53435 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path4645" />
</g>
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.55900002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4516"
cx="515.09497"
cy="200.81795"
r="4.4642859" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 KiB

10
site/index.html Normal file
View File

@ -0,0 +1,10 @@
<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="Content-Language" content="en" /><meta name="author" content="Ricardo Wurmus" /><meta name="viewport" content="width=device-width" /><title>Bootstrappable builds</title><link rel="stylesheet" media="screen" type="text/css" href="/css/reset.css" /><link rel="stylesheet" media="screen" type="text/css" href="/css/screen.css" /><link rel="shortcut icon" href="http://bootstrappable.org/favicon.ico" /></head><body id="top"><div id="banner"><img alt="A boot pulled up by its straps." src="/images/banner.svg" /></div><nav id="menu"><ul><li><a href="/benefits.html" class="inactive">Benefits</a></li><li><a href="/best-practises.html" class="inactive">Best Practises</a></li><li><a href="/projects.html" class="inactive">Projects</a></li><li><a href="/who.html" class="inactive">Contact</a></li></ul></nav><div id="page"><div class="page"><p>Compilers are often written in the language they are compiling.
This creates a chicken-and-egg problem that leads users and distributors to rely on opaque, pre-built binaries of those compilers that they use to build newer versions of the compiler.</p><p>To gain trust in our computing platforms, we need to be able to tell how each part was produced from source.
We believe that opaque binaries are a threat to user security and user freedom since they are not auditable;
we believe the amount of bootstrap binaries should be minimized.</p><h2>Benefits</h2><p>This is nice, but what are the <em>actual</em> benefits of “bootstrappable” implementations?
<a href="benefits.html">Find out what additional benefits</a> there are to achieving bootstrappable builds.</p><h2>Best practises</h2><p>Are you developing or contributing to software that is affected by the bootstrapping problem?
Here we list <a href="best-practises.html">best practises and practical examples</a>
that can help you pull yourself up by your own bootstraps.</p><h2>Collaboration projects</h2><p>Solving bootstrapping problems in existing compilers and build systems requires collaboration.
Here is a <a href="projects.html">list of long-term high-impact projects</a>
that we would like to work on collaboratively.</p><p>More projects and status updates can be found <a href="https://bootstrapping.miraheze.org/">on the bootstrapping wiki</a>.</p><p>Join the <a href="who.html">mailing list</a> and/or the <a href="http://webchat.freenode.net?randomnick=1&amp;channels=%23bootstrappable&amp;uio=d4">IRC channel #bootstrappable</a> on freenode for news and communication!</p><h2>Further reading</h2><ul><li>Ken Thompson's acceptance speech for the 1983 Turing Award:
<a href="https://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf">Reflections on trusting trust</a></li><li><a href="https://manishearth.github.io/blog/2016/12/02/reflections-on-rusting-trust/">Toy example of a subverted rust compiler</a></li><li><a href="https://www.quora.com/What-is-a-coders-worst-nightmare/answer/Mick-Stute">What is a coder's worst nightmare?</a></li><li><a href="http://blog.regehr.org/archives/1241">Defending Against Compiler-Based Backdoors</a></li><li><a href="https://www.alchemistowl.org/pocorgtfo/pocorgtfo08.pdf">Deniable Backdoors Using Compiler Bugs</a></li></ul></div></div><footer>Made with <span class="highlight"></span> by <a href="/who.html">humans</a> and powered by <a href="https://gnu.org/software/guile">GNU Guile</a>. <a href="http://git.savannah.gnu.org/cgit/guix/bootstrappable.git/">Source code</a> under the <a href="https://gnu.org/licenses/agpl-3.0.html">GNU AGPL</a>.</footer></body>

22
site/projects.html Normal file
View File

@ -0,0 +1,22 @@
<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="Content-Language" content="en" /><meta name="author" content="Ricardo Wurmus" /><meta name="viewport" content="width=device-width" /><title>Projects</title><link rel="stylesheet" media="screen" type="text/css" href="/css/reset.css" /><link rel="stylesheet" media="screen" type="text/css" href="/css/screen.css" /><link rel="shortcut icon" href="http://bootstrappable.org/favicon.ico" /></head><body id="top"><div id="banner-slim"><a href="/"><img alt="A boot pulled up by its straps." src="/images/banner-slim.svg" /></a></div><nav id="menu"><ul><li><a href="/benefits.html" class="inactive">Benefits</a></li><li><a href="/best-practises.html" class="inactive">Best Practises</a></li><li><a href="/projects.html" class="active">Projects</a></li><li><a href="/who.html" class="inactive">Contact</a></li></ul></nav><div id="page"><div class="page"><p>Here are a couple of ongoing projects in the bootstrappable builds community.
If you're interested in working on any of these projects please <a href="/who.html">contact us</a>.</p><h2>Growing a source-based bootstrapping path to a GNU system</h2><p><a href="http://savannah.nongnu.org/projects/stage0">Stage0</a>
starts with just a 280byte Hex monitor and builds up the infrastructure required to start some serious software development.
With zero external dependencies, with the most painful work already done and real langauges such as assembly, forth and garbage collected lisp already implemented</p><p>Demonstrate some old school skill, by writting a new compiler or interpreter or help with various support tasks required to keep this project on track.
Or if low level programming isn't for you, help bridge the gap between our goal and where we are by writing low dependency software in the high level language of your choice that might be easier for us to bootstrap.</p><p>Even if contributing to it isn't for you, if you could take 7 minutes to verify what already exists on whatever weird operating system or hardware you have; we would love to hear about your results.</p><h2>Working towards a source-based bootstrapping path to a GNU+Linux system</h2><p>A distsribution has to start from bootstrap binaries that are taken for granted.
<a href="/projects/mes.html">Learn more about how we reduce the size of the binary seeds!</a></p><h2>Maintaining GCC version 4.7</h2><p>The C and C++ compilers of the GNU Compiler Collection make up the foundation of many free software distributions.
Current versions of GCC are written in C++, which means that a C++ compiler is needed to build it from source.
GCC 4.7 was the last version of the collection that could be built with a plain C compiler, a much simpler task.</p><p>We propose to collectively maintain a subset of GCC 4.7 to ensure that we can build the foundation of free software
distributions starting with a simple C compiler (such as tinyCC, pcc, etc).</p><h2>From C++ to the world of Java</h2><p>The Java Development Kit (JDK) is written in Java, so you
need a JDK to build a JDK.
<a href="/projects/java.html">Learn more about how we cut the cycle!</a></p><h2>Bootstrapping the rest of the Java ecosystem</h2><p>In the Java world there are a lot of tools from testing frameworks
like JUnit to build tools like Maven and Gradle that have self dependencies.
Bootstrapping these is an ongoing effort. To see the current status and
work to be done have a look at <a href="/projects/java-tools.html">Bootstrapping Java Tools</a></p><h2>Boostrapping JVM languages</h2><p>The Java Virtual Machine runs several other languages besides java,
all of them with their own tools and ecosystem. The most prominent ones
are Groovy, Clojure, Scala and Kotlin. Some of these are already
bootstrapped, but this is an ongoing effort. To see the current status
and work to be done have a look at <a href="/projects/jvm-languages.scm">Bootstrapping JVM languages</a></p><h2>Bootstrapping GHC with Hugs</h2><p>The Glasgow Haskell Compiler (GHC) is the most popular Haskell compiler.
It is written in Haskell and since the first public release requires GHC to build newer versions of the compiler.
It might be possible to build a first GHC from source with the Hugs interpreter and an older version of GHC.
<a href="http://elephly.net/posts/2017-01-09-bootstrapping-haskell-part-1.html">This blog post describes a first attempt</a>
of this project.</p></div></div><footer>Made with <span class="highlight"></span> by <a href="/who.html">humans</a> and powered by <a href="https://gnu.org/software/guile">GNU Guile</a>. <a href="http://git.savannah.gnu.org/cgit/guix/bootstrappable.git/">Source code</a> under the <a href="https://gnu.org/licenses/agpl-3.0.html">GNU AGPL</a>.</footer></body>

View File

@ -0,0 +1,9 @@
<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="Content-Language" content="en" /><meta name="author" content="Ricardo Wurmus" /><meta name="viewport" content="width=device-width" /><title>Bootstapping Java Tools</title><link rel="stylesheet" media="screen" type="text/css" href="/css/reset.css" /><link rel="stylesheet" media="screen" type="text/css" href="/css/screen.css" /><link rel="shortcut icon" href="http://bootstrappable.org/favicon.ico" /></head><body id="top"><div id="banner-slim"><a href="/"><img alt="A boot pulled up by its straps." src="/images/banner-slim.svg" /></a></div><nav id="menu"><ul><li><a href="/benefits.html" class="inactive">Benefits</a></li><li><a href="/best-practises.html" class="inactive">Best Practises</a></li><li><a href="/projects.html" class="inactive">Projects</a></li><li><a href="/who.html" class="inactive">Contact</a></li></ul></nav><div id="page"><h3>Maven</h3><p>Maven is a build tool in the Java ecosystem. It needs Maven to build.
Maven is bootstrapped in GNU Guix, using generated build configuration
files for the Ant build tool, that is already bootstrapped as the result
of the <a href="/projects/java.html">From C++ to the world of Java</a> project.</p><p>You can download the graph of dependencies from <a href="/static/graphs/maven.dot">here</a>
in a dot format.</p><h2>Gradle</h2><p>Gradle is a build tool in the Java ecosystem. It needs Gradle to build.
It also depends on Scala. Scala is currently not bootstrappable, to
see the status of work in progress on the issue see
<a href="/projects/jvm-languages.html">Bootstrapping JVM Languages</a>.</p><p>It would be nice to check if Gradle also depends on Kotlin, which is
another JVM language that is not bootstrapped yet.</p><p><a href="/projects.html">← back to list of projects</a></p></div><footer>Made with <span class="highlight"></span> by <a href="/who.html">humans</a> and powered by <a href="https://gnu.org/software/guile">GNU Guile</a>. <a href="http://git.savannah.gnu.org/cgit/guix/bootstrappable.git/">Source code</a> under the <a href="https://gnu.org/licenses/agpl-3.0.html">GNU AGPL</a>.</footer></body>

24
site/projects/java.html Normal file
View File

@ -0,0 +1,24 @@
<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="Content-Language" content="en" /><meta name="author" content="Ricardo Wurmus" /><meta name="viewport" content="width=device-width" /><title>From C++ to Java</title><link rel="stylesheet" media="screen" type="text/css" href="/css/reset.css" /><link rel="stylesheet" media="screen" type="text/css" href="/css/screen.css" /><link rel="shortcut icon" href="http://bootstrappable.org/favicon.ico" /></head><body id="top"><div id="banner-slim"><a href="/"><img alt="A boot pulled up by its straps." src="/images/banner-slim.svg" /></a></div><nav id="menu"><ul><li><a href="/benefits.html" class="inactive">Benefits</a></li><li><a href="/best-practises.html" class="inactive">Best Practises</a></li><li><a href="/projects.html" class="inactive">Projects</a></li><li><a href="/who.html" class="inactive">Contact</a></li></ul></nav><div id="page"><p>The Java Development Kit (JDK) is written in Java, so you need a JDK
to build the JDK. One way to cut this dependency cycle is to use
older tools that were written in a time when Java was not yet popular
enough to write compilers in Java.</p><p>In Guix the Java bootstrap begins with Jikes, a Java compiler written
in C++. We use it to build a simple version of GNU Classpath, the
Java standard library. We chose version 0.93 because it is the last
version that can be built with Jikes. With Jikes and this version of
GNU Classpath we can build JamVM, a Java Virtual Machine. We build
version 1.5.1 because it is the last version of JamVM that works with
a version of GNU classpath that does not require ECJ. These three
packages make up the bootstrap JDK.</p><p>This is sufficient to build an older version of Ant, which is needed
to build an older version of ECJ, an incremental Java compiler, both
of which are written in Java.</p><p>ECJ is needed to build the latest release (0.99) and the development
version of GNU Classpath. The development version of GNU Classpath
has much more support for Java 1.6 than the latest release, but we
need to build 0.99 first to get a working version of javah. ECJ, the
development version of GNU Classpath, and the latest version of JamVM
make up the second stage JDK with which we can build the OpenJDK 6
with the Icedtea 1.x build framework. We then build the more recent
JDKs Icedtea 2.x and Icedtea 3.x for OpenJDK 7 and 8, respectively.</p><p>Moving on to JDK 9 and 10 is left as an exercise for the reader.</p><p>This is the dependency graph of the bootstrap JDK as implemented in
<a href="https://gnu.org/software/guix">GNU Guix</a>:</p><p><img src="/images/jdk-bootstrap.png" alt="dependency graph of the bootstrap JDK in GNU Guix" /></p><p>Unfortunately, most of the software needed for the bootstrap has been
abandoned. To ensure that the JDK can be built from sources without
the need for an existing installation of the OpenJDK we propose to
continue maintaining the links of this bootstrap chain.</p><p><a href="/projects.html">← back to list of projects</a></p></div><footer>Made with <span class="highlight"></span> by <a href="/who.html">humans</a> and powered by <a href="https://gnu.org/software/guile">GNU Guile</a>. <a href="http://git.savannah.gnu.org/cgit/guix/bootstrappable.git/">Source code</a> under the <a href="https://gnu.org/licenses/agpl-3.0.html">GNU AGPL</a>.</footer></body>

View File

@ -0,0 +1,14 @@
<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="Content-Language" content="en" /><meta name="author" content="Ricardo Wurmus" /><meta name="viewport" content="width=device-width" /><title>Bootstrapping JVM languages</title><link rel="stylesheet" media="screen" type="text/css" href="/css/reset.css" /><link rel="stylesheet" media="screen" type="text/css" href="/css/screen.css" /><link rel="shortcut icon" href="http://bootstrappable.org/favicon.ico" /></head><body id="top"><div id="banner-slim"><a href="/"><img alt="A boot pulled up by its straps." src="/images/banner-slim.svg" /></a></div><nav id="menu"><ul><li><a href="/benefits.html" class="inactive">Benefits</a></li><li><a href="/best-practises.html" class="inactive">Best Practises</a></li><li><a href="/projects.html" class="inactive">Projects</a></li><li><a href="/who.html" class="inactive">Contact</a></li></ul></nav><div id="page"><h3>Clojure</h3><p>The Clojure language is bootstrapped on GNU Guix.</p><p>Clojure just did the right thing regarding bootstrappability. They have a
bootstrappabel build system (Ant), and they have their core in a bootstrappable
language (Java), that is just enough to build the parts of the Clojure complier
so that it can build its Clojure files.</p><h3>Groovy</h3><p>The Groovy language is bootstrapped on GNU Guix.</p><h3>Scala</h3><p>We do not know about a bootsrap path for Scala. Going down the dependency chain
of Scala proved to be futile, as the first pulished version of Scala depends
on proprietary software. Most probably the only way to do this, after a
thoughtful mapping of problem space, seems to be writing a bootstrap compiler
for Scala. Some preliminary work has already been done in that direction, but
it is not ready for publication yet. People interested bootstrapping Scala
are welcome to inquire on the
<a href="&quot;http://webchat.freenode.net?randomnick=1&amp;channels=%23bootstrappable&amp;uio=d4&quot;">#bootstrappable IRC channel</a>
on freenode.</p><h3>Kotlin</h3><p>We do not know about a bootstrap path for Kotiln. We are in the phase of
mapping the dependencies of Kotlin to get a plan to have it bootstrapped.
People interested in bootstrapping Kotlin are welcome to join in.</p><p><a href="/projects.html">← back to list of projects</a></p></div><footer>Made with <span class="highlight"></span> by <a href="/who.html">humans</a> and powered by <a href="https://gnu.org/software/guile">GNU Guile</a>. <a href="http://git.savannah.gnu.org/cgit/guix/bootstrappable.git/">Source code</a> under the <a href="https://gnu.org/licenses/agpl-3.0.html">GNU AGPL</a>.</footer></body>

16
site/projects/mes.html Normal file
View File

@ -0,0 +1,16 @@
<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="Content-Language" content="en" /><meta name="author" content="Ricardo Wurmus" /><meta name="viewport" content="width=device-width" /><title>Working towards a source-based bootstrapping path to a GNU+Linux system]</title><link rel="stylesheet" media="screen" type="text/css" href="/css/reset.css" /><link rel="stylesheet" media="screen" type="text/css" href="/css/screen.css" /><link rel="shortcut icon" href="http://bootstrappable.org/favicon.ico" /></head><body id="top"><div id="banner-slim"><a href="/"><img alt="A boot pulled up by its straps." src="/images/banner-slim.svg" /></a></div><nav id="menu"><ul><li><a href="/benefits.html" class="inactive">Benefits</a></li><li><a href="/best-practises.html" class="inactive">Best Practises</a></li><li><a href="/projects.html" class="inactive">Projects</a></li><li><a href="/who.html" class="inactive">Contact</a></li></ul></nav><div id="page"><h3>Reduced binary seed bootstrap (current status)</h3><p><a href="https://www.gnu.org/software/mes">Mes</a> aims to create an entirely source-based bootstrapping path.
The target is to have <a href="https://gnu.org/software/guix">GuixSD</a>
bootstrap from a minimal, easily inspectable binary—that should be readable as
source—into something close to R6RS Scheme.</p><p>As bootstrapping is presumably easiest and probably most fun with Scheme, the next step for Mes is mescc:
a C compiler/linker to bootstrap into GNU GCC and GNU Guile, via Tiny-CC.</p><p>It currently has an interpreter written in C with garbage collector,
a library of loadable Scheme modules and test suite just barely enough to support a simple REPL and a
C compiler that can build TinyCC.</p><p>The following the graph shows how in GuixSD GCC is removed from the bootstrap binary seed:</p><p>This is the dependency graph of the bootstrap as implemented in
<a href="https://gnu.org/software/guix">GNU Guix</a>:</p><p><img src="/images/gcc-mesboot0.png" alt="dependency graph of the bootstrap in GNU Guix" /></p><p>--The nodes having elliptical shape are the static bootstrap binaries bundled into
--a single tarball, we show them to make implicit dependencies clear.
--
--The nodes having red text are development only dependecies, they can be safely
--dropped once the bootstrap is stabilized.</p><p>It is also possible to create a similar bootstrap path for other distributions,
as showcased by Nix on the Reproducible Build Summit.</p><h3>Build GCC 4.7 with a smaller compiler</h3><p>GCC is a complex beast and a binary of it is often used to bootstrap the whole system.
Version 4.7 is the last version of GCC to not require a C++ compiler.
This project aims to build GCC version 4.7 with a simple C compiler such as
<a href="http://www.landley.net/code/tinycc/">TinyCC</a>.</p><p><a href="/projects.html">← back to list of projects</a></p></div><footer>Made with <span class="highlight"></span> by <a href="/who.html">humans</a> and powered by <a href="https://gnu.org/software/guile">GNU Guile</a>. <a href="http://git.savannah.gnu.org/cgit/guix/bootstrappable.git/">Source code</a> under the <a href="https://gnu.org/licenses/agpl-3.0.html">GNU AGPL</a>.</footer></body>

4
site/who.html Normal file
View File

@ -0,0 +1,4 @@
<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="Content-Language" content="en" /><meta name="author" content="Ricardo Wurmus" /><meta name="viewport" content="width=device-width" /><title>Contact</title><link rel="stylesheet" media="screen" type="text/css" href="/css/reset.css" /><link rel="stylesheet" media="screen" type="text/css" href="/css/screen.css" /><link rel="shortcut icon" href="http://bootstrappable.org/favicon.ico" /></head><body id="top"><div id="banner-slim"><a href="/"><img alt="A boot pulled up by its straps." src="/images/banner-slim.svg" /></a></div><nav id="menu"><ul><li><a href="/benefits.html" class="inactive">Benefits</a></li><li><a href="/best-practises.html" class="inactive">Best Practises</a></li><li><a href="/projects.html" class="inactive">Projects</a></li><li><a href="/who.html" class="active">Contact</a></li></ul></nav><div id="page"><div class="page"><p>This project was started at the <a href="https://reproducible-builds.org/events/berlin2016/">2016 Reproducible Builds Summit</a> in Berlin,
where people involved with various GNU+Linux distributions and BSDs discussed the state of software reproducibility.</p><p>To contact us please send email to <a href="mailto:bootstrappable@freelists.org">the bootstrappable mailing list</a>
or join the <a href="http://webchat.freenode.net?randomnick=1&amp;channels=%23bootstrappable&amp;uio=d4">#bootstrappable IRC channel</a> on freenode.
The <a href="https://www.freelists.org/archive/bootstrappable/">mailing list archive is publicly accessible</a>.</p><p>To subscribe to the mailing list send an email with &quot;subscribe&quot; in the subject to <code>bootstrappable-request@freelists.org</code>.</p></div></div><footer>Made with <span class="highlight"></span> by <a href="/who.html">humans</a> and powered by <a href="https://gnu.org/software/guile">GNU Guile</a>. <a href="http://git.savannah.gnu.org/cgit/guix/bootstrappable.git/">Source code</a> under the <a href="https://gnu.org/licenses/agpl-3.0.html">GNU AGPL</a>.</footer></body>

View File

@ -12,6 +12,10 @@
font-style: normal;
}
html {
height: 100%;
}
html, body {
font-family: "droid_serifregular", serif;
text-rendering: optimizelegibility;
@ -30,10 +34,44 @@ html, body {
@media all and (max-width:760px){html {font-size: 18px;}}
body {
margin: 0 auto; }
body .elephly {
margin: 0 auto;
display:flex;
flex-direction: column;
min-height: 100%;
}
body .elephly {
background: #bdc0ac; }
nav#menu {
box-shadow: 0px 3px 8px #ccc;
margin-bottom: 1em;
background: #fff; }
nav#menu ul {
list-type: none;
text-align: center;
}
nav#menu ul li {
display: inline-block;
padding: 0.5em 1em;
}
nav#menu a, nav#menu a:visited {
color: black;
}
nav#menu a.active, a.active:hover {
color: #ff00ff;
background: none;
}
/*nav#menu a:hover {
color: inherited;
background: none;
}*/
#index {
padding: 1rem;
margin-left: 2rem; }
@ -41,9 +79,8 @@ body {
margin-left: auto;
margin-right: auto;
margin-top: 0;
margin-bottom: 1em;
margin-bottom: 0;
width: 100%;
box-shadow: 0px 3px 8px #ccc;
background: #fff;
text-align: center; }
#banner-slim a, #banner a {
@ -57,6 +94,10 @@ body {
padding-bottom: 0.3em;
padding-top: 0.3em; }
#banner-slim a:hover {
background-color: inherit;
}
footer {
background-color: #fff;
box-shadow: 0px -3px 8px #ccc;
@ -72,7 +113,12 @@ footer {
#index {
text-align: center; }}
#page {
flex: 1;
}
/* drop caps */
#page p:first-child:first-letter {
font-size: 5em;
float: left;

View File

@ -0,0 +1,89 @@
digraph "Guix bag" {
dpi=100
"/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [fontcolor = red]
//HANDCRAFTED UNTIL HERE TO BE ABLE TO CUSTOMIZE
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc-mesboot0-2.95.3.drv" [label = "gcc-mesboot0@2.95.3", shape = box, fontname = Helvetica];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils-mesboot0-2.20.1a.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-mesboot-2.95.3.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc-mesboot0-2.2.5.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = darkgoldenrod];
"/gnu/store/mywrsxmbsz9k87z755mnymmpdjv0jvf1-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make-mesboot0-3.80.drv" [color = darkgoldenrod];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils-mesboot0-2.20.1a.drv" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = Helvetica];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-boot-0.9.27.drv" [color = peachpuff4];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" [color = peachpuff4];
"/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make-mesboot0-3.80.drv" [color = peachpuff4];
"/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-boot-0.9.27.drv" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
"/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-boot-0.9.27.drv" -> "/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-boot-0.18.drv" [color = red];
"/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-boot-0.9.27.drv" -> "/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc-boot0-0.9.26-5.c7b3f59.drv" [color = red];
"/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-boot-0.9.27.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = red];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-boot-0.18.drv" [label = "mes-boot@0.18", shape = box, fontname = Helvetica];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-boot-0.18.drv" -> "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [color = darkseagreen];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-boot-0.18.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-boot-0.18.drv" -> "/gnu/store/629yzay882kh1yhpqddps2psfhpjrk2q-bootstrap-mes-0.drv" [color = darkseagreen];
"/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-boot-0.18.drv" -> "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [color = darkseagreen];
"/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [label = "bootstrap-mescc-tools@0.5.2", shape = box, fontname = Helvetica];
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [label = "bootstrap-binaries@0", shape = box, fontname = Helvetica];
"/gnu/store/629yzay882kh1yhpqddps2psfhpjrk2q-bootstrap-mes-0.drv" [label = "bootstrap-mes@0", shape = box, fontname = Helvetica];
"/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [label = "guile-bootstrap@2.0", shape = box, fontname = Helvetica];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc-boot0-0.9.26-5.c7b3f59.drv" [label = "tcc-boot0@0.9.26-5.c7b3f59", shape = box, fontname = Helvetica];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-boot-0.18.drv" [color = dimgrey];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [color = dimgrey];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/629yzay882kh1yhpqddps2psfhpjrk2q-bootstrap-mes-0.drv" [color = dimgrey];
"/gnu/store/kd9ly1185dn9z1mbkn0wd2r3fcv1bkw5-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [color = dimgrey];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" -> "/gnu/store/pa9s0y0dx6a60a72434syb1zfxgmqilr-mes-boot-0.18.drv" [color = blue];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" -> "/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-boot-0.9.27.drv" [color = blue];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make-mesboot0-3.80.drv" [color = blue];
"/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make-mesboot0-3.80.drv" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
"/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make-mesboot0-3.80.drv" -> "/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-boot-0.9.27.drv" [color = blue];
"/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make-mesboot0-3.80.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-mesboot-2.95.3.drv" [label = "gcc-core-mesboot@2.95.3", shape = box, fontname = Helvetica];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils-mesboot0-2.20.1a.drv" [color = darkseagreen];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/7lcpxky7sn4c9c86ywri6y3x2d4681iv-tcc-boot-0.9.27.drv" [color = darkseagreen];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" [color = darkseagreen];
"/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make-mesboot0-3.80.drv" [color = darkseagreen];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc-mesboot0-2.2.5.drv" [label = "glibc-mesboot0@2.2.5", shape = box, fontname = Helvetica];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/fh33abhfvsdgdrg54m86yhmkihfp1g2j-binutils-mesboot0-2.20.1a.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/52nz2cbswm4n91707gy8945h2s4jgvfb-gcc-core-mesboot-2.95.3.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/qf1x4bvxg8ihbgmv57yyiwkj5y8zzmk0-diffutils-mesboot-2.7.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" [color = blue];
"/gnu/store/rn88dllv6vh4mxwbr4v9wjmnl4ml3xs2-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/vys62fkr9p3qfp9mc36456ffbpz24n60-make-mesboot0-3.80.drv" [color = blue];
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" [label = "mesboot-headers@0.18", shape = box, fontname = Helvetica];
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = cyan3];
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = cyan3];
"/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [label = "linux-libre-headers-bootstrap@0", shape = box, fontname = Helvetica];
// HANDCRAFTED FROM HERE TO MAKE THE STATIC BOOTSTRAP BINARIES VISIBLE
tar [fontname = Helvetica]
gzip [fontname = Helvetica]
bzip2 [fontname = Helvetica]
xz [fontname = Helevtica]
patch [fontname = Helevtica]
coreutils [fontname = Helvetica]
sed [fontname = Helvetica]
grep [fontname = Helvetica]
gawk [fontname = Helvetica]
bash [fontname = Helvetica]
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> tar
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> gzip
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> bzip2
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> xz
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> patch
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> coreutils
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> sed
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> grep
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> gawk
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" -> bash
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB