diff --git a/.gcloudignore b/.gcloudignore
deleted file mode 100644
index 199e6d9..0000000
--- a/.gcloudignore
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file specifies files that are *not* uploaded to Google Cloud Platform
-# using gcloud. It follows the same syntax as .gitignore, with the addition of
-# "#!include" directives (which insert the entries of the given .gitignore-style
-# file at that point).
-#
-# For more information, run:
-#   $ gcloud topic gcloudignore
-#
-.gcloudignore
-# If you would like to upload your .git directory, .gitignore file or files
-# from your .gitignore file, remove the corresponding line
-# below:
-.git
-.gitignore
-
-# Binaries for programs and plugins
-*.exe
-*.exe~
-*.dll
-*.so
-*.dylib
-# Test binary, build with `go test -c`
-*.test
-# Output of the go coverage tool, specifically when used with LiteIDE
-*.out
\ No newline at end of file
diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index be5533b..0000000
--- a/.gitattributes
+++ /dev/null
@@ -1,21 +0,0 @@
-# Treat all files in this repo as binary, with no git magic updating
-# line endings. Windows users contributing to Go will need to use a
-# modern version of git and editors capable of LF line endings.
-#
-# We'll prevent accidental CRLF line endings from entering the repo
-# via the git-review gofmt checks.
-#
-# See golang.org/issue/9281
-
-* -text
-
-# The builders assume the git archive *.tar.gz of the tree is under
-# 25 MB but this repo is 31+ MB with all the images.
-# So exclude those.
-# See https://golang.org/issue/11199
-
-*.jpg export-ignore
-*.jpeg export-ignore
-*.png export-ignore
-*.gif export-ignore
-*.pdf export-ignore
diff --git a/AUTHORS b/AUTHORS
deleted file mode 100644
index 15167cd..0000000
--- a/AUTHORS
+++ /dev/null
@@ -1,3 +0,0 @@
-# This source code refers to The Go Authors for copyright purposes.
-# The master list of authors is in the main Go distribution,
-# visible at http://tip.golang.org/AUTHORS.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index d0485e8..0000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Contributing to Go
-
-Go is an open source project.
-
-It is the work of hundreds of contributors. We appreciate your help!
-
-## Filing issues
-
-When [filing an issue](https://golang.org/issue/new), make sure to answer these five questions:
-
-1.  What version of Go are you using (`go version`)?
-2.  What operating system and processor architecture are you using?
-3.  What did you do?
-4.  What did you expect to see?
-5.  What did you see instead?
-
-General questions should go to the [golang-nuts mailing list](https://groups.google.com/group/golang-nuts) instead of the issue tracker.
-The gophers there will answer or ask you to file an issue if you've tripped over a bug.
-
-## Contributing code
-
-Please read the [Contribution Guidelines](https://golang.org/doc/contribute.html)
-before sending patches.
-
-Unless otherwise noted, the Go source files are distributed under
-the BSD-style license found in the LICENSE file.
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
deleted file mode 100644
index 1c4577e..0000000
--- a/CONTRIBUTORS
+++ /dev/null
@@ -1,3 +0,0 @@
-# This source code was written by the Go contributors.
-# The master list of contributors is in the main Go distribution,
-# visible at http://tip.golang.org/CONTRIBUTORS.
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 6a66aea..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,27 +0,0 @@
-Copyright (c) 2009 The Go Authors. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-   * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-   * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
-   * Neither the name of Google Inc. nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/PATENTS b/PATENTS
deleted file mode 100644
index 7330990..0000000
--- a/PATENTS
+++ /dev/null
@@ -1,22 +0,0 @@
-Additional IP Rights Grant (Patents)
-
-"This implementation" means the copyrightable works distributed by
-Google as part of the Go project.
-
-Google hereby grants to You a perpetual, worldwide, non-exclusive,
-no-charge, royalty-free, irrevocable (except as stated in this section)
-patent license to make, have made, use, offer to sell, sell, import,
-transfer and otherwise run, modify and propagate the contents of this
-implementation of Go, where such license applies only to those patent
-claims, both currently owned or controlled by Google and acquired in
-the future, licensable by Google that are necessarily infringed by this
-implementation of Go.  This grant does not include claims that would be
-infringed only as a consequence of further modification of this
-implementation.  If you or your agent or exclusive licensee institute or
-order or agree to the institution of patent litigation against any
-entity (including a cross-claim or counterclaim in a lawsuit) alleging
-that this implementation of Go or any code incorporated within this
-implementation of Go constitutes direct or contributory patent
-infringement, or inducement of patent infringement, then any patent
-rights granted to you under this License for this implementation of Go
-shall terminate as of the date such litigation is filed.
diff --git a/README.md b/README.md
index 135d5ee..e5e7f43 100644
--- a/README.md
+++ b/README.md
@@ -1,61 +1,3 @@
-# Go Talks
+# Go Talks (obsolete)
 
-[![Go Reference](https://pkg.go.dev/badge/golang.org/x/talks.svg)](https://pkg.go.dev/golang.org/x/talks)
-
-This repository holds various Go talks that may be viewed with the present tool.
-
-## Viewing Locally
-
-To install the present tool, use `go get`:
-
-```
-go get golang.org/x/tools/cmd/present
-```
-
-To view talks, run `present` in the `content` directory and then
-visit [http://127.0.0.1:3999](http://127.0.0.1:3999) in your browser.
-
-## Report Issues / Send Patches
-
-This repository uses Gerrit for code changes. To learn how to submit changes to
-this repository, see https://golang.org/doc/contribute.html.
-
-The main issue tracker for the talks repository is located at
-https://github.com/golang/go/issues. Prefix your issue with "x/talks:" in the
-subject line, so it is easy to find.
-
-## Deploying
-
-To deploy these talks to talks.golang.org hosted on App Engine:
-
-1.	Add a version of `golang.org/x/tools/cmd/present` that you intend to
-	use in this deploy as a dependency of this module:
-
-	```
-	go get -d golang.org/x/tools/cmd/present@latest
-	```
-
-2.	Copy the contents of `golang.org/x/tools/cmd/present` to the root of
-	this repository:
-
-	```
-	rsync -r $(go list -f '{{.Dir}}' golang.org/x/tools/cmd/present)/ .
-	```
-
-3.	Run the deploy:
-
-	```
-	GO111MODULE=on gcloud --project=golang-org app deploy --no-promote app.yaml
-	```
-
-	This will create a new version, which can be viewed within the
-	[golang-org GCP project](https://console.cloud.google.com/appengine/versions?project=golang-org&serviceId=talks).
-
-4.	Check that the deployed version looks OK (click the version link in GCP).
-
-5.	If all is well, click "Migrate Traffic" to move 100% of the talks.golang.org
-	traffic to the new version.
-
-6.	Clean up the local file modifications that steps 1 and 2 caused.
-
-7.	You're done.
+The content of this repository has moved to [golang.org/x/website/_content/talks/](https://cs.opensource.google/go/x/website/+/master:_content/talks/).
diff --git a/app.yaml b/app.yaml
deleted file mode 100644
index ed889e7..0000000
--- a/app.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-service: talks
-runtime: go111
-
-env_variables:
-  GOLANGORG_CHECK_COUNTRY: true
-
-handlers:
-- url: /favicon.ico
-  static_files: static/favicon.ico
-  upload: static/favicon.ico
-  secure: always
-- url: /static
-  static_dir: static
-  secure: always
-- url: /.*
-  script: auto
-  secure: always
-
-nobuild_files: content/
diff --git a/codereview.cfg b/codereview.cfg
deleted file mode 100644
index 3f8b14b..0000000
--- a/codereview.cfg
+++ /dev/null
@@ -1 +0,0 @@
-issuerepo: golang/go
diff --git a/content/2009/go_talk-20091030.pdf b/content/2009/go_talk-20091030.pdf
deleted file mode 100644
index 5139ff2..0000000
--- a/content/2009/go_talk-20091030.pdf
+++ /dev/null
Binary files differ
diff --git a/content/2010/ExpressivenessOfGo-2010.pdf b/content/2010/ExpressivenessOfGo-2010.pdf
deleted file mode 100644
index f1931d0..0000000
--- a/content/2010/ExpressivenessOfGo-2010.pdf
+++ /dev/null
Binary files differ
diff --git a/content/2010/go_talk-20100112.html b/content/2010/go_talk-20100112.html
deleted file mode 100644
index e119dbb..0000000
--- a/content/2010/go_talk-20100112.html
+++ /dev/null
@@ -1,410 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<title>Go (January 12, 2010)</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="font-size-adjustment" content="-1" />
-<link rel="stylesheet" href="support/slidy.css"
-  type="text/css" media="screen, projection, print" />
-<script src="support/slidy.js" type="text/javascript">
-</script>
-</head>
-<body>
-<!-- this defines the slide background -->
-
-<div class="background">
-
-  <div class="header">
-  <!-- sized and colored via CSS -->
-  </div>
-
-  <div class="footer"></div>
-  </div>
-
-<div class="slide titlepage">
-<div style="height: 135px; width: 480px; overflow: hidden; position: fixed; top: auto; bottom: 10px; left: auto; right: 0;  ">
-<img src="support/bumper480x270.png" style="margin: -135px 0 0 0;"/>
-</div>
-<br/>
-<img src="support/go-logo-white.png">
-<br/>
-<br/>
-<h1 style="padding-right: 0pt; margin-right: 0pt; color: #0066cc; font-size: 250%; border-bottom: 0px;">The Go Programming Language</h1>
-<div style="color: #ffcc00;">
-<h2>Russ Cox</h2>
-<!-- <h3><i>rsc@google.com</i></h3> -->
-<br/>
-<h3>Stanford University<br/><br/>January 12, 2010</h3>
-</div>
-</div>
-
-<div class="slide">
-	<h1>Go</h1>
-
-	<h2>New</h2>
-	<h2>Experimental</h2>
-	<h2>Concurrent</h2>
-	<h2>Garbage-collected</h2>
-	<h2>Systems</h2>
-	<h2>Language</h2>
-</div>
-
-<div class="slide">
-	<h1>Hello, world</h1>
-<pre>
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Printf("Hello, 世界\n")
-}
-</pre>
-</div>
-
-<div class="slide">
-	<h1>History</h1>
-	
-	<h2>Design started in late 2007.</h2>
-	<h2>Implementation starting to work mid-2008.</h2>
-	<h2>Released as an open source project in November 2009.</h2>
-	<h2>Work continues.<h2>
-	<h2>Robert&nbsp;Griesemer, Ken&nbsp;Thompson, Rob&nbsp;Pike, Ian&nbsp;Lance&nbsp;Taylor, Russ&nbsp;Cox, many others</h2>
-</div>
-
-<div class="slide">
-	<h1>Why?</h1>
-	
-	<h2>Go fast!</h2>
-	<h2>Make programming fun again.</h2>
-</div>
-
-<div class="slide">
-	<h1>Why isn't programming fun?</h1>
-	
-	<div class="incremental">
-	<h2>Compiled, statically-typed languages (C, C++, Java) require too much typing and too much typing:</h2>
-	
-	<ul>
-		<li>verbose, lots of repetition</li>
-		<li>too much focus on type hierarchy</li>
-		<li>types get in the way as much as they help</li>
-		<li>compiles take far too long</li>
-	</ul>
-	</div>
-	
-	<div class="incremental">
-	<h2>Dynamic languages (Python, JavaScript) fix these problems (no more types, no more compiler) but introduce others:</h2>
-	
-	<ul>
-		<li>errors at run time that should be caught statically</li>
-		<li>no compilation means slow code</li>
-	</ul>
-	</div>
-	
-	<h2 class="incremental">Can we combine the best of both?</h2>
-</div>
-
-<div class="slide">
-	<h1>Go</h1>
-	
-	<h2>Make the language fast.</h2>
-	<h2>Make the tools fast.</h2>
-</div>
-
-<div class="slide">
-	<h1>Go Approach: Static Types</h1>
-	
-	<h2>Static types, but declarations can infer type from expression:</h2>
-	
-<pre>
-var one, hi = 1, "hello"
-
-var double = func(x int) int { return x*2 }
-</pre>
-
-	<h2>Not full Hindley-Milner type inference.</h2>
-</div>
-
-
-<div class="slide">
-	<h1>Go Approach: Methods</h1>
-	
-	<h2>Methods can be defined on any type.</h2>
-
-<pre>
-type Point struct {
-	X, Y float64
-}
-
-func (p Point) Abs() float64 {
-	return math.Sqrt(p.X*p.X + p.Y*p.Y)
-}
-</pre>
-</div>
-
-<div class="slide">
-	<h1>Go Approach: Methods</h1>
-	
-	<h2>Methods can be defined on any type.</h2>
-
-<pre>
-type MyFloat float64
-
-func (f MyFloat) Abs() float64 {
-	v := float64(f)
-	if v < 0 {
-		v = -v
-	}
-	return v
-}
-</pre>
-</div>
-
-<div class="slide">
-	<h1>Go Approach: Abstract Types</h1>
-	
-	<h2>An interface type lists a set of methods. Any value with those methods satisfies the interface.</h2>
-
-<pre>
-type Abser interface {
-	Abs() float64
-}
-
-func AbsPrinter(a Abser)
-</pre>
-
-	<h2>Can use Point or MyFloat (or ...):</h2>
-
-<pre>
-p := Point{3, 4}
-AbsPrinter(p)
-
-f := MyFloat(-10)
-AbsPrinter(f)
-</pre>
-
-	<h2>Notice that Point never declared that it implements Abser. It just does.  Same with MyFloat.</h2>
-</div>
-
-<div class="slide">
-	<h1>Go Approach: Packages</h1>
-
-	<h2>A Go program comprises one or more packages.</h2>
-	<h2>Each package is one or more source files compiled and imported as a unit.</h2>
-<pre>
-package draw
-
-type Point struct {
-	X, Y int
-}
-</pre>
-
-<pre>
-package main
-
-import "draw"
-
-var p draw.Point
-</pre>
-</div>
-
-<div class="slide">
-	<h1>Go Approach: Visibility</h1>
-	
-	<h2>Inside a package, all locally defined names are visible in all source files.</h2>
-	
-	<h2>When imported, only the upper case names are visible.</h2>
-
-<pre>
-package draw
-
-type <span style="color: black;">Point</span> struct {
-	<span style="color: black;">X</span>, <span style="color: black;">Y</span> int
-	dist float64
-}
-
-type cache map[Point] float64
-</pre>
-
-<h2>Clients that <code>import "draw"</code> can use the black names only.</h2>
-
-<h2>&ldquo;Shift is the new <code>public</code>.&rdquo;</h2>
-</div>
-
-<div class="slide">
-	<h1>Go Approach: Concurrency</h1>
-	
-	<h2>Cheap to create a new flow of control (goroutine):</h2>
-	
-<pre>
-func main() {
-	go expensiveComputation(x, y, z)
-	anotherExpensiveComputation(a, b, c)
-}
-</pre>
-
-	<h2>Two expensive computations in parallel.</h2>
-</div>
-
-<div class="slide">
-	<h1>Go Approach: Synchronization</h1>
-	
-	<h2>Use explicit messages to communicate and synchronize.</h2>
-	
-<pre>
-func computeAndSend(ch chan int, x, y, z int) {
-	ch <- expensiveComputation(x, y, z)
-}
-
-func main() {
-	ch := make(chan int)
-	go computeAndSend(ch, x, y, z)
-	v2 := anotherExpensiveComputation(a, b, c)
-	v1 := <-ch
-	fmt.Println(v1, v2)
-}
-</pre>
-	<h2>Notice communication of result in addition to synchronization.</h2>
-</div>
-
-<div class="slide">
-	<h1>Go Fast: Language</h1>
-	
-	<h2 class="incremental">Static types: enough to compile well, but inferred much of the time.</h2>
-	
-	<h2 class="incremental">Methods: on any type, orthogonal to type system.</h2>
-	
-	<h2 class="incremental">Abstract types: interface values, relations inferred statically.</h2>
-	
-	<h2 class="incremental">Visibility: inferred from case of name.</h2>
-	
-	<h2 class="incremental">Concurrency: lightweight way to start new thread of control.</h2>
-	
-	<h2 class="incremental">Synchronization: explicit, easy message passing.</h2>
-
-	<br/>
-	
-	<h2 class="incremental">Lightweight feel of a scripting language but compiled.</h2>
-</div>
-
-<div class="slide">
-	<h1>Compile fast</h1>
-
-	<div class="incremental">
-	<h2>Observation: much of the compile time for a source file is spent processing
-	other, often unrelated files.</h2>
-
-	<h2>In C: <code>a.c</code> includes <code>b.h</code>, which includes <code>c.h</code>, which includes <code>d.h</code>.
-	</h2>
-	
-	<h2>Except that it's more often a tree instead of a chain.</h2>
-	
-	<h2>On my Mac (OS X 10.5.8, gcc 4.0.1):</h2>
-	<ul>
-	<li>C: <code>#include &lt;stdio.h&gt;</code> reads 360 lines from 9 files.
-	<li>C++: <code>#include &lt;iostream&gt;</code> reads 25,326 lines from 131 files.
-	<li>Objective C: <code>#include &lt;Carbon/Carbon.h&gt;</code> reads 124,730 lines from 689 files.
-	</ul>
-	
-	<h2>And we haven't done any real work yet!</h2>
-	
-	<h2>Same story in Java, Python, but reading binaries instead of source files.</h2>
-	</div>
-</div>
-
-<div class="slide">
-	<h1>Implementation: Summarize Dependencies</h1>
-	
-<pre>
-package gui
-
-import "draw"
-
-type Mouse struct {
-	Loc draw.Point
-	Buttons uint
-}
-</pre>
-	<h2>Compiled form of <code>gui</code> summarizes the necessary part of <code>draw</code> (just <code>Point</code>).</h2>
-
-</div>
-
-<div class="slide">
-	<h1>Implementation: Summarize Dependencies</h1>
-
-	<h2>Compiled form of <code>gui</code> summarizes the necessary part of <code>draw</code> (just <code>Point</code>).  Pseudo-object:</h2>
-
-<pre>
-package gui
-type draw.Point struct {
-	X, Y int
-}
-type gui.Mouse struct {
-	Loc draw.Point
-	Buttons uint
-}
-</pre>
-
-	<h2>A file that imports <code>gui</code> compiles without consulting <code>draw</code> or its dependencies.</h2>
-	
-	<h2>In Go: <code>import "fmt"</code> reads <i>one</i> file: 184 lines summarizing types from 7 packages.</h2>
-
-	<h2>Tiny effect in this program but can be exponential in large programs.</h2>
-</div>
-
-<div class="slide">
-	<h1>Compilation Demo</h1>
-	
-	<h2>Build all standard Go packages: ~120,000 lines of code.</h2>
-</div>
-
-<div class="slide">
-	<h1>Go Status</h1>
-	
-	<div class="incremental">
-	<div>
-	<h2>Open source:</h2>
-	<ul>
-	<li>released on November 10, 2009
-	<li>regular releases (~ weekly)
-	<li>all development done in public Mercurial repository
-	<li>outside contributions welcome
-	</ul>
-	</div>
-	
-	<div>
-	<h2>Portable:</h2>
-	<ul>
-	<li>FreeBSD, Linux, OS X (x86, x86-64)
-	<li>(in progress) Linux arm, Native Client x86, Windows x86.
-	</ul>
-	</div>
-	
-	<div>
-	<h2>Still in progress, experimental.  Yet to come:</h2>
-	<ul>
-	<li>mature garbage collector
-	<li>generics?
-	<li>exceptions?
-	<li>unions or sum types?
-	</ul>
-	</div>
-	</div>
-
-</div>
-
-<div class="slide titlepage">
-	<h1>Questions?</h1>
-	<br><br>
-	<center>
-	<img src="support/bumper640x360.png">
-	</center>
-	<br><br>
-	<div style="color: #ffcc00;">
-	<!-- <h3><i>rsc@google.com</i></h3> -->
-	</div>
-</div>
-
-</body></html>
diff --git a/content/2010/go_talk-20100121.html b/content/2010/go_talk-20100121.html
deleted file mode 100644
index 4c88a1b..0000000
--- a/content/2010/go_talk-20100121.html
+++ /dev/null
@@ -1,452 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<title>Go, Networked (January 21, 2010)</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="font-size-adjustment" content="-1" />
-<link rel="stylesheet" href="support/slidy.css"
-  type="text/css" media="screen, projection, print" />
-<script src="support/slidy.js" type="text/javascript">
-</script>
-</head>
-<body>
-<!-- this defines the slide background -->
-
-<div class="background">
-
-  <div class="header">
-  <!-- sized and colored via CSS -->
-  </div>
-
-  <div class="footer"></div>
-  </div>
-
-<div class="slide titlepage">
-<div style="height: 135px; width: 480px; overflow: hidden; position: fixed; top: auto; bottom: 10px; left: auto; right: 0;  ">
-<img src="support/gordon/bumper480x270.png" style="margin: -135px 0 0 0;"/>
-</div>
-<br/>
-<img src="support/go-logo-white.png">
-<br/>
-<br/>
-<h1 style="padding-right: 0pt; margin-right: 0pt; color: #0066cc; font-size: 250%; border-bottom: 0px;">The Go Programming Language</h1>
-<div style="color: #ffcc00;">
-<h2>Russ Cox</h2>
-<!-- <h3><i>rsc@google.com</i></h3> -->
-<br/>
-<h3>CNS Winter Research Review<br/><br/>January 21, 2010</h3>
-<br/>
-<br/>
-<!--
-<h4><i>click to start; then left/right arrow to change slides</i></h4> -->
-</div>
-</div>
-
-<div class="slide">
-	<h1>Go</h1>
-
-	<h2>New</h2>
-	<h2>Experimental</h2>
-	<h2>Concurrent</h2>
-	<h2>Garbage-collected</h2>
-	<h2>Systems</h2>
-	<h2>Language</h2>
-</div>
-
-<div class="slide">
-	<h1>Hello, world</h1>
-<pre>
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Printf("Hello, 世界\n")
-}
-</pre>
-</div>
-
-<div class="slide">
-	<h1>History</h1>
-	
-	<h2>Design started in late 2007.</h2>
-	<h2>Implementation starting to work mid-2008.</h2>
-	<h2>Released as an open source project in November 2009.</h2>
-	<h2>Work continues.</h2>
-	<h2>Robert&nbsp;Griesemer, Ken&nbsp;Thompson, Rob&nbsp;Pike, Ian&nbsp;Lance&nbsp;Taylor, Russ&nbsp;Cox, many others</h2>
-</div>
-
-<div class="slide">
-	<h1>Goals and Motivation</h1>
-	
-	<h2>Go fast!</h2>
-	<h2>Make programming fun again.</h2>
-	<h2>Targeted at systems software, broadly.</h2>
-</div>
-
-<div class="slide">
-	<h1>Why isn't programming fun?</h1>
-	
-	<div class="incremental">
-	<h2>Compiled, statically-typed languages (C, C++, Java) require too much typing and too much typing:</h2>
-	
-	<ul>
-		<li>verbose, lots of repetition</li>
-		<li>too much focus on type hierarchy</li>
-		<li>types get in the way as much as they help</li>
-		<li>compiles take far too long</li>
-	</ul>
-	</div>
-	
-	<div class="incremental">
-	<h2>Dynamic languages (Python, JavaScript) fix these problems (no more types, no more compiler) but introduce others:</h2>
-	
-	<ul>
-		<li>errors at run time that should be caught statically</li>
-		<li>no compilation means slow code</li>
-	</ul>
-	</div>
-	
-	<h2 class="incremental">Can we combine the best of both?</h2>
-</div>
-
-<div class="slide">
-	<h1>Why a new language?</h1>
-	
-	<div class="incremental">
-	<h2>No new systems language in 10+ years.</h2>
-	<h2>Current languages designed before ...</h2>
-	<h3>... rise of large-scale, networked and multicore computing</h3>
-	<h3>... rise of Internet-scale distributed development (many libraries)</h3>
-	</div>
-</div>
-	
-<div class="slide">
-	<h1>Go</h1>
-	
-	<h2>Make the language fast.</h2>
-	<h2>Make the tools fast.</h2>
-</div>
-
-<div class="slide">
-	<h1>Compilation Demo</h1>
-	
-	<h2>Build all standard Go packages: ~120,000 lines of code.</h2>
-</div>
-
-<div class="slide">
-	<h1>Go in one slide</h1>
-	
-	<h2 class="incremental">Lightweight syntax.</h2>
-	
-	<h2 class="incremental">Static types: enough to compile well, but inferred much of the time.</h2>
-	
-	<h2 class="incremental">Methods: on any type, orthogonal to type system.</h2>
-	
-	<h2 class="incremental">Abstract types: interface values, relations inferred statically.</h2>
-	
-	<h2 class="incremental">Visibility: inferred from case of name.</h2>
-
-	<h2 class="incremental">First-class functions.</h2>
-	
-	<h2 class="incremental">Garbage collection.</h2>
-
-	<br/>
-	
-	<h2 class="incremental">Lightweight feel of a scripting language but compiled.</h2>
-</div>
-
-<div class="slide">
-	<h1>Go, concurrently</h1>
-	
-	<h2>Cheap to create a new flow of control (goroutine):</h2>
-	
-<pre>
-func main() {
-	go expensiveComputation(x, y, z)
-	anotherExpensiveComputation(a, b, c)
-}
-</pre>
-
-	<h2>Two expensive computations in parallel.</h2>
-</div>
-
-<div class="slide">
-	<h1>Go, concurrently</h1>
-	
-	<h2>Cheap to create a new flow of control (goroutine):</h2>
-	
-<pre>
-	for {
-		rw := l.Accept()
-		conn := newConn(rw, handler)
-		go conn.serve()
-	}
-</pre>
-
-	<h2>Concurrent web server.</h2>
-	<h2>Network connections multiplexed onto epoll.</h2>
-		<ul>
-		<li>many blocked Read calls != many blocked OS threads</li>
-		</ul>
-
-</div>
-
-<div class="slide">
-	<h1>Go, synchronized</h1>
-	
-	<h2>Use explicit messages to communicate and synchronize.</h2>
-	
-<pre>
-func computeAndSend(ch chan int, x, y, z int) {
-	ch <- expensiveComputation(x, y, z)
-}
-
-func main() {
-	ch := make(chan int)
-	go computeAndSend(ch, x, y, z)
-	v2 := anotherExpensiveComputation(a, b, c)
-	v1 := <-ch
-	fmt.Println(v1, v2)
-}
-</pre>
-	<h2>Notice communication of result in addition to synchronization.</h2>
-</div>
-
-<div class="slide">
-	<h1>Go, synchronized</h1>
-	
-	<h2>RPC client</h2>
-
-<pre>
-func (client *Client) Call(method string, args, reply interface{}) os.Error {
-    // Send RPC message.
-    call := client.Go(method, args, reply, nil)
-	
-    // Read reply from Done channel.
-    <-call.Done
-
-    return call.Error
-}
-</pre>	
-</div>
-
-<div class="slide">
-	<h1>Go, synchronized</h1>
-	
-	<h2>RPC client demux</h2>
-
-<pre>
-func (client *Client) input() {
-	for {
-		resp := client.readResponse()
-		client.mutex.Lock()
-		c := client.pending[resp.Seq]
-		client.pending[resp.Seq] = c, false
-		client.mutex.Unlock()
-		if resp.Error != "" {
-			c.Error = os.ErrorString(resp.error)
-		}
-		resp.Decode(c.Reply)
-		c.Done <- c
-	}
-}
-</pre>
-</div>
-
-<div class="slide">
-	<h1>Go, synchronized</h1>
-	
-	<h2>RPC client demux</h2>
-
-<pre>
-func (client *Client) input() {
-	for {
-		<font style="color: black;">resp := client.readResponse()</font>
-		client.mutex.Lock()
-		c := client.pending[resp.Seq]
-		client.pending[resp.Seq] = c, false
-		client.mutex.Unlock()
-		if resp.Error != "" {
-			c.Error = os.ErrorString(resp.error)
-		}
-		resp.Decode(c.Reply)
-		c.Done <- c
-	}
-}
-</pre>
-<h2>Read response from network.</h2>
-</div>
-
-<div class="slide">
-	<h1>Go, synchronized</h1>
-	
-	<h2>RPC client demux</h2>
-
-<pre>
-func (client *Client) input() {
-	for {
-		resp := client.readResponse()
-		<font style="color: black;">client.mutex.Lock()
-		c := client.pending[resp.Seq]
-		client.pending[resp.Seq] = c, false
-		client.mutex.Unlock()</font>
-		if resp.Error != "" {
-			c.Error = os.ErrorString(resp.error)
-		}
-		resp.Decode(c.Reply)
-		c.Done <- c
-	}
-}
-</pre>
-<h2>Look up request by sequence number.</h2>
-</div>
-
-<div class="slide">
-	<h1>Go, synchronized</h1>
-	
-	<h2>RPC client demux</h2>
-
-<pre>
-func (client *Client) input() {
-	for {
-		resp := client.readResponse()
-		client.mutex.Lock()
-		c := client.pending[resp.Seq]
-		client.pending[resp.Seq] = c, false
-		client.mutex.Unlock()
-		<font style="color: black;">if resp.Error != "" {
-			c.Error = os.ErrorString(resp.error)
-		}
-		resp.Decode(c.Reply)</font>
-		c.Done <- c
-	}
-}
-</pre>
-<h2>Decode response fields from payload.</h2>
-</div>
-
-<div class="slide">
-	<h1>Go, synchronized</h1>
-	
-	<h2>RPC client demux</h2>
-
-<pre>
-func (client *Client) input() {
-	for {
-		resp := client.readResponse()
-		client.mutex.Lock()
-		c := client.pending[resp.Seq]
-		client.pending[resp.Seq] = c, false
-		client.mutex.Unlock()
-		if resp.Error != "" {
-			c.Error = os.ErrorString(resp.error)
-		}
-		resp.Decode(c.Reply)
-		<font style="color: black;">c.Done <- c</font>
-	}
-}
-</pre>
-<h2>Tell client that it finished.</h2>
-</div>
-
-<div class="slide">
-	<h1>Go, synchronized</h1>
-	
-	<h2>RPC client demux</h2>
-
-<pre>
-func (client *Client) input() {
-	for {
-		resp := client.readResponse()
-		client.mutex.Lock()
-		c := client.pending[resp.Seq]
-		client.pending[resp.Seq] = c, false
-		client.mutex.Unlock()
-		if resp.Error != "" {
-			c.Error = os.ErrorString(resp.error)
-		}
-		resp.Decode(c.Reply)
-		c.Done <- c
-	}
-}
-</pre>
-
-<h2>Can create multiple Calls with same Done channel
-and distinguish which finished by inspecting value sent on channel.
-</h2>
-
-</div>
-
-<div class="slide">
-	<h1>Goroutine demo</h1>
-	
-	<h2>Chain together 100,000 goroutines connected by 100,001 channels.</h2>
-	
-	<h2>Send a value to one end of the chain.</h2>
-	
-	<h2>Each passes it along, increments.</h2>
-	
-	<h2>Receive value out the other end of the chain.</h2>
-</div>
-	
-
-<div class="slide">
-	<h1>Go Status</h1>
-</div>
-
-<div class="slide">
-	<h1>Go Status</h1>
-	
-	<h2>Open source:</h2>
-	<ul>
-	<li>released on November 10, 2009
-	<li>regular releases (~ weekly)
-	<li>all development done in public Mercurial repository
-	<li>outside contributions welcome
-	<li>two independent compiler implementations
-	<li>XML, JSON, HTTP, TLS/SSL, native RPC, (network channels,) ...
-	</ul>
-</div>
-
-<div class="slide">
-	<h1>Go Status</h1>
-	
-	<h2>Open source</h2>
-
-	<h2>Portable:</h2>
-	<ul>
-	<li>FreeBSD, Linux, OS X (x86, x86-64)
-	<li>(in progress) Linux arm, Native Client x86, Windows x86.
-	</ul>
-</div>
-
-<div class="slide">
-	<h1>Go Status</h1>
-	
-	<h2>Open source</h2>
-	<h2>Portable</h2>
-
-	<h2>Still in progress, experimental.  Yet to come:</h2>
-	<ul>
-	<li>production garbage collector
-	<li>generics?
-	<li>exceptions?
-	<li>unions or sum types?
-	</ul>
-</div>
-
-<div class="slide titlepage">
-	<h1>Questions?</h1>
-	<br><br>
-	<center>
-	<img src="support/bumper640x360.png">
-	</center>
-	<br><br>
-	<div style="color: #ffcc00;">
-	<!-- <h3><i>rsc@google.com</i></h3> -->
-	</div>
-</div>
-
-</body></html>
diff --git a/content/2010/go_talk-20100323.html b/content/2010/go_talk-20100323.html
deleted file mode 100644
index 277546d..0000000
--- a/content/2010/go_talk-20100323.html
+++ /dev/null
@@ -1,395 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<title>Go Tech Talk</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="font-size-adjustment" content="-1" />
-<link rel="stylesheet" href="support/slidy.css"
-  type="text/css" media="screen, projection, print" />
-<script src="support/slidy.js" type="text/javascript">
-</script>
-</head>
-<body>
-<!-- this defines the slide background -->
-
-<div class="background">
-
-  <div class="header">
-  <!-- sized and colored via CSS -->
-  </div>
-
-  <div class="footer"></div>
-  </div>
-
-<div class="slide titlepage">
-<br/>
-<br/>
-<img src="support/go-logo-white.png" width="588px" height="217px">
-<br/>
-<h1 style="padding-right: 0pt; margin-right: 0pt; color: #0066cc; font-size: 250%; border-bottom: 0px;">The Go Programming Language</h1>
-<div style="color: #ffcc00;">
-<br/>
-<h3>Sydney University<br/><br/>March 23, 2010</h3>
-</div>
-</div>
-
-<div class="slide">
-	<h1>Go</h1>
-
-	<h2>New</h2>
-	<h2>Experimental</h2>
-	<h2>Concurrent</h2>
-	<h2>Garbage Collected</h2>
-	<h2>Systems Language</h2>
-</div>
-
-<div class="slide">
-	<h1>Hello, world</h1>
-<pre>
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Printf("Hello, 世界\n")
-}
-</pre>
-</div>
-
-<div class="slide">
-	<h1>Hello, world 2.0</h1>
-
-	<h2>Serving <a href="http://localhost:8080/world">http://localhost:8080/world</a></h2>
-<pre>
-package main
-
-import (
-	"fmt"
-	"http"
-)
-
-func handler(c *http.Conn, r *http.Request) { 
-	fmt.Fprintf(c, "Hello, %s.", r.URL.Path[1:]) 
-}
-
-func main() {
-	http.ListenAndServe(":8080",
-			http.HandlerFunc(handler))
-}
-</pre>
-</div>
-
-<div class="slide">
-	<h1>New</h1>
-	
-	<h2>It's about two years old:</h2>
-	<ul>
-		<li>Design started in late 2007</li>
-		<li>Implementation starting to work mid-2008</li>
-		<li>Released as an open source project in November 2009</li>
-		<li>Development continues with an active community</li>
-	</ul>
-
-	<h2>Why invent a new language? Older languages weren't designed for concurrency, but modern software needs it:</h2>
-	<ul>
-		<li>Large scale, networked computing, such as Google web search</li>
-		<li>Multi-core hardware</li>
-	</ul>
-</div>
-
-<div class="slide">
-	<h1>New</h1>
-	
-	<h2>Older languages are also frustrating on a day-to-day basis</h2>
-	<h2>Statically-typed languages (C, C++, Java) have issues:</h2>
-	<ul>
-		<li>Edit-Compile-Run cycle takes far too long</li>
-		<li>Type hierarchy can hurt as much as it helps</li>
-	</ul>
-<div style="text-align:center">
-<img src="support/java-typing.png" width="800px" height="90px"><br>
-</div>
-	
-	<h2>Dynamic languages (Python, JavaScript) fix some issues but introduce others:</h2>
-	<ul>
-		<li>No compilation means slow code</li>
-		<li>Runtime errors that should be caught statically</li>
-	</ul>
-
-	<h2>Go has the lighter feel of a scripting language but is compiled</h2>
-</div>
-
-<div class="slide">
-	<h1>New</h1>
-
-	<h2>Large C++ programs (e.g. Firefox, OpenOffice, Chromium) have enormous build times:</h2>
-	<ul>
-		<li>XKCD's #1 Programmer Excuse for Legitimately Slacking Off: &quot;<a href="http://xkcd.com/303/">My Code's Compiling</a>&quot;</li>
-	</ul>
-
-	<h2>On a Mac (OS X 10.5.8, gcc 4.0.1):</h2>
-	<ul>
-		<li>C: <code>#include &lt;stdio.h&gt;</code> reads 360 lines from 9 files</li>
-		<li>C++: <code>#include &lt;iostream&gt;</code> reads 25,326 lines from 131 files</li>
-		<li>Objective-C: <code>#include &lt;Carbon/Carbon.h&gt;</code> reads 124,730 lines from 689 files</li>
-		<li>We haven't done any real work yet!</li>
-	</ul>
-				
-	<h2>In Go: <code>import "fmt"</code> reads <i>one</i> file: 184 lines summarizing 7 packages</h2>
-</div>
-
-<div class="slide">
-	<h1>New</h1>
-
-	<h2>Compilation demo</h2>
-</div>
-
-<div class="slide">
-	<h1>Experimental</h1>
-	
-	<h2>Go is still unproven</h2>
-	<h2>Language is still evolving</h2>
-	<h2>Package library is incomplete</h2>
-	<h2>Concurrent garbage collection is an active research problem</h2>
-	<h2>Reviving forgotten concepts:</h2>
-	<ul>
-		<li>Go's concurrency is strongly influenced by <i>Communicating Sequential Processes</i> (Hoare, 1978)</li>
-		<li>Go has types and interfaces, but no inheritance. It is arguably more object-oriented than previously mentioned languages, being closer to the original Smalltalk meaning (1970s)</li>
-	</ul>
-</div>
-
-<div class="slide">
-	<h1>Concurrent</h1>
-	
-	<h2>Unix philosophy: write <i>programs</i> that do one thing and do it well</h2>
-	<h2>Connect them with <i>pipes</i>:</h2>
-	<ul>
-		<li>How many lines of test code are there in the Go standard library?</li>
-		<li><code>find ~/go/src/pkg | grep _test.go$ | xargs wc -l</code></li>
-	</ul>
-
-	<h2>Unlike other languages, Go makes it easy to:</h2>
-	<ul>
-		<li>Launch <i>goroutines</i></li>
-		<li>Connect them with <i>channels</i></li>
-	</ul>
-</div>
-
-<div class="slide">
-	<h1>Concurrent</h1>
-	
-	<h2>Start a new flow of control with the <code>go</code> keyword</h2>
-	<h2>Parallel computation is easy:</h2>
-<pre>
-func main() {
-	go expensiveComputation(x, y, z)
-	anotherExpensiveComputation(a, b, c)
-}
-</pre>
-
-	<h2>Roughly speaking, a goroutine is like a thread, but lighter weight:</h2>
-	<ul>
-		<li>Goroutines have segmented stacks, and typically smaller stacks</li>
-		<li>This requires compiler support. Goroutines can't just be a C++ library on top of a thread library</li>
-	</ul>
-</div>
-
-<div class="slide">
-	<h1>Concurrent</h1>
-	
-	<h2>Consider web servers ("the C10k problem"):</h2>
-	<ul>
-		<li>"Thread per connection" approach is conceptually neat, but doesn't scale well in practice</li>
-		<li>What does scale well (event-driven callbacks, asynchronous APIs) are harder to understand, maintain, and debug</li>
-		<li>We think "goroutine per connection" can scale well, and is conceptually neat</li>
-	</ul>
-<pre>
-	for {
-		rw := socket.Accept()
-		conn := newConn(rw, handler)
-		go conn.serve()
-	}
-</pre>
-</div>
-
-<div class="slide">
-	<h1>Concurrent</h1>
-	
-	<h2>Let's look again at our simple parallel computation:</h2>
-<pre>
-func main() {
-	go expensiveComputation(x, y, z)
-	anotherExpensiveComputation(a, b, c)
-}
-</pre>
-
-	<h2>This story is incomplete:</h2>
-	<ul>
-		<li>How do we know when the two computations are done?</li>
-		<li>What are their values?</li>
-	</ul>
-</div>
-
-<div class="slide">
-	<h1>Concurrent</h1>
-	
-	<h2>Goroutines communicate with other goroutines via channels</h2>
-<pre>
-func computeAndSend(ch chan int, x, y, z int) {
-	ch &lt;- expensiveComputation(x, y, z)
-}
-
-func main() {
-	ch := make(chan int)
-	go computeAndSend(ch, x, y, z)
-	v2 := anotherExpensiveComputation(a, b, c)
-	v1 := &lt;-ch
-	fmt.Println(v1, v2)
-}
-</pre>
-
-</div>
-
-<div class="slide">
-	<h1>Concurrent</h1>
-	
-	<h2>In traditional concurrent programs, you <i>communicate by sharing memory</i>. In Go, you <i>share memory by communicating</i>:</h2>
-	<ul>
-		<li>Communication (the <code>&lt;-</code> operator) is sharing and synchronization</li>
-	</ul>
-
-	<h2>Threads and locks are concurrency primitives; CSP is a concurrency model:</h2>
-	<ul>
-		<li>Analogy: &quot;Go To Statement Considered Harmful&quot; (Dijsktra, 1968)</li>
-		<li><code>goto</code> is a control flow primitive; structured programming (<code>if</code> statements, <code>for</code> loops, function calls) is a control flow model</li>
-	</ul>
-
-	<h2>Learning CSP changes the way you think about concurrent programming:</h2>
-	<ul>
-		<li>Every language has its grain. If your Go program uses mutexes, you're probably working against the grain</li>
-	</ul>
-</div>
-
-<div class="slide">
-	<h1>Garbage Collected</h1>
-	
-	<h2>Automatic memory management makes writing (and maintaining) programs easier</h2>
-	<h2>Especially in a concurrent world:</h2>
-	<ul>
-		<li>Who &quot;owns&quot; a shared piece of memory, and is responsible for destroying it?</li>
-	</ul>
-
-	<h2>Large C++ programs usually end up with semi-automatic memory management anyway, via &quot;smart pointers&quot;</h2>
-	<h2>Mixing the two models can be problematic:</h2>
-	<ul>
-		<li>Browsers can leak memory easily; DOM elements are C++ objects, but JavaScript is garbage collected</li>
-	</ul>
-</div>
-
-<div class="slide">
-	<h1>Garbage Collected</h1>
-
-	<h2>Go is also a safer language:</h2>
-	<ul>
-		<li>Pointers but no pointer arithmetic</li>
-		<li>No dangling pointers</li>
-		<li>Variables are zero-initialized</li>
-		<li>Array access is bounds-checked</li>
-	</ul>
-
-	<h2>No buffer overflow exploits</h2>
-</div>
-
-<div class="slide">
-	<h1>Systems Language</h1>
-
-	<h2>This just means you could write decently large programs in Go:</h2>
-	<ul>
-		<li>Web servers</li>
-		<li>Web browsers</li>
-		<li>Web crawlers</li>
-		<li>Search indexers</li>
-		<li>Databases</li>
-		<li>Word processors</li>
-		<li>Integrated Development Environments (IDEs)</li>
-		<li>Operating systems</li>
-		<li>...</li>
-	</ul>
-</div>
-
-<div class="slide">
-	<h1>Systems Language</h1>
-
-	<h2>Garbage collection has a reputation for being &quot;slower&quot;</h2>
-	<h2>We're expecting Go to be slightly slower than optimized C, but faster than Java, depending on the task. Nonetheless:</h2>
-	<ul>
-		<li>Fast and buggy is worse than almost-as-fast and correct</li>
-		<li>It is easier to optimize a correct program than to correct an optimized program</li>
-		<li>Fundamentally, it's simply a trade-off we're willing to make</li>
-	</ul>
-
-	<h2>Memory layout can drastically affect performance. These two designs are equivalent in Go, but significantly different in Java:</h2>
-<pre>
-type Point struct { X, Y int }
-type Rect struct { P0, P1 Point }
-
-// or ...
-
-type Rect struct { X0, Y0, X1, Y1 int }
-</pre>
-</div>
-
-<div class="slide">
-	<h1>Systems Language</h1>
-	
-	<h2>Quote from http://loadcode.blogspot.com/2009/12/go-vs-java.html</h2>
-
-<h2>
-&quot;[Git] is known to be very fast. It is written in C. A Java version
-JGit was made. It was considerably slower. Handling of memory and lack
-of unsigned types was some of the important reasons.
-</h2>
-
-<h2>Shawn O. Pearce wrote on the git mailinglist:</h2>
-<ul><li>&quot;JGit struggles with not
-having an efficient way to represent a SHA-1. C can just say &quot;unsigned
-char[20]&quot; and have it inline into the container's memory allocation. A
-byte[20] in Java will cost an *additional* 16 bytes of memory, and be
-slower to access because the bytes themselves are in a different area
-of memory from the container object. We try to work around it by
-converting from a byte[20] to 5 ints, but that costs us machine
-instructions&quot;
-</li></ul>
-
-<h2>
-Like C, Go does allow unsigned types and defining data structures
-containing other data structures as continuous blocks of memory.&quot;
-</h2>
-</div>
-
-<div class="slide">
-	<h1>Go</h1>
-
-	<h2>New</h2>
-	<h2>Experimental</h2>
-	<h2>Concurrent</h2>
-	<h2>Garbage Collected</h2>
-	<h2>Systems Language</h2>
-
-	<h2>And more:</h2>
-	<ul>
-		<li>I haven't talked about the type system, interfaces, slices, closures, selects, ...</li>
-		<li>Documentation, mailing list, source code all online</li>
-	</ul>
-</div>
-
-<div class="slide titlepage">
-	<h1>Questions?</h1>
-	<br><br>
-	<center>
-	<img src="support/bumper640x360.png" width="640px" height="360px">
-	</center>
-</div>
-
-</body></html>
diff --git a/content/2010/gofrontend-gcc-summit-2010.pdf b/content/2010/gofrontend-gcc-summit-2010.pdf
deleted file mode 100644
index 157fd76..0000000
--- a/content/2010/gofrontend-gcc-summit-2010.pdf
+++ /dev/null
Binary files differ
diff --git a/content/2010/io/balance.go b/content/2010/io/balance.go
deleted file mode 100644
index 0214750..0000000
--- a/content/2010/io/balance.go
+++ /dev/null
@@ -1,170 +0,0 @@
-// Copyright 2010 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore,OMIT
-
-package main
-
-import (
-	"container/heap"
-	"flag"
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-const nRequester = 100
-const nWorker = 10
-
-var roundRobin = flag.Bool("r", false, "use round-robin scheduling")
-
-// Simulation of some work: just sleep for a while and report how long.
-func op() int {
-	n := rand.Int63n(1e9)
-	time.Sleep(time.Duration(nWorker * n))
-	return int(n)
-}
-
-type Request struct {
-	fn func() int
-	c  chan int
-}
-
-func requester(work chan Request) {
-	c := make(chan int)
-	for {
-		time.Sleep(time.Duration(rand.Int63n(nWorker * 2e9)))
-		work <- Request{op, c}
-		<-c
-	}
-}
-
-type Worker struct {
-	i        int
-	requests chan Request
-	pending  int
-}
-
-func (w *Worker) work(done chan *Worker) {
-	for {
-		req := <-w.requests
-		req.c <- req.fn()
-		done <- w
-	}
-}
-
-type Pool []*Worker
-
-func (p Pool) Len() int { return len(p) }
-
-func (p Pool) Less(i, j int) bool {
-	return p[i].pending < p[j].pending
-}
-
-func (p *Pool) Swap(i, j int) {
-	a := *p
-	a[i], a[j] = a[j], a[i]
-	a[i].i = i
-	a[j].i = j
-}
-
-func (p *Pool) Push(x interface{}) {
-	a := *p
-	n := len(a)
-	a = a[0 : n+1]
-	w := x.(*Worker)
-	a[n] = w
-	w.i = n
-	*p = a
-}
-
-func (p *Pool) Pop() interface{} {
-	a := *p
-	*p = a[0 : len(a)-1]
-	w := a[len(a)-1]
-	w.i = -1 // for safety
-	return w
-}
-
-type Balancer struct {
-	pool Pool
-	done chan *Worker
-	i    int
-}
-
-func NewBalancer() *Balancer {
-	done := make(chan *Worker, nWorker)
-	b := &Balancer{make(Pool, 0, nWorker), done, 0}
-	for i := 0; i < nWorker; i++ {
-		w := &Worker{requests: make(chan Request, nRequester)}
-		heap.Push(&b.pool, w)
-		go w.work(b.done)
-	}
-	return b
-}
-
-func (b *Balancer) balance(work chan Request) {
-	for {
-		select {
-		case req := <-work:
-			b.dispatch(req)
-		case w := <-b.done:
-			b.completed(w)
-		}
-		b.print()
-	}
-}
-
-func (b *Balancer) print() {
-	sum := 0
-	sumsq := 0
-	for _, w := range b.pool {
-		fmt.Printf("%d ", w.pending)
-		sum += w.pending
-		sumsq += w.pending * w.pending
-	}
-	avg := float64(sum) / float64(len(b.pool))
-	variance := float64(sumsq)/float64(len(b.pool)) - avg*avg
-	fmt.Printf(" %.2f %.2f\n", avg, variance)
-}
-
-func (b *Balancer) dispatch(req Request) {
-	if *roundRobin {
-		w := b.pool[b.i]
-		w.requests <- req
-		w.pending++
-		b.i++
-		if b.i >= len(b.pool) {
-			b.i = 0
-		}
-		return
-	}
-
-	w := heap.Pop(&b.pool).(*Worker)
-	w.requests <- req
-	w.pending++
-	//	fmt.Printf("started %p; now %d\n", w, w.pending)
-	heap.Push(&b.pool, w)
-}
-
-func (b *Balancer) completed(w *Worker) {
-	if *roundRobin {
-		w.pending--
-		return
-	}
-
-	w.pending--
-	//	fmt.Printf("finished %p; now %d\n", w, w.pending)
-	heap.Remove(&b.pool, w.i)
-	heap.Push(&b.pool, w)
-}
-
-func main() {
-	flag.Parse()
-	work := make(chan Request)
-	for i := 0; i < nRequester; i++ {
-		go requester(work)
-	}
-	NewBalancer().balance(work)
-}
diff --git a/content/2010/io/decrypt.go b/content/2010/io/decrypt.go
deleted file mode 100644
index 5c30fe2..0000000
--- a/content/2010/io/decrypt.go
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright 2010 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore,OMIT
-
-// This code differs from the slides in that it handles errors.
-
-package main
-
-import (
-	"compress/gzip"
-	"crypto/aes"
-	"crypto/cipher"
-	"io"
-	"log"
-	"os"
-)
-
-func EncryptAndGzip(dstfile, srcfile string, key, iv []byte) error {
-	r, err := os.Open(srcfile)
-	if err != nil {
-		return err
-	}
-	var w io.Writer
-	w, err = os.Create(dstfile)
-	if err != nil {
-		return err
-	}
-	c, err := aes.NewCipher(key)
-	if err != nil {
-		return err
-	}
-	w = cipher.StreamWriter{S: cipher.NewOFB(c, iv), W: w}
-	w2, err := gzip.NewWriter(w)
-	if err != nil {
-		return err
-	}
-	defer w2.Close()
-	_, err = io.Copy(w2, r)
-	return err
-}
-
-func DecryptAndGunzip(dstfile, srcfile string, key, iv []byte) error {
-	f, err := os.Open(srcfile)
-	if err != nil {
-		return err
-	}
-	defer f.Close()
-	c, err := aes.NewCipher(key)
-	if err != nil {
-		return err
-	}
-	r := cipher.StreamReader{S: cipher.NewOFB(c, iv), R: f}
-	r2, err := gzip.NewReader(r)
-	if err != nil {
-		return err
-	}
-	w, err := os.Create(dstfile)
-	if err != nil {
-		return err
-	}
-	defer w.Close()
-	_, err = io.Copy(w, r2)
-	return err
-}
-
-func main() {
-	err := EncryptAndGzip(
-		"/tmp/passwd.gz",
-		"/etc/passwd",
-		make([]byte, 16),
-		make([]byte, 16),
-	)
-	if err != nil {
-		log.Fatal(err)
-	}
-	err = DecryptAndGunzip(
-		"/dev/stdout",
-		"/tmp/passwd.gz",
-		make([]byte, 16),
-		make([]byte, 16),
-	)
-	if err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/content/2010/io/encrypt.go b/content/2010/io/encrypt.go
deleted file mode 100644
index c942fe5..0000000
--- a/content/2010/io/encrypt.go
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2010 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore,OMIT
-
-// This code differs from the slides in that it handles errors.
-
-package main
-
-import (
-	"compress/gzip"
-	"crypto/aes"
-	"crypto/cipher"
-	"io"
-	"log"
-	"os"
-)
-
-func EncryptAndGzip(dstfile, srcfile string, key, iv []byte) error {
-	r, err := os.Open(srcfile)
-	if err != nil {
-		return err
-	}
-	var w io.WriteCloser
-	w, err = os.Create(dstfile)
-	if err != nil {
-		return err
-	}
-	defer w.Close()
-	w, err = gzip.NewWriter(w)
-	if err != nil {
-		return err
-	}
-	defer w.Close()
-	c, err := aes.NewCipher(key)
-	if err != nil {
-		return err
-	}
-	_, err = io.Copy(cipher.StreamWriter{S: cipher.NewOFB(c, iv), W: w}, r)
-	return err
-}
-
-func main() {
-	err := EncryptAndGzip(
-		"/tmp/passwd.gz",
-		"/etc/passwd",
-		make([]byte, 16),
-		make([]byte, 16),
-	)
-	if err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/content/2010/io/eval1.go b/content/2010/io/eval1.go
deleted file mode 100644
index eef7741..0000000
--- a/content/2010/io/eval1.go
+++ /dev/null
@@ -1,229 +0,0 @@
-// Copyright 2010 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bufio"
-	"fmt"
-	"os"
-	"strconv"
-	"strings"
-)
-
-// Generic expression parser/evaluator
-
-type Value interface {
-	String() string
-	BinaryOp(op string, y Value) Value
-}
-
-type Parser struct {
-	precTab map[string]int
-	newVal  func(string) Value
-	src     string
-	pos     int
-	tok     string
-}
-
-const alphanum = "_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-
-func (p *Parser) stop(c uint8) bool {
-	switch {
-	case p.pos >= len(p.src):
-		return true
-	case c == '"':
-		if p.src[p.pos] == '"' {
-			p.pos++
-			return true
-		}
-		return false
-	case strings.IndexRune(alphanum, int(c)) >= 0:
-		return strings.IndexRune(alphanum, int(p.src[p.pos])) < 0
-	}
-	return true
-}
-
-func (p *Parser) next() {
-	// skip blanks
-	for ; p.pos < len(p.src) && p.src[p.pos] <= ' '; p.pos++ {
-	}
-	if p.pos >= len(p.src) {
-		p.tok = ""
-		return
-	}
-	start := p.pos
-	c := p.src[p.pos]
-	for p.pos < len(p.src) {
-		p.pos++
-		if p.stop(c) {
-			break
-		}
-	}
-	p.tok = p.src[start:p.pos]
-}
-
-func (p *Parser) binaryExpr(prec1 int) Value {
-	x := p.newVal(p.tok)
-	p.next()
-	for prec := p.precTab[p.tok]; prec >= prec1; prec-- {
-		for p.precTab[p.tok] == prec {
-			op := p.tok
-			p.next()
-			y := p.binaryExpr(prec + 1)
-			x = x.BinaryOp(op, y)
-		}
-	}
-	return x
-}
-
-func Eval(precTab map[string]int, newVal func(string) Value, src string) Value {
-	var p Parser
-	p.precTab = precTab
-	p.newVal = newVal
-	p.src = src
-	p.next()
-	return p.binaryExpr(1)
-}
-
-// Command-line expression evaluator
-
-func main() {
-	r := bufio.NewReader(os.Stdin)
-	for {
-		fmt.Printf("> ")
-		line, err := r.ReadString('\n')
-		if err != nil {
-			break
-		}
-		fmt.Printf("%s\n", Eval(precTab, trace(newVal), line))
-	}
-}
-
-// Custom grammar and values
-
-var precTab = map[string]int{
-	"&&": 1,
-	"||": 2,
-	"==": 3,
-	"!=": 3,
-	"<":  3,
-	"<=": 3,
-	">":  3,
-	">=": 3,
-	"+":  4,
-	"-":  4,
-	"*":  5,
-	"/":  5,
-	"%":  5,
-}
-
-func newVal(lit string) Value {
-	x, err := strconv.Atoi(lit)
-	if err == nil {
-		return Int(x)
-	}
-	b, err := strconv.ParseBool(lit)
-	if err == nil {
-		return Bool(b)
-	}
-	return Error(fmt.Sprintf("illegal literal '%s'", lit))
-}
-
-type Error string
-
-func (e Error) String() string                    { return string(e) }
-func (e Error) BinaryOp(op string, y Value) Value { return e }
-
-type Int int
-
-func (x Int) String() string { return strconv.Itoa(int(x)) }
-func (x Int) BinaryOp(op string, y Value) Value {
-	switch y := y.(type) {
-	case Error:
-		return y
-	case Int:
-		switch op {
-		case "+":
-			return x + y
-		case "-":
-			return x - y
-		case "*":
-			return x * y
-		case "/":
-			return x / y
-		case "%":
-			return x % y
-		case "==":
-			return Bool(x == y)
-		case "!=":
-			return Bool(x != y)
-		case "<":
-			return Bool(x < y)
-		case "<=":
-			return Bool(x <= y)
-		case ">":
-			return Bool(x > y)
-		case ">=":
-			return Bool(x >= y)
-		}
-	}
-	return Error(fmt.Sprintf("illegal operation: '%v %s %v'", x, op, y))
-}
-
-type Bool bool
-
-func (x Bool) String() string { return strconv.FormatBool(bool(x)) }
-func (x Bool) BinaryOp(op string, y Value) Value {
-	switch y := y.(type) {
-	case Error:
-		return y
-	case Bool:
-		switch op {
-		case "&&":
-			return Bool(x && y)
-		case "||":
-			return Bool(x || y)
-		case "==":
-			return Bool(x == y)
-		case "!=":
-			return Bool(x != y)
-		}
-	}
-	return Error(fmt.Sprintf("illegal operation: '%v %s %v'", x, op, y))
-}
-
-func trace(newVal func(string) Value) func(string) Value {
-	return func(s string) Value {
-		v := newVal(s)
-		fmt.Printf("\tnewVal(%q) = %s\n", s, fmtv(v))
-		return &traceValue{v}
-	}
-}
-
-type traceValue struct {
-	Value
-}
-
-func (x *traceValue) BinaryOp(op string, y Value) Value {
-	z := x.Value.BinaryOp(op, y.(*traceValue).Value)
-	fmt.Printf("\t%s.BinaryOp(%q, %s) = %s\n", fmtv(x.Value), op, fmtv(y.(*traceValue).Value), fmtv(z))
-	return &traceValue{z}
-}
-
-func (x *traceValue) String() string {
-	s := x.Value.String()
-	fmt.Printf("\t%s.String() = %#v\n", fmtv(x.Value), s)
-	return s
-}
-
-func fmtv(v Value) string {
-	t := fmt.Sprintf("%T", v)
-	if i := strings.LastIndex(t, "."); i >= 0 { // strip package
-		t = t[i+1:]
-	}
-	return fmt.Sprintf("%s(%#v)", t, v)
-}
diff --git a/content/2010/io/eval2.go b/content/2010/io/eval2.go
deleted file mode 100644
index d138a51..0000000
--- a/content/2010/io/eval2.go
+++ /dev/null
@@ -1,261 +0,0 @@
-// Copyright 2010 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bufio"
-	"fmt"
-	"os"
-	"strconv"
-	"strings"
-)
-
-// Generic expression parser/evaluator
-
-type Value interface {
-	String() string
-	BinaryOp(op string, y Value) Value
-}
-
-type Parser struct {
-	precTab map[string]int
-	newVal  func(string) Value
-	src     string
-	pos     int
-	tok     string
-}
-
-const alphanum = "_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-
-func (p *Parser) stop(c uint8) bool {
-	switch {
-	case p.pos >= len(p.src):
-		return true
-	case c == '"':
-		if p.src[p.pos] == '"' {
-			p.pos++
-			return true
-		}
-		return false
-	case strings.IndexRune(alphanum, int(c)) >= 0:
-		return strings.IndexRune(alphanum, int(p.src[p.pos])) < 0
-	}
-	return true
-}
-
-func (p *Parser) next() {
-	// skip blanks
-	for ; p.pos < len(p.src) && p.src[p.pos] <= ' '; p.pos++ {
-	}
-	if p.pos >= len(p.src) {
-		p.tok = ""
-		return
-	}
-	start := p.pos
-	c := p.src[p.pos]
-	for p.pos < len(p.src) {
-		p.pos++
-		if p.stop(c) {
-			break
-		}
-	}
-	p.tok = p.src[start:p.pos]
-}
-
-func (p *Parser) binaryExpr(prec1 int) Value {
-	x := p.newVal(p.tok)
-	p.next()
-	for prec := p.precTab[p.tok]; prec >= prec1; prec-- {
-		for p.precTab[p.tok] == prec {
-			op := p.tok
-			p.next()
-			y := p.binaryExpr(prec + 1)
-			x = x.BinaryOp(op, y)
-		}
-	}
-	return x
-}
-
-func Eval(precTab map[string]int, newVal func(string) Value, src string) Value {
-	var p Parser
-	p.precTab = precTab
-	p.newVal = newVal
-	p.src = src
-	p.next()
-	return p.binaryExpr(1)
-}
-
-// Command-line expression evaluator
-
-func main() {
-	r := bufio.NewReader(os.Stdin)
-	for {
-		fmt.Printf("> ")
-		line, err := r.ReadString('\n')
-		if err != nil {
-			break
-		}
-		fmt.Printf("%s\n", Eval(precTab, trace(newVal), line))
-	}
-}
-
-// Custom grammar and values
-
-var precTab = map[string]int{
-	"&&": 1,
-	"||": 2,
-	"==": 3,
-	"!=": 3,
-	"<":  3,
-	"<=": 3,
-	">":  3,
-	">=": 3,
-	"+":  4,
-	"-":  4,
-	"*":  5,
-	"/":  5,
-	"%":  5,
-}
-
-func newVal(lit string) Value {
-	x, err := strconv.Atoi(lit)
-	if err == nil {
-		return Int(x)
-	}
-	b, err := strconv.ParseBool(lit)
-	if err == nil {
-		return Bool(b)
-	}
-	s, err := strconv.Unquote(lit)
-	if err == nil {
-		return String(s)
-	}
-	return Error(fmt.Sprintf("illegal literal '%s'", lit))
-}
-
-type Error string
-
-func (e Error) String() string                    { return string(e) }
-func (e Error) BinaryOp(op string, y Value) Value { return e }
-
-type Int int
-
-func (x Int) String() string { return strconv.Itoa(int(x)) }
-func (x Int) BinaryOp(op string, y Value) Value {
-	switch y := y.(type) {
-	case Error:
-		return y
-	case String:
-		switch op {
-		case "*":
-			return String(strings.Repeat(string(y), int(x)))
-		}
-	case Int:
-		switch op {
-		case "+":
-			return x + y
-		case "-":
-			return x - y
-		case "*":
-			return x * y
-		case "/":
-			return x / y
-		case "%":
-			return x % y
-		case "==":
-			return Bool(x == y)
-		case "!=":
-			return Bool(x != y)
-		case "<":
-			return Bool(x < y)
-		case "<=":
-			return Bool(x <= y)
-		case ">":
-			return Bool(x > y)
-		case ">=":
-			return Bool(x >= y)
-		}
-	}
-	return Error(fmt.Sprintf("illegal operation: '%v %s %v'", x, op, y))
-}
-
-type Bool bool
-
-func (x Bool) String() string { return strconv.FormatBool(bool(x)) }
-func (x Bool) BinaryOp(op string, y Value) Value {
-	switch y := y.(type) {
-	case Error:
-		return y
-	case Bool:
-		switch op {
-		case "&&":
-			return Bool(x && y)
-		case "||":
-			return Bool(x || y)
-		case "==":
-			return Bool(x == y)
-		case "!=":
-			return Bool(x != y)
-		}
-	}
-	return Error(fmt.Sprintf("illegal operation: '%v %s %v'", x, op, y))
-}
-
-type String string
-
-func (x String) String() string { return strconv.Quote(string(x)) }
-func (x String) BinaryOp(op string, y Value) Value {
-	switch y := y.(type) {
-	case Error:
-		return y
-	case Int:
-		switch op {
-		case "*":
-			return String(strings.Repeat(string(x), int(y)))
-		}
-	case String:
-		switch op {
-		case "+":
-			return x + y
-		case "<":
-			return Bool(x < y)
-		}
-	}
-	return Error(fmt.Sprintf("illegal operation: '%v %s %v'", x, op, y))
-}
-
-func trace(newVal func(string) Value) func(string) Value {
-	return func(s string) Value {
-		v := newVal(s)
-		fmt.Printf("\tnewVal(%q) = %s\n", s, fmtv(v))
-		return &traceValue{v}
-	}
-}
-
-type traceValue struct {
-	Value
-}
-
-func (x *traceValue) BinaryOp(op string, y Value) Value {
-	z := x.Value.BinaryOp(op, y.(*traceValue).Value)
-	fmt.Printf("\t%s.BinaryOp(%q, %s) = %s\n", fmtv(x.Value), op, fmtv(y.(*traceValue).Value), fmtv(z))
-	return &traceValue{z}
-}
-
-func (x *traceValue) String() string {
-	s := x.Value.String()
-	fmt.Printf("\t%s.String() = %#v\n", fmtv(x.Value), s)
-	return s
-}
-
-func fmtv(v Value) string {
-	t := fmt.Sprintf("%T", v)
-	if i := strings.LastIndex(t, "."); i >= 0 { // strip package
-		t = t[i+1:]
-	}
-	return fmt.Sprintf("%s(%#v)", t, v)
-}
diff --git a/content/2010/io/talk.pdf b/content/2010/io/talk.pdf
deleted file mode 100644
index aff42c2..0000000
--- a/content/2010/io/talk.pdf
+++ /dev/null
Binary files differ
diff --git a/content/2010/support/bumper480x270.png b/content/2010/support/bumper480x270.png
deleted file mode 100644
index cf18715..0000000
--- a/content/2010/support/bumper480x270.png
+++ /dev/null
Binary files differ
diff --git a/content/2010/support/bumper640x360.png b/content/2010/support/bumper640x360.png
deleted file mode 100644
index a5073e0..0000000
--- a/content/2010/support/bumper640x360.png
+++ /dev/null
Binary files differ
diff --git a/content/2010/support/go-logo-white.png b/content/2010/support/go-logo-white.png
deleted file mode 100644
index fa29169..0000000
--- a/content/2010/support/go-logo-white.png
+++ /dev/null
Binary files differ
diff --git a/content/2010/support/java-typing.png b/content/2010/support/java-typing.png
deleted file mode 100644
index 54abf01..0000000
--- a/content/2010/support/java-typing.png
+++ /dev/null
Binary files differ
diff --git a/content/2010/support/slidy.css b/content/2010/support/slidy.css
deleted file mode 100644
index e9ff532..0000000
--- a/content/2010/support/slidy.css
+++ /dev/null
@@ -1,277 +0,0 @@
-/* http://www.w3.org/Talks/Tools/Slidy/slidy.css
-
-   Copyright (c) 2005 W3C (MIT, ERCIM, Keio), All Rights Reserved.
-   W3C liability, trademark, document use and software licensing
-   rules apply, see:
-
-   http://www.w3.org/Consortium/Legal/copyright-documents
-   http://www.w3.org/Consortium/Legal/copyright-software
-*/
-body
-{
-  margin: 0 0 0 0;
-  padding: 0 0 0 0;
-  width: 100%;
-  height: 100%;
-  color: black;
-  background-color: white;
-  font-family: "Lucida Sans", "Lucida Grande", Lucida, sans-serif;
-  font-size: 14pt;
-}
-
-.hidden { display: none; visibility: hidden }
-
-div.toolbar {
-  position: fixed; z-index: 200;
-  top: auto; bottom: 0; left: 0; right: 0;
-  height: 1.2em; text-align: right;
-  padding-left: 1em;
-  padding-right: 1em; 
-  font-size: 60%;
-  color: red; background: rgb(240,240,240);
-}
-
-div.background {
-  display: none;
-}
-
-div.handout {
-  margin-left: 20px;
-  margin-right: 20px;
-}
-
-div.slide.titlepage {
-  color: white;
-  background: black;
-  text-align: center;
-}
-
-div.slide {
-  z-index: 20;
-  margin: 0 0 0 0;
-  padding-top: 0;
-  padding-bottom: 0;
-  padding-left: 20px;
-  padding-right: 20px;
-  border-width: 0;
-  top: 0;
-  bottom: 0;
-  left: 0;
-  right: 0;
-  line-height: 120%;
-  background-color: transparent;
-}
-
-/* this rule is hidden from IE 6 and below which don't support + selector */
-div.slide + div[class].slide { page-break-before: always;}
-
-div.slide h1 {
-  padding-left: 20px;
-  padding-right: 20px;
-  padding-top: 10px;
-  padding-bottom: 10px;
-  margin-top: 0;
-  margin-left: 0;
-  margin-right: 0;
-  margin-bottom: 0.5em;
-  border-bottom: 4px solid #36c;
-  display: block; 
-  font-size: 160%;
-  line-height: 1.2em;
-}
-
-div.slide h2 {
-  font-size:120%;
-  line-height: 1.2em;
-}
-
-div.toc {
-  position: absolute;
-  top: auto;
-  bottom: 4em;
-  left: 4em;
-  right: auto;
-  width: 60%;
-  max-width: 30em;
-  height: 30em;
-  border: solid thin black;
-  padding: 1em;
-  background: rgb(240,240,240);
-  color: black;
-  z-index: 300;
-  overflow: auto;
-  display: block;
-  visibility: visible;
-}
-
-div.toc-heading {
-  width: 100%;
-  border-bottom: solid 1px rgb(180,180,180);
-  margin-bottom: 1em;
-  text-align: center;
-}
-
-pre {
- font-size: 120%;
- font-weight: bold;
- line-height: 140%;
- padding-top: 0.2em;
- padding-bottom: 0.2em;
- padding-left: 1em;
- padding-right: 1em;
-/*
- border-style: solid;
- border-left-width: 1em;
- border-top-width: thin;
- border-right-width: thin;
- border-bottom-width: thin;
- border-color: #95ABD0;
-*/
- color: #0F398D;
- background-color: #fff8f8;
-}
-
-@media print {
-  div.slide {
-     display: block;
-     visibility: visible;
-     position: relative;
-     border-top-style: solid;
-     border-top-width: thin;
-     border-top-color: black;
-  }
-  div.slide pre { font-size: 60%; padding-left: 0.5em; }
-  div.handout { display: block; visibility: visible; }
-}
-
-blockquote { font-style: italic }
-
-img { background-color: transparent }
-
-p.copyright { font-size: smaller }
-
-.center { text-align: center }
-.footnote { font-size: smaller; margin-left: 2em; }
-
-a img { border-width: 0; border-style: none }
-
-a:visited { color: navy }
-a:link { color: navy }
-a:hover { color: red; text-decoration: underline }
-a:active { color: red; text-decoration: underline }
-
-a {text-decoration: none}
-.navbar a:link {color: white}
-.navbar a:visited {color: yellow}
-.navbar a:active {color: red}
-.navbar a:hover {color: red}
-
-ul { list-style-type: square; }
-ul ul { list-style-type: disc; }
-ul ul ul { list-style-type: circle; }
-ul ul ul ul { list-style-type: disc; }
-li { margin-left: 2em; margin-top: 0.5em; }
-li li { font-size: 85%; font-style: italic }
-li li li { font-size: 85%; font-style: normal }
-
-div dt
-{
-  margin-left: 0;
-  margin-top: 1em;
-  margin-bottom: 0.5em;
-  font-weight: bold;
-}
-div dd
-{
-  margin-left: 2em;
-  margin-bottom: 0.5em;
-}
-
-
-p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table {
-  margin-left: 1em;
-  margin-right: 1em;
-}
-
-p.subhead { font-weight: bold; margin-top: 2em; }
-
-p.smaller { font-size: smaller }
-
-td,th { padding: 0.2em }
-
-ul {
-  margin: 0.5em 1.5em 0.5em 1.5em;
-  padding: 0;
-}
-
-ol {
-  margin: 0.5em 1.5em 0.5em 1.5em;
-  padding: 0;
-}
-
-ul { list-style-type: square; }
-ul ul { list-style-type: disc; }
-ul ul ul { list-style-type: circle; }
-ul ul ul ul { list-style-type: disc; }
-
-ul li { 
-  list-style: square;
-  //margin: 0.1em 0em 0.6em 0;
-  padding: 0 0 0 0;
-  line-height: 140%;
-}
-
-ol li { 
-  margin: 0.1em 0em 0.6em 1.5em;
-  padding: 0 0 0 0px;
-  line-height: 140%;
-  list-style-type: decimal;
-}
-
-li ul li { 
-  font-size: 85%; 
-  font-style: italic;
-  list-style-type: disc;
-  background: transparent;
-  padding: 0 0 0 0;
-}
-li li ul li { 
-  font-size: 85%; 
-  font-style: normal;
-  list-style-type: circle;
-  background: transparent;
-  padding: 0 0 0 0;
-}
-li li li ul li {
-  list-style-type: disc;
-  background: transparent;
-  padding: 0 0 0 0;
-}
-
-li ol li {
-  list-style-type: decimal;
-}
-
-
-li li ol li {
-  list-style-type: decimal;
-}
-
-/*
- setting class="outline on ol or ul makes it behave as an
- ouline list where blocklevel content in li elements is
- hidden by default and can be expanded or collapsed with
- mouse click. Set class="expand" on li to override default
-*/
-
-ol.outline li:hover { cursor: pointer }
-ol.outline li.nofold:hover { cursor: default }
-
-ul.outline li:hover { cursor: pointer }
-ul.outline li.nofold:hover { cursor: default }
-
-ol.outline { list-style:decimal; }
-ol.outline ol { list-style-type:lower-alpha }
-
-/* for slides with class "title" in table of contents */
-a.titleslide { font-weight: bold; font-style: italic }
diff --git a/content/2010/support/slidy.js b/content/2010/support/slidy.js
deleted file mode 100644
index 6a5561a..0000000
--- a/content/2010/support/slidy.js
+++ /dev/null
@@ -1,2772 +0,0 @@
-/* http://www.w3.org/Talks/Tools/Slidy/slidy.js
-
-   Copyright (c) 2005 W3C (MIT, ERCIM, Keio), All Rights Reserved.
-   W3C liability, trademark, document use and software licensing
-   rules apply, see:
-
-   http://www.w3.org/Consortium/Legal/copyright-documents
-   http://www.w3.org/Consortium/Legal/copyright-software
-*/
-
-var ns_pos = (typeof window.pageYOffset!='undefined');
-var khtml = ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false);
-var opera = ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false);
-var ie7 = (!ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1);
-
-window.onload = startup; // equivalent to onload on body element
-
-// IE only event handlers to ensure all slides are printed
-// I don't yet know how to emulate these for other browsers
-window.onbeforeprint = beforePrint;
-window.onafterprint = afterPrint;
-
-// hack to hide slides while loading
-setTimeout(hideAll, 50);
-
-function hideAll()
-{
-  if (document.body)
-    document.body.style.visibility = "hidden";
-  else
-    setTimeout(hideAll, 50);
-}
-
-var slidenum = 0;     // integer slide count: 0, 1, 2, ...
-var slides;           // set to array of slide div's
-var slideNumElement;  // element containing slide number
-var notes;            // set to array of handout div's
-var backgrounds;      // set to array of background div's
-var toolbar;          // element containing toolbar
-var title;            // document title
-var lastShown = null; // last incrementally shown item
-var eos = null;       // span element for end of slide indicator
-var toc = null;       // table of contents
-var outline = null;   // outline element with the focus
-var selectedTextLen;  // length of drag selection on document
-
-var viewAll = 0;      // 1 to view all slides + handouts
-var wantToolbar = 1;   // 0 if toolbar isn't wanted
-var mouseClickEnabled = true;  // enables left click for next slide
-var scrollhack = 0;   // IE work around for position: fixed
-
-var helpAnchor;  // used for keyboard focus hack in showToolbar()
-var helpPage = "http://www.w3.org/Talks/Tools/Slidy/help.html";
-var helpText = "Navigate with mouse click, space bar, Cursor Left/Right, " +
-               "or Pg Up and Pg Dn. Use S and B to change font size.";
-
-var sizeIndex = 0;
-var sizeAdjustment = 0;
-var sizes = new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt",
-                      "22pt", "24pt", "26pt", "28pt", "30pt", "32pt");
-
-var okayForIncremental = incrementalElementList();
-
-// needed for efficient resizing
-var lastWidth = 0;
-var lastHeight = 0;
-
-// Needed for cross browser support for relative width/height on
-// object elements. The work around is to save width/height attributes
-// and then to recompute absolute width/height dimensions on resizing
-var objects;
-
-// updated to language specified by html file
-var lang = "en";
-
-//var localize = {};
-
-// for each language there is an associative array
-var strings_es = {
-  "slide":"pág.",
-  "help?":"Ayuda",
-  "contents?":"Índice",
-  "table of contents":"tabla de contenidos",
-  "Table of Contents":"Tabla de Contenidos",
-  "restart presentation":"Reiniciar presentación",
-  "restart?":"Inicio"
-   };
-
-strings_es[helpText] =
-    "Utilice el ratón, barra espaciadora, teclas Izda/Dhca, " +
-    "o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.";
-
-var strings_nl = {
-  "slide":"pagina",
-  "help?":"Help?",
-  "contents?":"Inhoud?",
-  "table of contents":"inhoudsopgave",
-  "Table of Contents":"Inhoudsopgave",
-  "restart presentation":"herstart presentatie",
-  "restart?":"Herstart?"
-   };
-
-strings_nl[helpText] =
-    "Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " +
-    "of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.";
-
-var strings_de = {
-  "slide":"Seite",
-  "help?":"Hilfe",
-  "contents?":"Übersicht",
-  "table of contents":"Inhaltsverzeichnis",
-  "Table of Contents":"Inhaltsverzeichnis",
-  "restart presentation":"Präsentation neu starten",
-  "restart?":"Neustart"
-   };
-
-strings_de[helpText] =
-    "Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts" +
-    "oder Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.";
-
-var strings_pl = {
-  "slide":"slajd",
-  "help?":"pomoc?",
-  "contents?":"spis treści?",
-  "table of contents":"spis treści",
-  "Table of Contents":"Spis Treści",
-  "restart presentation":"Restartuj prezentację",
-  "restart?":"restart?"
-   };
-
-strings_pl[helpText] =
-    "Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" +
-    "lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.";
-
-var strings_fr = {
-  "slide":"page",
-  "help?":"Aide",
-  "contents?":"Index",
-  "table of contents":"table des matières",
-  "Table of Contents":"Table des matières",
-  "restart presentation":"Recommencer l'exposé",
-  "restart?":"Début"
-  };
-
-strings_fr[helpText] =
-    "Naviguez avec la souris, la barre d'espace, les flèches" +
-    "gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " +
-    "les touches S et B pour modifier la taille de la police.";
-
-var strings_hu = {
-  "slide":"oldal",
-  "help?":"segítség",
-  "contents?":"tartalom",
-  "table of contents":"tartalomjegyzék",
-  "Table of Contents":"Tartalomjegyzék",
-  "restart presentation":"bemutató újraindítása",
-  "restart?":"újraindítás"
-   };
-
-strings_hu[helpText] =
-    "Az oldalak közti lépkedéshez kattintson az egérrel, vagy használja a szóköz, a bal, vagy a jobb nyíl, " +
-    "illetve a Page Down, Page Up billentyűket. Az S és a B billentyűkkel változtathatja a szöveg méretét.";
-
-var strings_it = {
-  "slide":"pag.",
-  "help?":"Aiuto",
-  "contents?":"Indice",
-  "table of contents":"indice",
-  "Table of Contents":"Indice",
-  "restart presentation":"Ricominciare la presentazione",
-  "restart?":"Inizio"
-   };
-
-strings_it[helpText] =
-    "Navigare con mouse, barra spazio, frecce sinistra/destra o " +
-    "PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.";
-
-var strings_el = {
-  "slide":"σελίδα",
-  "help?":"βοήθεια;",
-  "contents?":"περιεχόμενα;",
-  "table of contents":"πίνακας περιεχομένων",
-  "Table of Contents":"Πίνακας Περιεχομένων",
-  "restart presentation":"επανεκκίνηση παρουσίασης",
-  "restart?":"επανεκκίνηση;"
-   };
-
-strings_el[helpText] =
-  "Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " +
-  "ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " +
-  "το μέγεθος της γραμματοσειράς.";
-
-var strings_ja = {
-  "slide":"スライド",
-  "help?":"ヘルプ",
-  "contents?":"目次",
-  "table of contents":"目次を表示",
-  "Table of Contents":"目次",
-  "restart presentation":"最初から再生",
-  "restart?":"最初から"
-};
-
-strings_ja[helpText] =
-    "マウス左クリック ・ スペース ・ 左右キー " +
-    "または Page Up ・ Page Downで操作， S ・ Bでフォントサイズ変更";
-
-
-// each such language array is declared in the localize array
-// used indirectly as in help.innerHTML = "help".localize();
-var localize = {
-     "es":strings_es,
-     "nl":strings_nl,
-     "de":strings_de,
-     "pl":strings_pl,
-     "fr":strings_fr,
-     "hu":strings_hu,
-     "it":strings_it,
-     "el":strings_el,
-     "jp":strings_ja
-   };
-
-/* general initialization */
-function startup()
-{
-   // find human language from html element
-   // for use in localizing strings
-   lang = document.body.parentNode.getAttribute("lang");
-
-   if (!lang)
-     lang = document.body.parentNode.getAttribute("xml:lang");
-
-   if (!lang)
-     lang = "en";
-
-   document.body.style.visibility = "visible";
-   title = document.title;
-   toolbar = addToolbar();
-   wrapImplicitSlides();
-   slides = collectSlides();
-   notes = collectNotes();
-   objects = document.body.getElementsByTagName("object");
-   backgrounds = collectBackgrounds();
-   patchAnchors();
-
-   slidenum = findSlideNumber(location.href);
-   window.offscreenbuffering = true;
-   sizeAdjustment = findSizeAdjust();
-   hideImageToolbar();  // suppress IE image toolbar popup
-   initOutliner();  // activate fold/unfold support
-
-   if (slides.length > 0)
-   {
-      var slide = slides[slidenum];
-      slide.style.position = "absolute";
-   
-      if (slidenum > 0)
-      {
-         setVisibilityAllIncremental("visible");
-         lastShown = previousIncrementalItem(null);
-         setEosStatus(true);
-      }
-      else
-      {
-         lastShown = null;
-         setVisibilityAllIncremental("hidden");
-         setEosStatus(!nextIncrementalItem(lastShown));
-      }
-
-      setLocation();
-   }
-
-   toc = tableOfContents();
-   hideTableOfContents();
-
-   // bind event handlers
-   document.onclick = mouseButtonClick;
-   document.onmouseup = mouseButtonUp;
-   document.onkeydown = keyDown;
-   window.onresize  = resized;
-   window.onscroll = scrolled;
-   singleSlideView();
-
-   setLocation();
-   resized();
-
-   if (ie7)
-     setTimeout("ieHack()", 100);
-
-   showToolbar();
-}
-
-// add localize method to all strings for use
-// as in help.innerHTML = "help".localize();
-String.prototype.localize = function()
-{
-  if (this == "")
-    return this;
-
-  // try full language code, e.g. en-US
-  var s, lookup = localize[lang];
-
-  if (lookup)
-  {
-    s = lookup[this];
-
-    if (s)
-      return s;
-  }
-
-  // try en if undefined for en-US
-  var lg = lang.split("-");
-
-  if (lg.length > 1)
-  {
-    lookup = localize[lg[0]];
-
-    if (lookup)
-    {
-      s = lookup[this];
-
-      if (s)
-        return s;
-    }
-  }
-
-  // otherwise string as is
-  return this;
-}
-
-// suppress IE's image toolbar pop up
-function hideImageToolbar()
-{
-  if (!ns_pos)
-  {
-    var images = document.getElementsByTagName("IMG");
-
-    for (var i = 0; i < images.length; ++i)
-      images[i].setAttribute("galleryimg", "no");
-  }
-}
-
-// hack to persuade IE to compute correct document height
-// as needed for simulating fixed positioning of toolbar
-function ieHack()
-{
-   window.resizeBy(0,-1);
-   window.resizeBy(0, 1);
-}
-
-// Firefox reload SVG bug work around
-function reload(e)
-{
-   if (!e)
-      var e = window.event;
-
-   hideBackgrounds();
-   setTimeout("document.reload();", 100);
-
-   stopPropagation(e);
-   e.cancel = true;
-   e.returnValue = false;
-
-   return false;
-}
-
-// Safari and Konqueror don't yet support getComputedStyle()
-// and they always reload page when location.href is updated
-function isKHTML()
-{
-   var agent = navigator.userAgent;
-   return (agent.indexOf("KHTML") >= 0 ? true : false);
-}
-
-function resized()
-{
-   var width = 0;
-
-   if ( typeof( window.innerWidth ) == 'number' )
-      width = window.innerWidth;  // Non IE browser
-   else if (document.documentElement && document.documentElement.clientWidth)
-      width = document.documentElement.clientWidth;  // IE6
-   else if (document.body && document.body.clientWidth)
-      width = document.body.clientWidth; // IE4
-
-   var height = 0;
-
-   if ( typeof( window.innerHeight ) == 'number' )
-      height = window.innerHeight;  // Non IE browser
-   else if (document.documentElement && document.documentElement.clientHeight)
-      height = document.documentElement.clientHeight;  // IE6
-   else if (document.body && document.body.clientHeight)
-      height = document.body.clientHeight; // IE4
-
-   if (height && (width/height > 1.05*1024/768))
-   {
-     width = height * 1024.0/768;
-   }
-
-   // IE fires onresize even when only font size is changed!
-   // so we do a check to avoid blocking < and > actions
-   if (width != lastWidth || height != lastHeight)
-   {
-      if (width >= 1100)
-         sizeIndex = 5;    // 4
-      else if (width >= 1000)
-         sizeIndex = 4;    // 3
-      else if (width >= 800)
-         sizeIndex = 3;    // 2
-      else if (width >= 600)
-         sizeIndex = 2;    // 1
-      else if (width)
-         sizeIndex = 0;
-
-      // add in font size adjustment from meta element e.g.
-      // <meta name="font-size-adjustment" content="-2" />
-      // useful when slides have too much content ;-)
-
-      if (0 <= sizeIndex + sizeAdjustment &&
-             sizeIndex + sizeAdjustment < sizes.length)
-        sizeIndex = sizeIndex + sizeAdjustment;
-
-      // enables cross browser use of relative width/height
-      // on object elements for use with SVG and Flash media
-      adjustObjectDimensions(width, height);
-
-      document.body.style.fontSize = sizes[sizeIndex];
-
-      lastWidth = width;
-      lastHeight = height;
-
-      // force reflow to work around Mozilla bug
-      //if (ns_pos)
-      {
-         var slide = slides[slidenum];
-         hideSlide(slide);
-         showSlide(slide);
-      }
-
-      // force correct positioning of toolbar
-      refreshToolbar(200);
-   }
-}
-
-function scrolled()
-{
-   if (toolbar && !ns_pos && !ie7)
-   {
-      hackoffset = scrollXOffset();
-      // hide toolbar
-      toolbar.style.display = "none";
-
-      // make it reappear later
-      if (scrollhack == 0 && !viewAll)
-      {
-         setTimeout(showToolbar, 1000);
-         scrollhack = 1;
-      }
-   }
-}
-
-// used to ensure IE refreshes toolbar in correct position
-function refreshToolbar(interval)
-{
-   if (!ns_pos && !ie7)
-   {
-     hideToolbar();
-     setTimeout(showToolbar, interval);
-   }
-}
-
-// restores toolbar after short delay
-function showToolbar()
-{
-   if (wantToolbar)
-   {
-      if (!ns_pos)
-      {
-         // adjust position to allow for scrolling
-         var xoffset = scrollXOffset();
-         toolbar.style.left = xoffset;
-         toolbar.style.right = xoffset;
-
-         // determine vertical scroll offset
-         //var yoffset = scrollYOffset();
-
-         // bottom is doc height - window height - scroll offset
-         //var bottom = documentHeight() - lastHeight - yoffset
-
-         //if (yoffset > 0 || documentHeight() > lastHeight)
-         //   bottom += 16;  // allow for height of scrollbar
-
-         toolbar.style.bottom = 0; //bottom;
-      }
-
-      toolbar.style.display = "block";
-      toolbar.style.visibility = "visible";
-   }
-
-   scrollhack = 0;
-
-
-   // set the keyboard focus to the help link on the
-   // toolbar to ensure that document has the focus
-   // IE doesn't always work with window.focus()
-   // and this hack has benefit of Enter for help
-
-   try
-   {
-     if (!opera)
-       helpAnchor.focus();
-   }
-   catch (e)
-   {
-   }
-}
-
-function test()
-{
-   var s = "docH: " + documentHeight() +
-       " winH: " + lastHeight +
-       " yoffset: " + scrollYOffset() +
-       " toolbot: " + (documentHeight() - lastHeight - scrollYOffset());
-
-   //alert(s);
-
-   var slide = slides[slidenum];
-   // IE getAttribute requires "class" to be "className"
-   var name = ns_pos ? "class" : "className";
-   var style = (slide.currentStyle ? slide.currentStyle["backgroundColor"] :
-       document.defaultView.getComputedStyle(slide, '').getPropertyValue("background-color"));
-   alert("class='" + slide.getAttribute(name) + "' backgroundColor: " + style);
-}
-
-function hideToolbar()
-{
-   toolbar.style.display = "none";
-   toolbar.style.visibility = "hidden";
-   window.focus();
-}
-
-// invoked via F key
-function toggleToolbar()
-{
-   if (!viewAll)
-   {
-      if (toolbar.style.display == "none")
-      {
-         toolbar.style.display = "block";
-         toolbar.style.visibility = "visible";
-         wantToolbar = 1;
-      }
-      else
-      {
-         toolbar.style.display = "none";
-         toolbar.style.visibility = "hidden";
-         wantToolbar = 0;
-      }
-   }
-}
-
-function scrollXOffset()
-{
-   if (window.pageXOffset)
-      return self.pageXOffset;
-
-   if (document.documentElement && 
-             document.documentElement.scrollLeft)
-      return document.documentElement.scrollLeft;
-
-   if (document.body)
-      return document.body.scrollLeft;
-
-    return 0;
-}
-
-
-function scrollYOffset()
-{
-   if (window.pageYOffset)
-      return self.pageYOffset;
-
-   if (document.documentElement && 
-             document.documentElement.scrollTop)
-      return document.documentElement.scrollTop;
-
-   if (document.body)
-      return document.body.scrollTop;
-
-    return 0;
-}
-
-// looking for a way to determine height of slide content
-// the slide itself is set to the height of the window
-function optimizeFontSize()
-{
-   var slide = slides[slidenum];
-
-   //var dh = documentHeight(); //getDocHeight(document);
-   var dh = slide.scrollHeight;
-   var wh = getWindowHeight();
-   var u = 100 * dh / wh;
-
-   alert("window utilization = " + u + "% (doc "
-      + dh + " win " + wh + ")");
-}
-
-function getDocHeight(doc) // from document object
-{
-  if (!doc)
-    doc = document;
-
-  if (doc && doc.body && doc.body.offsetHeight)
-    return doc.body.offsetHeight;  // ns/gecko syntax
-
-  if (doc && doc.body && doc.body.scrollHeight)
-    return doc.body.scrollHeight;
-
-  alert("couldn't determine document height");
-}
-
-function getWindowHeight()
-{
-  if ( typeof( window.innerHeight ) == 'number' )
-    return window.innerHeight;  // Non IE browser
-
-  if (document.documentElement && document.documentElement.clientHeight)
-    return document.documentElement.clientHeight;  // IE6
-
-  if (document.body && document.body.clientHeight)
-    return document.body.clientHeight; // IE4
-}
-
-
-
-function documentHeight()
-{
-   var sh, oh;
-
-   sh = document.body.scrollHeight;
-   oh = document.body.offsetHeight;
-
-   if (sh && oh)
-   {
-      return (sh > oh ? sh : oh);
-   }
-
-   // no idea!
-   return 0;
-}
-
-function smaller()
-{
-   if (sizeIndex > 0)
-   {
-      --sizeIndex;
-   }
-
-   toolbar.style.display = "none";
-   document.body.style.fontSize = sizes[sizeIndex];
-   var slide = slides[slidenum];
-   hideSlide(slide);
-   showSlide(slide);
-   setTimeout(showToolbar, 300);
-}
-
-function bigger()
-{
-   if (sizeIndex < sizes.length - 1)
-   {
-      ++sizeIndex;
-   }
-
-   toolbar.style.display = "none";
-   document.body.style.fontSize = sizes[sizeIndex];
-   var slide = slides[slidenum];
-   hideSlide(slide);
-   showSlide(slide);
-   setTimeout(showToolbar, 300);
-}
-
-// enables cross browser use of relative width/height
-// on object elements for use with SVG and Flash media
-// with thanks to Ivan Herman for the suggestion
-function adjustObjectDimensions(width, height)
-{
-   for( var i = 0; i < objects.length; i++ )
-   {
-      var obj = objects[i];
-      var mimeType = obj.getAttribute("type");
-
-      if (mimeType == "image/svg+xml" || mimeType == "application/x-shockwave-flash")
-      {
-         if ( !obj.initialWidth ) 
-            obj.initialWidth = obj.getAttribute("width");
-
-         if ( !obj.initialHeight ) 
-            obj.initialHeight = obj.getAttribute("height");
-
-         if ( obj.initialWidth && obj.initialWidth.charAt(obj.initialWidth.length-1) == "%" )
-         {
-            var w = parseInt(obj.initialWidth.slice(0, obj.initialWidth.length-1));
-            var newW = width * (w/100.0);
-            obj.setAttribute("width",newW);
-         }
-
-         if ( obj.initialHeight && obj.initialHeight.charAt(obj.initialHeight.length-1) == "%" )
-         {
-            var h = parseInt(obj.initialHeight.slice(0, obj.initialHeight.length-1));
-            var newH = height * (h/100.0);
-            obj.setAttribute("height", newH);
-         }
-      }
-   }
-}
-
-function cancel(event)
-{
-  if (event)
-  {
-     event.cancel = true;
-     event.returnValue = false;
-
-    if (event.preventDefault)
-      event.preventDefault();
-  }
-
-  return false;
-}
-
-//  See e.g. http://www.quirksmode.org/js/events/keys.html for keycodes
-function keyDown(event)
-{
-    var key;
-
-    if (!event)
-      var event = window.event;
-
-    // kludge around NS/IE differences 
-    if (window.event)
-       key = window.event.keyCode;
-    else if (event.which)
-       key = event.which;
-    else
-       return true; // Yikes! unknown browser
-
-    // ignore event if key value is zero
-    // as for alt on Opera and Konqueror
-    if (!key)
-       return true;
-
-    // check for concurrent control/command/alt key
-    // but are these only present on mouse events?
-
-    if (event.ctrlKey || event.altKey || event.metaKey)
-       return true;
-
-    // dismiss table of contents if visible
-    if (isShownToc() && key != 9 && key != 16 && key != 38 && key != 40)
-    {
-      hideTableOfContents();
-
-      if (key == 27 || key == 84 || key == 67)
-        return cancel(event);
-    }
-
-    if (key == 34) // Page Down
-    {
-       nextSlide(false);
-       return cancel(event);
-    }
-    else if (key == 33) // Page Up
-    {
-       previousSlide(false);
-       return cancel(event);
-    }
-    else if (key == 32) // space bar
-    {
-       nextSlide(true);
-       return cancel(event);
-    }
-    else if (key == 37 || key == 38) // Left arrow || Up arrow
-    {
-       previousSlide(!event.shiftKey);
-       return cancel(event);
-    }
-    else if (key == 36) // Home
-    {
-       firstSlide();
-       return cancel(event);
-    }
-    else if (key == 35) // End
-    {
-       lastSlide();
-       return cancel(event);
-    }
-    else if (key == 39 || key == 40) // Right arrow || Down arrow
-    {
-       nextSlide(!event.shiftKey);
-       return cancel(event);
-    }
-    else if (key == 13) // Enter
-    {
-       if (outline)
-       {
-          if (outline.visible)
-            fold(outline);
-          else
-            unfold(outline);
-          
-         return cancel(event);
-       }
-    }
-    else if (key == 188)  // < for smaller fonts
-    {
-       smaller();
-       return cancel(event);
-    }
-    else if (key == 190)  // > for larger fonts
-    {
-       bigger();
-       return cancel(event);
-    }
-    else if (key == 189 || key == 109)  // - for smaller fonts
-    {
-       smaller();
-       return cancel(event);
-    }
-    else if (key == 187 || key == 191 || key == 107)  // = +  for larger fonts
-    {
-       bigger();
-       return cancel(event);
-    }
-    else if (key == 83)  // S for smaller fonts
-    {
-       smaller();
-       return cancel(event);
-    }
-    else if (key == 66)  // B for larger fonts
-    {
-       bigger();
-       return cancel(event);
-    }
-    else if (key == 90)  // Z for last slide
-    {
-       lastSlide();
-       return cancel(event);
-    }
-    else if (key == 70)  // F for toggle toolbar
-    {
-       toggleToolbar();
-       return cancel(event);
-    }
-    else if (key == 65)  // A for toggle view single/all slides
-    {
-       toggleView();
-       return cancel(event);
-    }
-    else if (key == 75)  // toggle action of left click for next page
-    {
-       mouseClickEnabled = !mouseClickEnabled;
-       alert((mouseClickEnabled ? "enabled" : "disabled") +  " mouse click advance");
-       return cancel(event);
-    }
-    else if (key == 84 || key == 67)  // T or C for table of contents
-    {
-       if (toc)
-         showTableOfContents();
-
-       return cancel(event);
-    }
-    else if (key == 72) // H for help
-    {
-       window.location = helpPage;
-       return cancel(event);
-    }
-
-    //else if (key == 93) // Windows menu key
-      //alert("lastShown is " + lastShown);
-    //else alert("key code is "+ key);
-
-
-    return true;
-}
-
-// make note of length of selected text
-// as this evaluates to zero in click event
-function mouseButtonUp(e)
-{
-  selectedTextLen = getSelectedText().length;
-}
-
-// right mouse button click is reserved for context menus
-// it is more reliable to detect rightclick than leftclick
-function mouseButtonClick(e)
-{
-   var rightclick = false;
-   var leftclick = false;
-   var middleclick = false;
-   var target;
-
-   if (!e)
-      var e = window.event;
-
-   if (e.target)
-      target = e.target;
-   else if (e.srcElement)
-      target = e.srcElement;
-
-   // work around Safari bug
-   if (target.nodeType == 3)
-      target = target.parentNode;
-
-   if (e.which) // all browsers except IE
-   {
-      leftclick = (e.which == 1);
-      middleclick = (e.which == 2);
-      rightclick = (e.which == 3);
-   }
-   else if (e.button)
-   {
-      // Konqueror gives 1 for left, 4 for middle
-      // IE6 gives 0 for left and not 1 as I expected
-
-      if (e.button == 4)
-        middleclick = true;
-
-      // all browsers agree on 2 for right button
-      rightclick = (e.button == 2);
-   }
-   else leftclick = true;
-
-   // dismiss table of contents
-   hideTableOfContents();
-
-   if (selectedTextLen > 0)
-   {
-      stopPropagation(e);
-      e.cancel = true;
-      e.returnValue = false;
-      return false;
-   }
-
-   // check if target is something that probably want's clicks
-   // e.g. embed, object, input, textarea, select, option
-
-   if (mouseClickEnabled && leftclick &&
-        target.nodeName != "EMBED" &&
-        target.nodeName != "OBJECT" &&
-        target.nodeName != "INPUT" &&
-        target.nodeName != "TEXTAREA" &&
-        target.nodeName != "SELECT" &&
-        target.nodeName != "OPTION")
-   {
-      nextSlide(true);
-      stopPropagation(e);
-      e.cancel = true;
-      e.returnValue = false;
-   }
-}
-
-function previousSlide(incremental)
-{
-   if (!viewAll)
-   {
-      var slide;
-
-      if ((incremental || slidenum == 0) && lastShown != null)
-      {
-         lastShown = hidePreviousItem(lastShown);
-         setEosStatus(false);
-      }
-      else if (slidenum > 0)
-      {
-         slide = slides[slidenum];
-         hideSlide(slide);
-
-         slidenum = slidenum - 1;
-         slide = slides[slidenum];
-         setVisibilityAllIncremental("visible");
-         lastShown = previousIncrementalItem(null);
-         setEosStatus(true);
-         showSlide(slide);
-      }
-
-      setLocation();
-
-      if (!ns_pos)
-         refreshToolbar(200);
-   }
-}
-
-function nextSlide(incremental)
-{
-   if (!viewAll)
-   {
-      var slide, last = lastShown;
-
-      if (incremental || slidenum == slides.length - 1)
-         lastShown = revealNextItem(lastShown);
-
-      if ((!incremental || lastShown == null) && slidenum < slides.length - 1)
-      {
-         slide = slides[slidenum];
-         hideSlide(slide);
-
-         slidenum = slidenum + 1;
-         slide = slides[slidenum];
-         lastShown = null;
-         setVisibilityAllIncremental("hidden");
-         showSlide(slide);
-      }
-      else if (!lastShown)
-      {
-         if (last && incremental)
-           lastShown = last;
-      }
-
-      setLocation();
-
-      setEosStatus(!nextIncrementalItem(lastShown));
-
-      if (!ns_pos)
-         refreshToolbar(200);
-   }
-}
-
-// to first slide with nothing revealed
-// i.e. state at start of presentation
-function firstSlide()
-{
-   if (!viewAll)
-   {
-      var slide;
-
-      if (slidenum != 0)
-      {
-         slide = slides[slidenum];
-         hideSlide(slide);
-
-         slidenum = 0;
-         slide = slides[slidenum];
-         lastShown = null;
-         setVisibilityAllIncremental("hidden");
-         showSlide(slide);
-      }
-
-      setEosStatus(!nextIncrementalItem(lastShown));
-      setLocation();
-   }
-}
-
-
-// to last slide with everything revealed
-// i.e. state at end of presentation
-function lastSlide()
-{
-   if (!viewAll)
-   {
-      var slide;
-
-      lastShown = null; //revealNextItem(lastShown);
-
-      if (lastShown == null && slidenum < slides.length - 1)
-      {
-         slide = slides[slidenum];
-         hideSlide(slide);
-         slidenum = slides.length - 1;
-         slide = slides[slidenum];
-         setVisibilityAllIncremental("visible");
-         lastShown = previousIncrementalItem(null);
-
-         showSlide(slide);
-      }
-      else
-      {
-         setVisibilityAllIncremental("visible");
-         lastShown = previousIncrementalItem(null);
-      }
-
-      setEosStatus(true);
-      setLocation();
-   }
-}
-
-function setEosStatus(state)
-{
-   if (eos)
-      eos.style.color = (state ? "rgb(240,240,240)" : "red");
-}
-
-function showSlide(slide)
-{
-   syncBackground(slide);
-   window.scrollTo(0,0);
-   slide.style.visibility = "visible";
-   slide.style.display = "block";
-}
-
-function hideSlide(slide)
-{
-   slide.style.visibility = "hidden";
-   slide.style.display = "none";
-}
-
-function beforePrint()
-{
-   showAllSlides();
-   hideToolbar();
-}
-
-function afterPrint()
-{
-   if (!viewAll)
-   {
-      singleSlideView();
-      showToolbar();
-   }
-}
-
-function printSlides()
-{
-  beforePrint();
-  window.print();
-  afterPrint();
-}
-
-function toggleView()
-{
-   if (viewAll)
-   {
-      singleSlideView();
-      showToolbar();
-      viewAll = 0;
-   }
-   else
-   {
-      showAllSlides();
-      hideToolbar();
-      viewAll = 1;
-   }
-}
-
-// prepare for printing
-function showAllSlides()
-{
-   var slide;
-
-   for (var i = 0; i < slides.length; ++i)
-   {
-      slide = slides[i];
-
-      slide.style.position = "relative";
-      slide.style.borderTopStyle = "solid";
-      slide.style.borderTopWidth = "thin";
-      slide.style.borderTopColor = "black";
-
-      try {
-        if (i == 0)
-          slide.style.pageBreakBefore = "avoid";
-        else
-          slide.style.pageBreakBefore = "always";
-      }
-      catch (e)
-      {
-        //do nothing
-      }
-
-      setVisibilityAllIncremental("visible");
-      showSlide(slide);
-   }
-
-   var note;
-
-   for (var i = 0; i < notes.length; ++i)
-   {
-      showSlide(notes[i]);
-   }
-
-   // no easy way to render background under each slide
-   // without duplicating the background divs for each slide
-   // therefore hide backgrounds to avoid messing up slides
-   hideBackgrounds();
-}
-
-// restore after printing
-function singleSlideView()
-{
-   var slide;
-
-   for (var i = 0; i < slides.length; ++i)
-   {
-      slide = slides[i];
-
-      slide.style.position = "absolute";
-
-      if (i == slidenum)
-      {
-         slide.style.borderStyle = "none";
-         showSlide(slide);
-      }
-      else
-      {
-         slide.style.borderStyle = "none";
-         hideSlide(slide);
-      }
-   }
-
-   setVisibilityAllIncremental("visible");
-   lastShown = previousIncrementalItem(null);
-
-   var note;
-
-   for (var i = 0; i < notes.length; ++i)
-   {
-      hideSlide(notes[i]);
-   }
-}
-
-// the string str is a whitespace separated list of tokens
-// test if str contains a particular token, e.g. "slide"
-function hasToken(str, token)
-{
-   if (str)
-   {
-      // define pattern as regular expression
-      var pattern = /\w+/g;
-
-      // check for matches
-      // place result in array
-      var result = str.match(pattern);
-
-      // now check if desired token is present
-      for (var i = 0; i < result.length; i++)
-      {
-         if (result[i] == token)
-            return true;
-      }
-   }
-
-   return false;
-}
-
-function getClassList(element)
-{
-  if (typeof window.pageYOffset =='undefined')
-    return element.getAttribute("className");
-
-  return element.getAttribute("class");
-}
-
-function hasClass(element, name)
-{
-  var regexp = new RegExp("(^| )" + name + "\W*");
-
-  if (regexp.test(getClassList(element)))
-    return true;
-
-  return false;
-
-}
-
-function removeClass(element, name)
-{
-  // IE getAttribute requires "class" to be "className"
-  var clsname = ns_pos ? "class" : "className";
-  var clsval = element.getAttribute(clsname);
-
-  var regexp = new RegExp("(^| )" + name + "\W*");
-
-  if (clsval)
-  {
-    clsval = clsval.replace(regexp, "");
-    element.setAttribute(clsname, clsval);
-  }
-}
-
-function addClass(element, name)
-{
-  if (!hasClass(element, name))
-  {
-    // IE getAttribute requires "class" to be "className"
-    var clsname = ns_pos ? "class" : "className";
-    var clsval = element.getAttribute(clsname);
-    element.setAttribute(clsname, (clsval ? clsval + " " + name : name));
-  }
-}
-
-// wysiwyg editors make it hard to use div elements
-// e.g. amaya loses the div when you copy and paste
-// this function wraps div elements around implicit
-// slides which start with an h1 element and continue
-// up to the next heading or div element
-function wrapImplicitSlides()
-{
-   var i, heading, node, next, div;
-   var headings = document.getElementsByTagName("h1");
-
-   if (!headings)
-     return;
-
-   for (i = 0; i < headings.length; ++i)
-   {
-      heading = headings[i];
-
-      if (heading.parentNode != document.body)
-         continue;
-
-      node = heading.nextSibling;
-
-      div = document.createElement("div");
-      div.setAttribute((ns_pos ? "class" : "className"), "slide");
-      document.body.replaceChild(div, heading);
-      div.appendChild(heading);
-
-      while (node)
-      {
-         if (node.nodeType == 1 &&    // an element
-                  (node.nodeName == "H1" ||
-                   node.nodeName == "h1" ||
-                   node.nodeName == "DIV" ||
-                   node.nodeName == "div"))
-            break;
-
-         next = node.nextSibling;
-         node = document.body.removeChild(node);
-         div.appendChild(node);
-         node = next;
-      } 
-   }
-}
-
-// return new array of all slides
-function collectSlides()
-{
-   var slides = new Array();
-   var divs = document.body.getElementsByTagName("div");
-
-   for (var i = 0; i < divs.length; ++i)
-   {
-      div = divs.item(i);
-
-      if (hasClass(div, "slide"))
-      {
-         // add slide to collection
-         slides[slides.length] = div;
-
-         // hide each slide as it is found
-         div.style.display = "none";
-         div.style.visibility = "hidden";
-
-         // add dummy <br/> at end for scrolling hack
-         var node1 = document.createElement("br");
-         div.appendChild(node1);
-         var node2 = document.createElement("br");
-         div.appendChild(node2);
-      }
-      else if (hasClass(div, "background"))
-      {  // work around for Firefox SVG reload bug
-         // which otherwise replaces 1st SVG graphic with 2nd
-         div.style.display = "block";
-      }
-   }
-
-   return slides;
-}
-
-// return new array of all <div class="handout">
-function collectNotes()
-{
-   var notes = new Array();
-   var divs = document.body.getElementsByTagName("div");
-
-   for (var i = 0; i < divs.length; ++i)
-   {
-      div = divs.item(i);
-
-      if (hasClass(div, "handout"))
-      {
-         // add slide to collection
-         notes[notes.length] = div;
-
-         // hide handout notes as they are found
-         div.style.display = "none";
-         div.style.visibility = "hidden";
-      }
-   }
-
-   return notes;
-}
-
-// return new array of all <div class="background">
-// including named backgrounds e.g. class="background titlepage"
-function collectBackgrounds()
-{
-   var backgrounds = new Array();
-   var divs = document.body.getElementsByTagName("div");
-
-   for (var i = 0; i < divs.length; ++i)
-   {
-      div = divs.item(i);
-
-      if (hasClass(div, "background"))
-      {
-         // add slide to collection
-         backgrounds[backgrounds.length] = div;
-
-         // hide named backgrounds as they are found
-         // e.g. class="background epilog"
-         if (getClassList(div) != "background")
-         {
-            div.style.display = "none";
-            div.style.visibility = "hidden";
-         }
-      }
-   }
-
-   return backgrounds;
-}
-
-// show just the backgrounds pertinent to this slide
-function syncBackground(slide)
-{
-   var background;
-   var bgColor;
-
-   if (slide.currentStyle)
-      bgColor = slide.currentStyle["backgroundColor"];
-   else if (document.defaultView)
-   {
-      var styles = document.defaultView.getComputedStyle(slide,null);
-
-      if (styles)
-          bgColor = styles.getPropertyValue("background-color");
-      else // broken implementation probably due Safari or Konqueror
-      {
-          //alert("defective implementation of getComputedStyle()");
-          bgColor = "transparent";
-      }
-   }
-   else
-      bgColor == "transparent";
-
-   if (bgColor == "transparent")
-   {
-      var slideClass = getClassList(slide);
-
-      for (var i = 0; i < backgrounds.length; i++)
-      {
-         background = backgrounds[i];
-
-         var bgClass = getClassList(background);
-
-         if (matchingBackground(slideClass, bgClass))
-         {
-            background.style.display = "block";
-            background.style.visibility = "visible";
-         }
-         else
-         {
-            background.style.display = "none";
-            background.style.visibility = "hidden";
-         }
-      }
-   }
-   else // forcibly hide all backgrounds
-      hideBackgrounds();
-}
-
-function hideBackgrounds()
-{
-   for (var i = 0; i < backgrounds.length; i++)
-   {
-      background = backgrounds[i];
-      background.style.display = "none";
-      background.style.visibility = "hidden";
-   }
-}
-
-// compare classes for slide and background
-function matchingBackground(slideClass, bgClass)
-{
-   if (bgClass == "background")
-      return true;
-
-   // define pattern as regular expression
-   var pattern = /\w+/g;
-
-   // check for matches and place result in array
-   var result = slideClass.match(pattern);
-
-   // now check if desired name is present for background
-   for (var i = 0; i < result.length; i++)
-   {
-      if (hasToken(bgClass, result[i]))
-         return true;
-   }
-
-   return false;
-}
-
-// left to right traversal of root's content
-function nextNode(root, node)
-{
-   if (node == null)
-      return root.firstChild;
-
-   if (node.firstChild)
-      return node.firstChild;
-
-   if (node.nextSibling)
-      return node.nextSibling;
-
-   for (;;)
-   {
-      node = node.parentNode;
-
-      if (!node || node == root)
-         break;
-
-      if (node && node.nextSibling)
-         return node.nextSibling;
-   }
-
-   return null;
-}
-
-// right to left traversal of root's content
-function previousNode(root, node)
-{
-   if (node == null)
-   {
-      node = root.lastChild;
-
-      if (node)
-      {
-         while (node.lastChild)
-            node = node.lastChild;
-      }
-
-      return node;
-   }
-
-   if (node.previousSibling)
-   {
-      node = node.previousSibling;
-
-      while (node.lastChild)
-         node = node.lastChild;
-
-      return node;
-   }
-
-   if (node.parentNode != root)
-      return node.parentNode;
-
-   return null;
-}
-
-// HTML elements that can be used with class="incremental"
-// note that you can also put the class on containers like
-// up, ol, dl, and div to make their contents appear
-// incrementally. Upper case is used since this is what
-// browsers report for HTML node names (text/html).
-function incrementalElementList()
-{
-   var inclist = new Array();
-   inclist["P"] = true;
-   inclist["PRE"] = true;
-   inclist["LI"] = true;
-   inclist["BLOCKQUOTE"] = true;
-   inclist["DT"] = true;
-   inclist["DD"] = true;
-   inclist["H2"] = true;
-   inclist["H3"] = true;
-   inclist["H4"] = true;
-   inclist["H5"] = true;
-   inclist["H6"] = true;
-   inclist["SPAN"] = true;
-   inclist["ADDRESS"] = true;
-   inclist["TABLE"] = true;
-   inclist["TR"] = true;
-   inclist["TH"] = true;
-   inclist["TD"] = true;
-   inclist["IMG"] = true;
-   inclist["OBJECT"] = true;
-   return inclist;
-}
-
-function nextIncrementalItem(node)
-{
-   var slide = slides[slidenum];
-
-   for (;;)
-   {
-      node = nextNode(slide, node);
-
-      if (node == null || node.parentNode == null)
-         break;
-
-      if (node.nodeType == 1)  // ELEMENT
-      {
-         if (node.nodeName == "BR")
-           continue;
-
-         if (hasClass(node, "incremental")
-             && okayForIncremental[node.nodeName])
-            return node;
-
-         if (hasClass(node.parentNode, "incremental")
-             && !hasClass(node, "non-incremental"))
-            return node;
-      }
-   }
-
-   return node;
-}
-
-function previousIncrementalItem(node)
-{
-   var slide = slides[slidenum];
-
-   for (;;)
-   {
-      node = previousNode(slide, node);
-
-      if (node == null || node.parentNode == null)
-         break;
-
-      if (node.nodeType == 1)
-      {
-         if (node.nodeName == "BR")
-           continue;
-
-         if (hasClass(node, "incremental")
-             && okayForIncremental[node.nodeName])
-            return node;
-
-         if (hasClass(node.parentNode, "incremental")
-             && !hasClass(node, "non-incremental"))
-            return node;
-      }
-   }
-
-   return node;
-}
-
-// set visibility for all elements on current slide with
-// a parent element with attribute class="incremental"
-function setVisibilityAllIncremental(value)
-{
-   var node = nextIncrementalItem(null);
-
-   while (node)
-   {
-      node.style.visibility = value;
-      node = nextIncrementalItem(node);
-   }
-}
-
-// reveal the next hidden item on the slide
-// node is null or the node that was last revealed
-function revealNextItem(node)
-{
-   node = nextIncrementalItem(node);
-
-   if (node && node.nodeType == 1)  // an element
-      node.style.visibility = "visible";
-
-   return node;
-}
-
-
-// exact inverse of revealNextItem(node)
-function hidePreviousItem(node)
-{
-   if (node && node.nodeType == 1)  // an element
-      node.style.visibility = "hidden";
-
-   return previousIncrementalItem(node);
-}
-
-
-/* set click handlers on all anchors */
-function patchAnchors()
-{
-   var anchors = document.body.getElementsByTagName("a");
-
-   for (var i = 0; i < anchors.length; ++i)
-   {
-      anchors[i].onclick = clickedAnchor;
-   }
-}
-
-function clickedAnchor(e)
-{
-   if (!e)
-      var e = window.event;
-
-   // compare this.href with location.href
-   // for link to another slide in this doc
-
-   if (pageAddress(this.href) == pageAddress(location.href))
-   {
-      // yes, so find new slide number
-      var newslidenum = findSlideNumber(this.href);
-
-      if (newslidenum != slidenum)
-      {
-         slide = slides[slidenum];
-         hideSlide(slide);
-         slidenum = newslidenum;
-         slide = slides[slidenum];
-         showSlide(slide);
-         setLocation();
-      }
-   }
-   else if (this.target == null)
-      location.href = this.href;
-
-   this.blur();
-   stopPropagation(e);
-}
-
-function pageAddress(uri)
-{
-   var i = uri.indexOf("#");
-
-   // check if anchor is entire page
-
-   if (i < 0)
-      return uri;  // yes
-
-   return uri.substr(0, i);
-}
-
-function showSlideNumber()
-{
-   slideNumElement.innerHTML = "slide".localize() + " " +
-           (slidenum + 1) + "/" + slides.length;
-}
-
-function setLocation()
-{
-   var uri = pageAddress(location.href);
-
-   //if (slidenum > 0)
-      uri = uri + "#(" + (slidenum+1) + ")";
-
-   if (uri != location.href && !khtml)
-      location.href = uri;
-
-   document.title = title + " (" + (slidenum+1) + ")";
-   //document.title = (slidenum+1) + ") " + slideName(slidenum);
-
-   showSlideNumber();
-}
-
-// find current slide based upon location
-// first find target anchor and then look
-// for associated div element enclosing it
-// finally map that to slide number
-function findSlideNumber(uri)
-{
-   // first get anchor from page location
-
-   var i = uri.indexOf("#");
-
-   // check if anchor is entire page
-
-   if (i < 0)
-      return 0;  // yes
-
-   var anchor = unescape(uri.substr(i+1));
-
-   // now use anchor as XML ID to find target
-   var target = document.getElementById(anchor);
-
-   if (!target)
-   {
-      // does anchor look like "(2)" for slide 2 ??
-      // where first slide is (1)
-      var re = /\((\d)+\)/;
-
-      if (anchor.match(re))
-      {
-         var num = parseInt(anchor.substring(1, anchor.length-1));
-
-         if (num > slides.length)
-            num = 1;
-
-         if (--num < 0)
-            num = 0;
-
-         return num;
-      }
-
-      // accept [2] for backwards compatibility
-      re = /\[(\d)+\]/;
-
-      if (anchor.match(re))
-      {
-         var num = parseInt(anchor.substring(1, anchor.length-1));
-
-         if (num > slides.length)
-            num = 1;
-
-         if (--num < 0)
-            num = 0;
-
-         return num;
-      }
-
-      // oh dear unknown anchor
-      return 0;
-   }
-
-   // search for enclosing slide
-
-   while (true)
-   {
-      // browser coerces html elements to uppercase!
-      if (target.nodeName.toLowerCase() == "div" &&
-            hasClass(target, "slide"))
-      {
-         // found the slide element
-         break;
-      }
-
-      // otherwise try parent element if any
-
-      target = target.parentNode;
-
-      if (!target)
-      {
-         return 0;   // no luck!
-      }
-   };
-
-   for (i = 0; i < slides.length; ++i)
-   {
-      if (slides[i] == target)
-         return i;  // success
-   }
-
-   // oh dear still no luck
-   return 0;
-}
-
-// find slide name from first h1 element
-// default to document title + slide number
-function slideName(index)
-{
-   var name = null;
-   var slide = slides[index];
-
-   var heading = findHeading(slide);
-
-   if (heading)
-     name = extractText(heading);
-
-   if (!name)
-     name = title + "(" + (index + 1) + ")";
-
-   name.replace(/\&/g, "&amp;");
-   name.replace(/\</g, "&lt;");
-   name.replace(/\>/g, "&gt;");
-
-   return name;
-}
-
-// find first h1 element in DOM tree
-function findHeading(node)
-{
-  if (!node || node.nodeType != 1)
-    return null;
-
-  if (node.nodeName == "H1" || node.nodeName == "h1")
-    return node;
-
-  var child = node.firstChild;
-
-  while (child)
-  {
-    node = findHeading(child);
-
-    if (node)
-      return node;
-
-    child = child.nextSibling;
-  }
-
-  return null;
-}
-
-// recursively extract text from DOM tree
-function extractText(node)
-{
-  if (!node)
-    return "";
-
-  // text nodes
-  if (node.nodeType == 3)
-    return node.nodeValue;
-
-  // elements
-  if (node.nodeType == 1)
-  {
-    node = node.firstChild;
-    var text = "";
-
-    while (node)
-    {
-      text = text + extractText(node);
-      node = node.nextSibling;
-    }
-
-    return text;
-  }
-
-  return "";
-}
-
-
-// find copyright text from meta element
-function findCopyright()
-{
-   var name, content;
-   var meta = document.getElementsByTagName("meta");
-
-   for (var i = 0; i < meta.length; ++i)
-   {
-      name = meta[i].getAttribute("name");
-      content = meta[i].getAttribute("content");
-
-      if (name == "copyright")
-         return content;
-   }
-
-   return null;
-}
-
-function findSizeAdjust()
-{
-   var name, content, offset;
-   var meta = document.getElementsByTagName("meta");
-
-   for (var i = 0; i < meta.length; ++i)
-   {
-      name = meta[i].getAttribute("name");
-      content = meta[i].getAttribute("content");
-
-      if (name == "font-size-adjustment")
-         return 1 * content;
-   }
-
-   return 0;
-}
-
-function addToolbar()
-{
-   var slideCounter, page;
-
-   var toolbar = createElement("div");
-   toolbar.setAttribute("class", "toolbar");
-
-   if (ns_pos) // a reasonably behaved browser
-   {
-      var right = document.createElement("div");
-      right.setAttribute("style", "float: right; text-align: right");
-
-      slideCounter = document.createElement("div")
-      slideCounter.innerHTML = "slide".localize() + " n/m";
-      right.appendChild(slideCounter);
-      toolbar.appendChild(right);
-
-      var left = document.createElement("div");
-      left.setAttribute("style", "text-align: left");
-
-      // global end of slide indicator
-      eos = document.createElement("span");
-      eos.innerHTML = "* ";
-      left.appendChild(eos);
-
-      var help = document.createElement("a");
-      help.setAttribute("href", helpPage);
-      help.setAttribute("title", helpText.localize());
-      help.innerHTML = "help?".localize();
-      left.appendChild(help);
-      helpAnchor = help;  // save for focus hack
-
-      var gap1 = document.createTextNode(" ");
-      left.appendChild(gap1);
-
-      var contents = document.createElement("a");
-      contents.setAttribute("href", "javascript:toggleTableOfContents()");
-      contents.setAttribute("title", "table of contents".localize());
-      contents.innerHTML = "contents?".localize();
-      left.appendChild(contents);
-
-      var gap2 = document.createTextNode(" ");
-      left.appendChild(gap2);
-
-      var i = location.href.indexOf("#");
-
-      // check if anchor is entire page
-
-      if (i > 0)
-         page = location.href.substr(0, i);
-      else
-         page = location.href;
-
-      var start = document.createElement("a");
-      start.setAttribute("href", page);
-      start.setAttribute("title", "restart presentation".localize());
-      start.innerHTML = "restart?".localize();
-//    start.setAttribute("href", "javascript:printSlides()");
-//    start.setAttribute("title", "print all slides".localize());
-//    start.innerHTML = "print!".localize();
-      left.appendChild(start);
-
-      var copyright = findCopyright();
-
-      if (copyright)
-      {
-         var span = document.createElement("span");
-         span.innerHTML = copyright;
-         span.style.color = "black";
-         span.style.marginLeft = "4em";
-         left.appendChild(span);
-      }
-
-      toolbar.appendChild(left);
-   }
-   else // IE so need to work around its poor CSS support
-   {
-      toolbar.style.position = (ie7 ? "fixed" : "absolute");
-      toolbar.style.zIndex = "200";
-      toolbar.style.width = "99.9%";
-      toolbar.style.height = "1.2em";
-      toolbar.style.top = "auto";
-      toolbar.style.bottom = "0";
-      toolbar.style.left = "0";
-      toolbar.style.right = "0";
-      toolbar.style.textAlign = "left";
-      toolbar.style.fontSize = "60%";
-      toolbar.style.color = "red";
-      toolbar.borderWidth = 0;
-      toolbar.style.background = "rgb(240,240,240)";
-
-      // would like to have help text left aligned
-      // and page counter right aligned, floating
-      // div's don't work, so instead use nested
-      // absolutely positioned div's.
-
-      var sp = document.createElement("span");
-      sp.innerHTML = "&nbsp;&nbsp;*&nbsp;";
-      toolbar.appendChild(sp);
-      eos = sp;  // end of slide indicator
-
-      var help = document.createElement("a");
-      help.setAttribute("href", helpPage);
-      help.setAttribute("title", helpText.localize());
-      help.innerHTML = "help?".localize();
-      toolbar.appendChild(help);
-      helpAnchor = help;  // save for focus hack
-
-      var gap1 = document.createTextNode(" ");
-      toolbar.appendChild(gap1);
-
-      var contents = document.createElement("a");
-      contents.setAttribute("href", "javascript:toggleTableOfContents()");
-      contents.setAttribute("title", "table of contents".localize());
-      contents.innerHTML = "contents?".localize();
-      toolbar.appendChild(contents);
-
-      var gap2 = document.createTextNode(" ");
-      toolbar.appendChild(gap2);
-
-      var i = location.href.indexOf("#");
-
-      // check if anchor is entire page
-
-      if (i > 0)
-         page = location.href.substr(0, i);
-      else
-         page = location.href;
-
-      var start = document.createElement("a");
-      start.setAttribute("href", page);
-      start.setAttribute("title", "restart presentation".localize());
-      start.innerHTML = "restart?".localize();
-//    start.setAttribute("href", "javascript:printSlides()");
-//    start.setAttribute("title", "print all slides".localize());
-//    start.innerHTML = "print!".localize();
-      toolbar.appendChild(start);
-
-      var copyright = findCopyright();
-
-      if (copyright)
-      {
-         var span = document.createElement("span");
-         span.innerHTML = copyright;
-         span.style.color = "black";
-         span.style.marginLeft = "2em";
-         toolbar.appendChild(span);
-      }
-
-      slideCounter = document.createElement("div")
-      slideCounter.style.position = "absolute";
-      slideCounter.style.width = "auto"; //"20%";
-      slideCounter.style.height = "1.2em";
-      slideCounter.style.top = "auto";
-      slideCounter.style.bottom = 0;
-      slideCounter.style.right = "0";
-      slideCounter.style.textAlign = "right";
-      slideCounter.style.color = "red";
-      slideCounter.style.background = "rgb(240,240,240)";
-
-      slideCounter.innerHTML = "slide".localize() + " n/m";
-      toolbar.appendChild(slideCounter);
-   }
-
-   // ensure that click isn't passed through to the page
-   toolbar.onclick = stopPropagation;
-   document.body.appendChild(toolbar);
-   slideNumElement = slideCounter;
-   setEosStatus(false);
-
-   return toolbar;
-}
-
-function isShownToc()
-{
-  if (toc && toc.style.visible == "visible")
-    return true;
-
-  return false;
-}
-
-function showTableOfContents()
-{
-  if (toc)
-  {
-    if (toc.style.visibility != "visible")
-    {
-      toc.style.visibility = "visible";
-      toc.style.display = "block";
-      toc.focus();
-
-      if (ie7 && slidenum == 0)
-        setTimeout("ieHack()", 100);
-    }
-    else
-      hideTableOfContents();
-  }
-}
-
-function hideTableOfContents()
-{
-  if (toc && toc.style.visibility != "hidden")
-  {
-    toc.style.visibility = "hidden";
-    toc.style.display = "none";
-
-    try
-    {
-       if (!opera)
-         helpAnchor.focus();
-    }
-    catch (e)
-    {
-    }
-  }
-}
-
-function toggleTableOfContents()
-{
-  if (toc)
-  {
-     if (toc.style.visible != "visible")
-       showTableOfContents();
-     else
-       hideTableOfContents();
-  }
-}
-
-// called on clicking toc entry
-function gotoEntry(e)
-{
-   var target;
-
-   if (!e)
-      var e = window.event;
-
-   if (e.target)
-      target = e.target;
-   else if (e.srcElement)
-      target = e.srcElement;
-
-   // work around Safari bug
-   if (target.nodeType == 3)
-      target = target.parentNode;
-
-   if (target && target.nodeType == 1)
-   {
-     var uri = target.getAttribute("href");
-
-     if (uri)
-     {
-        //alert("going to " + uri);
-        var slide = slides[slidenum];
-        hideSlide(slide);
-        slidenum = findSlideNumber(uri);
-        slide = slides[slidenum];
-        lastShown = null;
-        setLocation();
-        setVisibilityAllIncremental("hidden");
-        setEosStatus(!nextIncrementalItem(lastShown));
-        showSlide(slide);
-        //target.focus();
-
-        try
-        {
-           if (!opera)
-             helpAnchor.focus();
-        }
-        catch (e)
-        {
-        }
-     }
-   }
-
-   hideTableOfContents(e);
-   if (ie7) ieHack();
-   stopPropagation(e);
-   return cancel(e);
-}
-
-// called onkeydown for toc entry
-function gotoTocEntry(event)
-{
-  var key;
-
-  if (!event)
-    var event = window.event;
-
-  // kludge around NS/IE differences 
-  if (window.event)
-    key = window.event.keyCode;
-  else if (event.which)
-    key = event.which;
-  else
-    return true; // Yikes! unknown browser
-
-  // ignore event if key value is zero
-  // as for alt on Opera and Konqueror
-  if (!key)
-     return true;
-
-  // check for concurrent control/command/alt key
-  // but are these only present on mouse events?
-
-  if (event.ctrlKey || event.altKey)
-     return true;
-
-  if (key == 13)
-  {
-    var uri = this.getAttribute("href");
-
-    if (uri)
-    {
-      //alert("going to " + uri);
-      var slide = slides[slidenum];
-      hideSlide(slide);
-      slidenum = findSlideNumber(uri);
-      slide = slides[slidenum];
-      lastShown = null;
-      setLocation();
-      setVisibilityAllIncremental("hidden");
-      setEosStatus(!nextIncrementalItem(lastShown));
-      showSlide(slide);
-      //target.focus();
-
-      try
-      {
-         if (!opera)
-           helpAnchor.focus();
-      }
-      catch (e)
-      {
-      }
-    }
-
-    hideTableOfContents();
-    if (ie7) ieHack();
-    return cancel(event);
-  }
-
-  if (key == 40 && this.next)
-  {
-    this.next.focus();
-    return cancel(event);
-  }
-
-  if (key == 38 && this.previous)
-  {
-    this.previous.focus();
-    return cancel(event);
-  }
-
-  return true;
-}
-
-function isTitleSlide(slide)
-{
-   return hasClass(slide, "title");
-}
-
-// create div element with links to each slide
-function tableOfContents()
-{
-  var toc = document.createElement("div");
-  addClass(toc, "toc");
-  //toc.setAttribute("tabindex", "0");
-
-  var heading = document.createElement("div");
-  addClass(heading, "toc-heading");
-  heading.innerHTML = "Table of Contents".localize();
-
-  heading.style.textAlign = "center";
-  heading.style.width = "100%";
-  heading.style.margin = "0";
-  heading.style.marginBottom = "1em";
-  heading.style.borderBottomStyle = "solid";
-  heading.style.borderBottomColor = "rgb(180,180,180)";
-  heading.style.borderBottomWidth = "1px";
-
-  toc.appendChild(heading);
-  var previous = null;
-
-  for (var i = 0; i < slides.length; ++i)
-  {
-    var title = hasClass(slides[i], "title");
-    var num = document.createTextNode((i + 1) + ". ");
-
-    toc.appendChild(num);
-
-    var a = document.createElement("a");
-    a.setAttribute("href", "#(" + (i+1) + ")");
-
-    if (title)
-      addClass(a, "titleslide");
-
-    var name = document.createTextNode(slideName(i));
-    a.appendChild(name);
-    a.onclick = gotoEntry;
-    a.onkeydown = gotoTocEntry;
-    a.previous = previous;
-
-    if (previous)
-      previous.next = a;
-
-    toc.appendChild(a);
-
-    if (i == 0)
-      toc.first = a;
-
-    if (i < slides.length - 1)
-    {
-      var br = document.createElement("br");
-      toc.appendChild(br);
-    }
-
-    previous = a;
-  }
-
-  toc.focus = function () {
-    if (this.first)
-      this.first.focus();
-  }
-
-  toc.onclick = function (e) {
-    e||(e=window.event);
-    hideTableOfContents();
-    stopPropagation(e);
-    
-    if (e.cancel != undefined)
-      e.cancel = true;
-      
-    if (e.returnValue != undefined)
-      e.returnValue = false;
-      
-    return false;
-  };
-
-  toc.style.position = "absolute";
-  toc.style.zIndex = "300";
-  toc.style.width = "60%";
-  toc.style.maxWidth = "30em";
-  toc.style.height = "30em";
-  toc.style.overflow = "auto";
-  toc.style.top = "auto";
-  toc.style.right = "auto";
-  toc.style.left = "4em";
-  toc.style.bottom = "4em";
-  toc.style.padding = "1em";
-  toc.style.background = "rgb(240,240,240)";
-  toc.style.borderStyle = "solid";
-  toc.style.borderWidth = "2px";
-  toc.style.fontSize = "60%";
-
-  document.body.insertBefore(toc, document.body.firstChild);
-  return toc;
-}
-
-function replaceByNonBreakingSpace(str)
-{
-   for (var i = 0; i < str.length; ++i)
-      str[i] = 160;
-}
-
-
-function initOutliner()
-{
-  var items = document.getElementsByTagName("LI");
-
-  for (var i = 0; i < items.length; ++i)
-  {
-     var target = items[i];
-
-     if (!hasClass(target.parentNode, "outline"))
-        continue;
-
-     target.onclick = outlineClick;
-
-     if (!ns_pos)
-     {
-        target.onmouseover = hoverOutline;
-        target.onmouseout = unhoverOutline;
-     }
-
-     if (foldable(target))
-     {
-       target.foldable = true;
-       target.onfocus = function () {outline = this;};
-       target.onblur = function () {outline = null;};
-
-       if (!target.getAttribute("tabindex"))
-         target.setAttribute("tabindex", "0");
-
-       if (hasClass(target, "expand"))
-         unfold(target);
-       else
-         fold(target);
-     }
-     else
-     {
-       addClass(target, "nofold");
-       target.visible = true;
-       target.foldable = false;
-     }
-  }
-}
-
-function foldable(item)
-{
-   if (!item || item.nodeType != 1)
-      return false;
-
-   var node = item.firstChild;
-
-   while (node)
-   {
-     if (node.nodeType == 1 && isBlock(node))
-       return true;
-
-      node = node.nextSibling;
-   }
-
-   return false;
-}
-
-function fold(item)
-{
-  if (item)
-  {
-    removeClass(item, "unfolded");
-    addClass(item, "folded");
-  }
-
-  var node = item ? item.firstChild : null;
-
-  while (node)
-  {
-    if (node.nodeType == 1 && isBlock(node)) // element
-    {
-      // note that getElementStyle won't work for Safari 1.3
-      node.display = getElementStyle(node, "display", "display");
-      node.style.display = "none";
-      node.style.visibility = "hidden";
-    }
-
-    node = node.nextSibling;
-  }
-
-  item.visible = false;
-}
-
-function unfold(item)
-{
-   if (item)
-   {
-     addClass(item, "unfolded");
-     removeClass(item, "folded");
-   }
-
-  var node = item ? item.firstChild : null;
-
-  while (node)
-  {
-    if (node.nodeType == 1 && isBlock(node)) // element
-    {
-      // with fallback for Safari, see above
-      node.style.display = (node.display ? node.display : "block");
-      node.style.visibility = "visible";
-    }
-
-    node = node.nextSibling;
-  }
-
-  item.visible = true;
-}
-
-function outlineClick(e)
-{
-   var rightclick = false;
-   var target;
-
-   if (!e)
-      var e = window.event;
-
-   if (e.target)
-      target = e.target;
-   else if (e.srcElement)
-      target = e.srcElement;
-
-   // work around Safari bug
-   if (target.nodeType == 3)
-      target = target.parentNode;
-
-   while (target && target.visible == undefined)
-      target = target.parentNode;
-
-   if (!target)
-      return true;
-
-   if (e.which)
-      rightclick = (e.which == 3);
-   else if (e.button)
-      rightclick = (e.button == 2);
-
-   if (!rightclick && target.visible != undefined)
-   {
-      if (target.foldable)
-      {
-         if (target.visible)
-           fold(target);
-         else
-           unfold(target);
-      }
-
-      stopPropagation(e);
-      e.cancel = true;
-      e.returnValue = false;
-   }
-
-   return false;
-}
-
-function hoverOutline(e)
-{
-   var target;
-
-   if (!e)
-      var e = window.event;
-
-   if (e.target)
-      target = e.target;
-   else if (e.srcElement)
-      target = e.srcElement;
-
-   // work around Safari bug
-   if (target.nodeType == 3)
-      target = target.parentNode;
-
-   while (target && target.visible == undefined)
-      target = target.parentNode;
-
-   if (target && target.foldable)
-      target.style.cursor = "pointer";
-
-   return true;
-}
-
-function unhoverOutline(e)
-{
-   var target;
-
-   if (!e)
-      var e = window.event;
-
-   if (e.target)
-      target = e.target;
-   else if (e.srcElement)
-      target = e.srcElement;
-
-   // work around Safari bug
-   if (target.nodeType == 3)
-      target = target.parentNode;
-
-   while (target && target.visible == undefined)
-      target = target.parentNode;
-
-   if (target)
-     target.style.cursor = "default";
-
-   return true;
-}
-
-
-function stopPropagation(e)
-{
-   if (window.event)
-   {
-      window.event.cancelBubble = true;
-      //window.event.returnValue = false;
-   }
-   else if (e)
-   {
-      e.cancelBubble = true;
-      e.stopPropagation();
-      //e.preventDefault();
-   }
-}
-
-/* can't rely on display since we set that to none to hide things */
-function isBlock(elem)
-{
-   var tag = elem.nodeName;
-
-   return tag == "OL" || tag == "UL" || tag == "P" ||
-          tag == "LI" || tag == "TABLE" || tag == "PRE" ||
-          tag == "H1" || tag == "H2" || tag == "H3" ||
-          tag == "H4" || tag == "H5" || tag == "H6" ||
-          tag == "BLOCKQUOTE" || tag == "ADDRESS"; 
-}
-
-function getElementStyle(elem, IEStyleProp, CSSStyleProp)
-{
-   if (elem.currentStyle)
-   {
-      return elem.currentStyle[IEStyleProp];
-   }
-   else if (window.getComputedStyle)
-   {
-      var compStyle = window.getComputedStyle(elem, "");
-      return compStyle.getPropertyValue(CSSStyleProp);
-   }
-   return "";
-}
-
-// works with text/html and text/xhtml+xml with thanks to Simon Willison
-function createElement(element)
-{
-   if (typeof document.createElementNS != 'undefined')
-   {
-      return document.createElementNS('http://www.w3.org/1999/xhtml', element);
-   }
-
-   if (typeof document.createElement != 'undefined')
-   {
-      return document.createElement(element);
-   }
-
-   return false;
-}
-
-// designed to work with both text/html and text/xhtml+xml
-function getElementsByTagName(name)
-{
-   if (typeof document.getElementsByTagNameNS != 'undefined')
-   {
-      return document.getElementsByTagNameNS('http://www.w3.org/1999/xhtml', name);
-   }
-
-   if (typeof document.getElementsByTagName != 'undefined')
-   {
-      return document.getElementsByTagName(name);
-   }
-
-   return null;
-}
-
-/*
-// clean alternative to innerHTML method, but on IE6
-// it doesn't work with named entities like &nbsp;
-// which need to be replaced by numeric entities
-function insertText(element, text)
-{
-   try
-   {
-     element.textContent = text;  // DOM3 only
-   }
-   catch (e)
-   {
-      if (element.firstChild)
-      {
-         // remove current children
-         while (element.firstChild)
-            element.removeChild(element.firstChild);
-      }
-
-      element.appendChild(document.createTextNode(text));
-   }
-}
-
-// as above, but as method of all element nodes
-// doesn't work in IE6 which doesn't allow you to
-// add methods to the HTMLElement prototype
-if (HTMLElement != undefined)
-{
-  HTMLElement.prototype.insertText = function(text) {
-    var element = this;
-
-    try
-    {
-      element.textContent = text;  // DOM3 only
-    }
-    catch (e)
-    {
-      if (element.firstChild)
-      {
-         // remove current children
-         while (element.firstChild)
-           element.removeChild(element.firstChild);
-      }
-
-      element.appendChild(document.createTextNode(text));
-    }
-  };
-}
-*/
-
-function getSelectedText()
-{
-  try
-  {
-    if (window.getSelection)
-      return window.getSelection().toString();
-
-    if (document.getSelection)
-      return document.getSelection().toString();
-
-    if (document.selection)
-      return document.selection.createRange().text;
-  }
-  catch (e)
-  {
-    return "";
-  }
-  return "";
-}
diff --git a/content/2011/Real_World_Go.pdf b/content/2011/Real_World_Go.pdf
deleted file mode 100644
index 2a18711..0000000
--- a/content/2011/Real_World_Go.pdf
+++ /dev/null
Binary files differ
diff --git a/content/2011/Writing_Web_Apps_in_Go.pdf b/content/2011/Writing_Web_Apps_in_Go.pdf
deleted file mode 100644
index ca4702e..0000000
--- a/content/2011/Writing_Web_Apps_in_Go.pdf
+++ /dev/null
Binary files differ
diff --git a/content/2011/lex.slide b/content/2011/lex.slide
deleted file mode 100644
index d2fed7b..0000000
--- a/content/2011/lex.slide
+++ /dev/null
@@ -1,351 +0,0 @@
-Lexical Scanning in Go
-GTUG Sydney
-30 Aug 2011
-
-Rob Pike
-r@golang.org
-
-
-* Video
-
-A video of this talk was recorded at the Go Sydney Meetup.
-
-.link https://www.youtube.com/watch?v=HxaD_trXwRE Watch the talk on YouTube
-
-
-* Structural mismatch
-
-Many programming problems realign one data structure to fit another structure.
-
-- breaking text into lines
-- "blocking" and "deblocking"
-- packet assembly and disassembly
-- parsing
-- lexing
-
-* Sometimes hard
-
-The pieces on either side have independent state, lookahead, buffers, ...
-Can be messy to do well.
-
-Coroutines were invented to solve this problem!
-They enable us to write the two pieces independently.
-
-Let's look at this topic in the context of a lexer.
-
-
-* A new template system
-
-Wanted to replace the old Go template package.
-It had many problems:
-
-- inflexible
-- inexpressive
-- code too fragile
-
-* A new template system
-
-Key change was re-engineering with a true lexer, parser, and evaluator.
-Has arbitrary text plus actions in `{{` `}}`.
-
-.code lex/snippets /Evaluation/,/Control.structures/
-
-* Today we focus on the lexer
-
-Must tokenize:
-
-- the stuff outside actions
-- action delimiters
-- identifiers
-- numeric constants
-- string constants
-- and others
-
-* Lex items
-
-Two things identify each lexed item:
-
-- its type
-- its value; a string is all we need
-
-.code lex/lex1.oldgo /item.represents/,/^}/
-
-* Lex type
-
-The type is just an integer constant.
-We use `iota` to define the values.
-
-.code lex/lex1.oldgo /itemType.identifies/,/type/
-.code lex/lex1.oldgo /const/,/itemEOF/
-
-* Lex type values (continued)
-
-.code lex/lex1.oldgo /itemElse/,/^\)/
-
-* Printing a lex item
-
-`Printf` has a convention making it easy to print any type: just define a `String()` method:
-
-.code lex/lex1.oldgo /func.*item.*String/,/^}/
-
-* How to tokenize?
-
-Many approaches available:
-
-- use a tool such as lex or ragel
-- use regular expressions
-- use states, actions, and a switch statement
-
-* Tools
-
-Nothing wrong with using a tool but:
-
-- hard to get good errors (can be very important)
-- tend to require learning another language
-- result can be large, even slow
-- often a poor fit
-- but lexing is easy to do yourself!
-
-* Regular expressions
-
-Blogged about this last week.
-
-- overkill
-- slow
-- can explore the state space too much
-- misuse of a dynamic engine to ask static questions
-
-* Let's write our own
-
-It's easy!
-
-Plus, most programming languages lex pretty much the same tokens, so once we learn how it's trivial to adapt the lexer for the next purpose.
-
-- an argument both for and against tools
-
-* State machine
-
-Many people will tell you to write a switch statement,
-something like this:
-
-.code lex/snippets /One/,/^}/
-
-* State machines are forgetful
-
-Boring and repetitive and error-prone, but anyway:
-
-Why switch?
-
-After each action, you know where you want to be;
-the new state is the result of the action.
-
-But we throw the info away and recompute it from the state.
-
-(A consequence of returning to the caller.)
-
-A tool can compile that out, but so can we.
-
-* What is a state? An action?
-
-State represents where we are and what we expect.
-
-Action represents what we do.
-
-Actions result in a new state.
-
-* State function
-
-Let's put them together: a state function.
-
-Executes an action, returns the next state—as a state function.
-
-Recursive definition but simple and clear.
-
-.code lex/lex1.oldgo /stateFn/,/type/
-
-* The run loop
-
-Our state machine is trivial:
-just run until the state goes to `nil`, representing "done".
-
-.code lex/snippets /run.lexes/,/^}/
-
-* The concurrent step
-
-How do we make tokens available to the client?
-Tokens can emerge at times that are inconvenient to stop to return to the caller.
-
-Use concurrency:
-Run the state machine as a goroutine,
-emit values on a channel.
-
-* The lexer type
-
-Here is the `lexer` type. Notice the channel of items; ignore the rest for now.
-
-.code lex/lex1.oldgo /lexer.holds/,/^}/
-
-* Starting the lexer
-
-A `lexer` initializes itself to lex a string and launches the state machine as a goroutine, returning the lexer itself and a channel of items.
-
-The API will change, don't worry about it now.
-
-.code lex/lex1.oldgo /func.lex/,/^}/
-
-* The real run routine
-
-Here's the real state machine run function, which runs as a goroutine.
-
-.code lex/lex1.oldgo /run.lexes/,/^}/
-
-* The token emitter
-
-A token is a type and a value, but (yay Go) the value can just be sliced from the input string.
-The `lexer` remembers where it is in the input and the emit routine just lobs that substring to the caller as the token's value.
-
-.code lex/lex1.oldgo /input.*scanned/,/pos.*position/
-.code lex/lex1.oldgo /emit.passes/,/^}/
-
-* Starting the machine
-
-As the `lexer` begins it's looking for plain text, so the initial state is the function `lexText`.
-It absorbs plain text until a "left meta" is encountered.
-
-.code lex/lex1.oldgo /run.lexes/,/^}/
-.code lex/lex1.oldgo /leftMeta/
-
-* lexText
-
-.code lex/lex1.oldgo /^func.lexText/,/^}/
-
-* lexLeftMeta
-
-A trivial state function.
-When we get here, we know there's a `leftMeta` in the input.
-
-.code lex/lex1.oldgo /^func.lexLeftMeta/,/^}/
-
-* lexInsideAction
-
-.code lex/lex1.oldgo /^func.lexInsideAction/,/itemPipe/
-
-* More of lexInsideAction
-
-This will give you the flavor.
-
-.code lex/lex1.oldgo /case.*"/,/lexRawQuote/
-.code lex/lex1.oldgo /case.*9/,/lexIdentifier/
-
-* The next function
-
-.code lex/lex1.oldgo /next.returns.the/,/^}/
-
-* Some lexing helpers
-
-.code lex/lex1.oldgo /ignore.skips/,/^}/
-.code lex/lex1.oldgo /backup.steps/,/^}/
-
-* The peek function
-
-.code lex/lex1.oldgo /peek.returns.but/,/^}/
-
-* The accept functions
-
-.code lex/lex1.oldgo /accept.consumes/,/^}/
-.code lex/lex1.oldgo /acceptRun.consumes/,/^}/
-
-* Lexing a number, including floating point
-
-.code lex/lex1.oldgo /^func.lexNumber/,/imaginary/
-
-* Lexing a number, continued
-
-This is more accepting than it should be, but not by much. Caller must call `Atof` to validate.
-
-.code lex/lex1.oldgo /Is.it.imaginary/,/^}/
-
-* Errors
-
-Easy to handle: emit the bad token and shut down the machine.
-
-.code lex/lex1.oldgo /error.returns/,/^}/
-
-* Summary
-
-Concurrency makes the lexer easy to design.
-
-Goroutines allow lexer and caller (parser) each to run at its own rate, as clean sequential code.
-
-Channels give us a clean way to emit tokens.
-
-* A problem
-
-Can't run a goroutine to completion during initialization.
-Forbidden by the language specification.
-(Raises awful issues about order of init, best avoided.)
-
-That means we can't lex & parse a template during init.
-
-The goroutine is a problem....
-
-_(Note:_This_restriction_was_lifted_in_Go_version_1_but_the_discussion_is_still_interesting.)_
-
-* Design vs. implementation
-
-…but it's not necessary anyway.
-
-The work is done by the design; now we just adjust the API.
-
-We can change the API to hide the channel, provide a function to get the next token, and rewrite the run function.
-
-It's easy.
-
-* A new API
-
-Hide the channel and buffer it slightly, turning it into a ring buffer.
-
-.code lex/r59-lex.go /lex.creates.a.new/,/^}/
-
-* A function for the next item
-
-Traditional lexer API: return next item.
-Includes the modified state machine runner.
-
-.code lex/r59-lex.go /nextItem.returns/,/^}/
-
-* That's it
-
-We now have a traditional API for a lexer with a simple, concurrent implementation under the covers.
-
-Even though the implementation is no longer truly concurrent, it still has all the advantages of concurrent design.
-
-We wouldn't have such a clean, efficient design if we hadn't thought about the problem in a concurrent way, without worrying about "restart".
-
-Model completely removes concerns about "structural mismatch".
-
-* Concurrency is a design approach
-
-Concurrency is not about parallelism.
-
-(Although it can enable parallelism).
-
-Concurrency is a way to design a program by decomposing it into independently executing pieces.
-
-The result can be clean, efficient, and very adaptable.
-
-* Conclusion
-
-Lexers are fun.
-
-Concurrency is fun.
-
-Go is fun.
-
-* For more information
-
-Go: [[http://golang.org]]
-
-New templates: http://golang.org/pkg/exp/template/
-
-(Next release will move them out of experimental.)
diff --git a/content/2011/lex/lex1.oldgo b/content/2011/lex/lex1.oldgo
deleted file mode 100644
index 0a1b1d4..0000000
--- a/content/2011/lex/lex1.oldgo
+++ /dev/null
@@ -1,386 +0,0 @@
-// Copyright 2011 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// reformatted, slightly edited version of lex.go from weekly.11-06-23
-
-package template
-
-import (
-	"fmt"
-	"strings"
-	"unicode"
-	"utf8"
-)
-
-// item represents a token returned from the scanner.
-type item struct {
-	typ itemType  // Type, such as itemNumber.
-	val string    // Value, such as "23.2".
-}
-
-func (i item) String() string {
-	switch i.typ {
-	case itemEOF:
-		return "EOF"
-	case itemError:
-		return i.val
-	}
-	if len(i.val) > 10 {
-		return fmt.Sprintf("%.10q...", i.val)
-	}
-	return fmt.Sprintf("%q", i.val)
-}
-
-// itemType identifies the type of lex items.
-type itemType int
-
-const (
-	itemError itemType = iota // error occurred;
-	                          // value is text of error
-	itemDot                   // the cursor, spelled '.'
-	itemEOF
-	itemElse       // else keyword
-	itemEnd        // end keyword
-	itemField      // identifier, starting with '.'
-	itemIdentifier // identifier
-	itemIf         // if keyword
-	itemLeftMeta   // left meta-string
-	itemNumber     // number
-	itemPipe       // pipe symbol
-	itemRange      // range keyword
-	itemRawString  // raw quoted string (includes quotes)
-	itemRightMeta  // right meta-string
-	itemString     // quoted string (includes quotes)
-	itemText       // plain text
-)
-
-// Make the types prettyprint.
-var itemName = map[itemType]string{
-	itemError:      "error",
-	itemDot:        ".",
-	itemEOF:        "EOF",
-	itemElse:       "else",
-	itemEnd:        "end",
-	itemField:      "field",
-	itemIdentifier: "identifier",
-	itemIf:         "if",
-	itemLeftMeta:   "left meta",
-	itemNumber:     "number",
-	itemPipe:       "pipe",
-	itemRange:      "range",
-	itemRawString:  "raw string",
-	itemRightMeta:  "rightMeta",
-	itemString:     "string",
-	itemText:       "text",
-}
-
-func (i itemType) String() string {
-	s := itemName[i]
-	if s == "" {
-		return fmt.Sprintf("item%d", int(i))
-	}
-	return s
-}
-
-var key = map[string]itemType{
-	".":     itemDot,
-	"else":  itemElse,
-	"end":   itemEnd,
-	"if":    itemIf,
-	"range": itemRange,
-}
-
-const eof = -1
-
-// stateFn represents the state of the scanner
-// as a function that returns the next state.
-type stateFn func(*lexer) stateFn
-
-// lexer holds the state of the scanner.
-type lexer struct {
-	name  string    // used only for error reports.
-	input string    // the string being scanned.
-	start int       // start position of this item.
-	pos   int       // current position in the input.
-	width int       // width of last rune read from input.
-	items chan item // channel of scanned items.
-}
-
-// next returns the next rune in the input.
-func (l *lexer) next() (rune int) {
-	if l.pos >= len(l.input) {
-		l.width = 0
-		return eof
-	}
-	rune, l.width =
-		utf8.DecodeRuneInString(l.input[l.pos:])
-	l.pos += l.width
-	return rune
-}
-
-// peek returns but does not consume
-// the next rune in the input.
-func (l *lexer) peek() int {
-	rune := l.next()
-	l.backup()
-	return rune
-}
-
-// backup steps back one rune.
-// Can be called only once per call of next.
-func (l *lexer) backup() {
-	l.pos -= l.width
-}
-
-// emit passes an item back to the client.
-func (l *lexer) emit(t itemType) {
-	l.items <- item{t, l.input[l.start:l.pos]}
-	l.start = l.pos
-}
-
-// ignore skips over the pending input before this point.
-func (l *lexer) ignore() {
-	l.start = l.pos
-}
-
-// accept consumes the next rune
-// if it's from the valid set.
-func (l *lexer) accept(valid string) bool {
-	if strings.IndexRune(valid, l.next()) >= 0 {
-		return true
-	}
-	l.backup()
-	return false
-}
-
-// acceptRun consumes a run of runes from the valid set.
-func (l *lexer) acceptRun(valid string) {
-	for strings.IndexRune(valid, l.next()) >= 0 {
-	}
-	l.backup()
-}
-
-// lineNumber reports which line we're on. Doing it this way
-// means we don't have to worry about peek double counting.
-func (l *lexer) lineNumber() int {
-	return 1 + strings.Count(l.input[:l.pos], "\n")
-}
-
-// error returns an error token and terminates the scan
-// by passing back a nil pointer that will be the next
-// state, terminating l.run.
-func (l *lexer) errorf(format string, args ...interface{})
-  stateFn {
-	l.items <- item{
-		itemError,
-		fmt.Sprintf(format, args...),
-	}
-	return nil
-}
-
-// run lexes the input by executing state functions until
-// the state is nil.
-func (l *lexer) run() {
-	for state := lexText; state != nil; {
-		state = state(l)
-	}
-	close(l.items) // No more tokens will be delivered.
-}
-
-// lex launches a new scanner and returns the channel of items.
-func lex(name, input string) (*lexer, chan item) {
-	l := &lexer{
-		name:  name,
-		input: input,
-		items: make(chan item),
-	}
-	go l.run()  // Concurrently run state machine.
-	return l, l.items
-}
-
-// state functions
-
-const leftMeta = "{{"
-const rightMeta = "}}"
-
-// lexText scans until a metacharacter
-func lexText(l *lexer) stateFn {
-	for {
-		if strings.HasPrefix(l.input[l.pos:], leftMeta) {
-			if l.pos > l.start {
-				l.emit(itemText)
-			}
-			return lexLeftMeta    // Next state.
-		}
-		if l.next() == eof { break }
-	}
-	// Correctly reached EOF.
-	if l.pos > l.start {
-		l.emit(itemText)
-	}
-	l.emit(itemEOF)  // Useful to make EOF a token.
-	return nil       // Stop the run loop.
-}
-
-// leftMeta scans the left "metacharacter", which is known to be present.
-func lexLeftMeta(l *lexer) stateFn {
-	l.pos += len(leftMeta)
-	l.emit(itemLeftMeta)
-	return lexInsideAction    // Now inside {{ }}.
-}
-
-// rightMeta scans the right "metacharacter", which is known to be present.
-func lexRightMeta(l *lexer) stateFn {
-	l.pos += len(rightMeta)
-	l.emit(itemRightMeta)
-	return lexText
-}
-
-// lexInsideAction scans the elements inside "metacharacters".
-func lexInsideAction(l *lexer) stateFn {
-	// Either number, quoted string, or identifier.
-	// Spaces separate and are ignored.
-	// Pipe symbols separate and are emitted.
-	for {
-		if strings.HasPrefix(l.input[l.pos:], rightMeta) {
-			return lexRightMeta
-		}
-		switch r := l.next(); {
-		case r == eof || r == '\n':
-			return l.errorf("unclosed action")
-		case isSpace(r):
-			l.ignore()
-		case r == '|':
-			l.emit(itemPipe)
-		case r == '"':
-			return lexQuote
-		case r == '`':
-			return lexRawQuote
-		case r == '.':
-			// special look-ahead for ".field" so we don't break l.backup().
-			if l.pos < len(l.input) {
-				r := l.input[l.pos]
-				if r < '0' || '9' < r {
-					return lexIdentifier // itemDot comes from the keyword table.
-				}
-			}
-			fallthrough // '.' can start a number.
-		case r == '+' || r == '-' || '0' <= r && r <= '9':
-			l.backup()
-			return lexNumber
-		case isAlphaNumeric(r):
-			l.backup()
-			return lexIdentifier
-		default:
-			return l.errorf("unrecognized character in action: %#U", r)
-		}
-	}
-	return nil
-}
-
-// lexIdentifier scans an alphanumeric or field.
-func lexIdentifier(l *lexer) stateFn {
-Loop:
-	for {
-		switch r := l.next(); {
-		case isAlphaNumeric(r):
-			// absorb
-		default:
-			l.backup()
-			word := l.input[l.start:l.pos]
-			switch {
-			case key[word] != itemError:
-				l.emit(key[word])
-			case word[0] == '.':
-				l.emit(itemField)
-			default:
-				l.emit(itemIdentifier)
-			}
-			break Loop
-		}
-	}
-	return lexInsideAction
-}
-
-// lexNumber scans a number: decimal, octal, hex, float, or imaginary.  This
-// isn't a perfect number scanner - for instance it accepts "." and "0x0.2"
-// and "089" - but when it's wrong the input is invalid and the parser (via
-// strconv) will notice.
-// TODO: without expressions you can do imaginary but not complex.
-func lexNumber(l *lexer) stateFn {
-	// Optional leading sign.
-	l.accept("+-")
-	// Is it hex?
-	digits := "0123456789"
-	if l.accept("0") && l.accept("xX") {
-		digits = "0123456789abcdefABCDEF"
-	}
-	l.acceptRun(digits)
-	if l.accept(".") {
-		l.acceptRun(digits)
-	}
-	if l.accept("eE") {
-		l.accept("+-")
-		l.acceptRun("0123456789")
-	}
-	// Is it imaginary?
-	l.accept("i")
-	// Next thing mustn't be alphanumeric.
-	if isAlphaNumeric(l.peek()) {
-		l.next()
-		return l.errorf("bad number syntax: %q",
-			l.input[l.start:l.pos])
-	}
-	l.emit(itemNumber)
-	return lexInsideAction
-}
-
-// lexQuote scans a quoted string.
-func lexQuote(l *lexer) stateFn {
-Loop:
-	for {
-		switch l.next() {
-		case '\\':
-			if r := l.next(); r != eof && r != '\n' {
-				break
-			}
-			fallthrough
-		case eof, '\n':
-			return l.errorf("unterminated quoted string")
-		case '"':
-			break Loop
-		}
-	}
-	l.emit(itemString)
-	return lexInsideAction
-}
-
-// lexRawQuote scans a raw quoted string.
-func lexRawQuote(l *lexer) stateFn {
-Loop:
-	for {
-		switch l.next() {
-		case eof, '\n':
-			return l.errorf("unterminated raw quoted string")
-		case '`':
-			break Loop
-		}
-	}
-	l.emit(itemRawString)
-	return lexInsideAction
-}
-
-// isSpace reports whether r is a space character.
-func isSpace(r int) bool {
-	switch r {
-	case ' ', '\t', '\n', '\r':
-		return true
-	}
-	return false
-}
-
-// isAlphaNumeric reports whether r is an alphabetic, digit, or underscore.
-func isAlphaNumeric(r int) bool {
-	return r == '_' || unicode.IsLetter(r) || unicode.IsDigit(r)
-}
diff --git a/content/2011/lex/r59-lex.go b/content/2011/lex/r59-lex.go
deleted file mode 100644
index 33af2db..0000000
--- a/content/2011/lex/r59-lex.go
+++ /dev/null
@@ -1,433 +0,0 @@
-// Copyright 2011 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore
-
-package template
-
-import (
-	"fmt"
-	"strings"
-	"unicode"
-	"utf8"
-)
-
-// item represents a token or text string returned from the scanner.
-type item struct {
-	typ itemType
-	val string
-}
-
-func (i item) String() string {
-	switch {
-	case i.typ == itemEOF:
-		return "EOF"
-	case i.typ == itemError:
-		return i.val
-	case i.typ > itemKeyword:
-		return fmt.Sprintf("<%s>", i.val)
-	case len(i.val) > 10:
-		return fmt.Sprintf("%.10q...", i.val)
-	}
-	return fmt.Sprintf("%q", i.val)
-}
-
-// itemType identifies the type of lex items.
-type itemType int
-
-const (
-	itemError   itemType = iota // error occurred; value is text of error
-	itemBool                    // boolean constant
-	itemComplex                 // complex constant (1+2i); imaginary is just a number
-	itemEOF
-	itemField      // alphanumeric identifier, starting with '.', possibly chained ('.x.y')
-	itemIdentifier // alphanumeric identifier
-	itemLeftDelim  // left action delimiter
-	itemNumber     // simple number, including imaginary
-	itemPipe       // pipe symbol
-	itemRawString  // raw quoted string (includes quotes)
-	itemRightDelim // right action delimiter
-	itemString     // quoted string (includes quotes)
-	itemText       // plain text
-	// Keywords appear after all the rest.
-	itemKeyword  // used only to delimit the keywords
-	itemDot      // the cursor, spelled '.'.
-	itemDefine   // define keyword
-	itemElse     // else keyword
-	itemEnd      // end keyword
-	itemIf       // if keyword
-	itemRange    // range keyword
-	itemTemplate // template keyword
-	itemWith     // with keyword
-)
-
-// Make the types prettyprint.
-var itemName = map[itemType]string{
-	itemError:      "error",
-	itemBool:       "bool",
-	itemComplex:    "complex",
-	itemEOF:        "EOF",
-	itemField:      "field",
-	itemIdentifier: "identifier",
-	itemLeftDelim:  "left delim",
-	itemNumber:     "number",
-	itemPipe:       "pipe",
-	itemRawString:  "raw string",
-	itemRightDelim: "right delim",
-	itemString:     "string",
-	// keywords
-	itemDot:      ".",
-	itemDefine:   "define",
-	itemElse:     "else",
-	itemIf:       "if",
-	itemEnd:      "end",
-	itemRange:    "range",
-	itemTemplate: "template",
-	itemWith:     "with",
-}
-
-func (i itemType) String() string {
-	s := itemName[i]
-	if s == "" {
-		return fmt.Sprintf("item%d", int(i))
-	}
-	return s
-}
-
-var key = map[string]itemType{
-	".":        itemDot,
-	"define":   itemDefine,
-	"else":     itemElse,
-	"end":      itemEnd,
-	"if":       itemIf,
-	"range":    itemRange,
-	"template": itemTemplate,
-	"with":     itemWith,
-}
-
-const eof = -1
-
-// stateFn represents the state of the scanner as a function that returns the next state.
-type stateFn func(*lexer) stateFn
-
-// lexer holds the state of the scanner.
-type lexer struct {
-	name  string    // the name of the input; used only for error reports.
-	input string    // the string being scanned.
-	state stateFn   // the next lexing function to enter
-	pos   int       // current position in the input.
-	start int       // start position of this item.
-	width int       // width of last rune read from input.
-	items chan item // channel of scanned items.
-}
-
-// next returns the next rune in the input.
-func (l *lexer) next() (rune int) {
-	if l.pos >= len(l.input) {
-		l.width = 0
-		return eof
-	}
-	rune, l.width = utf8.DecodeRuneInString(l.input[l.pos:])
-	l.pos += l.width
-	return rune
-}
-
-// peek returns but does not consume the next rune in the input.
-func (l *lexer) peek() int {
-	rune := l.next()
-	l.backup()
-	return rune
-}
-
-// backup steps back one rune. Can only be called once per call of next.
-func (l *lexer) backup() {
-	l.pos -= l.width
-}
-
-// emit passes an item back to the client.
-func (l *lexer) emit(t itemType) {
-	l.items <- item{t, l.input[l.start:l.pos]}
-	l.start = l.pos
-}
-
-// ignore skips over the pending input before this point.
-func (l *lexer) ignore() {
-	l.start = l.pos
-}
-
-// accept consumes the next rune if it's from the valid set.
-func (l *lexer) accept(valid string) bool {
-	if strings.IndexRune(valid, l.next()) >= 0 {
-		return true
-	}
-	l.backup()
-	return false
-}
-
-// acceptRun consumes a run of runes from the valid set.
-func (l *lexer) acceptRun(valid string) {
-	for strings.IndexRune(valid, l.next()) >= 0 {
-	}
-	l.backup()
-}
-
-// lineNumber reports which line we're on. Doing it this way
-// means we don't have to worry about peek double counting.
-func (l *lexer) lineNumber() int {
-	return 1 + strings.Count(l.input[:l.pos], "\n")
-}
-
-// error returns an error token and terminates the scan by passing
-// back a nil pointer that will be the next state, terminating l.run.
-func (l *lexer) errorf(format string, args ...interface{}) stateFn {
-	l.items <- item{itemError, fmt.Sprintf(format, args...)}
-	return nil
-}
-
-// nextItem returns the next item from the input.
-func (l *lexer) nextItem() item {
-	for {
-		select {
-		case item := <-l.items:
-			return item
-		default:
-			l.state = l.state(l)
-		}
-	}
-	panic("not reached")
-}
-
-// lex creates a new scanner for the input string.
-func lex(name, input string) *lexer {
-	l := &lexer{
-		name:  name,
-		input: input,
-		state: lexText,
-		items: make(chan item, 2), // Two items sufficient.
-	}
-	return l
-}
-
-// state functions
-
-const (
-	leftDelim    = "{{"
-	rightDelim   = "}}"
-	leftComment  = "{{/*"
-	rightComment = "*/}}"
-)
-
-// lexText scans until an opening action delimiter, "{{".
-func lexText(l *lexer) stateFn {
-	for {
-		if strings.HasPrefix(l.input[l.pos:], leftDelim) {
-			if l.pos > l.start {
-				l.emit(itemText)
-			}
-			return lexLeftDelim
-		}
-		if l.next() == eof {
-			break
-		}
-	}
-	// Correctly reached EOF.
-	if l.pos > l.start {
-		l.emit(itemText)
-	}
-	l.emit(itemEOF)
-	return nil
-}
-
-// lexLeftDelim scans the left delimiter, which is known to be present.
-func lexLeftDelim(l *lexer) stateFn {
-	if strings.HasPrefix(l.input[l.pos:], leftComment) {
-		return lexComment
-	}
-	l.pos += len(leftDelim)
-	l.emit(itemLeftDelim)
-	return lexInsideAction
-}
-
-// lexComment scans a comment. The left comment marker is known to be present.
-func lexComment(l *lexer) stateFn {
-	i := strings.Index(l.input[l.pos:], rightComment)
-	if i < 0 {
-		return l.errorf("unclosed comment")
-	}
-	l.pos += i + len(rightComment)
-	l.ignore()
-	return lexText
-}
-
-// lexRightDelim scans the right delimiter, which is known to be present.
-func lexRightDelim(l *lexer) stateFn {
-	l.pos += len(rightDelim)
-	l.emit(itemRightDelim)
-	return lexText
-}
-
-// lexInsideAction scans the elements inside action delimiters.
-func lexInsideAction(l *lexer) stateFn {
-	// Either number, quoted string, or identifier.
-	// Spaces separate and are ignored.
-	// Pipe symbols separate and are emitted.
-	for {
-		if strings.HasPrefix(l.input[l.pos:], rightDelim) {
-			return lexRightDelim
-		}
-		switch r := l.next(); {
-		case r == eof || r == '\n':
-			return l.errorf("unclosed action")
-		case isSpace(r):
-			l.ignore()
-		case r == '|':
-			l.emit(itemPipe)
-		case r == '"':
-			return lexQuote
-		case r == '`':
-			return lexRawQuote
-		case r == '.':
-			// special look-ahead for ".field" so we don't break l.backup().
-			if l.pos < len(l.input) {
-				r := l.input[l.pos]
-				if r < '0' || '9' < r {
-					return lexIdentifier // itemDot comes from the keyword table.
-				}
-			}
-			fallthrough // '.' can start a number.
-		case r == '+' || r == '-' || ('0' <= r && r <= '9'):
-			l.backup()
-			return lexNumber
-		case isAlphaNumeric(r):
-			l.backup()
-			return lexIdentifier
-		default:
-			return l.errorf("unrecognized character in action: %#U", r)
-		}
-	}
-	return nil
-}
-
-// lexIdentifier scans an alphanumeric or field.
-func lexIdentifier(l *lexer) stateFn {
-Loop:
-	for {
-		switch r := l.next(); {
-		case isAlphaNumeric(r):
-			// absorb.
-		case r == '.' && l.input[l.start] == '.':
-			// field chaining; absorb into one token.
-		default:
-			l.backup()
-			word := l.input[l.start:l.pos]
-			switch {
-			case key[word] > itemKeyword:
-				l.emit(key[word])
-			case word[0] == '.':
-				l.emit(itemField)
-			case word == "true", word == "false":
-				l.emit(itemBool)
-			default:
-				l.emit(itemIdentifier)
-			}
-			break Loop
-		}
-	}
-	return lexInsideAction
-}
-
-// lexNumber scans a number: decimal, octal, hex, float, or imaginary.  This
-// isn't a perfect number scanner - for instance it accepts "." and "0x0.2"
-// and "089" - but when it's wrong the input is invalid and the parser (via
-// strconv) will notice.
-func lexNumber(l *lexer) stateFn {
-	if !l.scanNumber() {
-		return l.errorf("bad number syntax: %q", l.input[l.start:l.pos])
-	}
-	if sign := l.peek(); sign == '+' || sign == '-' {
-		// Complex: 1+2i.  No spaces, must end in 'i'.
-		if !l.scanNumber() || l.input[l.pos-1] != 'i' {
-			return l.errorf("bad number syntax: %q", l.input[l.start:l.pos])
-		}
-		l.emit(itemComplex)
-	} else {
-		l.emit(itemNumber)
-	}
-	return lexInsideAction
-}
-
-func (l *lexer) scanNumber() bool {
-	// Optional leading sign.
-	l.accept("+-")
-	// Is it hex?
-	digits := "0123456789"
-	if l.accept("0") && l.accept("xX") {
-		digits = "0123456789abcdefABCDEF"
-	}
-	l.acceptRun(digits)
-	if l.accept(".") {
-		l.acceptRun(digits)
-	}
-	if l.accept("eE") {
-		l.accept("+-")
-		l.acceptRun("0123456789")
-	}
-	// Is it imaginary?
-	l.accept("i")
-	// Next thing mustn't be alphanumeric.
-	if isAlphaNumeric(l.peek()) {
-		l.next()
-		return false
-	}
-	return true
-}
-
-// lexQuote scans a quoted string.
-func lexQuote(l *lexer) stateFn {
-Loop:
-	for {
-		switch l.next() {
-		case '\\':
-			if r := l.next(); r != eof && r != '\n' {
-				break
-			}
-			fallthrough
-		case eof, '\n':
-			return l.errorf("unterminated quoted string")
-		case '"':
-			break Loop
-		}
-	}
-	l.emit(itemString)
-	return lexInsideAction
-}
-
-// lexRawQuote scans a raw quoted string.
-func lexRawQuote(l *lexer) stateFn {
-Loop:
-	for {
-		switch l.next() {
-		case eof, '\n':
-			return l.errorf("unterminated raw quoted string")
-		case '`':
-			break Loop
-		}
-	}
-	l.emit(itemRawString)
-	return lexInsideAction
-}
-
-// isSpace reports whether r is a space character.
-func isSpace(r int) bool {
-	switch r {
-	case ' ', '\t', '\n', '\r':
-		return true
-	}
-	return false
-}
-
-// isAlphaNumeric reports whether r is an alphabetic, digit, or underscore.
-func isAlphaNumeric(r int) bool {
-	return r == '_' || unicode.IsLetter(r) || unicode.IsDigit(r)
-}
diff --git a/content/2011/lex/snippets b/content/2011/lex/snippets
deleted file mode 100644
index c00822b..0000000
--- a/content/2011/lex/snippets
+++ /dev/null
@@ -1,21 +0,0 @@
-Evaluation: {{.Title}}
-Constants and functions: {{printf "%g: %#3X" 1.2+2i 123}}
-Control structures {{range $s.Text}} {{.}} {{end}}
-
-// One iteration:
-switch state {
-case state1: 
-	state = action1()
-case state2:
-	state = action2()
-case state3: 
-	state = action3()
-}
-
-// run lexes the input by executing state functions
-// until the state is nil.
-func run() {
-	for state := startState; state != nil; {
-		state = state(lexer)
-	}
-}
diff --git a/content/2012/10things.slide b/content/2012/10things.slide
deleted file mode 100644
index 4ec3f88..0000000
--- a/content/2012/10things.slide
+++ /dev/null
@@ -1,214 +0,0 @@
-10 things you (probably) don't know about Go
-
-Andrew Gerrand
-Gopher
-https://plus.google.com/106356964679457436995
-@enneff
-http://golang.org
-
-* 1. Anonymous structs
-
-- Grouped globals
-
-	var config struct {
-		APIKey      string
-		OAuthConfig oauth.Config
-	}
-
-	config.APIKey = "BADC0C0A"
-
-- Template data
-
-	data := struct {
-		Title string
-		Users []*User
-	}{
-		title,
-		users,
-	}
-	err := tmpl.Execute(w, data)
-
-(Cheaper and safer than using `map[string]interface{}`.)
-
-* 1b. Anonymous structs
-
-- Test tables
-
-	var indexRuneTests = []struct {
-		s    string
-		rune rune
-		out  int
-	}{
-		{"a A x", 'A', 2},
-		{"some_text=some_value", '=', 9},
-		{"☺a", 'a', 3},
-		{"a☻☺b", '☺', 4},
-	}
-
-- Embedded lock
-
-	var hits struct {
-		sync.Mutex
-		n int
-	}
-
-	hits.Lock()
-	hits.n++
-	hits.Unlock()
-
-
-* 2. Nested structs
-
-- Decoding deeply nested JSON data
-
-  {"data": {"children": [
-    {"data": {
-      "title": "The Go homepage",
-      "url": "http://golang.org/"
-    }},
-    ...
-  ]}}
-
-	type Item struct {
-		Title string
-		URL   string
-	}
-
-	type Response struct {
-		Data struct {
-			Children []struct {
-				Data Item
-			}
-		}
-	}
-
-
-* 3. Command-line godoc
-
-  % godoc sync Mutex
-  PACKAGE
-  
-  package sync
-      import "sync"
-  
-  TYPES
-  
-  type Mutex struct {
-      // contains filtered or unexported fields
-  }
-      A Mutex is a mutual exclusion lock. Mutexes can be created as part of
-      other structures; the zero value for a Mutex is an unlocked mutex.
-  
-  func (m *Mutex) Lock()
-      Lock locks m. If the lock is already in use, the calling goroutine
-      blocks until the mutex is available.
-  
-  func (m *Mutex) Unlock()
-      Unlock unlocks m. It is a run-time error if m is not locked on entry to
-      Unlock.
-  
-      A locked Mutex is not associated with a particular goroutine. It is
-      allowed for one goroutine to lock a Mutex and then arrange for another
-      goroutine to unlock it.
-
-
-* 4. godoc -src
-
-  % godoc -src sync Mutex
-  // A Mutex is a mutual exclusion lock.
-  // Mutexes can be created as part of other structures;
-  // the zero value for a Mutex is an unlocked mutex.
-  type Mutex struct {
-      state int32
-      sema  uint32
-  }
-
-Also shows unexported state! Great for digging around.
-
-
-* 5. go get supports custom domains
-
-Yep:
-
-	go get camlistore.org/pkg/netutil
-
-See `go help importpath` for the details.
-
-
-* 6. Mock out the file system
-
-Got a package that works with the file system, but don't want your tests to actually use the disk?
-
-  var fs fileSystem = osFS{}
-  
-  type fileSystem interface {
-  	Open(name string) (file, error)
-  	Stat(name string) (os.FileInfo, error)
-  }
-  
-  type file interface {
-  	io.Closer
-  	io.Reader
-  	io.ReaderAt
-  	io.Seeker
-  	Stat() (os.FileInfo, error)
-  }
-  
-  // osFS implements fileSystem using the local disk.
-  type osFS struct{}
-  
-  func (osFS) Open(name string) (file, error)        { return os.Open(name) }
-  func (osFS) Stat(name string) (os.FileInfo, error) { return os.Stat(name) }
-
-Implement your own fake `fileSystem` in and put it in `fs` while testing.
-
-
-* 7. Method expressions
-
-  type T struct {}
-  func (T) Foo(s string) { println(s) }
-
-  var fn func(T, string) = T.Foo
-
-Real example from `os/exec`:
-
-  func (c *Cmd) stdin() (f *os.File, err error)
-  func (c *Cmd) stdout() (f *os.File, err error)
-  func (c *Cmd) stderr() (f *os.File, err error)
-
-	type F func(*Cmd) (*os.File, error)
-	for _, setupFd := range []F{(*Cmd).stdin, (*Cmd).stdout, (*Cmd).stderr} {
-		fd, err := setupFd(c)
-		if err != nil {
-			c.closeDescriptors(c.closeAfterStart)
-			c.closeDescriptors(c.closeAfterWait)
-			return err
-		}
-		c.childFiles = append(c.childFiles, fd)
-	}
-
-
-* 8. Send and receive on the same channel
-
-.play 10things/8.go
-
-
-* 9. Using close to broadcast
-
-.play 10things/9.go /func.waiter/,/endmain/
-
-
-* 9b. Using close to broadcast
-
-.play 10things/9b.go /func.worker/,/endmain/
-
-
-* 10. Nil channel in select
-
-.play 10things/10.go /func.worker/,/endmain/
-
-
-* 11. The gopher's name
-
-.image 10things/gopher.jpg
-
diff --git a/content/2012/10things/10.go b/content/2012/10things/10.go
deleted file mode 100644
index 986cb87..0000000
--- a/content/2012/10things/10.go
+++ /dev/null
@@ -1,49 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func worker(i int, ch chan Work, quit chan struct{}) {
-	for {
-		select {
-		case w := <-ch:
-			if quit == nil { // HL
-				w.Refuse(); fmt.Println("worker", i, "refused", w)
-				break
-			}
-			w.Do(); fmt.Println("worker", i, "processed", w)
-		case <-quit:
-			fmt.Println("worker", i, "quitting")
-			quit = nil // HL
-		}
-	}
-}
-
-func main() {
-	ch, quit := make(chan Work), make(chan struct{})
-	go makeWork(ch)
-	for i := 0; i < 4; i++ { go worker(i, ch, quit) }
-	time.Sleep(5 * time.Second)
-	close(quit)
-	time.Sleep(2 * time.Second)
-}
-// endmain OMIT
-
-type Work string
-func (w Work) Do() {
-	time.Sleep(time.Duration(rand.Intn(1000)) * time.Millisecond)
-}
-func (w Work) Refuse() {
-	time.Sleep(time.Duration(rand.Intn(10)) * time.Millisecond)
-}
-
-func makeWork(ch chan Work) {
-	for i := 0; ; i++ {
-		ch <- Work(fmt.Sprintf("job %x", i))
-	}
-}
diff --git a/content/2012/10things/8.go b/content/2012/10things/8.go
deleted file mode 100644
index 9be9a4d..0000000
--- a/content/2012/10things/8.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-var battle = make(chan string)
-
-func warrior(name string, done chan struct{}) {
-	select {
-	case opponent := <-battle:
-		fmt.Printf("%s beat %s\n", name, opponent)
-	case battle <- name:
-		// I lost :-(
-	}
-	done <- struct{}{}
-}
-
-func main() {
-	done := make(chan struct{})
-	langs := []string{"Go", "C", "C++", "Java", "Perl", "Python"}
-	for _, l := range langs { go warrior(l, done) }
-	for _ = range langs { <-done }
-}
diff --git a/content/2012/10things/9.go b/content/2012/10things/9.go
deleted file mode 100644
index ce6791f..0000000
--- a/content/2012/10things/9.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-	"math/rand"
-)
-
-func waiter(i int, block, done chan struct{}) {
-	time.Sleep(time.Duration(rand.Intn(3000)) * time.Millisecond)
-	fmt.Println(i, "waiting...")
-	<-block // HL
-	fmt.Println(i, "done!")
-	done <- struct{}{}
-}
-
-func main() {
-	block, done := make(chan struct{}), make(chan struct{})
-	for i := 0; i < 4; i++ {
-		go waiter(i, block, done)
-	}
-	time.Sleep(5 * time.Second)
-	close(block) // HL
-	for i := 0; i < 4; i++ {
-		<-done
-	}
-}
-// endmain OMIT
diff --git a/content/2012/10things/9b.go b/content/2012/10things/9b.go
deleted file mode 100644
index 577b016..0000000
--- a/content/2012/10things/9b.go
+++ /dev/null
@@ -1,50 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func worker(i int, ch chan Work, quit chan struct{}) {
-	var quitting bool
-	for {
-		select {
-		case w := <-ch:
-			if quitting {
-				w.Refuse(); fmt.Println("worker", i, "refused", w)
-				break
-			}
-			w.Do(); fmt.Println("worker", i, "processed", w)
-		case <-quit:
-			fmt.Println("worker", i, "quitting")
-			quitting = true
-		}
-	}
-}
-
-func main() {
-	ch, quit := make(chan Work), make(chan struct{})
-	go makeWork(ch)
-	for i := 0; i < 4; i++ { go worker(i, ch, quit) }
-	time.Sleep(5 * time.Second)
-	close(quit)
-	time.Sleep(2 * time.Second)
-}
-// endmain OMIT
-
-type Work string
-func (w Work) Do() {
-	time.Sleep(time.Duration(rand.Intn(1000)) * time.Millisecond)
-}
-func (w Work) Refuse() {
-	time.Sleep(time.Duration(rand.Intn(10)) * time.Millisecond)
-}
-
-func makeWork(ch chan Work) {
-	for i := 0; ; i++ {
-		ch <- Work(fmt.Sprintf("job %x", i))
-	}
-}
diff --git a/content/2012/10things/gopher.jpg b/content/2012/10things/gopher.jpg
deleted file mode 100644
index b3d3327..0000000
--- a/content/2012/10things/gopher.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/README b/content/2012/README
deleted file mode 100644
index 8be91a0..0000000
--- a/content/2012/README
+++ /dev/null
@@ -1,5 +0,0 @@
-These slide files are intended to be viewed with the 'present' tool.
-To install 'present':
-
-	go get code.google.com/p/go.talks/present
-
diff --git a/content/2012/chat.slide b/content/2012/chat.slide
deleted file mode 100644
index 727a121..0000000
--- a/content/2012/chat.slide
+++ /dev/null
@@ -1,300 +0,0 @@
-Go: code that grows with grace
-
-Andrew Gerrand
-Google Sydney
-http://andrewgerrand.com
-@enneff
-http://golang.org
-
-* Video
-
-A video of this talk was recorded at Øredev in Malmö, Sweden in November 2012.
-
-.link http://vimeo.com/53221560 Watch the talk on Vimeo
-
-* Go
-
-You may have heard of Go.
-
-It's my favorite language. I think you'll like it, too.
-
-* What is Go?
-
-An open source (BSD licensed) project:
-
-- Language specification,
-- Small runtime (garbage collector, scheduler, etc),
-- Two compilers (`gc` and `gccgo`),
-- 'Batteries included' standard library,
-- Tools (build, fetch, test, document, profile, format),
-- Documentation.
-
-As of September 2012 we have more than 300 contributors.
-
-* Go is about composition
-
-Go is Object Oriented, but not in the usual way.
-
-- no classes (methods may be declared on any type)
-- no subtype inheritance
-- interfaces are satisfied implicitly (structural typing)
-
-The result: simple pieces connected by small interfaces.
-
-* Go is about concurrency
-
-Go provides CSP-like concurrency primitives.
-
-- lightweight threads (goroutines)
-- typed thread-safe communication and synchronization (channels)
-
-The result: comprehensible concurrent code.
-
-* Go is about gophers
-
-.image chat/gophers.jpg
-
-* Core values
-
-Go is about composition, concurrency, and gophers.
-
-Keep that in mind.
-
-* Hello, go
-
-.play chat/support/hello.go
-
-* Hello, net
-
-.play chat/support/hello-net.go
-
-* Interfaces
-
-Hey neato! We just used `Fprintln` to write to a net connection.
-
-That's because a `Fprintln` writes to an `io.Writer`, and `net.Conn` is an `io.Writer`.
-
-.code chat/support/hello-net.go /Fprintln/
-.code chat/support/defs.go /Fprintln/
-.code chat/support/defs.go /type.Writer/,/^}/
-.code chat/support/defs.go /type.Conn/,/^}/
-
-* An echo server
-
-.play chat/support/echo-no-concurrency.go
-
-* A closer look at io.Copy
-
-.code chat/support/echo-no-concurrency.go /Copy/
-.code chat/support/defs.go /Copy/,/func/
-.code chat/support/defs.go /type.Conn/,/^}/
-.code chat/support/defs.go /type.Writer/,/^}/
-.code chat/support/defs.go /type.Reader/,/^}/
-
-* Goroutines
-
-Goroutines are lightweight threads that are managed by the Go runtime. To run a function in a new goroutine, just put `"go"` before the function call.
-
-.play chat/support/goroutines.go
-
-* A concurrent echo server
-
-.play chat/support/echo.go
-
-* "Chat roulette"
-
-In this talk we'll look at a simple program, based on the popular "chat roulette" site.
-
-In short:
-
-- a user connects,
-- another user connects,
-- everything one user types is sent to the other.
-
-* Design
-
-The chat program is similar to the echo program. With echo, we copy a connection's incoming data back to the same connection.
-
-For chat, we must copy the incoming data from one user's connection to another's.
-
-Copying the data is easy. As in real life, the hard part is matching one partner with another.
-
-* Design diagram
-
-.image chat/diagrams.png
-
-* Channels
-
-Goroutines communicate via channels. A channel is a typed conduit that may be synchronous (unbuffered) or asynchronous (buffered).
-
-.play chat/support/chan.go
-
-* Select
-
-A select statement is like a switch, but it selects over channel operations (and chooses exactly one of them).
-
-.play chat/support/select.go
-
-* Modifying echo to create chat
-
-In the accept loop, we replace the call to `io.Copy`:
-
-.code chat/support/echo.go /for {/,/\n	}/
-
-with a call to a new function, `match`:
-
-.code chat/tcp-simple/chat.go /for {/,/\n	}/
-
-* The matcher
-
-The `match` function simultaneously tries to send and receive a connection on a channel.
-
-- If the send succeeds, the connection has been handed off to another goroutine, so the function exits and the goroutine shuts down.
-- If the receive succeeds, a connection has been received from another goroutine. The current goroutine then has two connections, so it starts a chat session between them.
-
-.code chat/tcp-simple/chat.go /var.partner/,/^}/
-
-* The conversation
-
-The chat function sends a greeting to each connection and then copies data from one to the other, and vice versa.
-
-Notice that it launches another goroutine so that the copy operations may happen concurrently.
-
-.code chat/tcp-simple/chat.go /func.chat/,/^}/
-
-* Demo
-
-* Error handling
-
-It's important to clean up when the conversation is over. To do this we send the error value from each `io.Copy` call to a channel, log any non-nil errors, and close both connections.
-
-.code chat/tcp/chat.go /func.chat/,/^}/
-.code chat/tcp/chat.go /func.cp/,/^}/
-
-* Demo
-
-* Taking it to the web 
-
-"Cute program," you say, "But who wants to chat over a raw TCP connection?"
-
-Good point. Let's modernize it by turning it a web application.
-
-Instead of TCP sockets, we'll use websockets.
-
-We'll serve the user interface with Go's standard `net/http` package, and websocket support is provided by the `websocket` package from the `go.net` sub-repository,
-
-* Hello, web
-
-.play chat/support/hello-web.go
-
-* Hello, WebSocket
-
-.code chat/support/websocket.js
-.play chat/support/websocket.go
-
-* Using the http and websocket packages
-
-.code chat/http/chat.go /package/,/^}/
-
-* Serving the HTML and JavaScript
-
-.code chat/http/html.go /import/
-.code chat/http/html.go /func/,/<script>/
-.code chat/http/html.go /websocket.=/,/onClose/
-.code chat/http/html.go /<\/html>/,$
-
-* Adding a socket type
-
-We can't just use a `websocket.Conn` instead of the `net.Conn`, because a `websocket.Conn` is held open by its handler function. Here we use a channel to keep the handler running until the socket's `Close` method is called.
-
-.code chat/http-noembed/chat.go /type.socket/,/END/
-
-* Struct embedding
-
-Go supports a kind of "mix-in" functionality with a feature known as "struct embedding". The embedding struct delegates calls to the embedded type's methods.
-
-.play chat/support/embed.go /type/,$
-
-* Embedding the websocket connection
-
-By embedding the `*websocket.Conn` as an `io.ReadWriter`, we can drop the explicit `socket` `Read` and `Write` methods. 
-
-.code chat/http/chat.go /type.socket/,/END/
-
-* Demo
-
-* Relieving loneliness
-
-What if you connect, but there's noone there?
-
-Wouldn't it be nice if we could synthesize a chat partner?
-
-Let's do it.
-
-* Generating text with markov chains
-
-.code chat/support/markov.txt
-
-* Generating text with markov chains
-
-Fortunately, the Go docs include a markov chain implementation:
-
-.link http://golang.org/doc/codewalk/markov
-
-We'll use a version that has been modified to be safe for concurrent use.
-
-.code chat/markov/markov.go /Chain/,/{/
-.code chat/markov/markov.go /Write/,/{/
-.code chat/markov/markov.go /Generate/,/{/
-
-* Feeding the chain
-
-We will use all text that enters the system to build the markov chains.
-To do this we split the socket's `ReadWriter` into a `Reader` and a `Writer`,
-and feed all incoming data to the `Chain` instance.
-
-.code chat/markov/chat.go /type.socket/,/^}/
-.code chat/markov/chat.go /var.chain/,/^}/
-
-* The markov bot
-
-.code chat/markov/chat.go /\/\/.Bot/,/^}/
-.code chat/markov/chat.go /type.bot/,/^}/
-.code chat/markov/chat.go /func.+bot.+Write/,/^}/
-.code chat/markov/chat.go /func.+bot.+speak/,/^}/
-
-* Integrating the markov bot
-
-The bot should jump in if a real partner doesn't join.
-To do this, we add a case to the select that triggers after 5 seconds, starting a chat between the user's socket and a bot.
-
-.code chat/markov/chat.go /func.match/,/^}/
-
-The `chat` function remains untouched.
-
-* Demo
-
-* One more thing
-
-* TCP and HTTP at the same time
-
-.code chat/both/chat.go /func main/,/^}/
-.code chat/both/chat.go /func netListen/,/^}/
-
-* Demo
-
-* Discussion
-
-* Further reading
-
-All about Go:
-
-.link http://golang.org
-
-The slides for this talk:
-
-.link http://talks.golang.org/2012/chat.slide
-
-"Go Concurrency Patterns" by Rob Pike:
-
-.link http://golang.org/s/concurrency-patterns
diff --git a/content/2012/chat/both/chat.go b/content/2012/chat/both/chat.go
deleted file mode 100644
index d712b91..0000000
--- a/content/2012/chat/both/chat.go
+++ /dev/null
@@ -1,119 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"io"
-	"log"
-	"net"
-	"net/http"
-	"time"
-
-	"golang.org/x/net/websocket"
-)
-
-const listenAddr = "localhost:4000"
-
-func main() {
-	go netListen() // HL
-	http.HandleFunc("/", rootHandler)
-	http.Handle("/socket", websocket.Handler(socketHandler))
-	err := http.ListenAndServe(listenAddr, nil)
-	if err != nil {
-		log.Fatal(err)
-	}
-}
-
-func netListen() {
-	l, err := net.Listen("tcp", "localhost:4001")
-	if err != nil {
-		log.Fatal(err)
-	}
-	for {
-		c, err := l.Accept()
-		if err != nil {
-			log.Fatal(err)
-		}
-		go match(c)
-	}
-}
-
-type socket struct {
-	io.Reader
-	io.Writer
-	done chan bool
-}
-
-func (s socket) Close() error {
-	s.done <- true
-	return nil
-}
-
-var chain = NewChain(2) // 2-word prefixes
-
-func socketHandler(ws *websocket.Conn) {
-	r, w := io.Pipe()
-	go func() {
-		_, err := io.Copy(io.MultiWriter(w, chain), ws)
-		w.CloseWithError(err)
-	}()
-	s := socket{r, ws, make(chan bool)}
-	go match(s)
-	<-s.done
-}
-
-var partner = make(chan io.ReadWriteCloser)
-
-func match(c io.ReadWriteCloser) {
-	fmt.Fprint(c, "Waiting for a partner...")
-	select {
-	case partner <- c:
-		// now handled by the other goroutine
-	case p := <-partner:
-		chat(p, c)
-	case <-time.After(5 * time.Second):
-		chat(Bot(), c)
-	}
-}
-
-func chat(a, b io.ReadWriteCloser) {
-	fmt.Fprintln(a, "Found one! Say hi.")
-	fmt.Fprintln(b, "Found one! Say hi.")
-	errc := make(chan error, 1)
-	go cp(a, b, errc)
-	go cp(b, a, errc)
-	if err := <-errc; err != nil {
-		log.Println(err)
-	}
-	a.Close()
-	b.Close()
-}
-
-func cp(w io.Writer, r io.Reader, errc chan<- error) {
-	_, err := io.Copy(w, r)
-	errc <- err
-}
-
-// Bot returns an io.ReadWriteCloser that responds to
-// each incoming write with a generated sentence.
-func Bot() io.ReadWriteCloser {
-	r, out := io.Pipe() // for outgoing data
-	return bot{r, out}
-}
-
-type bot struct {
-	io.ReadCloser
-	out io.Writer
-}
-
-func (b bot) Write(buf []byte) (int, error) {
-	go b.speak()
-	return len(buf), nil
-}
-
-func (b bot) speak() {
-	time.Sleep(time.Second)
-	msg := chain.Generate(10) // at most 10 words
-	b.out.Write([]byte(msg))
-}
diff --git a/content/2012/chat/both/html.go b/content/2012/chat/both/html.go
deleted file mode 100644
index 090e80d..0000000
--- a/content/2012/chat/both/html.go
+++ /dev/null
@@ -1,68 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "html/template"
-import "net/http"
-
-func rootHandler(w http.ResponseWriter, r *http.Request) {
-	rootTemplate.Execute(w, listenAddr)
-}
-
-var rootTemplate = template.Must(template.New("root").Parse(`
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8" />
-<script>
-
-var input, output, websocket;
-
-function showMessage(m) {
-	var p = document.createElement("p");
-	p.innerHTML = m;
-	output.appendChild(p);
-}
-
-function onMessage(e) {
-	showMessage(e.data);
-}
-
-function onClose() {
-	showMessage("Connection closed.");
-}
-
-function sendMessage() {
-	var m = input.value;
-	input.value = "";
-	websocket.send(m + "\n");
-	showMessage(m);
-}
-
-function onKey(e) {
-	if (e.keyCode == 13) {
-		sendMessage();
-	}
-}
-
-function init() {
-	input = document.getElementById("input");
-	input.addEventListener("keyup", onKey, false);
-
-	output = document.getElementById("output");
-
-	websocket = new WebSocket("ws://{{.}}/socket");
-	websocket.onmessage = onMessage;
-	websocket.onclose = onClose;
-}
-
-window.addEventListener("load", init, false);
-
-</script>
-</head>
-<body>
-<input id="input" type="text">
-<div id="output"></div>
-</body>
-</html>
-`))
diff --git a/content/2012/chat/both/markov.go b/content/2012/chat/both/markov.go
deleted file mode 100644
index 97dfe41..0000000
--- a/content/2012/chat/both/markov.go
+++ /dev/null
@@ -1,81 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-// This Markov chain code is taken from the "Generating arbitrary text"
-// codewalk: http://golang.org/doc/codewalk/markov/
-
-import (
-	"bytes"
-	"fmt"
-	"math/rand"
-	"strings"
-	"sync"
-)
-
-// Prefix is a Markov chain prefix of one or more words.
-type Prefix []string
-
-// String returns the Prefix as a string (for use as a map key).
-func (p Prefix) String() string {
-	return strings.Join(p, " ")
-}
-
-// Shift removes the first word from the Prefix and appends the given word.
-func (p Prefix) Shift(word string) {
-	copy(p, p[1:])
-	p[len(p)-1] = word
-}
-
-// Chain contains a map ("chain") of prefixes to a list of suffixes.
-// A prefix is a string of prefixLen words joined with spaces.
-// A suffix is a single word. A prefix can have multiple suffixes.
-type Chain struct {
-	chain     map[string][]string
-	prefixLen int
-	mu        sync.Mutex
-}
-
-// NewChain returns a new Chain with prefixes of prefixLen words.
-func NewChain(prefixLen int) *Chain {
-	return &Chain{
-		chain:     make(map[string][]string),
-		prefixLen: prefixLen,
-	}
-}
-
-// Write parses the bytes into prefixes and suffixes that are stored in Chain.
-func (c *Chain) Write(b []byte) (int, error) {
-	br := bytes.NewReader(b)
-	p := make(Prefix, c.prefixLen)
-	for {
-		var s string
-		if _, err := fmt.Fscan(br, &s); err != nil {
-			break
-		}
-		key := p.String()
-		c.mu.Lock()
-		c.chain[key] = append(c.chain[key], s)
-		c.mu.Unlock()
-		p.Shift(s)
-	}
-	return len(b), nil
-}
-
-// Generate returns a string of at most n words generated from Chain.
-func (c *Chain) Generate(n int) string {
-	c.mu.Lock()
-	defer c.mu.Unlock()
-	p := make(Prefix, c.prefixLen)
-	var words []string
-	for i := 0; i < n; i++ {
-		choices := c.chain[p.String()]
-		if len(choices) == 0 {
-			break
-		}
-		next := choices[rand.Intn(len(choices))]
-		words = append(words, next)
-		p.Shift(next)
-	}
-	return strings.Join(words, " ")
-}
diff --git a/content/2012/chat/diagrams.png b/content/2012/chat/diagrams.png
deleted file mode 100644
index 8c8ceac..0000000
--- a/content/2012/chat/diagrams.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/chat/gophers.jpg b/content/2012/chat/gophers.jpg
deleted file mode 100644
index 2158dee..0000000
--- a/content/2012/chat/gophers.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/chat/http-noembed/chat.go b/content/2012/chat/http-noembed/chat.go
deleted file mode 100644
index 095934a..0000000
--- a/content/2012/chat/http-noembed/chat.go
+++ /dev/null
@@ -1,74 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"io"
-	"log"
-	"net/http"
-
-	"golang.org/x/net/websocket"
-)
-
-const listenAddr = "localhost:4000"
-
-func main() {
-	http.HandleFunc("/", rootHandler)
-	http.Handle("/socket", websocket.Handler(socketHandler))
-	err := http.ListenAndServe(listenAddr, nil)
-	if err != nil {
-		log.Fatal(err)
-	}
-}
-
-type socket struct {
-	conn *websocket.Conn
-	done chan bool
-}
-
-func (s socket) Read(b []byte) (int, error)  { return s.conn.Read(b) }
-func (s socket) Write(b []byte) (int, error) { return s.conn.Write(b) }
-
-func (s socket) Close() error {
-	s.done <- true
-	return nil
-}
-
-func socketHandler(ws *websocket.Conn) {
-	s := socket{conn: ws, done: make(chan bool)}
-	go match(s)
-	<-s.done
-}
-
-// END OMIT
-
-var partner = make(chan io.ReadWriteCloser)
-
-func match(c io.ReadWriteCloser) {
-	fmt.Fprint(c, "Waiting for a partner...")
-	select {
-	case partner <- c:
-		// now handled by the other goroutine
-	case p := <-partner:
-		chat(p, c)
-	}
-}
-
-func chat(a, b io.ReadWriteCloser) {
-	fmt.Fprintln(a, "Found one! Say hi.")
-	fmt.Fprintln(b, "Found one! Say hi.")
-	errc := make(chan error, 1)
-	go cp(a, b, errc)
-	go cp(b, a, errc)
-	if err := <-errc; err != nil {
-		log.Println(err)
-	}
-	a.Close()
-	b.Close()
-}
-
-func cp(w io.Writer, r io.Reader, errc chan<- error) {
-	_, err := io.Copy(w, r)
-	errc <- err
-}
diff --git a/content/2012/chat/http-noembed/html.go b/content/2012/chat/http-noembed/html.go
deleted file mode 100644
index b4e1fdc..0000000
--- a/content/2012/chat/http-noembed/html.go
+++ /dev/null
@@ -1,68 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "html/template"
-import "net/http"
-
-func rootHandler(w http.ResponseWriter, r *http.Request) {
-	rootTemplate.Execute(w, listenAddr)
-}
-
-var rootTemplate = template.Must(template.New("root").Parse(`
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8" />
-<script>
-
-var input, output, websocket;
-
-function showMessage(m) {
-	var p = document.createElement("p");
-	p.innerHTML = m;
-	output.appendChild(p);
-}
-
-function onMessage(e) {
-	showMessage(e.data);
-}
-
-function onClose() {
-	showMessage("Connection closed.");
-}
-
-function sendMessage() {
-	var m = input.value;
-	input.value = "";
-	websocket.send(m);
-	showMessage(m);
-}
-
-function onKey(e) {
-	if (e.keyCode == 13) {
-		sendMessage();
-	}
-}
-
-function init() {
-	input = document.getElementById("input");
-	input.addEventListener("keyup", onKey, false);
-
-	output = document.getElementById("output");
-
-	websocket = new WebSocket("ws://{{.}}/socket");
-	websocket.onmessage = onMessage;
-	websocket.onclose = onClose;
-}
-
-window.addEventListener("load", init, false);
-
-</script>
-</head>
-<body>
-<input id="input" type="text">
-<div id="output"></div>
-</body>
-</html>
-`))
diff --git a/content/2012/chat/http/chat.go b/content/2012/chat/http/chat.go
deleted file mode 100644
index 031a518..0000000
--- a/content/2012/chat/http/chat.go
+++ /dev/null
@@ -1,71 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"io"
-	"log"
-	"net/http"
-
-	"golang.org/x/net/websocket"
-)
-
-const listenAddr = "localhost:4000"
-
-func main() {
-	http.HandleFunc("/", rootHandler)
-	http.Handle("/socket", websocket.Handler(socketHandler))
-	err := http.ListenAndServe(listenAddr, nil)
-	if err != nil {
-		log.Fatal(err)
-	}
-}
-
-type socket struct {
-	io.ReadWriter // HL
-	done          chan bool
-}
-
-func (s socket) Close() error {
-	s.done <- true
-	return nil
-}
-
-func socketHandler(ws *websocket.Conn) {
-	s := socket{ws, make(chan bool)} // HL
-	go match(s)
-	<-s.done
-}
-
-// END OMIT
-
-var partner = make(chan io.ReadWriteCloser)
-
-func match(c io.ReadWriteCloser) {
-	fmt.Fprint(c, "Waiting for a partner...")
-	select {
-	case partner <- c:
-		// now handled by the other goroutine
-	case p := <-partner:
-		chat(p, c)
-	}
-}
-
-func chat(a, b io.ReadWriteCloser) {
-	fmt.Fprintln(a, "Found one! Say hi.")
-	fmt.Fprintln(b, "Found one! Say hi.")
-	errc := make(chan error, 1)
-	go cp(a, b, errc)
-	go cp(b, a, errc)
-	if err := <-errc; err != nil {
-		log.Println(err)
-	}
-	a.Close()
-	b.Close()
-}
-
-func cp(w io.Writer, r io.Reader, errc chan<- error) {
-	_, err := io.Copy(w, r)
-	errc <- err
-}
diff --git a/content/2012/chat/http/html.go b/content/2012/chat/http/html.go
deleted file mode 100644
index b4e1fdc..0000000
--- a/content/2012/chat/http/html.go
+++ /dev/null
@@ -1,68 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "html/template"
-import "net/http"
-
-func rootHandler(w http.ResponseWriter, r *http.Request) {
-	rootTemplate.Execute(w, listenAddr)
-}
-
-var rootTemplate = template.Must(template.New("root").Parse(`
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8" />
-<script>
-
-var input, output, websocket;
-
-function showMessage(m) {
-	var p = document.createElement("p");
-	p.innerHTML = m;
-	output.appendChild(p);
-}
-
-function onMessage(e) {
-	showMessage(e.data);
-}
-
-function onClose() {
-	showMessage("Connection closed.");
-}
-
-function sendMessage() {
-	var m = input.value;
-	input.value = "";
-	websocket.send(m);
-	showMessage(m);
-}
-
-function onKey(e) {
-	if (e.keyCode == 13) {
-		sendMessage();
-	}
-}
-
-function init() {
-	input = document.getElementById("input");
-	input.addEventListener("keyup", onKey, false);
-
-	output = document.getElementById("output");
-
-	websocket = new WebSocket("ws://{{.}}/socket");
-	websocket.onmessage = onMessage;
-	websocket.onclose = onClose;
-}
-
-window.addEventListener("load", init, false);
-
-</script>
-</head>
-<body>
-<input id="input" type="text">
-<div id="output"></div>
-</body>
-</html>
-`))
diff --git a/content/2012/chat/markov/chat.go b/content/2012/chat/markov/chat.go
deleted file mode 100644
index 5654f3c..0000000
--- a/content/2012/chat/markov/chat.go
+++ /dev/null
@@ -1,103 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"io"
-	"log"
-	"net/http"
-	"time"
-
-	"golang.org/x/net/websocket"
-)
-
-const listenAddr = "localhost:4000"
-
-func main() {
-	http.HandleFunc("/", rootHandler)
-	http.Handle("/socket", websocket.Handler(socketHandler))
-	err := http.ListenAndServe(listenAddr, nil)
-	if err != nil {
-		log.Fatal(err)
-	}
-}
-
-type socket struct {
-	io.Reader
-	io.Writer
-	done chan bool
-}
-
-func (s socket) Close() error {
-	s.done <- true
-	return nil
-}
-
-var chain = NewChain(2) // 2-word prefixes
-
-func socketHandler(ws *websocket.Conn) {
-	r, w := io.Pipe() // HL
-	go func() {       // HL
-		_, err := io.Copy(io.MultiWriter(w, chain), ws) // HL
-		w.CloseWithError(err)                           // HL
-	}() // HL
-	s := socket{r, ws, make(chan bool)}
-	go match(s)
-	<-s.done
-}
-
-var partner = make(chan io.ReadWriteCloser)
-
-func match(c io.ReadWriteCloser) {
-	fmt.Fprint(c, "Waiting for a partner...")
-	select {
-	case partner <- c:
-		// now handled by the other goroutine
-	case p := <-partner:
-		chat(p, c)
-	case <-time.After(5 * time.Second): // HL
-		chat(Bot(), c) // HL
-	}
-}
-
-func chat(a, b io.ReadWriteCloser) {
-	fmt.Fprintln(a, "Found one! Say hi.")
-	fmt.Fprintln(b, "Found one! Say hi.")
-	errc := make(chan error, 1)
-	go cp(a, b, errc)
-	go cp(b, a, errc)
-	if err := <-errc; err != nil {
-		log.Println(err)
-	}
-	a.Close()
-	b.Close()
-}
-
-func cp(w io.Writer, r io.Reader, errc chan<- error) {
-	_, err := io.Copy(w, r)
-	errc <- err
-}
-
-// Bot returns an io.ReadWriteCloser that responds to
-// each incoming write with a generated sentence.
-func Bot() io.ReadWriteCloser {
-	r, out := io.Pipe() // for outgoing data
-	return bot{r, out}
-}
-
-type bot struct {
-	io.ReadCloser
-	out io.Writer
-}
-
-func (b bot) Write(buf []byte) (int, error) {
-	go b.speak()
-	return len(buf), nil
-}
-
-func (b bot) speak() {
-	time.Sleep(time.Second)
-	msg := chain.Generate(10) // at most 10 words
-	b.out.Write([]byte(msg))
-}
diff --git a/content/2012/chat/markov/html.go b/content/2012/chat/markov/html.go
deleted file mode 100644
index b4e1fdc..0000000
--- a/content/2012/chat/markov/html.go
+++ /dev/null
@@ -1,68 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "html/template"
-import "net/http"
-
-func rootHandler(w http.ResponseWriter, r *http.Request) {
-	rootTemplate.Execute(w, listenAddr)
-}
-
-var rootTemplate = template.Must(template.New("root").Parse(`
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8" />
-<script>
-
-var input, output, websocket;
-
-function showMessage(m) {
-	var p = document.createElement("p");
-	p.innerHTML = m;
-	output.appendChild(p);
-}
-
-function onMessage(e) {
-	showMessage(e.data);
-}
-
-function onClose() {
-	showMessage("Connection closed.");
-}
-
-function sendMessage() {
-	var m = input.value;
-	input.value = "";
-	websocket.send(m);
-	showMessage(m);
-}
-
-function onKey(e) {
-	if (e.keyCode == 13) {
-		sendMessage();
-	}
-}
-
-function init() {
-	input = document.getElementById("input");
-	input.addEventListener("keyup", onKey, false);
-
-	output = document.getElementById("output");
-
-	websocket = new WebSocket("ws://{{.}}/socket");
-	websocket.onmessage = onMessage;
-	websocket.onclose = onClose;
-}
-
-window.addEventListener("load", init, false);
-
-</script>
-</head>
-<body>
-<input id="input" type="text">
-<div id="output"></div>
-</body>
-</html>
-`))
diff --git a/content/2012/chat/markov/markov.go b/content/2012/chat/markov/markov.go
deleted file mode 100644
index 97dfe41..0000000
--- a/content/2012/chat/markov/markov.go
+++ /dev/null
@@ -1,81 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-// This Markov chain code is taken from the "Generating arbitrary text"
-// codewalk: http://golang.org/doc/codewalk/markov/
-
-import (
-	"bytes"
-	"fmt"
-	"math/rand"
-	"strings"
-	"sync"
-)
-
-// Prefix is a Markov chain prefix of one or more words.
-type Prefix []string
-
-// String returns the Prefix as a string (for use as a map key).
-func (p Prefix) String() string {
-	return strings.Join(p, " ")
-}
-
-// Shift removes the first word from the Prefix and appends the given word.
-func (p Prefix) Shift(word string) {
-	copy(p, p[1:])
-	p[len(p)-1] = word
-}
-
-// Chain contains a map ("chain") of prefixes to a list of suffixes.
-// A prefix is a string of prefixLen words joined with spaces.
-// A suffix is a single word. A prefix can have multiple suffixes.
-type Chain struct {
-	chain     map[string][]string
-	prefixLen int
-	mu        sync.Mutex
-}
-
-// NewChain returns a new Chain with prefixes of prefixLen words.
-func NewChain(prefixLen int) *Chain {
-	return &Chain{
-		chain:     make(map[string][]string),
-		prefixLen: prefixLen,
-	}
-}
-
-// Write parses the bytes into prefixes and suffixes that are stored in Chain.
-func (c *Chain) Write(b []byte) (int, error) {
-	br := bytes.NewReader(b)
-	p := make(Prefix, c.prefixLen)
-	for {
-		var s string
-		if _, err := fmt.Fscan(br, &s); err != nil {
-			break
-		}
-		key := p.String()
-		c.mu.Lock()
-		c.chain[key] = append(c.chain[key], s)
-		c.mu.Unlock()
-		p.Shift(s)
-	}
-	return len(b), nil
-}
-
-// Generate returns a string of at most n words generated from Chain.
-func (c *Chain) Generate(n int) string {
-	c.mu.Lock()
-	defer c.mu.Unlock()
-	p := make(Prefix, c.prefixLen)
-	var words []string
-	for i := 0; i < n; i++ {
-		choices := c.chain[p.String()]
-		if len(choices) == 0 {
-			break
-		}
-		next := choices[rand.Intn(len(choices))]
-		words = append(words, next)
-		p.Shift(next)
-	}
-	return strings.Join(words, " ")
-}
diff --git a/content/2012/chat/support/chan.go b/content/2012/chat/support/chan.go
deleted file mode 100644
index fa27d24..0000000
--- a/content/2012/chat/support/chan.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	ch := make(chan int)
-	go fibs(ch)
-	for i := 0; i < 20; i++ {
-		fmt.Println(<-ch)
-	}
-}
-
-func fibs(ch chan int) {
-	i, j := 0, 1
-	for {
-		ch <- j
-		i, j = j, i+j
-	}
-}
diff --git a/content/2012/chat/support/defs.go b/content/2012/chat/support/defs.go
deleted file mode 100644
index 1da4ee4..0000000
--- a/content/2012/chat/support/defs.go
+++ /dev/null
@@ -1,82 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-func Fprintln(w io.Writer, a ...interface{}) (n int, err error)
-
-// Writer is the interface that wraps the basic Write method.
-//
-// Write writes len(p) bytes from p to the underlying data stream. It
-// returns the number of bytes written from p (0 <= n <= len(p)) and any
-// error encountered that caused the write to stop early. Write must return
-// a non-nil error if it returns n < len(p).
-type Writer interface {
-	Write(p []byte) (n int, err error)
-}
-
-// Reader is the interface that wraps the basic Read method.
-//
-// Read reads up to len(p) bytes into p.  It returns the number of bytes
-// read (0 <= n <= len(p)) and any error encountered.  Even if Read
-// returns n < len(p), it may use all of p as scratch space during the call.
-// If some data is available but not len(p) bytes, Read conventionally
-// returns what is available instead of waiting for more.
-//
-// When Read encounters an error or end-of-file condition after
-// successfully reading n > 0 bytes, it returns the number of
-// bytes read.  It may return the (non-nil) error from the same call
-// or return the error (and n == 0) from a subsequent call.
-// An instance of this general case is that a Reader returning
-// a non-zero number of bytes at the end of the input stream may
-// return either err == EOF or err == nil.  The next Read should
-// return 0, EOF regardless.
-//
-// Callers should always process the n > 0 bytes returned before
-// considering the error err.  Doing so correctly handles I/O errors
-// that happen after reading some bytes and also both of the
-// allowed EOF behaviors.
-type Reader interface {
-	Read(p []byte) (n int, err error)
-}
-
-// ReadWriter is the interface that groups the basic Read and Write methods.
-type ReadWriter interface {
-	Reader
-	// contains filtered or unexported methods
-}
-
-// ReadCloser is the interface that groups the basic Read and Close methods.
-type ReadCloser interface {
-	Reader
-	// contains filtered or unexported methods
-}
-
-// ReadWriteCloser is the interface that groups the basic Read, Write and Close methods.
-type ReadWriteCloser interface {
-	Reader
-	// contains filtered or unexported methods
-}
-
-// ReadSeeker is the interface that groups the basic Read and Seek methods.
-type ReadSeeker interface {
-	Reader
-	// contains filtered or unexported methods
-}
-
-// ReadWriteSeeker is the interface that groups the basic Read, Write and Seek methods.
-type ReadWriteSeeker interface {
-	Reader
-	// contains filtered or unexported methods
-}
-
-type Conn interface {
-	Read(b []byte) (n int, err error)
-	Write(b []byte) (n int, err error)
-	Close() error
-	// ... some additional methods omitted ...
-}
-
-// Copy copies from src to dst until either EOF is reached
-// on src or an error occurs.  It returns the number of bytes
-// copied and the first error encountered while copying, if any.
-func Copy(dst Writer, src Reader) (written int64, err error)
diff --git a/content/2012/chat/support/echo-no-concurrency.go b/content/2012/chat/support/echo-no-concurrency.go
deleted file mode 100644
index a6aa2d7..0000000
--- a/content/2012/chat/support/echo-no-concurrency.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"io"
-	"log"
-	"net"
-)
-
-const listenAddr = "localhost:4000"
-
-func main() {
-	l, err := net.Listen("tcp", listenAddr)
-	if err != nil {
-		log.Fatal(err)
-	}
-	for {
-		c, err := l.Accept()
-		if err != nil {
-			log.Fatal(err)
-		}
-		io.Copy(c, c)
-	}
-}
diff --git a/content/2012/chat/support/echo.go b/content/2012/chat/support/echo.go
deleted file mode 100644
index 37dce1e..0000000
--- a/content/2012/chat/support/echo.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"io"
-	"log"
-	"net"
-)
-
-const listenAddr = "localhost:4000"
-
-func main() {
-	l, err := net.Listen("tcp", listenAddr)
-	if err != nil {
-		log.Fatal(err)
-	}
-	for {
-		c, err := l.Accept()
-		if err != nil {
-			log.Fatal(err)
-		}
-		go io.Copy(c, c)
-	}
-}
diff --git a/content/2012/chat/support/embed.go b/content/2012/chat/support/embed.go
deleted file mode 100644
index fdecb21..0000000
--- a/content/2012/chat/support/embed.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-type A struct{}
-
-func (A) Hello() {
-	fmt.Println("Hello!")
-}
-
-type B struct {
-	A
-}
-
-// func (b B) Hello() { b.A.Hello() } // (implicitly!)
-
-func main() {
-	var b B
-	b.Hello()
-}
diff --git a/content/2012/chat/support/goroutines.go b/content/2012/chat/support/goroutines.go
deleted file mode 100644
index b86d97b..0000000
--- a/content/2012/chat/support/goroutines.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func main() {
-	go say("let's go!", 3)
-	go say("ho!", 2)
-	go say("hey!", 1)
-	time.Sleep(4 * time.Second)
-}
-
-func say(text string, secs int) {
-	time.Sleep(time.Duration(secs) * time.Second)
-	fmt.Println(text)
-}
diff --git a/content/2012/chat/support/hello-net.go b/content/2012/chat/support/hello-net.go
deleted file mode 100644
index 298e5c7..0000000
--- a/content/2012/chat/support/hello-net.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"log"
-	"net"
-)
-
-const listenAddr = "localhost:4000"
-
-func main() {
-	l, err := net.Listen("tcp", listenAddr)
-	if err != nil {
-		log.Fatal(err)
-	}
-	for {
-		c, err := l.Accept()
-		if err != nil {
-			log.Fatal(err)
-		}
-		fmt.Fprintln(c, "Hello!")
-		c.Close()
-	}
-}
diff --git a/content/2012/chat/support/hello-web.go b/content/2012/chat/support/hello-web.go
deleted file mode 100644
index 020fb48..0000000
--- a/content/2012/chat/support/hello-web.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"log"
-	"net/http"
-)
-
-const listenAddr = "localhost:4000"
-
-func main() {
-	http.HandleFunc("/", handler)
-	err := http.ListenAndServe(listenAddr, nil)
-	if err != nil {
-		log.Fatal(err)
-	}
-}
-
-func handler(w http.ResponseWriter, r *http.Request) {
-	fmt.Fprint(w, "Hello, web")
-}
diff --git a/content/2012/chat/support/hello.go b/content/2012/chat/support/hello.go
deleted file mode 100644
index 0757c53..0000000
--- a/content/2012/chat/support/hello.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Println("Hello, go")
-}
diff --git a/content/2012/chat/support/markov.txt b/content/2012/chat/support/markov.txt
deleted file mode 100644
index 8d84c04..0000000
--- a/content/2012/chat/support/markov.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-Source
-"I am not a number! I am a free man!"
-
-Prefix           Suffix 
-"" ""            "I"
-"" "I"           "am"
-"I" "am"         "a"
-"I" "am"         "not"
-"a" "free"       "man!"
-"am" "a"         "free"
-"am" "not"       "a"
-"a" "number!"    "I"
-"number!" "I"    "am"
-"not" "a"        "number!"
-
-Generated sentences beginning with the prefix "I am"
-"I am a free man!"
-"I am not a number! I am a free man!"
-"I am not a number! I am not a number! I am a free man!"
-"I am not a number! I am not a number! I am not a number! I am a free man!"
-
diff --git a/content/2012/chat/support/select.go b/content/2012/chat/support/select.go
deleted file mode 100644
index b236f41..0000000
--- a/content/2012/chat/support/select.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func main() {
-	ticker := time.NewTicker(time.Millisecond * 250)
-	boom := time.After(time.Second * 1)
-	for {
-		select {
-		case <-ticker.C:
-			fmt.Println("tick")
-		case <-boom:
-			fmt.Println("boom!")
-			return
-		}
-	}
-}
diff --git a/content/2012/chat/support/websocket.go b/content/2012/chat/support/websocket.go
deleted file mode 100644
index 5b056ca..0000000
--- a/content/2012/chat/support/websocket.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"golang.org/x/net/websocket"
-	"net/http"
-)
-
-func main() {
-	http.Handle("/", websocket.Handler(handler))
-	http.ListenAndServe("localhost:4000", nil)
-}
-
-func handler(c *websocket.Conn) {
-	var s string
-	fmt.Fscan(c, &s)
-	fmt.Println("Received:", s)
-	fmt.Fprint(c, "How do you do?")
-}
diff --git a/content/2012/chat/support/websocket.js b/content/2012/chat/support/websocket.js
deleted file mode 100644
index f9809d6..0000000
--- a/content/2012/chat/support/websocket.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var sock = new WebSocket("ws://localhost:4000/");
-sock.onmessage = function(m) { console.log("Received:", m.data); }
-sock.send("Hello!\n")
diff --git a/content/2012/chat/tcp-simple/chat.go b/content/2012/chat/tcp-simple/chat.go
deleted file mode 100644
index 9333691..0000000
--- a/content/2012/chat/tcp-simple/chat.go
+++ /dev/null
@@ -1,45 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"io"
-	"log"
-	"net"
-)
-
-const listenAddr = "localhost:4000"
-
-func main() {
-	l, err := net.Listen("tcp", listenAddr)
-	if err != nil {
-		log.Fatal(err)
-	}
-	for {
-		c, err := l.Accept()
-		if err != nil {
-			log.Fatal(err)
-		}
-		go match(c) // HL
-	}
-}
-
-var partner = make(chan io.ReadWriteCloser)
-
-func match(c io.ReadWriteCloser) {
-	fmt.Fprint(c, "Waiting for a partner...")
-	select {
-	case partner <- c:
-		// now handled by the other goroutine
-	case p := <-partner:
-		chat(p, c)
-	}
-}
-
-func chat(a, b io.ReadWriteCloser) {
-	fmt.Fprintln(a, "Found one! Say hi.")
-	fmt.Fprintln(b, "Found one! Say hi.")
-	go io.Copy(a, b)
-	io.Copy(b, a)
-}
diff --git a/content/2012/chat/tcp/chat.go b/content/2012/chat/tcp/chat.go
deleted file mode 100644
index c07fa27..0000000
--- a/content/2012/chat/tcp/chat.go
+++ /dev/null
@@ -1,56 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"io"
-	"log"
-	"net"
-)
-
-const listenAddr = "localhost:4000"
-
-func main() {
-	l, err := net.Listen("tcp", listenAddr)
-	if err != nil {
-		log.Fatal(err)
-	}
-	for {
-		c, err := l.Accept()
-		if err != nil {
-			log.Fatal(err)
-		}
-		go match(c)
-	}
-}
-
-var partner = make(chan io.ReadWriteCloser)
-
-func match(c io.ReadWriteCloser) {
-	fmt.Fprint(c, "Waiting for a partner...")
-	select {
-	case partner <- c:
-		// now handled by the other goroutine
-	case p := <-partner:
-		chat(p, c)
-	}
-}
-
-func chat(a, b io.ReadWriteCloser) {
-	fmt.Fprintln(a, "Found one! Say hi.")
-	fmt.Fprintln(b, "Found one! Say hi.")
-	errc := make(chan error, 1)
-	go cp(a, b, errc)
-	go cp(b, a, errc)
-	if err := <-errc; err != nil {
-		log.Println(err)
-	}
-	a.Close()
-	b.Close()
-}
-
-func cp(w io.Writer, r io.Reader, errc chan<- error) {
-	_, err := io.Copy(w, r)
-	errc <- err
-}
diff --git a/content/2012/concurrency.slide b/content/2012/concurrency.slide
deleted file mode 100644
index 2d2f3d1..0000000
--- a/content/2012/concurrency.slide
+++ /dev/null
@@ -1,467 +0,0 @@
-Go Concurrency Patterns
-
-Rob Pike
-Google
-http://golang.org/s/plusrob
-@rob_pike
-http://golang.org
-
-* Video
-
-This talk was presented at Google I/O in June 2012.
-
-.link http://www.youtube.com/watch?v=f6kdp27TYZs Watch the talk on YouTube
-
-* Introduction
-
-* Concurrency features in Go
-
-People seemed fascinated by the concurrency features of Go when the language was first announced.
-
-Questions:
-
-- Why is concurrency supported?
-- What is concurrency, anyway?
-- Where does the idea come from?
-- What is it good for?
-- How do I use it?
-
-* Why?
-
-Look around you. What do you see?
-
-Do you see a single-stepping world doing one thing at a time?
-
-Or do you see a complex world of interacting, independently behaving pieces?
-
-That's why. Sequential processing on its own does not model the world's behavior.
-
-* What is concurrency?
-
-Concurrency is the composition of independently executing computations.
-
-Concurrency is a way to structure software, particularly as a way to write clean code that interacts well with the real world.
-
-It is not parallelism.
-
-* Concurrency is not parallelism
-
-Concurrency is not parallelism, although it enables parallelism.
-
-If you have only one processor, your program can still be concurrent  but it cannot be parallel.
-
-On the other hand, a well-written concurrent program might run efficiently in parallel on a multiprocessor. That property could be important...
-
-For more on that distinction, see the link below. Too much to discuss here.
-
-.link http://golang.org/s/concurrency-is-not-parallelism
-
-* A model for software construction
-
-Easy to understand.
-
-Easy to use.
-
-Easy to reason about.
-
-You don't need to be an expert!
-
-(Much nicer than dealing with the minutiae of parallelism (threads, semaphores, locks, barriers, etc.))
-
-* History
-
-To many, the concurrency features of Go seemed new.
-
-But they are rooted in a long history, reaching back to Hoare's CSP in 1978 and even Dijkstra's guarded commands (1975).
-
-Languages with similar features:
-
-- Occam (May, 1983)
-- Erlang (Armstrong, 1986)
-- Newsqueak (Pike, 1988)
-- Concurrent ML (Reppy, 1993)
-- Alef (Winterbottom, 1995)
-- Limbo (Dorward, Pike, Winterbottom, 1996).
-
-* Distinction
-
-Go is the latest on the Newsqueak-Alef-Limbo branch, distinguished by first-class channels.
-
-Erlang is closer to the original CSP, where you communicate to a process by name rather than over a channel.
-
-The models are equivalent but express things differently.
-
-Rough analogy: writing to a file by name (process, Erlang) vs. writing to a file descriptor (channel, Go).
-
-* Basic Examples
-
-* A boring function
-
-We need an example to show the interesting properties of the concurrency primitives.
-
-To avoid distraction, we make it a boring example.
-
-.play concurrency/support/boring.go /START/,/STOP.*/
-
-* Slightly less boring
-
-Make the intervals between messages unpredictable (still under a second).
-
-.play concurrency/support/lessboring.go /START/,/STOP/
-
-* Running it
-
-The boring function runs on forever, like a boring party guest.
-
-.play concurrency/support/lessboring.go /^func.main/,$
-
-* Ignoring it
-
-The go statement runs the function as usual, but doesn't make the caller wait.
-
-It launches a goroutine.
-
-The functionality is analogous to the & on the end of a shell command.
-
-.play concurrency/support/goboring.go 1,/^}/
-
-* Ignoring it a little less
-
-When main returns, the program exits and takes the boring function down with it.
-
-We can hang around a little, and on the way show that both main and the launched goroutine are running.
-
-.play concurrency/support/waitgoboring.go /func.main/,/^}/
-
-* Goroutines
-
-What is a goroutine? It's an independently executing function, launched by a go statement.
-
-It has its own call stack, which grows and shrinks as required.
-
-It's very cheap. It's practical to have thousands, even hundreds of thousands of goroutines.
-
-It's not a thread.
-
-There might be only one thread in a program with thousands of goroutines.
-
-Instead, goroutines are multiplexed dynamically onto threads as needed to keep all the goroutines running.
-
-But if you think of it as a very cheap thread, you won't be far off.
-
-* Communication
-
-Our boring examples cheated: the main function couldn't see the output from the other goroutine.
-
-It was just printed to the screen, where we pretended we saw a conversation.
-
-Real conversations require communication.
-
-* Channels
-
-A channel in Go provides a connection between two goroutines, allowing them to communicate.
-
-.code concurrency/support/helpers.go /START1/,/STOP1/
-.code concurrency/support/helpers.go /START2/,/STOP2/
-.code concurrency/support/helpers.go /START3/,/STOP3/
-
-* Using channels
-
-A channel connects the main and boring goroutines so they can communicate.
-
-.play concurrency/support/changoboring.go /START1/,/STOP1/
-.code concurrency/support/changoboring.go /START2/,/STOP2/
-
-* Synchronization
-
-When the main function executes <–c, it will wait for a value to be sent.
-
-Similarly, when the boring function executes c <– value, it waits for a receiver to be ready.
-
-A sender and receiver must both be ready to play their part in the communication. Otherwise we wait until they are.
-
-Thus channels both communicate and synchronize.
-
-* An aside about buffered channels
-
-Note for experts: Go channels can also be created with a buffer.
-
-Buffering removes synchronization.
-
-Buffering makes them more like Erlang's mailboxes.
-
-Buffered channels can be important for some problems but they are more subtle to reason about.
-
-We won't need them today.
-
-* The Go approach
-
-Don't communicate by sharing memory, share memory by communicating.
-
-* "Patterns"
-
-* Generator: function that returns a channel
-
-Channels are first-class values, just like strings or integers.
-
-.play concurrency/support/generatorboring.go /START1/,/STOP1/
-.code concurrency/support/generatorboring.go /START2/,/STOP2/
-
-* Channels as a handle on a service
-
-Our boring function returns a channel that lets us communicate with the boring service it provides.
-
-We can have more instances of the service.
-
-.play concurrency/support/generator2boring.go /START1/,/STOP1/
-
-* Multiplexing
-
-These programs make Joe and Ann count in lockstep.
-We can instead use a fan-in function to let whosoever is ready talk.
-
-.code concurrency/support/faninboring.go /START3/,/STOP3/
-.play concurrency/support/faninboring.go /START1/,/STOP1/
-
-* Fan-in
-
-.image concurrency/images/gophermegaphones.jpg
-
-* Restoring sequencing
-
-Send a channel on a channel, making goroutine wait its turn.
-
-Receive all messages, then enable them again by sending on a private channel.
-
-First we define a message type that contains a channel for the reply.
-
-.code concurrency/support/sequenceboring.go /START0/,/STOP0/
-
-* Restoring sequencing.
-
-Each speaker must wait for a go-ahead.
-
-.code concurrency/support/sequenceboring.go /START1/,/STOP1/
-.code concurrency/support/sequenceboring.go /START2/,/STOP2/
-.play concurrency/support/sequenceboring.go /START3/,/STOP3/
-
-* Select
-
-A control structure unique to concurrency.
-
-The reason channels and goroutines are built into the language.
-
-* Select
-
-The select statement provides another way to handle multiple channels.
-It's like a switch, but each case is a communication:
-- All channels are evaluated.
-- Selection blocks until one communication can proceed, which then does.
-- If multiple can proceed, select chooses pseudo-randomly.
-- A default clause, if present, executes immediately if no channel is ready.
-
-.code concurrency/support/select.go /START0/,/STOP0/
-
-* Fan-in again
-
-Rewrite our original fanIn function. Only one goroutine is needed. Old:
-
-.code concurrency/support/faninboring.go /START3/,/STOP3/
-
-* Fan-in using select
-
-Rewrite our original fanIn function. Only one goroutine is needed. New:
-
-.play concurrency/support/selectboring.go /START3/,/STOP3/
-
-* Timeout using select
-
-The time.After function returns a channel that blocks for the specified duration.
-After the interval, the channel delivers the current time, once.
-
-.play concurrency/support/timeout.go /START1/,/STOP1/
-
-* Timeout for whole conversation using select
-
-Create the timer once, outside the loop, to time out the entire conversation.
-(In the previous program, we had a timeout for each message.)
-
-.play concurrency/support/timeoutall.go /START1/,/STOP1/
-
-
-* Quit channel
-
-We can turn this around and tell Joe to stop when we're tired of listening to him.
-
-.code concurrency/support/quit.go /START1/,/STOP1/
-.play concurrency/support/quit.go /START2/,/STOP2/
-
-
-* Receive on quit channel
-
-How do we know it's finished? Wait for it to tell us it's done: receive on the quit channel
-
-.code concurrency/support/rcvquit.go /START1/,/STOP1/
-.play concurrency/support/rcvquit.go /START2/,/STOP2/
-
-* Daisy-chain
-
-.play concurrency/support/daisy.go /func/,$
-
-* Chinese whispers, gopher style
-
-.image concurrency/images/gophereartrumpet.jpg
-
-* Systems software
-
-Go was designed for writing systems software.
-Let's see how the concurrency features come into play.
-
-* Example: Google Search
-	
-Q: What does Google search do?
-
-A: Given a query, return a page of search results (and some ads).
-
-Q: How do we get the search results?
-
-A: Send the query to Web search, Image search, YouTube, Maps, News,etc., then mix the results.
-
-How do we implement this?
-
-* Google Search: A fake framework
-
-We can simulate the search function, much as we simulated conversation before.
-
-.code concurrency/support/google.go /START2/,/STOP2/
-
-* Google Search: Test the framework
-
-.play concurrency/support/google.go /func.main/,/}/
-
-* Google Search 1.0
-
-The Google function takes a query and returns a slice of Results (which are just strings).
-
-Google invokes Web, Image, and Video searches serially, appending them to the results slice.
-
-.play concurrency/support/google.go /START1/,/STOP1/
-
-* Google Search 2.0
-
-Run the Web, Image, and Video searches concurrently, and wait for all results.
-
-No locks.  No condition variables.  No callbacks.
-
-.play concurrency/support/google2.1.go /Google/,/^}/
-
-* Google Search 2.1
-
-Don't wait for slow servers. No locks.  No condition variables.  No callbacks.
-
-.play concurrency/support/google2.2.go /START/,/STOP/
-
-* Avoid timeout
-
-Q: How do we avoid discarding results from slow servers?
-
-A: Replicate the servers.  Send requests to multiple replicas, and use the first response.
-
-.code concurrency/support/google2.3.go /START1/,/STOP1/
-
-* Using the First function
-
-.play concurrency/support/google2.3.go /START2/,/STOP2/
-
-* Google Search 3.0
-
-Reduce tail latency using replicated search servers.
-
-.play concurrency/support/google3.0.go /START/,/STOP/
-
-* And still…
-
-No locks.  No condition variables.  No callbacks.
-
-* Summary
-
-In just a few simple transformations we used Go's concurrency primitives to convert a
-
-- slow
-- sequential
-- failure-sensitive
-
-program into one that is
-
-- fast
-- concurrent
-- replicated
-- robust.
-
-* More party tricks
-
-There are endless ways to use these tools, many presented elsewhere.
-
-Chatroulette toy:
-
-.link http://golang.org/s/chat-roulette
-
-Load balancer:
-
-.link http://golang.org/s/load-balancer
-
-Concurrent prime sieve:
-
-.link http://golang.org/s/prime-sieve
-
-Concurrent power series (by McIlroy):
-
-.link http://golang.org/s/power-series
-
-* Don't overdo it
-
-They're fun to play with, but don't overuse these ideas.
-
-Goroutines and channels are big ideas. They're tools for program construction.
-
-But sometimes all you need is a reference counter.
-
-Go has "sync" and "sync/atomic" packages that provide mutexes, condition variables, etc. They provide tools for smaller problems.
-
-Often, these things will work together to solve a bigger problem.
-
-Always use the right tool for the job.
-
-* Conclusions
-
-Goroutines and channels make it easy to express complex operations dealing with
-
-- multiple inputs
-- multiple outputs
-- timeouts
-- failure
-
-And they're fun to use.
-
-
-* Links
-
-Go Home Page:
-
-.link http://golang.org
-
-Go Tour (learn Go in your browser)
-
-.link http://tour.golang.org
-
-Package documentation:
-
-.link http://golang.org/pkg
-
-Articles galore:
-
-.link http://golang.org/doc
-
-Concurrency is not parallelism:
-
-.link http://golang.org/s/concurrency-is-not-parallelism
diff --git a/content/2012/concurrency/images/gophereartrumpet.jpg b/content/2012/concurrency/images/gophereartrumpet.jpg
deleted file mode 100644
index 87f8571..0000000
--- a/content/2012/concurrency/images/gophereartrumpet.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/concurrency/images/gophermegaphones.jpg b/content/2012/concurrency/images/gophermegaphones.jpg
deleted file mode 100644
index 2bf6873..0000000
--- a/content/2012/concurrency/images/gophermegaphones.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/concurrency/support/boring.go b/content/2012/concurrency/support/boring.go
deleted file mode 100644
index b049ee0..0000000
--- a/content/2012/concurrency/support/boring.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func main() {
-	boring("boring!")
-}
-
-// START OMIT
-func boring(msg string) {
-	for i := 0; ; i++ {
-		fmt.Println(msg, i)
-		time.Sleep(time.Second)
-	}
-}
-// STOP OMIT
diff --git a/content/2012/concurrency/support/changoboring.go b/content/2012/concurrency/support/changoboring.go
deleted file mode 100644
index f534359..0000000
--- a/content/2012/concurrency/support/changoboring.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-// START1 OMIT
-func main() {
-	c := make(chan string)
-	go boring("boring!", c)
-	for i := 0; i < 5; i++ {
-		fmt.Printf("You say: %q\n", <-c) // Receive expression is just a value. // HL
-	}
-	fmt.Println("You're boring; I'm leaving.")
-}
-// STOP1 OMIT
-
-// START2 OMIT
-func boring(msg string, c chan string) {
-	for i := 0; ; i++ {
-		c <- fmt.Sprintf("%s %d", msg, i) // Expression to be sent can be any suitable value. // HL
-		time.Sleep(time.Duration(rand.Intn(1e3)) * time.Millisecond)
-	}
-}
-// STOP2 OMIT
-
diff --git a/content/2012/concurrency/support/chat.go b/content/2012/concurrency/support/chat.go
deleted file mode 100644
index 200451a..0000000
--- a/content/2012/concurrency/support/chat.go
+++ /dev/null
@@ -1,45 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"io"
-	"log"
-	"net"
-)
-
-const listenAddr = "localhost:4000"
-
-func main() {
-	l, err := net.Listen("tcp", listenAddr)
-	if err != nil {
-		log.Fatal(err)
-	}
-	for {
-		c, err := l.Accept()
-		if err != nil {
-			log.Fatal(err)
-		}
-		go match(c)
-	}
-}
-
-var partner = make(chan io.ReadWriteCloser)
-
-func match(c io.ReadWriteCloser) {
-	fmt.Fprint(c, "Waiting for a partner...")
-	select {
-	case partner <- c:
-		// now handled by the other goroutine
-	case p := <-partner:
-		chat(p, c)
-	}
-}
-
-func chat(a, b io.ReadWriteCloser) {
-	fmt.Fprintln(a, "Found one! Say hi.")
-	fmt.Fprintln(b, "Found one! Say hi.")
-	go io.Copy(a, b)
-	io.Copy(b, a)
-}
diff --git a/content/2012/concurrency/support/daisy.go b/content/2012/concurrency/support/daisy.go
deleted file mode 100644
index 0f39812..0000000
--- a/content/2012/concurrency/support/daisy.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func f(left, right chan int) {
-	left <- 1 + <-right
-}
-
-func main() {
-	const n = 10000
-	leftmost := make(chan int)
-	right := leftmost
-	left := leftmost
-	for i := 0; i < n; i++ {
-		right = make(chan int)
-		go f(left, right)
-		left = right
-	}
-	go func(c chan int) { c <- 1 }(right)
-	fmt.Println(<-leftmost)
-}
diff --git a/content/2012/concurrency/support/faninboring.go b/content/2012/concurrency/support/faninboring.go
deleted file mode 100644
index 08b3d80..0000000
--- a/content/2012/concurrency/support/faninboring.go
+++ /dev/null
@@ -1,42 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-// START1 OMIT
-func main() {
-	c := fanIn(boring("Joe"), boring("Ann")) // HL
-	for i := 0; i < 10; i++ {
-		fmt.Println(<-c) // HL
-	}
-	fmt.Println("You're both boring; I'm leaving.")
-}
-// STOP1 OMIT
-
-// START2 OMIT
-func boring(msg string) <-chan string { // Returns receive-only channel of strings. // HL
-	c := make(chan string)
-	go func() { // We launch the goroutine from inside the function. // HL
-		for i := 0; ; i++ {
-			c <- fmt.Sprintf("%s: %d", msg, i)
-			time.Sleep(time.Duration(rand.Intn(2e3)) * time.Millisecond)
-		}
-	}()
-	return c // Return the channel to the caller. // HL
-}
-// STOP2 OMIT
-
-
-// START3 OMIT
-func fanIn(input1, input2 <-chan string) <-chan string { // HL
-	c := make(chan string)
-	go func() { for { c <- <-input1 } }() // HL
-	go func() { for { c <- <-input2 } }() // HL
-	return c
-}
-// STOP3 OMIT
diff --git a/content/2012/concurrency/support/generator2boring.go b/content/2012/concurrency/support/generator2boring.go
deleted file mode 100644
index 45be6f8..0000000
--- a/content/2012/concurrency/support/generator2boring.go
+++ /dev/null
@@ -1,35 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-// START1 OMIT
-func main() {
-	joe := boring("Joe") // HL
-	ann := boring("Ann") // HL
-	for i := 0; i < 5; i++ {
-		fmt.Println(<-joe)
-		fmt.Println(<-ann)
-	}
-	fmt.Println("You're both boring; I'm leaving.")
-}
-// STOP1 OMIT
-
-// START2 OMIT
-func boring(msg string) <-chan string { // Returns receive-only channel of strings. // HL
-	c := make(chan string)
-	go func() { // We launch the goroutine from inside the function. // HL
-		for i := 0; ; i++ {
-			c <- fmt.Sprintf("%s: %d", msg, i)
-			time.Sleep(time.Duration(rand.Intn(1e3)) * time.Millisecond)
-		}
-	}()
-	return c // Return the channel to the caller. // HL
-}
-// STOP2 OMIT
-
diff --git a/content/2012/concurrency/support/generatorboring.go b/content/2012/concurrency/support/generatorboring.go
deleted file mode 100644
index eeae3ca..0000000
--- a/content/2012/concurrency/support/generatorboring.go
+++ /dev/null
@@ -1,33 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func main() {
-// START1 OMIT
-	c := boring("boring!") // Function returning a channel. // HL
-	for i := 0; i < 5; i++ {
-		fmt.Printf("You say: %q\n", <-c)
-	}
-	fmt.Println("You're boring; I'm leaving.")
-// STOP1 OMIT
-}
-
-// START2 OMIT
-func boring(msg string) <-chan string { // Returns receive-only channel of strings. // HL
-	c := make(chan string)
-	go func() { // We launch the goroutine from inside the function. // HL
-		for i := 0; ; i++ {
-			c <- fmt.Sprintf("%s %d", msg, i)
-			time.Sleep(time.Duration(rand.Intn(1e3)) * time.Millisecond)
-		}
-	}()
-	return c // Return the channel to the caller. // HL
-}
-// STOP2 OMIT
-
diff --git a/content/2012/concurrency/support/goboring.go b/content/2012/concurrency/support/goboring.go
deleted file mode 100644
index e28b6a3..0000000
--- a/content/2012/concurrency/support/goboring.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func main() {
-	go boring("boring!") // HL
-}
-// STOP OMIT
-
-func boring(msg string) {
-	for i := 0; ; i++ {
-		fmt.Println(msg, i)
-		time.Sleep(time.Duration(rand.Intn(1e3)) * time.Millisecond)
-	}
-}
diff --git a/content/2012/concurrency/support/google.go b/content/2012/concurrency/support/google.go
deleted file mode 100644
index 10089d3..0000000
--- a/content/2012/concurrency/support/google.go
+++ /dev/null
@@ -1,47 +0,0 @@
-
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-type Result string
-
-// START1 OMIT
-func Google(query string) (results []Result) {
-	results = append(results, Web(query))
-	results = append(results, Image(query))
-	results = append(results, Video(query))
-	return
-}
-// STOP1 OMIT
-
-// START2 OMIT
-var (
-	Web = fakeSearch("web")
-	Image = fakeSearch("image")
-	Video = fakeSearch("video")
-)
-
-type Search func(query string) Result // HL
-
-func fakeSearch(kind string) Search {
-        return func(query string) Result {
-	          time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond)
-	          return Result(fmt.Sprintf("%s result for %q\n", kind, query))
-        }
-}
-// STOP2 OMIT
-
-func main() {
-	rand.Seed(time.Now().UnixNano())
-	start := time.Now()
-	results := Google("golang") // HL
-	elapsed := time.Since(start)
-	fmt.Println(results)
-	fmt.Println(elapsed)
-}
diff --git a/content/2012/concurrency/support/google2.1.go b/content/2012/concurrency/support/google2.1.go
deleted file mode 100644
index 53be753..0000000
--- a/content/2012/concurrency/support/google2.1.go
+++ /dev/null
@@ -1,50 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-type Result string
-type Search func(query string) Result
-
-var (
-	Web = fakeSearch("web")
-	Image = fakeSearch("image")
-	Video = fakeSearch("video")
-)
-
-
-func Google(query string) (results []Result) {
-	c := make(chan Result)
-	go func() { c <- Web(query) } ()
-	go func() { c <- Image(query) } ()
-	go func() { c <- Video(query) } ()
-
-	for i := 0; i < 3; i++ {
-		result := <-c
-		results = append(results, result)
-	}
-	return
-}
-
-func fakeSearch(kind string) Search {
-        return func(query string) Result {
-	          time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond)
-	          return Result(fmt.Sprintf("%s result for %q\n", kind, query))
-        }
-}
-
-func main() {
-	rand.Seed(time.Now().UnixNano())
-	start := time.Now()
-	results := Google("golang")
-	elapsed := time.Since(start)
-	fmt.Println(results)
-	fmt.Println(elapsed)
-}
-
-
diff --git a/content/2012/concurrency/support/google2.2.go b/content/2012/concurrency/support/google2.2.go
deleted file mode 100644
index 2dac79f..0000000
--- a/content/2012/concurrency/support/google2.2.go
+++ /dev/null
@@ -1,56 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-type Result string
-type Search func(query string) Result
-
-var (
-	Web = fakeSearch("web")
-	Image = fakeSearch("image")
-	Video = fakeSearch("video")
-)
-
-func Google(query string) (results []Result) {
-// START OMIT
-	c := make(chan Result)
-	go func() { c <- Web(query) } ()
-	go func() { c <- Image(query) } ()
-	go func() { c <- Video(query) } ()
-
-	timeout := time.After(80 * time.Millisecond)
-	for i := 0; i < 3; i++ {
-		select {
-		case result := <-c:
-			results = append(results, result)
-		case <-timeout:
-			fmt.Println("timed out")
-			return
-		}
-	}
-	return
-// STOP OMIT
-}
-
-func fakeSearch(kind string) Search {
-        return func(query string) Result {
-	          time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond)
-	          return Result(fmt.Sprintf("%s result for %q\n", kind, query))
-        }
-}
-
-func main() {
-	rand.Seed(time.Now().UnixNano())
-	start := time.Now()
-	results := Google("golang")
-	elapsed := time.Since(start)
-	fmt.Println(results)
-	fmt.Println(elapsed)
-}
-
diff --git a/content/2012/concurrency/support/google2.3.go b/content/2012/concurrency/support/google2.3.go
deleted file mode 100644
index 9382430..0000000
--- a/content/2012/concurrency/support/google2.3.go
+++ /dev/null
@@ -1,44 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-type Result string
-type Search func(query string) Result
-
-// START1 OMIT
-func First(query string, replicas ...Search) Result {
-	c := make(chan Result)
-	searchReplica := func(i int) { c <- replicas[i](query) }
-	for i := range replicas {
-		go searchReplica(i)
-	}
-	return <-c
-}
-// STOP1 OMIT
-
-// START2 OMIT
-func main() {
-	rand.Seed(time.Now().UnixNano())
-	start := time.Now()
-	result := First("golang",
-		fakeSearch("replica 1"),
-		fakeSearch("replica 2"))
-	elapsed := time.Since(start)
-	fmt.Println(result)
-	fmt.Println(elapsed)
-}
-// STOP2 OMIT
-
-func fakeSearch(kind string) Search {
-        return func(query string) Result {
-	          time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond)
-	          return Result(fmt.Sprintf("%s result for %q\n", kind, query))
-        }
-}
-
diff --git a/content/2012/concurrency/support/google3.0.go b/content/2012/concurrency/support/google3.0.go
deleted file mode 100644
index 4188fcd..0000000
--- a/content/2012/concurrency/support/google3.0.go
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-type Result string
-type Search func(query string) Result
-
-var (
-	Web1 = fakeSearch("web1")
-        Web2 = fakeSearch("web2")
-	Image1 = fakeSearch("image1")
-	Image2 = fakeSearch("image2")
-	Video1 = fakeSearch("video1")
-	Video2 = fakeSearch("video2")
-)
-
-func Google(query string) (results []Result) {
-// START OMIT
-	c := make(chan Result)
-	go func() { c <- First(query, Web1, Web2) } ()
-	go func() { c <- First(query, Image1, Image2) } ()
-	go func() { c <- First(query, Video1, Video2) } ()
-	timeout := time.After(80 * time.Millisecond)
-	for i := 0; i < 3; i++ {
-		select {
-		case result := <-c:
-			results = append(results, result)
-		case <-timeout:
-			fmt.Println("timed out")
-			return
-		}
-	}
-	return
-// STOP OMIT
-}
-
-func First(query string, replicas ...Search) Result {
-	c := make(chan Result)
-	searchReplica := func(i int) {
-		c <- replicas[i](query)
-	}
-	for i := range replicas {
-		go searchReplica(i)
-	}
-        return <-c
-}
-
-func fakeSearch(kind string) Search {
-        return func(query string) Result {
-	          time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond)
-	          return Result(fmt.Sprintf("%s result for %q\n", kind, query))
-        }
-}
-
-func main() {
-	rand.Seed(time.Now().UnixNano())
-	start := time.Now()
-	results := Google("golang")
-	elapsed := time.Since(start)
-	fmt.Println(results)
-	fmt.Println(elapsed)
-}
diff --git a/content/2012/concurrency/support/helpers.go b/content/2012/concurrency/support/helpers.go
deleted file mode 100644
index a10c9cb..0000000
--- a/content/2012/concurrency/support/helpers.go
+++ /dev/null
@@ -1,28 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-func main() {
-	var value int
-
-	// START1 OMIT
-	// Declaring and initializing.
-	var c chan int
-	c = make(chan int)
-	// or
-	c := make(chan int) // HL
-	// STOP1 OMIT
-
-	// START2 OMIT
-	// Sending on a channel.
-	c <- 1 // HL
-	// STOP2 OMIT
-
-	// START3 OMIT
-	// Receiving from a channel.
-	// The "arrow" indicates the direction of data flow.
-	value = <-c // HL
-	// STOP3 OMIT
-
-	_ = value
-}
diff --git a/content/2012/concurrency/support/lessboring.go b/content/2012/concurrency/support/lessboring.go
deleted file mode 100644
index 5549d51..0000000
--- a/content/2012/concurrency/support/lessboring.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func main() {
-	boring("boring!") // HL
-}
-
-// START OMIT
-func boring(msg string) {
-	for i := 0; ; i++ {
-		fmt.Println(msg, i)
-		time.Sleep(time.Duration(rand.Intn(1e3)) * time.Millisecond)
-	}
-}
-// STOP OMIT
diff --git a/content/2012/concurrency/support/mainboring.go b/content/2012/concurrency/support/mainboring.go
deleted file mode 100644
index 31f1c1e..0000000
--- a/content/2012/concurrency/support/mainboring.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func main() {
-	boring("boring!")
-}
-// STOP OMIT
-
-func boring(msg string) {
-	for i := 0; ; i++ {
-		fmt.Println(msg, i)
-		time.Sleep(time.Duration(rand.Intn(1e3)) * time.Millisecond)
-	}
-}
diff --git a/content/2012/concurrency/support/quit.go b/content/2012/concurrency/support/quit.go
deleted file mode 100644
index 9e16caf..0000000
--- a/content/2012/concurrency/support/quit.go
+++ /dev/null
@@ -1,36 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func main() {
-// START1 OMIT
-	quit := make(chan bool) // HL
-	c := boring("Joe", quit)
-	for i := rand.Intn(10); i >= 0; i-- { fmt.Println(<-c) }
-	quit <- true // HL
-// STOP1 OMIT
-}
-
-func boring(msg string, quit <-chan bool) <-chan string {
-	c := make(chan string)
-	go func() { // HL
-		for i := 0; ; i++ {
-			time.Sleep(time.Duration(rand.Intn(1e3)) * time.Millisecond)
-// START2 OMIT
-			select {
-			case c <- fmt.Sprintf("%s: %d", msg, i):
-				// do nothing
-			case <-quit: // HL
-				return
-			}
-// STOP2 OMIT
-		}
-	}()
-	return c
-}
diff --git a/content/2012/concurrency/support/rcvquit.go b/content/2012/concurrency/support/rcvquit.go
deleted file mode 100644
index 855332e..0000000
--- a/content/2012/concurrency/support/rcvquit.go
+++ /dev/null
@@ -1,42 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func cleanup() {
-}
-
-func main() {
-// START1 OMIT
-	quit := make(chan string) // HL
-	c := boring("Joe", quit) // HL
-	for i := rand.Intn(10); i >= 0; i-- { fmt.Println(<-c) }
-	quit <- "Bye!" // HL
-	fmt.Printf("Joe says: %q\n", <-quit) // HL
-// STOP1 OMIT
-}
-
-func boring(msg string, quit chan string) <-chan string {
-	c := make(chan string) // HL
-	go func() {
-		for i := 0; ; i++ {
-			time.Sleep(time.Duration(rand.Intn(1e3)) * time.Millisecond)
-// START2 OMIT
-			select {
-			case c <- fmt.Sprintf("%s: %d", msg, i):
-				// do nothing
-			case <-quit: // HL
-				cleanup()
-				quit <- "See you!" // HL
-				return
-			}
-// STOP2 OMIT
-		}
-	}()
-	return c
-}
diff --git a/content/2012/concurrency/support/select.go b/content/2012/concurrency/support/select.go
deleted file mode 100644
index aa707af..0000000
--- a/content/2012/concurrency/support/select.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-func main() {
-	var c1, c2, c3 chan int
-	// START0 OMIT
-	select {
-	case v1 := <-c1:
-		fmt.Printf("received %v from c1\n", v1)
-	case v2 := <-c2:
-		fmt.Printf("received %v from c2\n", v1)
-	case c3 <- 23:
-		fmt.Printf("sent %v to c3\n", 23)
-	default:
-		fmt.Printf("no one was ready to communicate\n")
-	}
-	// STOP0 OMIT
-}
diff --git a/content/2012/concurrency/support/selectboring.go b/content/2012/concurrency/support/selectboring.go
deleted file mode 100644
index 78cb5c7..0000000
--- a/content/2012/concurrency/support/selectboring.go
+++ /dev/null
@@ -1,48 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-// START1 OMIT
-func main() {
-	c := fanIn(boring("Joe"), boring("Ann")) // HL
-	for i := 0; i < 10; i++ {
-		fmt.Println(<-c) // HL
-	}
-	fmt.Println("You're both boring; I'm leaving.")
-}
-// STOP1 OMIT
-
-// START2 OMIT
-func boring(msg string) <-chan string { // Returns receive-only channel of strings. // HL
-	c := make(chan string)
-	go func() { // We launch the goroutine from inside the function. // HL
-		for i := 0; ; i++ {
-			c <- fmt.Sprintf("%s: %d", msg, i)
-			time.Sleep(time.Duration(rand.Intn(1e3)) * time.Millisecond)
-		}
-	}()
-	return c // Return the channel to the caller. // HL
-}
-// STOP2 OMIT
-
-
-// START3 OMIT
-func fanIn(input1, input2 <-chan string) <-chan string { // HL
-	c := make(chan string)
-	go func() { // HL
-		for {
-			select { // HL
-			case s := <-input1:  c <- s  // HL
-			case s := <-input2:  c <- s  // HL
-			}  // HL
-		}
-	}()
-	return c
-}
-// STOP3 OMIT
diff --git a/content/2012/concurrency/support/sequenceboring.go b/content/2012/concurrency/support/sequenceboring.go
deleted file mode 100644
index 1117466..0000000
--- a/content/2012/concurrency/support/sequenceboring.go
+++ /dev/null
@@ -1,58 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-// START0 OMIT
-type Message struct {
-	str string
-	wait chan bool // HL
-}
-// STOP0 OMIT
-
-func main() {
-	c := fanIn(boring("Joe"), boring("Ann")) // HL
-// START1 OMIT
-	for i := 0; i < 5; i++ {
-		msg1 := <-c; fmt.Println(msg1.str)
-		msg2 := <-c; fmt.Println(msg2.str)
-		msg1.wait <- true
-		msg2.wait <- true
-	}
-// STOP1 OMIT
-	fmt.Println("You're all boring; I'm leaving.")
-}
-
-func boring(msg string) <-chan Message { // Returns receive-only channel of strings. // HL
-	c := make(chan Message)
-// START2 OMIT
-	waitForIt := make(chan bool) // Shared between all messages.
-// STOP2 OMIT
-	go func() { // We launch the goroutine from inside the function. // HL
-		for i := 0; ; i++ {
-// START3 OMIT
-			c <- Message{ fmt.Sprintf("%s: %d", msg, i), waitForIt }
-			time.Sleep(time.Duration(rand.Intn(2e3)) * time.Millisecond)
-			<-waitForIt
-// STOP3 OMIT
-		}
-	}()
-	return c // Return the channel to the caller. // HL
-}
-
-
-// START3 OMIT
-func fanIn(inputs ... <-chan Message) <-chan Message { // HL
-	c := make(chan Message)
-	for i := range inputs {
-		input := inputs[i] // New instance of 'input' for each loop.
-		go func() { for { c <- <-input } }()
-	}
-	return c
-}
-// STOP3 OMIT
diff --git a/content/2012/concurrency/support/timeout.go b/content/2012/concurrency/support/timeout.go
deleted file mode 100644
index 7d8cab9..0000000
--- a/content/2012/concurrency/support/timeout.go
+++ /dev/null
@@ -1,55 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-// START1 OMIT
-func main() {
-	c := boring("Joe")
-	for {
-		select {
-		case s := <-c:
-			fmt.Println(s)
-		case <-time.After(1 * time.Second): // HL
-			fmt.Println("You're too slow.")
-			return
-		}
-	}
-}
-// STOP1 OMIT
-
-// START2 OMIT
-func boring(msg string) <-chan string { // Returns receive-only channel of strings. // HL
-	c := make(chan string)
-	go func() { // We launch the goroutine from inside the function. // HL
-		for i := 0; ; i++ {
-			c <- fmt.Sprintf("%s: %d", msg, i)
-			time.Sleep(time.Duration(rand.Intn(1500)) * time.Millisecond)
-		}
-	}()
-	return c // Return the channel to the caller. // HL
-}
-// STOP2 OMIT
-
-
-// START3 OMIT
-func fanIn(input1, input2 <-chan string) <-chan string { // HL
-	c := make(chan string)
-	go func() {
-		for {
-			select {
-			case s := <-input1:
-				c <- s
-			case s := <-input2:
-				c <- s
-			}
-		}
-	}()
-	return c
-}
-// STOP3 OMIT
diff --git a/content/2012/concurrency/support/timeoutall.go b/content/2012/concurrency/support/timeoutall.go
deleted file mode 100644
index 5dd4a89..0000000
--- a/content/2012/concurrency/support/timeoutall.go
+++ /dev/null
@@ -1,56 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-// START1 OMIT
-func main() {
-	c := boring("Joe")
-	timeout := time.After(5 * time.Second) // HL
-	for {
-		select {
-		case s := <-c:
-			fmt.Println(s)
-		case <-timeout: // HL
-			fmt.Println("You talk too much.")
-			return
-		}
-	}
-}
-// STOP1 OMIT
-
-// START2 OMIT
-func boring(msg string) <-chan string { // Returns receive-only channel of strings. // HL
-	c := make(chan string)
-	go func() { // We launch the goroutine from inside the function. // HL
-		for i := 0; ; i++ {
-			c <- fmt.Sprintf("%s: %d", msg, i)
-			time.Sleep(time.Duration(rand.Intn(1500)) * time.Millisecond)
-		}
-	}()
-	return c // Return the channel to the caller. // HL
-}
-// STOP2 OMIT
-
-
-// START3 OMIT
-func fanIn(input1, input2 <-chan string) <-chan string { // HL
-	c := make(chan string)
-	go func() {
-		for {
-			select {
-			case s := <-input1:
-				c <- s
-			case s := <-input2:
-				c <- s
-			}
-		}
-	}()
-	return c
-}
-// STOP3 OMIT
diff --git a/content/2012/concurrency/support/waitgoboring.go b/content/2012/concurrency/support/waitgoboring.go
deleted file mode 100644
index 3fb1fb8..0000000
--- a/content/2012/concurrency/support/waitgoboring.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func main() {
-	go boring("boring!")
-	fmt.Println("I'm listening.")
-	time.Sleep(2 * time.Second)
-	fmt.Println("You're boring; I'm leaving.")
-}
-// STOP OMIT
-
-func boring(msg string) {
-	for i := 0; ; i++ {
-		fmt.Println(msg, i)
-		time.Sleep(time.Duration(rand.Intn(1e3)) * time.Millisecond)
-	}
-}
diff --git a/content/2012/go-docs.slide b/content/2012/go-docs.slide
deleted file mode 100644
index b160c6c..0000000
--- a/content/2012/go-docs.slide
+++ /dev/null
@@ -1,242 +0,0 @@
-Go docs
-Golang-Syd, Oct 17, 2012
-
-Rob Pike
-Google, Inc.
-@rob_pike
-http://golang.org/s/plusrob
-http://golang.org
-
-* Documentation
-
-* Text
-
-There are many ways to show documentation as text
-
-* Man pages: Unix 1st Edition, 1971
-
-.image go-docs/seek.png
-
-* Man pages: Apple OS X 10.8, 2012
-
-.image go-docs/lseek.png
-
-* Javadoc 1996+
-
-.image go-docs/javadoc.png
-
-* Javadoc 1996+
-
-.image go-docs/javadoc1.png
-
-* Godoc 2009+
-
-.image go-docs/godoc.png
-
-* Godoc 2009+
-
-.image go-docs/godoc1.png
-
-* Godoc
-
-.link http://golang.org/pkg/utf16
-
-* blog.golang.org
-
-.image go-docs/blog.png
-
-* Code walks
-
-.image go-docs/codewalk.png
-
-* Community contributions
-
-* Go wiki
-
-.link http://golang.org/wiki
-
-.image go-docs/gowiki.png
-
-* Gopkgdoc
-
-.link http://go.pkgdoc.org
-
-.image go-docs/gopkgdoc.png
-
-* Gopkgdoc
-
-.link http://go.pkgdoc.org/code.google.com/p/goauth2/oauth
-
-* Go By Example
-
-.link https://gobyexample.com
-
-.image go-docs/gobyexample.png
-
-* Go By Example
-
-.link https://gobyexample.com/timeouts
-
-* Talks
-
-* Presentations
-
-We give a lot of talks.
-
-Most of the tools for presentations focus on style, not ease of creation.
-
-* Present
-
-In the `go.talks` repo, have a new tool: `present`.
-
-	go get code.google.com/p/go.talks/present
-
-- Simple
-- Easy to use
-- Easy, smooth to present
-
-Took about an hour to put this talk together.
-
-Docs:
-
-.link http://go.pkgdoc.org/code.google.com/p/go.talks/present
-
-* Input for the previous slide
-
-.code go-docs.slide /^\* Present$/,/^\.link/
-
-* Input for the previous slide redux
-
-.code go-docs.slide /^\*.*previous/,/^\.code/
-
-* Revenge of the input for the the previous slide 
-
-.code go-docs.slide /^\*.*redux/,/^\.code/
-
-
-* Many choices
-
-Lots of presentations, different styles.
-
-* Fatal flaw
-
-They all have code.
-
-Can't execute the code!
-
-Want to edit and play.
-
-* The playground
-
-.image go-docs/play.png
-
-* Can run code from the browser
-
-.link http://play.golang.org
-
-* The tour
-
-.image go-docs/tour.png
-
-* Can run code from the browser
-
-.link http://tour.golang.org
-
-* Use this technology
-
-Want to embed the playground technology in the other media.
-
-Triggering example: Go Concurrency Patterns, Google I/O, 2012
-
-Needed to demonstrate concurrency and the passage of time.
-
-* Go Concurrency Patterns
-
-An extract from the talk.
-
-* Multiplexing
-
-These programs make Joe and Ann count in lockstep.
-We can instead use a fan-in function to let whosoever is ready talk.
-
-.code go-docs/faninboring.go /START3/,/STOP3/
-.play go-docs/faninboring.go /START1/,/STOP1/
-
-* .code and .play
-
-Input for the previous slide:
-
-.code go-docs.slide /^\* Multiplexing/,/^.play/
-
-* faninboring.go (I)
-
-	package main
-
-	import (
-		"fmt"
-		"math/rand"
-		"time"
-	)
-
-	// START1 OMIT
-	func main() {
-		c := fanIn(boring("Joe"), boring("Ann")) // HL
-		for i := 0; i < 10; i++ {
-			fmt.Println(<-c) // HL
-		}
-		fmt.Println("You're both boring; I'm leaving.")
-	}
-	// STOP1 OMIT
-	
-* faninboring.go (II)
-
-	// START2 OMIT
-	func boring(msg string) <-chan string { // Returns receive-only channel of strings. // HL
-		c := make(chan string)
-		go func() { // We launch the goroutine from inside the function. // HL
-			for i := 0; ; i++ {
-				c <- fmt.Sprintf("%s: %d", msg, i)
-				time.Sleep(time.Duration(rand.Intn(2e3)) * time.Millisecond)
-			}
-		}()
-		return c // Return the channel to the caller. // HL
-	}
-	// STOP2 OMIT
-
-
-	// START3 OMIT
-	func fanIn(input1, input2 <-chan string) <-chan string { // HL
-		c := make(chan string)
-		go func() { for { c <- <-input1 } }() // HL
-		go func() { for { c <- <-input2 } }() // HL
-		return c
-	}
-	// STOP3 OMIT
-
-* .code and .play again
-
-The input for the Multiplexing slide again:
-
-.code go-docs.slide /^\* Multiplexing/,/^.play/
-
-* Multiplexing again
-
-These programs make Joe and Ann count in lockstep.
-We can instead use a fan-in function to let whosoever is ready talk.
-
-.code go-docs/faninboring.go /START3/,/STOP3/
-.play go-docs/faninboring.go /START1/,/STOP1/
-
-* Executable documentation
-
-* Plans
-
-Deploy executable examples throughout:
-
-- godoc (already done)
-- blog
-- code walks
-- Go By Example
-- wiki
-
-.link http://golang.org/pkg/strings/#example_Contains
diff --git a/content/2012/go-docs/blog.png b/content/2012/go-docs/blog.png
deleted file mode 100644
index d0a63fd..0000000
--- a/content/2012/go-docs/blog.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/go-docs/codewalk.png b/content/2012/go-docs/codewalk.png
deleted file mode 100644
index 7cfcaca..0000000
--- a/content/2012/go-docs/codewalk.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/go-docs/faninboring.go b/content/2012/go-docs/faninboring.go
deleted file mode 100644
index 08b3d80..0000000
--- a/content/2012/go-docs/faninboring.go
+++ /dev/null
@@ -1,42 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-// START1 OMIT
-func main() {
-	c := fanIn(boring("Joe"), boring("Ann")) // HL
-	for i := 0; i < 10; i++ {
-		fmt.Println(<-c) // HL
-	}
-	fmt.Println("You're both boring; I'm leaving.")
-}
-// STOP1 OMIT
-
-// START2 OMIT
-func boring(msg string) <-chan string { // Returns receive-only channel of strings. // HL
-	c := make(chan string)
-	go func() { // We launch the goroutine from inside the function. // HL
-		for i := 0; ; i++ {
-			c <- fmt.Sprintf("%s: %d", msg, i)
-			time.Sleep(time.Duration(rand.Intn(2e3)) * time.Millisecond)
-		}
-	}()
-	return c // Return the channel to the caller. // HL
-}
-// STOP2 OMIT
-
-
-// START3 OMIT
-func fanIn(input1, input2 <-chan string) <-chan string { // HL
-	c := make(chan string)
-	go func() { for { c <- <-input1 } }() // HL
-	go func() { for { c <- <-input2 } }() // HL
-	return c
-}
-// STOP3 OMIT
diff --git a/content/2012/go-docs/gobyexample.png b/content/2012/go-docs/gobyexample.png
deleted file mode 100644
index 48e5f5c..0000000
--- a/content/2012/go-docs/gobyexample.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/go-docs/godoc.png b/content/2012/go-docs/godoc.png
deleted file mode 100644
index 7582f9c..0000000
--- a/content/2012/go-docs/godoc.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/go-docs/godoc1.png b/content/2012/go-docs/godoc1.png
deleted file mode 100644
index 013e1cd..0000000
--- a/content/2012/go-docs/godoc1.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/go-docs/gopkgdoc.png b/content/2012/go-docs/gopkgdoc.png
deleted file mode 100644
index 49a2709..0000000
--- a/content/2012/go-docs/gopkgdoc.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/go-docs/gowiki.png b/content/2012/go-docs/gowiki.png
deleted file mode 100644
index c00702e..0000000
--- a/content/2012/go-docs/gowiki.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/go-docs/javadoc.png b/content/2012/go-docs/javadoc.png
deleted file mode 100644
index 1930159..0000000
--- a/content/2012/go-docs/javadoc.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/go-docs/javadoc1.png b/content/2012/go-docs/javadoc1.png
deleted file mode 100644
index 5dde5a7..0000000
--- a/content/2012/go-docs/javadoc1.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/go-docs/lseek.png b/content/2012/go-docs/lseek.png
deleted file mode 100644
index 4e88af9..0000000
--- a/content/2012/go-docs/lseek.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/go-docs/play.png b/content/2012/go-docs/play.png
deleted file mode 100644
index 546914b..0000000
--- a/content/2012/go-docs/play.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/go-docs/seek.png b/content/2012/go-docs/seek.png
deleted file mode 100644
index 7a89771..0000000
--- a/content/2012/go-docs/seek.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/go-docs/tour.png b/content/2012/go-docs/tour.png
deleted file mode 100644
index 998787a..0000000
--- a/content/2012/go-docs/tour.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/go1.slide b/content/2012/go1.slide
deleted file mode 100644
index be0eb63..0000000
--- a/content/2012/go1.slide
+++ /dev/null
@@ -1,507 +0,0 @@
-The Path to Go 1
-
-Rob Pike
-Google
-http://golang.org/s/plusrob
-@rob_pike
-http://golang.org
-
-Andrew Gerrand
-Google
-http://andrewgerrand.com
-@go_nuts
-http://golang.org
-
-
-* Introduction
-
-Go is a concurrent open source programming language developed at Google.
-
-Combines native compilation and static types with a lightweight dynamic feel.
-
-Fast, fun, and productive.
-
-
-* What is Go?
-
-Features:
-
-- Native code generation (compiled)
-- Statically typed
-- Composition via interfaces
-- Memory safe
-- Garbage collected
-- Native concurrency support
-- Excellent standard library
-- Great tools
-
-
-* History
-
-
-* History
-
-Began as a Google 20% project in late 2007.
-
-Released as an open source project in November 2009.
-
-Go 1 released in March 2012.
-
-
-* The Go project
-
-Planned from the start as an open source project.
-
-Publicly released under a BSD license.
-
-To date: 28 committers from Google and elsewhere.
-
-More than 200 other people have contributed to the project.
-
-9735 changes committed since release.
-
-
-* Development process
-
-Mercurial version control system with plugin for code review.
-
-No branches; linear history.
-
-Code review central to the project. All changes reviewed on golang-dev list using Rietveld (codereview.appspot.com).
-
-Custom continuous build system tests across all supported platforms.
-
-Contributions accepted on a "Discuss first, code later" basis.
-
-
-* Contributions over time
-
-The project moves fast:
-
-.image go1/changes.png
-
-Windows, FreeBSD, OpenBSD, NetBSD, and Plan 9 ports are community-driven.
-
-
-* Managing the project
-
-* Development cycle
-
-Changes are made continuously.
-
-Things break. Things get fixed.
-Some days are better than others.
-
-Continuous builders help, but don't reveal all issues.
-
-We needed to provide some stability for our users.
-
-
-* Weekly snapshots
-
-Attempt to keep everyone in sync.
-
-- Apply a Mercurial tag to a specific, stable revision.
-- Announce to user mailing list with detailed changelog.
-
-Great for early adopters and core developers.
-
-
-* Problems with weeklies
-
-Contributors work at tip; users sync to weeklies.
-
-Burden on users:
-
-- annoying to update weekly,
-- painful to update less often.
-
-Version skew results because users are at different weeklies.
-
-Skew fragments the community and slows adoption.
-
-
-* Formal release process
-
-March 2011: introduced releases every 1-2 months.
-
-- Pick the most stable of the past few snapshots and tag it.
-- Announce with abridged "must read" release notes.
-
-Keeps the community more in sync. Reduces churn.
-
-Popular with users.
-
-
-* Problem with releases
-
-Easy to make a few small changes once a week...
-
-\...but hard to make many small changes once a month.
-
-Skew still prevalent: adventurers and core devs still use weeklies (or tip!).
-
-
-* Introducing Gofix
-
-A tool to mechanically update code to accommodate language and library changes.
-
-  gofix prog.go
-
-Announced in May 2011.
-Gofix automates updates for backward-incompatible changes.
-Eases the burden of staying current.
-
-Release notes now mostly say "run gofix."
-
-Not a sed script. Works on the AST.
-
-
-* Gofix
-
-Gofix enables sweeping changes without fear of breaking the code base.
-
-Gofix gave us the freedom to make widespread changes that would have been too daunting otherwise.
-
-Can even update foreign code:
-
-"Yesterday I gofixed some third-party packages without even reading their code and without waiting for the authors to update them." - Dmitry Chestnykh
-
-
-* Versioning issues persist
-
-Gofix is no panacea.
-
-As the root of the dependency graph, a programming language can suffer acutely from version skew.
-
-The fundamental issue remains:
-Code you write today may not compile tomorrow.
-
-Some companies unwilling to bet on Go as they saw it as unstable.
-
-
-* A need for stability
-
-Gofix makes changes very easy, and also makes it easy to experiment.
-But it can't do everything.
-
-Priorities: If change is easy, what change is important?
-
-Wanted to make major changes to the language and libraries but, even with gofix, some things are too disruptive without proper planning.
-
-Decision: design and implement a stable version of Go, its libraries, and its tools.
-
-
-* Go 1
-
-* What is Go 1?
-
-A specification of the language and libraries that will be supported for years.
-
-Available as downloadable binary packages.
-
-An opportunity to:
-
-- fix minor language irritations,
-- fix inconsistencies in the standard library,
-- focus on bug fixing and cleaning up TODOs,
-- design and build a strong build tool set (get rid of make),
-- bring Windows support up to par.
-
-Polish and refine, not redesign.
-
-
-* Planning Go 1
-
-Wrote a detailed proposal document.
-
-Implemented (but not committed) many of the proposed changes.
-
-Core team met for a week to discuss and refine the document (October 2011).
-
-Presented the document to the community for discussion.
-
-Community feedback essential in refining the proposal.
-
-
-* Preparing Go 1
-
-
-Create many new issues on the tracker.
-
-Categorize new and existing issues as either "Go 1" or "after Go 1".
-
-Contributors nominate themselves to address specific issues.
-
-Stop developing new features; prioritize stability.
-
-
-* Rolling it out
-
-Daily number of lines changed in the months leading up to Go 1:
-
-.image go1/go1lines.png
-
-
-* Gofix and Go 1
-
-The largest Go 1 edits were performed by gofix.
-
-Gofix made it easy to try out a change and refine it incrementally.
-
-Some significant changes were tried and abandoned.
-
-
-* Gofix work flow
-
-Scripted work flow allowed us to avoid branches and merging nightmares.
-#Total automation of edits makes it easy to do large changes without branching.
-
-Process:
-
-  while !satisfied {
-    in tree 1:
-      refine gofix module in tree 1, build binary
-    in tree 2:
-      revert to tip (note: tip)
-      apply gofix binary from tree 2
-      build and test
-  }
-  commit tree 1
-  commit tree 2
-
-Even as other changes are happening, this leads to no branching or skew.
-
-* Sample change
-
-.image go1/errordiff1.png
-.image go1/errordiff2.png
-
-* Go 1 release process
-
-Releases paused from r60 (August 2011).
-Weeklies continued as normal.
-
-Issued release candidates in the weeks leading up to launch.
-
-Release candidates included binary distributions for the supported operating systems (FreeBSD, Linux, Mac OS X, and Windows).
-
-
-* What is in Go 1?
-
-* Go 1
-
-Specification of the language.
-
-Specification of the libraries.
-
-Promise of long term compatibility.
-
-Windows as a first class citizen.
-
-New tool chain centered around the `go` tool.
-
-"Phase change" in the way the project runs.
-
-
-* Language changes
-
-A new `rune` type to represent a Unicode code point.
-(Important step in making `int` either 32 or 64 bits; currently just 32.)
-
-A new built-in `error` type to replace `os.Error`.
-This affected almost all Go code in existence.
-
-Equality defined on structs.
-
-Cleaned up some clumsy operations.
-
-
-* API changes
-
-A re-designed `time` package with a clean, simple interface.
-
-Regularization of `strconv`, breaking away from the old C-style API.
-
-Widespread package re-organization. Put things in more appropriate places.
-
-Dozens of lesser changes.
-
-
-* Time
-
-Old time package was based on the Unix epoch. Limited range, poor features,
-no type safety (just integer nanoseconds).
-
-Substantial redesign creates separate Time and Duration types.
-Time can represent huge range of times with nanosecond precision.
-
-Duration specifies intervals. Example:
-
-  time.Sleep(2)             // Old API, unsafe: How long is this?
-  time.Sleep(2*time.Second) // New API: type-safe, readable.
-
-  fmt.Println(time.Now().Add(1e6*time.Hour))
-
-Also a new flag type!
-
-  $ command -timeout 1m30s
-
-* Re-organization
-
-Rearranged the organically constructed tree to group related things together.
-Examples:
-
-  Old         New
-
-  "asn1"      "encoding/asn1"
-  "csv"       "encoding/csv"
-  "gob"       "encoding/gob"
-  "json"      "encoding/json"
-  "xml"       "encoding/xml"
-  
-  "unicode"   "unicode"
-  "utf8"      "unicode/utf8"
-  "utf16"     "unicode/utf16"
-
-All updated by gofix, of course.
-
-* Demoting immature packages and commands
-
-Parts of the tree deemed unready should not be part of Go 1.
-
-Working but immature packages were moved to sub-repositories of the main Go repository. (They remain installable.)
-
-Unfinished and old packages and tools were left out.
-
-
-* How to build
-
-Before Go 1, Go programs were built with make, but Makefiles are annoying to write and, for Go, redundant.
-
-From the beginning, a goal of Go was good dependency management.
-
-By design, Go source code contains all the information necessary to build.
-
-Go 1 includes a new "go tool" that eliminates the need for make.
-
-Given a Go tree (including remote dependencies), can build and install directly:
-
-  $ go build file.go
-
-* The go tool
-
-A complete build, test, and install tool for Go programs.
-
-Some realistic examples:
-
-  $ go run hello.go       # Compile-and-go. (Ha!).
-  $ go build package      # Build everything in directory (and deps).
-  $ go install            # Install everything in dir and (and deps).
-  $ go test archive/zip   # Compile and run unit tests for package.
-
-The go tool also wraps `gofmt`, `gofix`, etc.:
-
-  $ go fmt                # Run gofmt on package in current dir.
-  $ go fix                # Run gofix on package in current dir.
-
-* The go tool and remote repositories
-
-The go tool automates installation of remote packages.
-
-Packages are addressed by import strings.
-Import strings are just source repository URLs.
-Go tool downloads and installs all dependencies, transitively.
-
-  $ go get code.google.com/p/myrepo/mypackage
-
-Installs my package, plus any remote dependencies it may have.
-And to use the package in Go source:
-
-	import "code.google.com/p/myrepo/mypackage"
-
-The tool can even run gofix as it installs:
-
-  $ go get -fix code.google.com/p/myrepo/mypackage
-
-
-* Documentation
-
-Complete reworking:
-
-- updated,
-- unified,
-- added new documents,
-- added new (executable) examples,
-- redesigned web site.
-
-
-* API compatibility tool
-
-Scans the entire standard library and checks it against a master list (`go1.txt`).
-
-Helps guarantee compatibility as development continues.
-
-Part of our build process in the lead up to Go 1 (and continues today).
-
-
-* Today and tomorrow
-
-* What are we working on?
-
-The goal for Go 1 was a stable, productive environment.
-
-Now that Go 1 is out, we are shifting our focus to using Go more than just developing it.
-
-Only through using Go extensively can we learn what might be needed in a future version, say Go 2.
-
-* There is still active development
-
-The design is locked down but work continues.
-
-Stability: bug fixes.
-
-Efficiency:
-
-- code generation,
-- garbage collection,
-- scheduling,
-- hot spots in standard libraries.
-
-Portability: NetBSD, OpenBSD, and Plan 9 ports in progress.
-
-New libraries: HTML parsing and Unicode collation packages, for example.
-
-* Releases after Go 1
-
-Two minor point releases (`go1.0.1` and `go1.0.2`) have been issued to fix bugs.
-
-The next major point release (`go1.1`) is planned for the end of 2012.
-It will include:
-
-- code generation improvements to the `gc` compiler,
-- performance and accuracy improvements to the garbage collector,
-- (possibly) an improved scheduler,
-- a slew of bug fixes.
-
-Go 2 is likely years away.
-
-
-* Learn more
-
-The Go web site has a huge amount of documentation:
-
-.link http://golang.org
-
-Learn Go from a web browser:
-
-.link http://tour.golang.org
-
-"Meet the Go team" panel from Google I/O 2012:
-
-.link http://golang.org/s/meet-the-go-team
-
-Google Code project:
-
-.link http://code.google.com/p/go
-
diff --git a/content/2012/go1/changes.png b/content/2012/go1/changes.png
deleted file mode 100644
index 3406e97..0000000
--- a/content/2012/go1/changes.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/go1/errordiff1.png b/content/2012/go1/errordiff1.png
deleted file mode 100644
index 4e2b951..0000000
--- a/content/2012/go1/errordiff1.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/go1/errordiff2.png b/content/2012/go1/errordiff2.png
deleted file mode 100644
index 3eae7d4..0000000
--- a/content/2012/go1/errordiff2.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/go1/go1lines.png b/content/2012/go1/go1lines.png
deleted file mode 100644
index 100f6c7..0000000
--- a/content/2012/go1/go1lines.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/goforc.slide b/content/2012/goforc.slide
deleted file mode 100644
index 14ce425..0000000
--- a/content/2012/goforc.slide
+++ /dev/null
@@ -1,726 +0,0 @@
-Go for C programmers
-ACCU, Silicon Valley Chapter, Nov. 14, 2012
-
-# Go is a general-purpose programming language developed at Google.
-# Go's design is influenced by the C and Pascal lineage, but instead of providing
-# a conglomerate of features, Go takes a fresh look at the essential mechanisms
-# required for modern programming tasks. As a result, Go has evolved to a compact
-# language of surprising power. In this presentation we give a brief introduction
-# to Go, slightly slanted towards programmers with a C/C++ background, and then
-# talk about particularly interesting aspects of Go.
-
-Robert Griesemer
-Google Inc.
-gri@golang.org
-
-* Organization of this talk
-
-Part 1: Introduction to Go
-
-Break
-
-Part 2: Object-oriented and concurrent programming in Go
-
-# if time permits and desire exists
-
-* Motivation
-
-* Have
-
-Incomprehensible and unsafe code.
-
-Extremely slow builds.
-
-Missing concurrency support.
-
-Outdated tools.
-
-# C, C++ are > 30 years old!
-# Java is 15 years old, but not really a systems-programming language.
-# (No control over data layout, no unsigned, verbose, etc.)
-
-* Want
-
-Readable, safe, and efficient code.
-
-A build system that scales.
-
-Good concurrency support.
-
-Tools that can operate at Google-scale.
-
-# A language for the 21. century!
-
-* Meet Go
-
-Compact, yet expressive
-# spec is ~50 pages
-
-Statically typed and garbage collected
-
-Object- but not type-oriented
-
-Strong concurrency support
-
-Efficient implementation
-
-Rich standard library
-
-Fast compilers
-
-Scalable tools
-
-* Hello, World
-
-.play goforc/hello.go
-
-# the canonical first program
-# note: immediately readable for a C programmer even without prior knowledge of Go
-# (not the case with C++'s Hello, World, which is using the << operator)
-# which bring us to the first item on the "Want" list: readable code.
-
-* Syntax
-
-* Syntax
-
-_Syntax_is_not_important..._-_unless_you_are_a_programmer._
-Rob Pike.
-
-_The_readability_of_programs_is_immeasurably_more_important_than_their_writeability._
-Hints on Programming Language Design
-C. A. R. Hoare 1973
-
-# A lot of effort has gone into honing Go's syntax over more than 3 years.
-# The result is a clutter- and stutter-free, compact, yet readable notation.
-# Consider some alternatives...
-
-* Too verbose
-
-	scoped_ptr<logStats::LogStats>
-		logStats(logStats::LogStats::NewLogStats(FLAGS_logStats, logStats::LogStats::kFIFO));
-
-# real example from C++ (2012) (names changed)
-# logStats mentioned 9 times!
-# too much clutter
-
-* Too dense
-
-	(n: Int) => (2 to n) |> (r => r.foldLeft(r.toSet)((ps, x) =>
-		if (ps(x)) ps -- (x * x to n by x) else ps))
-
-# prime sieve in Scala
-# pretty and short but incomprehensible
-
-* Just right
-
-	t := time.Now()
-	switch {
-	case t.Hour() < 12:
-	    return "morning"
-	case t.Hour() < 18:
-	    return "afternoon"
-	default:
-	    return "evening"
-	}
-
-# looks like pseudo code
-# readable even w/o knowing Go
-# lots of things are going on but not relevant for understanding
-# no clutter
-
-* Reading Go code
-
-* Packages
-
-A Go program consists of _packages_.
-
-A _package_ consists of one or more _source_files_ (`.go` files).
-
-Each _source_file_ starts with a _package_clause_ followed by declarations.
-
-.code goforc/hello.go
-
-By convention, all files belonging to a single package are located in a single directory.
-
-* Declarations, "Pascal-style" (left to right)
-
-Pattern: keyword names [type] [initializer]
-
-.code goforc/decls.go /START/,/STOP/
-
-* Why?
-
-	p, q *Point
-
-	func adder(delta int) func(x int) int
-
-# try this in C
-# composition of types straight-forward
-
-* Constants
-
-In Go, constants are _mathematically_precise_.
-
-There is no need for qualifiers (`-42LL`, `7UL`, etc.)
-
-.code goforc/consts.go /START1/,/STOP1/
-
-Only when used, constants are truncated to size:
-
-.play goforc/consts.go /START2/,/STOP2/
-
-Huge win in readability and ease of use.
-
-* Types
-
-Familiar:
-- Basic types, arrays, structs, pointers, functions.
-
-But:
-- `string` is a basic type.
-- No automatic conversion of basic types in expressions.
-- No pointer arithmetic; pointers and arrays are different.
-- A function type represents a function; context and all.
-
-New:
-- _Slices_ instead of array pointers + separate length: `[]int`
-- _Maps_ because everybody needs them: `map[string]int`
-- _Interfaces_ for polymorphism: `interface{}`
-- _Channels_ for communication between goroutines: `chan` `int`
-
-* Variables
-
-Familiar:
-
-.code goforc/vars.go /START1/,/STOP1/
-
-New: Type can be inferred from type of initializing expression.
-
-.code goforc/vars.go /START2/,/STOP2/
-
-Shortcut (inside functions):
-
-.code goforc/vars.go /i :=/
-
-It is _safe_ to take the address of _any_ variable:
-
-.code goforc/vars.go /return/
-
-* Functions
-
-Functions may have multiple return values:
-
-	func atoi(s string) (i int, err error)
-
-Functions are first-class citizens (_closures_):
-
-.code goforc/adder.go /START1/,/STOP1/
-.play goforc/adder.go /START2/,/STOP2/
-
-* Statements
-
-.code goforc/stmts.go /START/,/STOP/
-
-* Go statements for C programmers
-
-Cleanups:
-
-- No semicolons
-- Multiple assignments
-- `++` and `--` are statements
-- No parentheses around conditions; curly braces mandatory
-- Implicit `break` in `switch`; explicit `fallthrough`
-
-New:
-
-- `for` `range`
-- type `switch`
-- `go`, `select`
-- `defer`
-
-* Assignments
-
-Assignments may assign multiple values simultaneously:
-
-	a, b = x, y
-
-Equivalent to:
-
-	t1 := x
-	t2 := y
-	a = t1
-	b = t2
-
-For instance:
-
-	a, b = b, a       // swap a and b
-	i, err = atoi(s)  // assign results of atoi
-	i, _ = atoi(991)  // discard 2nd value
-
-* Switch statements
-
-Switch statements may have multiple case values, and `break` is implicit:
-
-	switch day {
-	case 1, 2, 3, 4, 5:
-		tag = "workday"
-	case 0, 6:
-		tag = "weekend"
-	default:
-		tag = "invalid"
-	}
-
-The case values don't have to be constants:
-
-	switch {
-	case day < 0 || day > 6:
-		tag = "invalid"
-	case day == 0 || day == 6:
-		tag = "weekend"
-	default:
-		tag = "workday"
-	}
-
-* For loops
-
-.code goforc/forloop.go /START1/,/STOP1/
-
-A `range` clause permits easy iteration over arrays and slices:
-
-.play goforc/forloop.go /START3/,/STOP3/
-
-Unused values are discarded by assigning to the blank (_) identifier:
-
-.code goforc/forloop.go /START2/,/STOP2/
-
-* Dependencies
-
-* Dependencies in Go
-
-An _import_declaration_ is used to express a _dependency_ on another package:
-
-	import "net/rpc"
-
-Here, the importing package depends on the Go package "rpc".
-
-The _import_path_ ("net/rpc") uniquely identifies a package; multiple packages may have the same name, but they all reside at different locations (directories).
-
-By convention, the package name matches the last element of the import path (here: "rpc").
-
-_Exported_ functionality of the `rpc` package is available via the _package_qualifier_ (`rpc`):
-
-	rpc.Call
-
-A Go import declaration takes the place of a C _include_.
-
-* Naming: An excursion
-
-How names work in a programming language is critical to readability.
-Scopes control how names work.
-Go has very simple scope hierarchy:
-
-- universe
-- package
-- file (for imports only)
-- function
-- block
-
-* Locality of names
-
-Upper case names are _exported_: `Name` _vs._ `name`.
-
-The package qualifier is always present for imported names.
-
-(First component of) every name is always declared in the current package.
-
-One of the best (and hardest!) decisions made in Go.
-
-* Locality scales
-
-No surprises when importing:
-
-- Adding an exported name to my package cannot break your package!
-
-Names do not leak across boundaries.
-
-In C, C++, Java the name `y` could refer to anything.
-In Go, `y` (or even `Y`) is always defined within the package.
-In Go, `x.Y` is clear: find `x` locally, `Y` belongs to it, and there is only one such `Y`.
-
-Immediate consequences for readability.
-
-* Back to imports
-
-Importing a package means reading a package's exported API.
-
-This export information is self-contained. For instance:
-
-- A imports B
-- B imports C
-- B exports contain references to C
-
-B's export data contains all necessary information about C. There is no need for a compiler to read the export data of C.
-
-This has huge consequences for build times!
-
-* Dependencies in C
-
-`.h` files are not self-contained.
-
-As a result, a compiler ends up reading core header files over and over again.
-
-`ifdef` still requires the preprocessor to read a lot of code.
-
-No wonder it takes a long time to compile...
-
-At Google scale: dependencies explode, are exponential, become almost non-computable.
-
-A large Google C++ build can read the same header file tens of thousands of times!
-
-# it is real work, too, teaching the compiler what a string is each time
-
-* Tools
-
-* A brief overview
-
-Two compilers: gc, gccgo
-
-Support for multiple platforms: x86 (32/64bit), ARM (32bit), Linux, BSD, OS X, ...
-
-Automatic formatting of source code: `gofmt`
-
-Automatic documentation extraction: `godoc`
-
-Automatic API adaption: `gofix`
-
-All (and more!) integrated into the `go` command.
-
-* Building a Go program
-
-A Go program can be compiled and linked without additional build information (`make` files, etc.).
-
-By convention, all files belonging to a package are found in the same directory.
-
-All depending packages are found by inspecting the import paths of the top-most (_main_) package.
-
-A single integrated tool takes care of compiling individual files or entire systems.
-
-* The go command
-
-Usage:
-
-	go command [arguments]
-
-Selected commands:
-
-	build       compile packages and dependencies
-	clean       remove object files
-	doc         run godoc on package sources
-	fix         run go tool fix on packages
-	fmt         run gofmt on package sources
-	get         download and install packages and dependencies
-	install     compile and install packages and dependencies
-	list        list packages
-	run         compile and run Go program
-	test        test packages
-	vet         run go tool vet on packages
-
-.link http://golang.org/cmd/go/
-
-* Break
-
-# After the break, we will discuss OOP and concurrency in Go.
-
-* Object-oriented programming
-
-* What is object-oriented programming?
-
-"Object-oriented programming (OOP) is a programming paradigm using _objects_ – usually instances of a class – consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction, encapsulation, messaging, modularity, polymorphism, and inheritance. Many modern programming languages now support forms of OOP, at least as an option."
-
-(Wikipedia)
-
-# Important:
-# Notion of _objects_
-# _Objects_ have _state_ (data fields), and _methods_ (for interactions)
-
-* OOP requires very little extra programming language support
-
-We only need
-
-- the notion of an _Object_,
-- a mechanism to interact with them (_Methods_),
-- and support for polymorphism (_Interfaces_).
-
-Claim: Data abstraction, encapsulation, and modularity are mechanisms
-in their own right, not OOP specific, and a modern language (OO or not)
-should have support for them independently.
-
-
-* Object-oriented programming in Go
-
-Methods without classes
-
-Interfaces without hierarchies
-
-Code reuse without inheritance
-
-Specifically:
-
-- Any _value_ can be an _object_
-- Any _type_ can play the role of a _class_
-- _Methods_ can be attached to any _type_
-- _Interfaces_ implement polymorphism.
-
-* Methods
-
-.play goforc/point.go
-
-* Methods can be attached to any type
-
-.play goforc/celsius.go
-
-* Interfaces
-
-	type Stringer interface {
-	     String() string
-	}
-
-	type Reader interface {
-	     Read(p []byte) (n int, err error)
-	}
-
-	type Writer interface {
-	     Write(p []byte) (n int, err error)
-	}
-
-	type Empty interface{}
-
-An interface defines a set of methods.
-A type that implements all methods of an interface is said to implement the interface.
-All types implement the empty interface interface{}.
-
-* Dynamic dispatch
-
-.play goforc/interface.go /START/,/STOP/
-
-A value (here: `corner`, `boiling`) of a type (`Point`, `Celsius`) that implements
-an interface (`Stringer`) can be assigned to a variable (`v`) of that interface type.
-
-* Composition and chaining
-
-Typically, interfaces are small (1-3 methods).
-
-Pervasive use of key interfaces in the standard library make it easy to chain APIs together.
-
-	package io
-	func Copy(dst Writer, src Reader) (int64, error)
-
-The io.Copy function copies by reading from any Reader and writing to any Writer.
-
-Interfaces are often introduced ad-hoc, and after the fact.
-
-There is no explicit hierarchy and thus no need to design one!
-
-* cat
-
-.code goforc/cat.go
-
-# An `os.File` implements the `Reader` interface;
-# `os.Stdout` implements the `Writer` interface.
-
-* Interfaces in practice
-
-Methods on any types and _ad_hoc_ interfaces make for a light-weight OO programming style.
-
-Go interfaces enable post-facto abstraction.
-# Existing code may not know about a new interface
-
-No explicit type hierarchies.
-# Coming up with the correct type hierarchy is hard
-# They are often wrong
-# They are difficult and time-consuming to change
-
-"Plug'n play" in a type-safe way.
-
-# There's much more but we won't have time for more detail.
-
-* Concurrency
-
-* What is concurrency?
-
-Concurrency is the composition of independently executing computations.
-
-Concurrency is a way to structure software, particularly as a way to write clean code that interacts well with the real world.
-
-It is not parallelism.
-
-* Concurrency is not parallelism
-
-Concurrency is not parallelism, although it enables parallelism.
-
-If you have only one processor, your program can still be concurrent  but it cannot be parallel.
-
-On the other hand, a well-written concurrent program might run efficiently in parallel on a multiprocessor. That property could be important...
-
-For more on that distinction, see the link below. Too much to discuss here.
-
-.link http://golang.org/s/concurrency-is-not-parallelism
-
-* A model for software construction
-
-Easy to understand.
-
-Easy to use.
-
-Easy to reason about.
-
-You don't need to be an expert!
-
-(Much nicer than dealing with the minutiae of parallelism (threads, semaphores, locks, barriers, etc.))
-
-There is a long history behind Go's concurrency features, going back to Hoare's CSP in 1978 and even Dijkstra's guarded commands (1975).
-
-* Basic Examples
-
-* A boring function
-
-We need an example to show the interesting properties of the concurrency primitives.
-
-To avoid distraction, we make it a boring example.
-
-.code goforc/example0.go /START1/,/STOP1/
-.play goforc/example0.go /START2/,/STOP2/
-
-* Ignoring it
-
-The `go` statement runs the function as usual, but doesn't make the caller wait.
-
-It launches a goroutine.
-
-The functionality is analogous to the & on the end of a shell command.
-
-.play goforc/example1.go /START/,/STOP/
-
-* Ignoring it a little less
-
-When main returns, the program exits and takes the function `f` down with it.
-
-We can hang around a little, and on the way show that both main and the launched goroutine are running.
-
-.play goforc/example2.go /START/,/STOP/
-
-* Goroutines
-
-What is a goroutine? It's an independently executing function, launched by a `go` statement.
-
-It has its own call stack, which grows and shrinks as required.
-
-It's very cheap. It's practical to have thousands, even hundreds of thousands of goroutines.
-
-It's not a thread.
-
-There might be only one thread in a program with thousands of goroutines.
-
-Instead, goroutines are multiplexed dynamically onto threads as needed to keep all the goroutines running.
-
-But if you think of it as a very cheap thread, you won't be far off.
-
-* Channels
-
-A channel in Go provides a connection between two goroutines, allowing them to communicate.
-
-.code goforc/channels.go /START1/,/STOP1/
-.code goforc/channels.go /START2/,/STOP2/
-.code goforc/channels.go /START3/,/STOP3/
-
-* Using channels
-
-A channel connects the `main` and `f` goroutines so they can communicate.
-
-.play goforc/communication1.go /START1/,/STOP1/
-.code goforc/communication1.go /START2/,/STOP2/
-
-* Synchronization
-
-When the main function executes `<–c`, it will wait for a value to be sent.
-
-Similarly, when the function `f` executes `c<–value`, it waits for a receiver to be ready.
-
-A sender and receiver must both be ready to play their part in the communication. Otherwise we wait until they are.
-
-Thus channels both communicate and synchronize.
-
-Channels can be unbuffered or buffered.
-
-* Using channels between many goroutines
-
-.play goforc/communication2.go /START1/,/STOP1/
-
-A single channel may be used to communicate between many (not just two) goroutines; many goroutines may communicate via one or multiple channels.
-
-This enables a rich variety of concurrency patterns.
-
-# There's enough material for several talks on this subject alone.
-
-* Elements of a work-stealing scheduler
-
-.code goforc/worker1.go /START2/,/STOP2/
-
-The `worker` uses two channels to communicate:
-- The `in` channel waits for some work order.
-- The `out` channel communicates the result.
-- As work load, a worker (very slowly) computes the list of prime factors for a given order.
-
-* A matching producer and consumer
-
-.code goforc/worker1.go /START3/,/STOP3/
-
-The `producer` produces and endless supply of work orders and sends them `out`.
-
-The `consumer` receives `n` results from the `in` channel and then terminates.
-
-* Putting it all together
-
-.play goforc/worker1.go /START1/,/STOP1/
-
-We use one worker to handle the entire work load.
-
-Because there is only one worker, we see the result coming back in order.
-
-This is running rather slow...
-
-* Using 10 workers
-
-.play goforc/worker2.go /START1/,/STOP1/
-
-A ready worker will read the next order from the `in` channel and start working on it. Another ready worker will proceed with the next order, and so forth.
-
-Because we have many workers and since different orders take different amounts of time to work on, we see the results coming back out-of-order.
-
-On a multi-core system, many workers may truly run in parallel.
-
-This is running much faster...
-
-* The Go approach
-
-Don't communicate by sharing memory, share memory by communicating.
-
-* There's much more...
-
-* Links
-
-Go Home Page:
-
-.link http://golang.org
-
-Go Tour (learn Go in your browser)
-
-.link http://tour.golang.org
-
-Package documentation:
-
-.link http://golang.org/pkg
-
-Articles galore:
-
-.link http://golang.org/doc
diff --git a/content/2012/goforc/adder.go b/content/2012/goforc/adder.go
deleted file mode 100644
index 1ebc71a..0000000
--- a/content/2012/goforc/adder.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-// START1 OMIT
-func adder(delta int) func(x int) int {
-	f := func(x int) int { // HL
-		return x + delta // HL
-	} // HL
-	return f
-}
-
-// STOP1 OMIT
-
-func main() {
-	// START2 OMIT
-	var inc = adder(1)
-	fmt.Println(inc(0))
-	fmt.Println(adder(-1)(10))
-	// STOP2 OMIT
-}
diff --git a/content/2012/goforc/cat.go b/content/2012/goforc/cat.go
deleted file mode 100644
index 3979df1..0000000
--- a/content/2012/goforc/cat.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"flag"
-	"io"
-	"os"
-)
-
-func main() {
-	flag.Parse()
-	for _, arg := range flag.Args() {
-		f, err := os.Open(arg)
-		if err != nil {
-			panic(err)
-		}
-		defer f.Close()
-		_, err = io.Copy(os.Stdout, f) // HL
-		if err != nil {
-			panic(err)
-		}
-	}
-}
diff --git a/content/2012/goforc/celsius.go b/content/2012/goforc/celsius.go
deleted file mode 100644
index ffb4572..0000000
--- a/content/2012/goforc/celsius.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-type Celsius float32
-type Fahrenheit float32
-
-func (t Celsius) String() string           { return fmt.Sprintf("%g°C", t) }
-func (t Fahrenheit) String() string        { return fmt.Sprintf("%g°F", t) }
-func (t Celsius) ToFahrenheit() Fahrenheit { return Fahrenheit(t*9/5 + 32) }
-
-func main() {
-	var t Celsius = 21
-	fmt.Println(t.String())
-	fmt.Println(t)
-	fmt.Println(t.ToFahrenheit())
-}
diff --git a/content/2012/goforc/channels.go b/content/2012/goforc/channels.go
deleted file mode 100644
index a10c9cb..0000000
--- a/content/2012/goforc/channels.go
+++ /dev/null
@@ -1,28 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-func main() {
-	var value int
-
-	// START1 OMIT
-	// Declaring and initializing.
-	var c chan int
-	c = make(chan int)
-	// or
-	c := make(chan int) // HL
-	// STOP1 OMIT
-
-	// START2 OMIT
-	// Sending on a channel.
-	c <- 1 // HL
-	// STOP2 OMIT
-
-	// START3 OMIT
-	// Receiving from a channel.
-	// The "arrow" indicates the direction of data flow.
-	value = <-c // HL
-	// STOP3 OMIT
-
-	_ = value
-}
diff --git a/content/2012/goforc/communication1.go b/content/2012/goforc/communication1.go
deleted file mode 100644
index 4825227..0000000
--- a/content/2012/goforc/communication1.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// START1 OMIT
-func main() {
-	c := make(chan string)
-	go f("three", 300*time.Millisecond, c)
-	for i := 0; i < 10; i++ {
-		fmt.Println("Received", <-c) // Receive expression is just a value. // HL
-	}
-	fmt.Println("Done.")
-}
-
-// STOP1 OMIT
-
-// START2 OMIT
-func f(msg string, delay time.Duration, c chan string) {
-	for i := 0; ; i++ {
-		c <- fmt.Sprintf("%s %d", msg, i) // Any suitable value can be sent. // HL
-		time.Sleep(delay)
-	}
-}
-
-// STOP2 OMIT
diff --git a/content/2012/goforc/communication2.go b/content/2012/goforc/communication2.go
deleted file mode 100644
index 20c815b..0000000
--- a/content/2012/goforc/communication2.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// START1 OMIT
-func main() {
-	c := make(chan string)
-	go f("three", 300*time.Millisecond, c) // HL
-	go f("six", 600*time.Millisecond, c)   // HL
-	go f("nine", 900*time.Millisecond, c)  // HL
-	for i := 0; i < 10; i++ {
-		fmt.Println("Received", <-c)
-	}
-	fmt.Println("Done.")
-}
-
-// STOP1 OMIT
-
-// START2 OMIT
-func f(msg string, delay time.Duration, c chan string) {
-	for i := 0; ; i++ {
-		c <- fmt.Sprintf("%s %d", msg, i) // Any suitable value can be sent. // HL
-		time.Sleep(delay)
-	}
-}
-
-// STOP2 OMIT
diff --git a/content/2012/goforc/consts.go b/content/2012/goforc/consts.go
deleted file mode 100644
index 33cf221..0000000
--- a/content/2012/goforc/consts.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-// START1 OMIT
-const (
-	MaxUInt = 1<<64 - 1
-	Pi      = 3.14159265358979323846264338327950288419716939937510582097494459
-	Pi2     = Pi * Pi
-	Delta   = 2.0
-)
-
-// STOP1 OMIT
-
-func main() {
-	// START2 OMIT
-	var x uint64 = MaxUInt
-	var pi2 float32 = Pi2
-	var delta int = Delta
-	// STOP2 OMIT
-	fmt.Println("x =", x)
-	fmt.Println("pi2 =", pi2)
-	fmt.Println("delta =", delta)
-}
diff --git a/content/2012/goforc/decls.go b/content/2012/goforc/decls.go
deleted file mode 100644
index b49dd4f..0000000
--- a/content/2012/goforc/decls.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-// START OMIT
-import "fmt"
-
-const digits = "0123456789abcdef"
-
-type Point struct {
-	x, y int
-	tag  string
-}
-
-var s [32]byte
-
-var msgs = []string{"Hello, 世界", "Ciao, Mondo"}
-
-func itoa(x, base int) string
-
-// STOP OMIT
-
-func main() {
-	fmt.Println() // use fmt
-}
diff --git a/content/2012/goforc/example0.go b/content/2012/goforc/example0.go
deleted file mode 100644
index fa1d0f7..0000000
--- a/content/2012/goforc/example0.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// START1 OMIT
-func main() {
-	f("Hello, World", 500*time.Millisecond)
-}
-
-// STOP1 OMIT
-
-// START2 OMIT
-func f(msg string, delay time.Duration) {
-	for i := 0; ; i++ {
-		fmt.Println(msg, i)
-		time.Sleep(delay)
-	}
-}
-
-// STOP2 OMIT
diff --git a/content/2012/goforc/example1.go b/content/2012/goforc/example1.go
deleted file mode 100644
index ced6d0e..0000000
--- a/content/2012/goforc/example1.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// START OMIT
-func main() {
-	go f("three", 300*time.Millisecond)
-	go f("six", 600*time.Millisecond)
-	go f("nine", 900*time.Millisecond)
-}
-
-// STOP OMIT
-
-func f(msg string, delay time.Duration) {
-	for i := 0; ; i++ {
-		fmt.Println(msg, i)
-		time.Sleep(delay)
-	}
-}
diff --git a/content/2012/goforc/example2.go b/content/2012/goforc/example2.go
deleted file mode 100644
index 3b8504f..0000000
--- a/content/2012/goforc/example2.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// START OMIT
-func main() {
-	go f("three", 300*time.Millisecond)
-	go f("six", 600*time.Millisecond)
-	go f("nine", 900*time.Millisecond)
-	time.Sleep(3 * time.Second)
-	fmt.Println("Done.")
-}
-
-// STOP OMIT
-
-func f(msg string, delay time.Duration) {
-	for i := 0; ; i++ {
-		fmt.Println(msg, i)
-		time.Sleep(delay)
-	}
-}
diff --git a/content/2012/goforc/forloop.go b/content/2012/goforc/forloop.go
deleted file mode 100644
index 12975c4..0000000
--- a/content/2012/goforc/forloop.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-var primes = [...]int{2, 3, 5, 7, 11, 13, 17, 19}
-
-func _() {
-	// START1 OMIT
-	for i := 0; i < len(primes); i++ {
-		fmt.Println(i, primes[i])
-	}
-	// STOP1 OMIT
-
-	// START2 OMIT
-	var sum int
-	for _, x := range primes {
-		sum += x
-	}
-	// STOP2 OMIT
-}
-
-func main() {
-	// START3 OMIT
-	for i, x := range primes {
-		fmt.Println(i, x)
-	}
-	// STOP3 OMIT
-}
diff --git a/content/2012/goforc/hello.go b/content/2012/goforc/hello.go
deleted file mode 100644
index e4f48ab..0000000
--- a/content/2012/goforc/hello.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Println("Hello, 世界")
-}
diff --git a/content/2012/goforc/interface.go b/content/2012/goforc/interface.go
deleted file mode 100644
index 02bc0f6..0000000
--- a/content/2012/goforc/interface.go
+++ /dev/null
@@ -1,36 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-type Point struct{ x, y int }
-
-func (p Point) String() string { return fmt.Sprintf("Point{%d, %d}", p.x, p.y) }
-
-type Celsius float32
-type Fahrenheit float32
-
-func (t Celsius) String() string           { return fmt.Sprintf("%g°C", t) }
-func (t Fahrenheit) String() string        { return fmt.Sprintf("%g°F", t) }
-func (t Celsius) ToFahrenheit() Fahrenheit { return Fahrenheit(t*9/5 + 32) }
-
-func main() {
-	// START OMIT
-	type Stringer interface {
-		String() string
-	}
-
-	var v Stringer // HL
-	var corner = Point{1, 1}
-	var boiling = Celsius(100)
-
-	v = corner
-	fmt.Println(v.String()) // dynamic dispatch
-	fmt.Println(v)
-
-	v = boiling.ToFahrenheit()
-	fmt.Println(v.String()) // dynamic dispatch
-	fmt.Println(v)
-	// STOP OMIT
-}
diff --git a/content/2012/goforc/point.go b/content/2012/goforc/point.go
deleted file mode 100644
index 2973d77..0000000
--- a/content/2012/goforc/point.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-type Point struct{ x, y int }
-
-func PointToString(p Point) string {
-	return fmt.Sprintf("Point{%d, %d}", p.x, p.y)
-}
-
-func (p Point) String() string { // HL
-	return fmt.Sprintf("Point{%d, %d}", p.x, p.y)
-}
-
-func main() {
-	p := Point{3, 5}
-	fmt.Println(PointToString(p)) // static dispatch // HL
-	fmt.Println(p.String())       // static dispatch // HL
-	fmt.Println(p)
-}
diff --git a/content/2012/goforc/stmts.go b/content/2012/goforc/stmts.go
deleted file mode 100644
index ae6a5c7..0000000
--- a/content/2012/goforc/stmts.go
+++ /dev/null
@@ -1,35 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-const digits = "0123456789abcdef"
-
-func itoa(x, base int) string {
-	// START OMIT
-	t := x
-	switch {
-	case x == 0:
-		return "0"
-	case x < 0:
-		t = -x
-	}
-	var s [32]byte
-	i := len(s)
-	for t != 0 { // Look, ma, no ()'s!
-		i--
-		s[i] = digits[t%base]
-		t /= base
-	}
-	if x < 0 {
-		i--
-		s[i] = '-'
-	}
-	return string(s[i:])
-	// STOP OMIT
-}
-
-func main() {
-	fmt.Println(itoa(-42, 2))
-}
diff --git a/content/2012/goforc/vars.go b/content/2012/goforc/vars.go
deleted file mode 100644
index 101eaa7..0000000
--- a/content/2012/goforc/vars.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-// START1 OMIT
-var i int
-var p, q *Point
-var threshold float64 = 0.75
-
-// STOP1 OMIT
-
-// START2 OMIT
-var i = 42       // type of i is int
-var z = 1 + 2.3i // type of z is complex128
-// STOP2 OMIT
-
-func _() int {
-	i := 42 // type of i is int
-	return &i
-}
diff --git a/content/2012/goforc/worker1.go b/content/2012/goforc/worker1.go
deleted file mode 100644
index 585af16..0000000
--- a/content/2012/goforc/worker1.go
+++ /dev/null
@@ -1,62 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-import "time"
-
-// START1 OMIT
-func main() {
-	start := time.Now()
-
-	in := make(chan int)    // Channel on which work orders are received.
-	out := make(chan []int) // Channel on which results are returned.
-	go producer(in)
-	go worker(in, out) // Launch one worker. // HL
-	consumer(out, 100)
-
-	fmt.Println(time.Since(start))
-}
-
-// STOP1 OMIT
-
-// START2 OMIT
-func worker(in chan int, out chan []int) {
-	for {
-		order := <-in           // Receive a work order. // HL
-		result := factor(order) // Do some work. // HL
-		out <- result           // Send the result back. // HL
-	}
-}
-
-// STOP2 OMIT
-
-// START3 OMIT
-func producer(out chan int) {
-	for order := 0; ; order++ {
-		out <- order // Produce a work order. // HL
-	}
-}
-
-func consumer(in chan []int, n int) {
-	for i := 0; i < n; i++ {
-		result := <-in // Consume a result. // HL
-		fmt.Println("Consumed", result)
-	}
-}
-
-// STOP3 OMIT
-
-// factor returns a list containing x and its prime factors.
-func factor(x int) (list []int) {
-	list = append(list, x)
-	for f := 2; x >= f; f++ {
-		for x%f == 0 {
-			x /= f
-			list = append(list, f)
-			// Slow down so we can see what happens.
-			time.Sleep(50 * time.Millisecond)
-		}
-	}
-	return
-}
diff --git a/content/2012/goforc/worker2.go b/content/2012/goforc/worker2.go
deleted file mode 100644
index f995e9b..0000000
--- a/content/2012/goforc/worker2.go
+++ /dev/null
@@ -1,64 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-import "time"
-
-func main() {
-	start := time.Now()
-
-	// START1 OMIT
-	in := make(chan int)
-	out := make(chan []int)
-	go producer(in)
-	// Launch 10 workers. // HL
-	for i := 0; i < 10; i++ { // HL
-		go worker(in, out) // HL
-	} // HL
-	consumer(out, 100)
-	// STOP1 OMIT
-
-	fmt.Println(time.Since(start))
-}
-
-// START2 OMIT
-func worker(in chan int, out chan []int) {
-	for {
-		order := <-in           // Receive a work order. // HL
-		result := factor(order) // Do some work. // HL
-		out <- result           // Send the result back. // HL
-	}
-}
-
-// STOP2 OMIT
-
-// START3 OMIT
-func producer(out chan int) {
-	for order := 0; ; order++ {
-		out <- order // Produce a work order. // HL
-	}
-}
-
-func consumer(in chan []int, n int) {
-	for i := 0; i < n; i++ {
-		result := <-in // Consume a result. // HL
-		fmt.Println("Consumed", result)
-	}
-}
-
-// STOP3 OMIT
-
-// factor returns a list containing x and its prime factors.
-func factor(x int) (list []int) {
-	list = append(list, x)
-	for f := 2; x >= f; f++ {
-		for x%f == 0 {
-			x /= f
-			list = append(list, f)
-			// Slow down so we can see what happens.
-			time.Sleep(50 * time.Millisecond)
-		}
-	}
-	return
-}
diff --git a/content/2012/insidepresent.slide b/content/2012/insidepresent.slide
deleted file mode 100644
index 2e33886..0000000
--- a/content/2012/insidepresent.slide
+++ /dev/null
@@ -1,144 +0,0 @@
-Inside the "present" tool
-
-Andrew Gerrand
-Google
-@enneff
-adg@golang.org
-http://golang.org
-
-
-* The Playground API
-
-The API used by the Playground (and the Tour) is a simple HTTP POST request
-that returns a JSON-encoded response.
-
-Request:
-
-	POST /compile HTTP/1.1
-	Host:play.golang.org
-	Content-Length:113
-	Content-Type:application/x-www-form-urlencoded; charset=UTF-8
-	
-	body=package+main%0A%0Aimport+%22fmt%22%0A%0Afunc+main()+%7B%0A%09fmt.Println(%22Hello%2C+playground%22)%0A%7D%0A
-
-Response body:
-
-	{"compile_errors":"","output":"Hello, playground\n"}
-
-
-* Playground drawbacks
-
-The compile service has no concept of time. (Necessary to limit resource use.)
-
-The API reflects this; output is sent in one blob, not streamed.
-
-Even when running locally, the API is bad for demonstrating code that uses time.
-
-Rob needed to use time in his _Go_Concurrency_Patterns_ talk.
-
-
-* Enter WebSockets
-
-WebSockets are a bi-directional communication channel between a JavaScript program running in a web browser and a web server. They are part of HTML 5. 
-
-The `websocket` package in Go's `go.net` sub-repository provides a WebSocket client and server.
-
-I thought I could use WebSockets to stream program output to a running
-presentation.
-
-And thus the `present` tool was born.
-
-
-* Hello, WebSocket
-
-.code insidepresent/websocket.js
-.play insidepresent/websocket.go
-
-
-* Messages
-
-The client (browser) and server (present) communicate with JSON-encoded messages.
-
-.code insidepresent/socket.go /Message is/,/^}/
-
-Go's `encoding/json` format can convert these `Message` values to and from JSON.
-
-Go:
-
-	Message{Id: "0", Kind: "run", Body: `package main; func main() { print("hello"); }`}
-
-JSON:
-
-	{"Id":"0","Kind":"run","Body":"package main; func main() { print(\"hello\"); }"}
-
-
-* On the wire
-
-.play insidepresent/hello.go
-
-.html insidepresent/wire.html
-
-
-* Implementation
-
-* socketHandler (1/3)
-
-First, register the handler with the `net/http` package:
-
-	http.Handle("/socket", websocket.Handler(socketHandler))
-
-Implementation:
-
-.code insidepresent/socket.go /func socketHandler/,/errc/
-
-* socketHandler (2/3)
-
-.code insidepresent/socket.go /Decode messages/,/END/
-
-* socketHandler (3/3)
-
-.code insidepresent/socket-simple.go /Start and kill/,/^}/
-
-
-* Process
-
-.code insidepresent/socket.go /Process represents/,/^}/
-
-* StartProcess
-
-.code insidepresent/socket.go /StartProcess builds/,/^}/
-
-* Process.start (1/2)
-
-.code insidepresent/socket.go /start builds/,/END/
-
-* Process.start (2/2)
-
-.code insidepresent/socket.go /build x\.go/,/^}/
-
-* Process.cmd
-
-.code insidepresent/socket.go /cmd builds/,/^}/
-.code insidepresent/socket.go /messageWriter is/,/END/
-
-* Process.wait and Process.end
-
-.code insidepresent/socket.go /wait waits/,/^}/
-.code insidepresent/socket.go /end sends/,/^}/
-
-* Process.Kill
-
-.code insidepresent/socket.go /Kill stops/,/^}/
-
-
-* One more thing
-
-* Limiting output (1/2)
-
-.code insidepresent/socket.go /switch m\.Kind/,/^			}/
-
-* Limiting output (2/2)
-
-.code insidepresent/socket.go /limiter returns/,/^}/
-
-
diff --git a/content/2012/insidepresent/hello.go b/content/2012/insidepresent/hello.go
deleted file mode 100644
index b62da0a..0000000
--- a/content/2012/insidepresent/hello.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import ( "fmt"; "time" )
-
-func main() {
-	for {
-		fmt.Println("Hello, Gophers!")
-		time.Sleep(time.Second)
-	}
-}
diff --git a/content/2012/insidepresent/socket-simple.go b/content/2012/insidepresent/socket-simple.go
deleted file mode 100644
index 20d5dde..0000000
--- a/content/2012/insidepresent/socket-simple.go
+++ /dev/null
@@ -1,226 +0,0 @@
-// Copyright 2012 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/json"
-	"io/ioutil"
-	"log"
-	"net/http"
-	"os"
-	"os/exec"
-	"path/filepath"
-	"runtime"
-	"strconv"
-
-	"golang.org/x/net/websocket"
-)
-
-const socketPresent = true
-
-func HandleSocket(path string) {
-	http.Handle(path, websocket.Handler(socketHandler))
-}
-
-const msgLimit = 1000 // max number of messages to send per session
-
-var uniq = make(chan int) // a source of numbers for naming temporary files
-
-func init() {
-	go func() {
-		for i := 0; ; i++ {
-			uniq <- i
-		}
-	}()
-}
-
-// Message is the wire format for the websocket connection to the browser.
-// It is used for both sending output messages and receiving commands, as
-// distinguished by the Kind field.
-type Message struct {
-	Id   string // client-provided unique id for the process
-	Kind string // in: "run", "kill" out: "stdout", "stderr", "end"
-	Body string
-}
-
-// socketHandler handles the websocket connection for a given present session.
-// It handles transcoding Messages to and from JSON format, and starting
-// and killing Processes.
-func socketHandler(c *websocket.Conn) {
-	in, out := make(chan *Message), make(chan *Message)
-	errc := make(chan error, 1)
-
-	// Decode messages from client and send to the in channel.
-	go func() {
-		dec := json.NewDecoder(c)
-		for {
-			var m Message
-			if err := dec.Decode(&m); err != nil {
-				errc <- err
-				return
-			}
-			in <- &m
-		}
-	}()
-
-	// Receive messages from the out channel and encode to the client.
-	go func() {
-		enc := json.NewEncoder(c)
-		for m := range out {
-			if err := enc.Encode(m); err != nil {
-				errc <- err
-				return
-			}
-		}
-	}()
-	// END OMIT
-
-	// Start and kill Processes and handle errors.
-	proc := make(map[string]*Process)
-	for {
-		select {
-		case m := <-in:
-			switch m.Kind {
-			case "run":
-				proc[m.Id].Kill()
-				proc[m.Id] = StartProcess(m.Id, m.Body, out)
-			case "kill":
-				proc[m.Id].Kill()
-			}
-		case err := <-errc:
-			// A encode or decode has failed; bail.
-			log.Println(err)
-			// Shut down any running processes.
-			for _, p := range proc {
-				p.Kill()
-			}
-			return
-		}
-	}
-}
-
-// Process represents a running process.
-type Process struct {
-	id   string
-	out  chan<- *Message
-	done chan struct{} // closed when wait completes
-	run  *exec.Cmd
-}
-
-// StartProcess builds and runs the given program, sending its output
-// and end event as Messages on the provided channel.
-func StartProcess(id, body string, out chan<- *Message) *Process {
-	p := &Process{
-		id:   id,
-		out:  out,
-		done: make(chan struct{}),
-	}
-	cmd, err := p.start(body)
-	if err != nil {
-		p.end(err)
-		return nil
-	}
-	p.run = cmd
-	go p.wait(cmd)
-	return p
-}
-
-// Kill stops the process if it is running and waits for it to exit.
-func (p *Process) Kill() {
-	if p == nil {
-		return
-	}
-	if p.run != nil {
-		p.run.Process.Kill()
-	}
-	<-p.done
-}
-
-// start builds and starts the given program, sending its output to p.out,
-// and returns the associated *exec.Cmd.
-func (p *Process) start(body string) (*exec.Cmd, error) {
-	// x is the base name for .go and executable files
-	x := filepath.Join(tmpdir, "compile"+strconv.Itoa(<-uniq))
-	src := x + ".go"
-	bin := x
-	if runtime.GOOS == "windows" {
-		bin += ".exe"
-	}
-
-	// write body to x.go
-	defer os.Remove(src)
-	if err := ioutil.WriteFile(src, []byte(body), 0666); err != nil {
-		return nil, err
-	}
-	// END OMIT
-
-	// build x.go, creating x
-	dir, file := filepath.Split(src)
-	err := p.cmd(dir, "go", "build", "-o", bin, file).Run()
-	defer os.Remove(bin)
-	if err != nil {
-		return nil, err
-	}
-
-	// run x
-	cmd := p.cmd("", bin)
-	if err = cmd.Start(); err != nil {
-		return nil, err
-	}
-	return cmd, nil
-}
-
-// wait waits for the running process to complete and returns its error state.
-func (p *Process) wait(cmd *exec.Cmd) {
-	defer close(p.done)
-	p.end(cmd.Wait())
-}
-
-// end sends an "end" message to the client, containing the process id and the
-// given error value.
-func (p *Process) end(err error) {
-	m := &Message{Id: p.id, Kind: "end"}
-	if err != nil {
-		m.Body = err.Error()
-	}
-	p.out <- m
-}
-
-// cmd builds an *exec.Cmd that writes its standard output and error to the
-// Process' output channel.
-func (p *Process) cmd(dir string, args ...string) *exec.Cmd {
-	cmd := exec.Command(args[0], args[1:]...)
-	cmd.Dir = dir
-	cmd.Stdout = &messageWriter{p.id, "stdout", p.out}
-	cmd.Stderr = &messageWriter{p.id, "stderr", p.out}
-	return cmd
-}
-
-// messageWriter is an io.Writer that converts all writes to Message sends on
-// the out channel with the specified id and kind.
-type messageWriter struct {
-	id, kind string
-	out      chan<- *Message
-}
-
-func (w *messageWriter) Write(b []byte) (n int, err error) {
-	w.out <- &Message{Id: w.id, Kind: w.kind, Body: string(b)}
-	return len(b), nil
-}
-
-// END OMIT
-
-var tmpdir string
-
-func init() {
-	// find real path to temporary directory
-	var err error
-	tmpdir, err = filepath.EvalSymlinks(os.TempDir())
-	if err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/content/2012/insidepresent/socket.go b/content/2012/insidepresent/socket.go
deleted file mode 100644
index f53fa2a..0000000
--- a/content/2012/insidepresent/socket.go
+++ /dev/null
@@ -1,250 +0,0 @@
-// Copyright 2012 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/json"
-	"io/ioutil"
-	"log"
-	"net/http"
-	"os"
-	"os/exec"
-	"path/filepath"
-	"runtime"
-	"strconv"
-
-	"golang.org/x/net/websocket"
-)
-
-const socketPresent = true
-
-func HandleSocket(path string) {
-	http.Handle(path, websocket.Handler(socketHandler))
-}
-
-const msgLimit = 1000 // max number of messages to send per session
-
-var uniq = make(chan int) // a source of numbers for naming temporary files
-
-func init() {
-	go func() {
-		for i := 0; ; i++ {
-			uniq <- i
-		}
-	}()
-}
-
-// Message is the wire format for the websocket connection to the browser.
-// It is used for both sending output messages and receiving commands, as
-// distinguished by the Kind field.
-type Message struct {
-	Id   string // client-provided unique id for the process
-	Kind string // in: "run", "kill" out: "stdout", "stderr", "end"
-	Body string
-}
-
-// socketHandler handles the websocket connection for a given present session.
-// It handles transcoding Messages to and from JSON format, and starting
-// and killing Processes.
-func socketHandler(c *websocket.Conn) {
-	in, out := make(chan *Message), make(chan *Message)
-	errc := make(chan error, 1)
-
-	// Decode messages from client and send to the in channel.
-	go func() {
-		dec := json.NewDecoder(c)
-		for {
-			var m Message
-			if err := dec.Decode(&m); err != nil {
-				errc <- err
-				return
-			}
-			in <- &m
-		}
-	}()
-
-	// Receive messages from the out channel and encode to the client.
-	go func() {
-		enc := json.NewEncoder(c)
-		for m := range out {
-			if err := enc.Encode(m); err != nil {
-				errc <- err
-				return
-			}
-		}
-	}()
-	// END OMIT
-
-	// Start and kill Processes and handle errors.
-	proc := make(map[string]*Process)
-	for {
-		select {
-		case m := <-in:
-			switch m.Kind {
-			case "run":
-				proc[m.Id].Kill()
-				lOut := limiter(in, out)                      // HL
-				proc[m.Id] = StartProcess(m.Id, m.Body, lOut) // HL
-			case "kill":
-				proc[m.Id].Kill()
-			}
-		case err := <-errc:
-			// A encode or decode has failed; bail.
-			log.Println(err)
-			// Shut down any running processes.
-			for _, p := range proc {
-				p.Kill()
-			}
-			return
-		}
-	}
-}
-
-// Process represents a running process.
-type Process struct {
-	id   string
-	out  chan<- *Message
-	done chan struct{} // closed when wait completes
-	run  *exec.Cmd
-}
-
-// StartProcess builds and runs the given program, sending its output
-// and end event as Messages on the provided channel.
-func StartProcess(id, body string, out chan<- *Message) *Process {
-	p := &Process{
-		id:   id,
-		out:  out,
-		done: make(chan struct{}),
-	}
-	if err := p.start(body); err != nil {
-		p.end(err)
-		return nil
-	}
-	go p.wait()
-	return p
-}
-
-// Kill stops the process if it is running and waits for it to exit.
-func (p *Process) Kill() {
-	if p == nil {
-		return
-	}
-	p.run.Process.Kill()
-	<-p.done
-}
-
-// start builds and starts the given program, sends its output to p.out,
-// and stores the running *exec.Cmd in the run field.
-func (p *Process) start(body string) error {
-	// x is the base name for .go and executable files
-	x := filepath.Join(tmpdir, "compile"+strconv.Itoa(<-uniq))
-	src := x + ".go"
-	bin := x
-	if runtime.GOOS == "windows" {
-		bin += ".exe"
-	}
-
-	// write body to x.go
-	defer os.Remove(src)
-	if err := ioutil.WriteFile(src, []byte(body), 0666); err != nil {
-		return err
-	}
-	// END OMIT
-
-	// build x.go, creating x
-	dir, file := filepath.Split(src)
-	err := p.cmd(dir, "go", "build", "-o", bin, file).Run()
-	defer os.Remove(bin)
-	if err != nil {
-		return err
-	}
-
-	// run x
-	cmd := p.cmd("", bin)
-	if err = cmd.Start(); err != nil {
-		return err
-	}
-
-	p.run = cmd
-	return nil
-}
-
-// wait waits for the running process to complete
-// and sends its error state to the client.
-func (p *Process) wait() {
-	defer close(p.done)
-	p.end(p.run.Wait())
-}
-
-// end sends an "end" message to the client, containing the process id and the
-// given error value.
-func (p *Process) end(err error) {
-	m := &Message{Id: p.id, Kind: "end"}
-	if err != nil {
-		m.Body = err.Error()
-	}
-	p.out <- m
-}
-
-// cmd builds an *exec.Cmd that writes its standard output and error to the
-// Process' output channel.
-func (p *Process) cmd(dir string, args ...string) *exec.Cmd {
-	cmd := exec.Command(args[0], args[1:]...)
-	cmd.Dir = dir
-	cmd.Stdout = &messageWriter{p.id, "stdout", p.out}
-	cmd.Stderr = &messageWriter{p.id, "stderr", p.out}
-	return cmd
-}
-
-// messageWriter is an io.Writer that converts all writes to Message sends on
-// the out channel with the specified id and kind.
-type messageWriter struct {
-	id, kind string
-	out      chan<- *Message
-}
-
-func (w *messageWriter) Write(b []byte) (n int, err error) {
-	w.out <- &Message{Id: w.id, Kind: w.kind, Body: string(b)}
-	return len(b), nil
-}
-
-// END OMIT
-
-// limiter returns a channel that wraps dest. Messages sent to the channel are
-// sent to dest. After msgLimit Messages have been passed on, a "kill" Message
-// is sent to the kill channel, and only "end" messages are passed.
-func limiter(kill chan<- *Message, dest chan<- *Message) chan<- *Message {
-	ch := make(chan *Message)
-	go func() {
-		n := 0
-		for m := range ch {
-			switch {
-			case n < msgLimit || m.Kind == "end":
-				dest <- m
-				if m.Kind == "end" {
-					return
-				}
-			case n == msgLimit:
-				// Process produced too much output. Kill it.
-				kill <- &Message{Id: m.Id, Kind: "kill"}
-			}
-			n++
-		}
-	}()
-	return ch
-}
-
-var tmpdir string
-
-func init() {
-	// find real path to temporary directory
-	var err error
-	tmpdir, err = filepath.EvalSymlinks(os.TempDir())
-	if err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/content/2012/insidepresent/websocket.go b/content/2012/insidepresent/websocket.go
deleted file mode 100644
index 5b056ca..0000000
--- a/content/2012/insidepresent/websocket.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"golang.org/x/net/websocket"
-	"net/http"
-)
-
-func main() {
-	http.Handle("/", websocket.Handler(handler))
-	http.ListenAndServe("localhost:4000", nil)
-}
-
-func handler(c *websocket.Conn) {
-	var s string
-	fmt.Fscan(c, &s)
-	fmt.Println("Received:", s)
-	fmt.Fprint(c, "How do you do?")
-}
diff --git a/content/2012/insidepresent/websocket.js b/content/2012/insidepresent/websocket.js
deleted file mode 100644
index f9809d6..0000000
--- a/content/2012/insidepresent/websocket.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var sock = new WebSocket("ws://localhost:4000/");
-sock.onmessage = function(m) { console.log("Received:", m.data); }
-sock.send("Hello!\n")
diff --git a/content/2012/insidepresent/wire.html b/content/2012/insidepresent/wire.html
deleted file mode 100644
index 2a98a7d..0000000
--- a/content/2012/insidepresent/wire.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<style>
-#wire {
-	border: 1px solid #E0E0E0;
-	background: #F0F0F0;
-	height: 300px;
-	font-family: 'Droid Sans Mono', 'Courier New', monospace;
-	font-size: 18px;
-	line-height: 24px;
-	overflow: auto;
-}
-#wire div { margin-bottom: 10px; }
-#wire .send { color: #900; }
-#wire .recv { color: #009; }
-</style>
-<div id="wire"></div>
diff --git a/content/2012/simple.slide b/content/2012/simple.slide
deleted file mode 100644
index 3b49a7c..0000000
--- a/content/2012/simple.slide
+++ /dev/null
@@ -1,384 +0,0 @@
-Go: a simple programming environment
-
-9 Nov 2012
-
-# Go is a general-purpose language that bridges the gap between efficient
-# statically typed languages and productive dynamic language. But it’s not just
-# the language that makes Go special – Go has broad and consistent standard
-# libraries and powerful but simple tools.
-# 
-# This talk gives an introduction to Go, followed by a tour of some real
-# programs that demonstrate the power, scope, and simplicity of the Go
-# programming environment.
-
-Andrew Gerrand
-Google Inc.
-@enneff
-adg@golang.org
-http://golang.org
-
-* Video
-
-A video of this talk was recorded at Øredev in Malmö, Sweden in November 2012.
-
-.link http://vimeo.com/53221558 Watch the talk on Vimeo
-
-* Background
-
-* Why a new language?
-
-Motivated by our needs at Google.
-
-We need:
-
-- Efficiency
-- Safety
-- Concurrency
-- Scalability
-- Fast development cycle
-- No surprises
-- A cute mascot
-
-* Design
-
-"Consensus drove the design. Nothing went into the language until [Ken Thompson, Robert Griesemer, and myself] all agreed that it was right. Some features didn’t get resolved until after a year or more of discussion." - Rob Pike
-
-Go is:
-
-- Lightweight, avoids unnecessary repetition
-- Object Oriented, but not in the usual way
-- Concurrent, in a way that keeps you sane
-- Designed for working programmers
-
-* Go 1
-
-Released in March 2012
-
-A specification of the language and libraries that will be supported for years.
-
-The guarantee: code written for Go 1.0 will build and run with Go 1.x.
-
-Best thing we ever did.
-
-* The gopher
-
-.image simple/gopher.jpg
-
-* Hello, go
-
-.play simple/hello.go
-
-* Standard library
-
-* Packages
-
-Go code lives in packages.
-
-Packages contain type, function, variable, and constant declarations.
-
-Packages can be very small (package `errors` has just one declaration) or very large (package `net/http` has >100 declarations). Most are somewhere in between.
-
-Case determines visibility: `Foo` is exported, `foo` is not
-
-* io
-
-The `io` package provides fundamental I/O interfaces that are used throughout most Go code.
-
-The most ubiquitous are the `Reader` and `Writer` types, which describe streams of data.
-
-.code simple/io/io.go
-
-`Reader` and `Writer` implementations include files, sockets, (de)compressors, image and JSON codecs, and many more.
-
-* Chaining io.Readers
-
-.play simple/reader.go
-
-* net/http
-
-The `net/http` package implements an HTTP server and client.
-
-.play simple/hello-web.go
-
-* encoding/json
-
-The `encoding/json` package converts JSON-encoded data to and from native Go data structures.
-
-.play simple/json.go /const/,$
-
-* time
-
-The `time` package provides a representation of time and duration, and other time-related functions.
-
-.play simple/time.go /START/,/END/
-.play simple/time2.go /START/,/END/
-
-`time.Time` values also contain a `time.Location` (for display only):
-
-.play simple/time3.go /START/,/END/
-
-* flag
-
-The `flag` package provides a simple API for parsing command-line flags.
-
-.play simple/flag.go
-
-	$ flag -message 'Hold on...' -delay 5m
-
-* Tools
-
-* The go tool
-
-The `go` tool is the de facto standard for building and installing Go code.
-
-Compile and run a single-file program:
-
-	$ go run hello.go
-
-Build and install the package in the current directory (and its dependencies):
-
-	$ go install
-
-Build and install the `fmt` package (and its dependencies):
-
-	$ go install fmt
-
-This tool also acts as an interface for most of the Go tools.
-
-* Import paths
-
-The `go` tool is a "zero configuration" tool. No Makefiles or scripts. Just Go code.
-Your build schema and code are always in sync; they are one and the same.
-
-Package import paths mirror the code's location in the file system:
-
-  src/
-    github.com/nf/
-      gosynth/
-        main.go
-        note.go
-        osc.go
-      wav/
-        writer.go
-
-The `gosynth` program imports the `wav` package:
-
-  import "github.com/nf/wav"
-
-Installing `gosynth` will automatically install the `wav` package:
-
-  $ go install github.com/nf/gosynth
-
-* Remote dependencies
-
-The `go` tool also fetches Go code from remote repositories.
-
-Import paths can be URLs:
-
-	import "golang.org/x/net/websocket"
-
-To fetch, build and install a package:
-
-	$ go get code.google.com/p/go.net/websocket
-
-To fetch, build, and install `gosynth` and its dependencies:
-
-	$ go get github.com/nf/gosynth
-
-This simple design leads to other cool tools:
-
-.link http://go.pkgdoc.org
-
-* Godoc
-
-Godoc extracts documentation from Go code and presents it in a variety of forms.
-
-Comments need no special format, they just need to precede what they document.
-
-	// Split slices s into all substrings separated by sep and returns a slice of
-	// the substrings between those separators.
-	// If sep is empty, Split splits after each UTF-8 sequence.
-	// It is equivalent to SplitN with a count of -1.
-	func Split(s, sep string) []string {
-
-.image simple/split.png
-
-Documentation that lives with code is easy to keep up-to-date.
-
-* Gofmt
-
-The `gofmt` tool is a pretty-printer for Go source code.
-
-All Go code in the core is gofmt'd, as is ~70% of open source Go code.
-
-Ends boring formatting discussions.
-
-Improves readability. Improves writability.
-
-Saves a _huge_ amount of time.
-
-* Tests: writing
-
-The `go` tool and the `testing` package provide a lightweight test framework.
-
-.code simple/test/string_test.go /func TestIndex/,/^}/
-
-* Tests: running
-
-The go tool runs tests.
-
-	$ go test
-	PASS
-
-	$ go test -v
-	=== RUN TestIndex
-	--- PASS: TestIndex (0.00 seconds)
-	PASS
-
-To run the tests for all my projects:
-
-	$ go test github.com/nf/...
-
-* Tests: benchmarks
-
-The `testing` package also supports benchmarks.
-	
-A sample benchmark function:
-
-.code simple/test/string_test.go /func BenchmarkIndex/,/^}/
- 
-The benchmark package will vary `b.N` until the benchmark function lasts long enough to be timed reliably.
-
-	$ go test -test.bench=Index
-	PASS
-	BenchmarkIndex	50000000	        37.3 ns/op
-
-* Tests: doc examples
-
-The `testing` package also supports testable examples.
-
-.code simple/test/string_test.go /func ExampleIndex/,/^}/
-
-Examples and built and run as part of the normal test suite:
-
-	$ go test -v
-	=== RUN: ExampleIndex
-	--- PASS: ExampleIndex (0.00 seconds)
-	PASS
-
-The example is displayed in `godoc` alongside the thing it demonstrates:
-
-.link http://golang.org/pkg/strings/#Index
-
-* And there's more
-
-- `vet`: checks code for common programmer mistakes
-- `pprof`: CPU and memory profiling
-- `fix`: automatically migrate code as APIs change
-- GDB support
-- Editor support: Vim, Emacs, Eclipse, Sublime Text
-
-* An example
-
-* Webfront
-
-`Webfront` is an HTTP server and reverse proxy.
-
-It reads a JSON-formatted rule file like this:
-
-.code simple/webfront/main.go /^\[/,/\]/
-
-For all requests to the host `example.com` (or any name ending in `".example.com"`) it serves files from the `/var/www` directory.
-
-For requests to `example.org`, it forwards the request to the HTTP server listening on localhost port 8080.
-
-* The Rule type
-
-A `Rule` value specifies what to do for a request to a specific host.
-
-.code simple/webfront/main.go /Rule represents/,/^}/
-
-It corresponds directly with the entries in the JSON configuration file.
-
-.code simple/webfront/main.go /^\[/,/\]/
-
-* Rule methods
-
-.code simple/webfront/main.go /Match returns/,/^}/
-.code simple/webfront/main.go /Handler returns/,/^}/
-
-* The Server type
-
-The `Server` type is responsible for loading (and refreshing) the rules from the rule file and serving HTTP requests with the appropriate handler.
-
-.code simple/webfront/main.go /Server implements/,/^}/
-.code simple/webfront/main.go /ServeHTTP matches/,/^}/
-
-* The handler method
-
-.code simple/webfront/main.go /handler returns/,/^}/
-
-* Parsing rules
-
-The `parseRules` function uses the `encoding/json` package to read the rule file into a Go data structure.
-
-.code simple/webfront/main.go /parseRules reads/,/^}/
-
-* The loadRules method
-
-.code simple/webfront/main.go /loadRules tests/,/^}/
-
-* Constructing the server
-
-.code simple/webfront/main.go /NewServer constructs/,/^}/
-
-This constructor function launches a goroutine running the `refreshRules` method.
-
-* Refreshing the rules
-
-.code simple/webfront/main.go /refreshRules polls/,/^}/
-
-* Bringing it all together
-
-The main function parses command-line flags, constructs a `Server`, and launches an HTTP server that serves all requests with the `Server`.
-
-.code simple/webfront/main.go /^var/,/^}/
-
-* Demo
-
-* Testing (1/3)
-
-The `Server` integration test uses the `httptest` package to construct a dummy HTTP server, synthesizes a set of rules, and constructs a `Server` instance that uses those rules.
-
-.code simple/webfront/server_test.go /^func testHandler/,/STOP/
-
-* Testing (2/3)
-
-Each test case in the table specifies a request URL and the expected response code and body.
-
-.code simple/webfront/server_test.go /TESTS START/,/STOP/
-
-* Testing (3/3)
-
-For each test case, construct an `http.Request` for the url and an `httptest.ResponseRecorder` to capture the response, and pass them to the `Server.ServeHTTP` method. Then check that the response matches the test case.
-
-.code simple/webfront/server_test.go /RANGE START/,/^}/
-
-* Demo
-
-* Conclusions
-
-* Further reading
-
-All about Go:
-
-.link http://golang.org
-
-The slides for this talk:
-
-.link http://talks.golang.org/2012/simple.slide
-
-webfront:
-
-.link https://github.com/nf/webfront
-
diff --git a/content/2012/simple/flag.go b/content/2012/simple/flag.go
deleted file mode 100644
index 2606af3..0000000
--- a/content/2012/simple/flag.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"flag"
-	"fmt"
-	"time"
-)
-
-var (
-	message = flag.String("message", "Hello!", "what to say")
-	delay   = flag.Duration("delay", 2*time.Second, "how long to wait")
-)
-
-func main() {
-	flag.Parse()
-	fmt.Println(*message)
-	time.Sleep(*delay)
-}
diff --git a/content/2012/simple/gopher.jpg b/content/2012/simple/gopher.jpg
deleted file mode 100644
index 0e886e4..0000000
--- a/content/2012/simple/gopher.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/simple/hello-web.go b/content/2012/simple/hello-web.go
deleted file mode 100644
index 05d1439..0000000
--- a/content/2012/simple/hello-web.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"log"
-	"net/http"
-)
-
-type Greeting string
-
-func (g Greeting) ServeHTTP(w http.ResponseWriter, r *http.Request) {
-	fmt.Fprint(w, g)
-}
-
-func main() {
-	err := http.ListenAndServe("localhost:4000", Greeting("Hello, go"))
-	if err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/content/2012/simple/hello.go b/content/2012/simple/hello.go
deleted file mode 100644
index 0757c53..0000000
--- a/content/2012/simple/hello.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Println("Hello, go")
-}
diff --git a/content/2012/simple/io/io.go b/content/2012/simple/io/io.go
deleted file mode 100644
index d0d975a..0000000
--- a/content/2012/simple/io/io.go
+++ /dev/null
@@ -1,11 +0,0 @@
-// +build ignore,OMIT
-
-package io
-
-type Writer interface {
-	Write(p []byte) (n int, err error)
-}
-
-type Reader interface {
-	Read(p []byte) (n int, err error)
-}
diff --git a/content/2012/simple/json.go b/content/2012/simple/json.go
deleted file mode 100644
index aa91a92..0000000
--- a/content/2012/simple/json.go
+++ /dev/null
@@ -1,27 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/json"
-	"fmt"
-	"strings"
-)
-
-const blob = `[
-	{"Title":"Øredev", "URL":"http://oredev.org"},
-	{"Title":"Strange Loop", "URL":"http://thestrangeloop.com"}
-]`
-
-type Item struct {
-	Title string
-	URL   string
-}
-
-func main() {
-	var items []*Item
-	json.NewDecoder(strings.NewReader(blob)).Decode(&items)
-	for _, item := range items {
-		fmt.Printf("Title: %v URL: %v\n", item.Title, item.URL)
-	}
-}
diff --git a/content/2012/simple/reader.go b/content/2012/simple/reader.go
deleted file mode 100644
index 1aa4415..0000000
--- a/content/2012/simple/reader.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"compress/gzip"
-	"encoding/base64"
-	"io"
-	"os"
-	"strings"
-)
-
-func main() {
-	var r io.Reader
-	r = strings.NewReader(data)
-	r = base64.NewDecoder(base64.StdEncoding, r)
-	r, _ = gzip.NewReader(r)
-	io.Copy(os.Stdout, r)
-}
-
-const data = `
-H4sIAAAJbogA/1SOO5KDQAxE8zlFZ5tQXGCjjfYIjoURoPKgcY0E57f4VZlQXf2e+r8yOYbMZJhoZWRxz3wkCVjeReETS0VHz5fBCzpxxg/PbfrT/gacCjbjeiRNOChaVkA9RAdR8eVEw4vxa0Dcs3Fe2ZqowpeqG79L995l3VaMBUV/02OS+B6kMWikwG51c8n5GnEPr11F2/QJAAD//z9IppsHAQAA
-`
diff --git a/content/2012/simple/split.png b/content/2012/simple/split.png
deleted file mode 100644
index 5140229..0000000
--- a/content/2012/simple/split.png
+++ /dev/null
Binary files differ
diff --git a/content/2012/simple/test.go b/content/2012/simple/test.go
deleted file mode 100644
index 1e67361..0000000
--- a/content/2012/simple/test.go
+++ /dev/null
@@ -1,34 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "strings"
-
-import "testing"
-
-func TestToUpper(t *testing.T) {
-	in := "loud noises"
-	want := "LOUD NOISES"
-	got := strings.ToUpper(in)
-	if got != want {
-		t.Errorf("ToUpper(%v) = %v, want %v", in, got, want)
-	}
-}
-
-func TestContains(t *testing.T) {
-	var tests = []struct {
-		str, substr string
-		expected    bool
-	}{
-		{"abc", "bc", true},
-		{"abc", "bcd", false},
-		{"abc", "", true},
-		{"", "a", false},
-	}
-	for _, ct := range tests {
-		if strings.Contains(ct.str, ct.substr) != ct.expected {
-			t.Errorf("Contains(%s, %s) = %v, want %v",
-				ct.str, ct.substr, !ct.expected, ct.expected)
-		}
-	}
-}
diff --git a/content/2012/simple/test/string_test.go b/content/2012/simple/test/string_test.go
deleted file mode 100644
index a65ff9d..0000000
--- a/content/2012/simple/test/string_test.go
+++ /dev/null
@@ -1,45 +0,0 @@
-// +build ignore,OMIT
-
-package string_test
-
-import (
-	"fmt"
-	"strings"
-	"testing"
-)
-
-func TestIndex(t *testing.T) {
-	var tests = []struct {
-		s   string
-		sep string
-		out int
-	}{
-		{"", "", 0},
-		{"", "a", -1},
-		{"fo", "foo", -1},
-		{"foo", "foo", 0},
-		{"oofofoofooo", "f", 2},
-		// etc
-	}
-	for _, test := range tests {
-		actual := strings.Index(test.s, test.sep)
-		if actual != test.out {
-			t.Errorf("Index(%q,%q) = %v; want %v", test.s, test.sep, actual, test.out)
-		}
-	}
-}
-
-func BenchmarkIndex(b *testing.B) {
-	const s = "some_text=some☺value"
-	for i := 0; i < b.N; i++ {
-		strings.Index(s, "v")
-	}
-}
-
-func ExampleIndex() {
-	fmt.Println(strings.Index("chicken", "ken"))
-	fmt.Println(strings.Index("chicken", "dmr"))
-	// Output:
-	// 4
-	// -1
-}
diff --git a/content/2012/simple/time.go b/content/2012/simple/time.go
deleted file mode 100644
index c73963f..0000000
--- a/content/2012/simple/time.go
+++ /dev/null
@@ -1,18 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func main() {
-	// START OMIT
-	if time.Now().Hour() < 12 {
-		fmt.Println("Good morning.")
-	} else {
-		fmt.Println("Good afternoon (or evening).")
-	}
-	// END OMIT
-}
diff --git a/content/2012/simple/time2.go b/content/2012/simple/time2.go
deleted file mode 100644
index bd7273c..0000000
--- a/content/2012/simple/time2.go
+++ /dev/null
@@ -1,16 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func main() {
-	// START OMIT
-	birthday, _ := time.Parse("Jan 2 2006", "Nov 10 2009") // time.Time
-	age := time.Since(birthday)                            // time.Duration
-	fmt.Printf("Go is %d days old\n", age/(time.Hour*24))
-	// END OMIT
-}
diff --git a/content/2012/simple/time3.go b/content/2012/simple/time3.go
deleted file mode 100644
index d0e1ba3..0000000
--- a/content/2012/simple/time3.go
+++ /dev/null
@@ -1,17 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func main() {
-	// START OMIT
-	t := time.Now()
-	fmt.Println(t.In(time.UTC))
-	home, _ := time.LoadLocation("Australia/Sydney")
-	fmt.Println(t.In(home))
-	// END OMIT
-}
diff --git a/content/2012/simple/webfront/main.go b/content/2012/simple/webfront/main.go
deleted file mode 100644
index bf28dec..0000000
--- a/content/2012/simple/webfront/main.go
+++ /dev/null
@@ -1,196 +0,0 @@
-// +build ignore,OMIT
-
-// This is a somewhat cut back version of webfront, available at
-// http://github.com/nf/webfront
-
-/*
-Copyright 2011 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-/*
-webfront is an HTTP server and reverse proxy.
-
-It reads a JSON-formatted rule file like this:
-
-[
-	{"Host": "example.com", "Serve": "/var/www"},
-	{"Host": "example.org", "Forward": "localhost:8080"}
-]
-
-For all requests to the host example.com (or any name ending in
-".example.com") it serves files from the /var/www directory.
-
-For requests to example.org, it forwards the request to the HTTP
-server listening on localhost port 8080.
-
-Usage of webfront:
-  -http=":80": HTTP listen address
-  -poll=10s: file poll interval
-  -rules="": rule definition file
-
-webfront was written by Andrew Gerrand <adg@golang.org>
-*/
-package main
-
-import (
-	"encoding/json"
-	"flag"
-	"fmt"
-	"log"
-	"net/http"
-	"net/http/httputil"
-	"os"
-	"strings"
-	"sync"
-	"time"
-)
-
-var (
-	httpAddr     = flag.String("http", ":80", "HTTP listen address")
-	ruleFile     = flag.String("rules", "", "rule definition file")
-	pollInterval = flag.Duration("poll", time.Second*10, "file poll interval")
-)
-
-func main() {
-	flag.Parse()
-
-	s, err := NewServer(*ruleFile, *pollInterval)
-	if err != nil {
-		log.Fatal(err)
-	}
-
-	err = http.ListenAndServe(*httpAddr, s)
-	if err != nil {
-		log.Fatal(err)
-	}
-}
-
-// Server implements an http.Handler that acts as either a reverse proxy or
-// a simple file server, as determined by a rule set.
-type Server struct {
-	mu    sync.RWMutex // guards the fields below
-	mtime time.Time    // when the rule file was last modified
-	rules []*Rule
-}
-
-// Rule represents a rule in a configuration file.
-type Rule struct {
-	Host    string // to match against request Host header
-	Forward string // non-empty if reverse proxy
-	Serve   string // non-empty if file server
-}
-
-// Match returns true if the Rule matches the given Request.
-func (r *Rule) Match(req *http.Request) bool {
-	return req.Host == r.Host || strings.HasSuffix(req.Host, "."+r.Host)
-}
-
-// Handler returns the appropriate Handler for the Rule.
-func (r *Rule) Handler() http.Handler {
-	if h := r.Forward; h != "" {
-		return &httputil.ReverseProxy{
-			Director: func(req *http.Request) {
-				req.URL.Scheme = "http"
-				req.URL.Host = h
-			},
-		}
-	}
-	if d := r.Serve; d != "" {
-		return http.FileServer(http.Dir(d))
-	}
-	return nil
-}
-
-// NewServer constructs a Server that reads rules from file with a period
-// specified by poll.
-func NewServer(file string, poll time.Duration) (*Server, error) {
-	s := new(Server)
-	if err := s.loadRules(file); err != nil {
-		return nil, err
-	}
-	go s.refreshRules(file, poll)
-	return s, nil
-}
-
-// ServeHTTP matches the Request with a Rule and, if found, serves the
-// request with the Rule's handler.
-func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
-	if h := s.handler(r); h != nil {
-		h.ServeHTTP(w, r)
-		return
-	}
-	http.Error(w, "Not found.", http.StatusNotFound)
-}
-
-// handler returns the appropriate Handler for the given Request,
-// or nil if none found.
-func (s *Server) handler(req *http.Request) http.Handler {
-	s.mu.RLock()
-	defer s.mu.RUnlock()
-	for _, r := range s.rules {
-		if r.Match(req) {
-			return r.Handler()
-		}
-	}
-	return nil
-}
-
-// refreshRules polls file periodically and refreshes the Server's rule
-// set if the file has been modified.
-func (s *Server) refreshRules(file string, poll time.Duration) {
-	for {
-		if err := s.loadRules(file); err != nil {
-			log.Println(err)
-		}
-		time.Sleep(poll)
-	}
-}
-
-// loadRules tests whether file has been modified
-// and, if so, loads the rule set from file.
-func (s *Server) loadRules(file string) error {
-	fi, err := os.Stat(file)
-	if err != nil {
-		return err
-	}
-	mtime := fi.ModTime()
-	if mtime.Before(s.mtime) && s.rules != nil {
-		return nil // no change
-	}
-	rules, err := parseRules(file)
-	if err != nil {
-		return fmt.Errorf("parsing %s: %v", file, err)
-	}
-	s.mu.Lock()
-	s.mtime = mtime
-	s.rules = rules
-	s.mu.Unlock()
-	return nil
-}
-
-// parseRules reads rule definitions from file returns the resultant Rules.
-func parseRules(file string) ([]*Rule, error) {
-	f, err := os.Open(file)
-	if err != nil {
-		return nil, err
-	}
-	defer f.Close()
-	var rules []*Rule
-	err = json.NewDecoder(f).Decode(&rules)
-	if err != nil {
-		return nil, err
-	}
-	return rules, nil
-}
diff --git a/content/2012/simple/webfront/server_test.go b/content/2012/simple/webfront/server_test.go
deleted file mode 100644
index 5fe9a78..0000000
--- a/content/2012/simple/webfront/server_test.go
+++ /dev/null
@@ -1,99 +0,0 @@
-// +build ignore,OMIT
-
-/*
-Copyright 2011 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package main
-
-import (
-	"bytes"
-	"encoding/json"
-	"io/ioutil"
-	"net/http"
-	"net/http/httptest"
-	"os"
-	"testing"
-	"time"
-)
-
-func testHandler(w http.ResponseWriter, r *http.Request) {
-	w.Write([]byte("OK"))
-}
-
-func TestServer(t *testing.T) {
-	dummy := httptest.NewServer(http.HandlerFunc(testHandler))
-	defer dummy.Close()
-
-	ruleFile := writeRules([]*Rule{
-		{Host: "example.com", Forward: dummy.Listener.Addr().String()},
-		{Host: "example.org", Serve: "testdata"},
-	})
-	defer os.Remove(ruleFile)
-
-	s, err := NewServer(ruleFile, time.Hour)
-	if err != nil {
-		t.Fatal(err)
-	}
-	// continued next slide
-	// STOP OMIT
-
-	// TESTS START OMIT
-	// continued from previous slide
-
-	var tests = []struct {
-		url  string
-		code int
-		body string
-	}{
-		{"http://example.com/", 200, "OK"},
-		{"http://foo.example.com/", 200, "OK"},
-		{"http://example.org/", 200, "contents of index.html\n"},
-		{"http://example.net/", 404, "Not found.\n"},
-		{"http://fooexample.com/", 404, "Not found.\n"},
-	}
-
-	// continued next slide
-	// STOP OMIT
-
-	// RANGE START OMIT
-	// continued from previous slide
-
-	for _, test := range tests {
-		req, _ := http.NewRequest("GET", test.url, nil)
-		rw := httptest.NewRecorder()
-		rw.Body = new(bytes.Buffer)
-		s.ServeHTTP(rw, req)
-		if g, w := rw.Code, test.code; g != w {
-			t.Errorf("%s: code = %d, want %d", test.url, g, w)
-		}
-		if g, w := rw.Body.String(), test.body; g != w {
-			t.Errorf("%s: body = %q, want %q", test.url, g, w)
-		}
-	}
-}
-
-func writeRules(rules []*Rule) (name string) {
-	f, err := ioutil.TempFile("", "webfront-rules")
-	if err != nil {
-		panic(err)
-	}
-	defer f.Close()
-	err = json.NewEncoder(f).Encode(rules)
-	if err != nil {
-		panic(err)
-	}
-	return f.Name()
-}
diff --git a/content/2012/simple/webfront/testdata/index.html b/content/2012/simple/webfront/testdata/index.html
deleted file mode 100644
index 583e54d..0000000
--- a/content/2012/simple/webfront/testdata/index.html
+++ /dev/null
@@ -1 +0,0 @@
-contents of index.html
diff --git a/content/2012/splash.article b/content/2012/splash.article
deleted file mode 100644
index 39b9104..0000000
--- a/content/2012/splash.article
+++ /dev/null
@@ -1,1180 +0,0 @@
-Go at Google: Language Design in the Service of Software Engineering
-
-Rob Pike
-Google, Inc.
-@rob_pike
-http://golang.org/s/plusrob
-http://golang.org
-
-* Abstract
-
-(This is a modified version of the keynote talk given by Rob Pike
-at the SPLASH 2012 conference in Tucson, Arizona, on October 25, 2012.)
-
-The Go programming language was conceived in late 2007 as an answer to
-some of the problems we were seeing developing software infrastructure
-at Google.
-The computing landscape today is almost unrelated to the environment
-in which the languages being used, mostly C++, Java, and Python, had
-been created.
-The problems introduced by multicore processors, networked systems,
-massive computation clusters, and the web programming model were being
-worked around rather than addressed head-on.
-Moreover, the scale has changed: today's server programs comprise tens
-of millions of lines of code, are worked on by hundreds or even
-thousands of programmers, and are updated literally every day.
-To make matters worse, build times, even on large compilation
-clusters, have stretched to many minutes, even hours.
-
-Go was designed and developed to make working in this environment more
-productive.
-Besides its better-known aspects such as built-in concurrency and
-garbage collection, Go's design considerations include rigorous
-dependency management, the adaptability of software architecture as
-systems grow, and robustness across the boundaries between components.
-
-This article explains how these issues were addressed while building
-an efficient, compiled programming language that feels lightweight and
-pleasant.
-Examples and explanations will be taken from the real-world problems
-faced at Google.
-
-* Introduction
-
-Go is a compiled, concurrent, garbage-collected, statically typed language
-developed at Google.
-It is an open source project: Google
-imports the public repository rather than the other way around.
-
-Go is efficient, scalable, and productive. Some programmers find it fun
-to work in; others find it unimaginative, even boring.
-In this article we
-will explain why those are not contradictory positions.
-Go was designed to address the problems faced in software development
-at Google, which led to a language that is not a breakthrough research language
-but is nonetheless an excellent tool for engineering large software projects.
-
-* Go at Google
-
-Go is a programming language designed by Google to help solve Google's problems, and Google has big problems.
-
-The hardware is big and the software is big.
-There are many millions of lines of software, with servers mostly in C++
-and lots of Java and Python for the other pieces.
-Thousands of engineers work on the code,
-at the "head" of a single tree comprising all the software,
-so from day to day there are significant changes to all levels of the tree.
-A large
-[[http://google-engtools.blogspot.com/2011/06/build-in-cloud-accessing-source-code.html][custom-designed distributed build system]]
-makes development at this scale feasible, but it's still big.
-
-And of course, all this software runs on zillions of machines, which are treated as a modest number of independent, networked compute clusters.
-
-.image splash/datacenter.jpg
-
-In short, development at Google is big, can be slow, and is often clumsy. But it _is_ effective.
-
-The goals of the Go project were to eliminate the slowness and clumsiness of software development at Google,
-and thereby to make the process more productive and scalable.
-The language was designed by and for people who write—and read and debug and maintain—large software systems.
-
-Go's purpose is therefore _not_ to do research into programming language design;
-it is to improve the working environment for its designers and their coworkers.
-Go is more about software engineering than programming language research.
-Or to rephrase, it is about language design in the service of software engineering.
-
-But how can a language help software engineering?
-The rest of this article is an answer to that question.
-
-* Pain points
-
-When Go launched, some claimed it was missing particular features or methodologies that were regarded as _de_rigueur_ for a modern language.
-How could Go be worthwhile in the absence of these facilities?
-Our answer to that is that the properties Go _does_ have address the issues that make large-scale software development difficult.
-These issues include:
-
-- slow builds
-- uncontrolled dependencies
-- each programmer using a different subset of the language
-- poor program understanding (code hard to read, poorly documented, and so on)
-- duplication of effort
-- cost of updates
-- version skew
-- difficulty of writing automatic tools
-- cross-language builds
-
-Individual features of a language don't address these issues.
-A larger view of software engineering is required, and
-in the design of Go we tried to focus on solutions to _these_ problems.
-
-As a simple, self-contained example, consider the representation of program structure.
-Some observers objected to Go's C-like block structure with braces, preferring the use of spaces for indentation, in the style of Python or Haskell.
-However, we have had extensive experience tracking down build and test failures caused by cross-language builds where a Python snippet embedded in another language,
-for instance through a SWIG invocation,
-is subtly and _invisibly_ broken by a change in the indentation of the surrounding code.
-Our position is therefore that, although spaces for indentation is nice for small programs, it doesn't scale well,
-and the bigger and more heterogeneous the code base, the more trouble it can cause.
-It is better to forgo convenience for safety and dependability, so Go has brace-bounded blocks.
-
-* Dependencies in C and C++
-
-A more substantial illustration of scaling and other issues arises in the handling of package dependencies.
-We begin the discussion with a review of how they work in C and C++.
-
-ANSI C, first standardized in 1989, promoted the idea of  `#ifndef` "guards" in the standard header files.
-The idea, which is ubiquitous now, is that each header file be bracketed with a conditional compilation clause so that the file may be included multiple times without error.
-For instance, the Unix header file `<sys/stat.h>` looks schematically like this:
-
-	/* Large copyright and licensing notice */
-	#ifndef _SYS_STAT_H_
-	#define _SYS_STAT_H_
-	/* Types and other definitions */
-	#endif
-
-The intent is that the C preprocessor reads in the file but disregards the contents on
-the second and subsequent
-readings of the file.
-The symbol `_SYS_STAT_H_`, defined the first time the file is read, "guards" the invocations that follow.
-
-This design has some nice properties, most important that each header file can safely `#include`
-all its dependencies, even if other header files will also include them.
-If that rule is followed, it permits orderly code that, for instance, sorts the `#include`
-clauses alphabetically.
-
-But it scales very badly.
-
-In 1984, a compilation of `ps.c`, the source to the Unix `ps` command, was observed
-to `#include` `<sys/stat.h>` 37 times by the time all the preprocessing had been done.
-Even though the contents are discarded 36 times while doing so, most C
-implementations would open the file, read it, and scan it all 37 times.
-Without great cleverness, in fact, that behavior is required by the potentially
-complex macro semantics of the C preprocessor.
-
-The effect on software is the gradual accumulation of `#include` clauses in C programs.
-It won't break a program to add them, and it's very hard to know when they are no
-longer needed.
-Deleting a `#include` and compiling the program again isn't even sufficient to test that,
-since another `#include` might itself contain a `#include` that pulls it in anyway.
-
-Technically speaking, it does not have to be like that.
-Realizing the long-term problems with the use of `#ifndef` guards, the designers
-of the Plan 9 libraries took a different, non-ANSI-standard approach.
-In Plan 9, header files were forbidden from containing further `#include` clauses; all
-`#includes` were required to be in the top-level C file.
-This required some discipline, of course—the programmer was required to list
-the necessary dependencies exactly once, in the correct order—but documentation
-helped and in practice it worked very well.
-The result was that, no matter how many dependencies a C source file had,
-each `#include` file was read exactly once when compiling that file.
-And, of course, it was also easy to see if an `#include` was necessary by taking
-it out: the edited program would compile if and only if the dependency was unnecessary.
-
-The most important result of the Plan 9 approach was much faster compilation: the amount of
-I/O the compilation requires can be dramatically less than when compiling a program
-using libraries with `#ifndef` guards.
-
-Outside of Plan 9, though, the "guarded" approach is accepted practice for C and C++.
-In fact, C++ exacerbates the problem by using the same approach at finer granularity.
-By convention, C++ programs are usually structured with one header file per class, or perhaps
-small set of related classes, a grouping much smaller than, say, `<stdio.h>`.
-The dependency tree is therefore much more intricate, reflecting not library dependencies but the full type hierarchy.
-Moreover, C++ header files usually contain real code—type, method, and template
-declarations—not just the simple constants and function signatures typical of a C header file.
-Thus not only does C++ push more to the compiler, what it pushes is harder to compile,
-and each invocation of the compiler must reprocess this information.
-When building a large C++ binary, the compiler might be taught thousands of times how to
-represent a string by processing the header file `<string>`.
-(For the record, around 1984 Tom Cargill observed that the use of the
-C preprocessor for dependency management would be a long-term liability for C++ and
-should be addressed.)
-
-The construction of a single C++ binary at Google can open and read hundreds of individual header files
-tens of thousands of times.
-In 2007, build engineers at Google instrumented the compilation of a major Google binary.
-The file contained about two thousand files that, if simply concatenated together, totaled 4.2 megabytes.
-By the time the `#includes` had been expanded, over 8 gigabytes were being delivered to the input of the compiler, a blow-up of 2000 bytes for every C++ source byte.
-
-As another data point, in 2003 Google's build system was moved from a single Makefile to a per-directory design
-with better-managed, more explicit dependencies.
-A typical binary shrank about 40% in file size, just from having more accurate dependencies recorded.
-Even so, the properties of C++ (or C for that matter) make it impractical to verify those dependencies automatically,
-and today we still do not have an accurate understanding of the dependency requirements
-of large Google C++ binaries.
-
-The consequence of these uncontrolled dependencies and massive scale is that it is
-impractical to build Google server binaries on a single computer, so
-a large distributed compilation system was created.
-With this system, involving many machines, much caching, and
-much complexity (the build system is a large program in its own right), builds at
-Google are practical, if still cumbersome.
-
-Even with the distributed build system, a large Google build can still take many minutes.
-That 2007 binary took 45 minutes using a precursor distributed build system; today's
-version of the same program takes 27 minutes, but of course the program and its
-dependencies have grown in the interim.
-The engineering effort required to scale up the build system has barely been able
-to stay ahead of the growth of the software it is constructing.
-
-* Enter Go
-
-When builds are slow, there is time to think.
-The origin myth for Go states that it was during one of those 45 minute builds
-that Go was conceived. It was believed to be worth trying to design a new language
-suitable for writing large Google programs such as web servers,
-with software engineering considerations that would improve the quality
-of life of Google programmers.
-
-Although the discussion so far has focused on dependencies,
-there are many other issues that need attention.
-The primary considerations for any language to succeed in this context are:
-
-- It must work at scale, for large programs with large numbers of dependencies, with large teams of programmers working on them.
-
-- It must be familiar, roughly C-like. Programmers working at Google are early in their careers and are most familiar with procedural languages, particularly from the C family. The need to get programmers productive quickly in a new language means that the language cannot be too radical.
-
-- It must be modern. C, C++, and to some extent Java are quite old, designed before the advent of multicore machines, networking, and web application development. There are features of the modern world that are better met by newer approaches, such as built-in concurrency.
-
-With that background, then, let us look at the design of Go from a software engineering perspective.
-
-* Dependencies in Go
-
-Since we've taken a detailed look at dependencies in C and C++, a good place to start
-our tour is to see how Go handles them.
-Dependencies are defined, syntactically and semantically, by the language.
-They are explicit, clear, and "computable", which is to say, easy to write tools to analyze.
-
-The syntax is that, after the `package` clause (the subject of the next section),
-each source file may have one or more import statements, comprising the
-`import` keyword and a string constant identifying the package to be imported
-into this source file (only):
-
-	import "encoding/json"
-
-The first step to making Go scale, dependency-wise, is that the _language_ defines
-that unused dependencies are a compile-time error (not a warning, an _error_).
-If the source file imports a package it does not use, the program will not compile.
-This guarantees by construction that the dependency tree for any Go program
-is precise, that it has no extraneous edges. That, in turn, guarantees that no
-extra code will be compiled when building the program, which minimizes
-compilation time.
-
-There's another step, this time in the implementation of the compilers, that
-goes even further to guarantee efficiency.
-Consider a Go program with three packages and this dependency graph:
-
--  package `A` imports package `B`;
--  package `B` imports package `C`;
--  package `A` does _not_ import package `C`
-
-This means that package `A` uses `C` only transitively through its use of `B`;
-that is, no identifiers from `C` are mentioned in the source code to `A`,
-even if some of the items `A` is using from `B` do mention `C`.
-For instance, package `A` might reference a  `struct` type defined in `B` that has a field with
-a type defined in `C` but that `A` does not reference itself.
-As a motivating example, imagine that `A` imports a formatted I/O package
-`B` that uses a buffered I/O implementation provided by `C`, but that `A` does
-not itself invoke buffered I/O.
-
-To build this program, first, `C` is compiled;
-dependent packages must be built before the packages that depend on them.
-Then `B` is compiled; finally `A` is compiled, and then the program can be linked.
-
-When `A` is compiled, the compiler reads the object file for `B`, not its source code.
-That object file for `B` contains all the type information necessary for the compiler
-to execute the
-
-	import "B"
-
-clause in the source code for `A`. That information includes whatever information
-about `C` that clients of `B` will need at compile time.
-In other words, when `B` is compiled, the generated object file includes type
-information for all dependencies of `B` that affect the public interface of `B`.
-
-This design has the important
-effect that when the compiler executes an import clause,
-_it_opens_exactly_one_file_, the object file identified by the string in the import clause.
-This is, of course, reminiscent of the Plan 9 C (as opposed to ANSI C)
-approach to dependency management, except that, in effect, the compiler
-writes the header file when the Go source file is compiled.
-The process is more automatic and even
-more efficient than in Plan 9 C, though: the data being read when evaluating the import is just
-"exported" data, not general program source code. The effect on overall
-compilation time can be huge, and scales well as
-the code base grows. The time to execute the dependency graph, and
-hence to compile, can be exponentially less than in the "include of
-include file" model of C and C++.
-
-It's worth mentioning that this general approach to dependency management
-is not original; the ideas go back to the 1970s and flow through languages like
-Modula-2 and Ada. In the C family Java has elements of this approach.
-
-To make compilation even more efficient, the object file is arranged so the export
-data is the first thing in the file, so the compiler can stop reading as soon
-as it reaches the end of that section.
-
-This approach to dependency management is the single biggest reason
-why Go compilations are faster than C or C++ compilations.
-Another factor is that Go places the export data in the object file; some
-languages require the author to write or the compiler to
-generate a second file with that information. That's twice as many files
-to open. In Go there is only one file to open to import a package.
-Also, the single file approach means that the export data (or header
-file, in C/C++) can never go out of date relative to the object file.
-
-For the record, we measured the compilation of a large Google program
-written in Go to see how the source code fanout compared to the C++
-analysis done earlier. We found it was about 40X, which is
-fifty times better than C++ (as well as being simpler and hence faster
-to process), but it's still bigger than we expected. There are two reasons for
-this. First, we found a bug: the Go compiler was generating a substantial
-amount of data in the export section that did not need to be there. Second,
-the export data uses a verbose encoding that could be improved.
-We plan to address these issues.
-
-Nonetheless, a factor of fifty less to do turns minutes into seconds,
-coffee breaks into interactive builds.
-
-Another feature of the Go dependency graph is that it has no cycles.
-The language defines that there can be no circular imports in the graph,
-and the compiler and linker both check that they do not exist.
-Although they are occasionally useful, circular imports introduce
-significant problems at scale.
-They require the compiler to deal with larger sets of source files
-all at once, which slows down incremental builds.
-More important, when allowed, in our experience such imports end up
-entangling huge swaths of the source tree into large subpieces that are
-difficult to manage independently, bloating binaries and complicating
-initialization, testing, refactoring, releasing, and other tasks of
-software development.
-
-The lack of circular imports causes occasional annoyance but keeps the tree clean,
-forcing a clear demarcation between packages. As with many of the
-design decisions in Go, it forces the programmer to think earlier about a
-larger-scale issue (in this case, package boundaries) that if left until
-later may never be addressed satisfactorily.
-
-Through the design of the standard library, great effort was spent on controlling
-dependencies. It can be better to copy a little code than to pull in a big
-library for one function. (A test in the system build complains if new core
-dependencies arise.) Dependency hygiene trumps code reuse.
-One example of this in practice is that
-the (low-level) `net` package has its own integer-to-decimal conversion routine
-to avoid depending on the bigger and dependency-heavy formatted I/O package.
-Another is that the string conversion package `strconv` has a private implementation
-of the definition of 'printable' characters rather than pull in the large Unicode
-character class tables; that `strconv` honors the Unicode standard is verified by the
-package's tests.
-
-* Packages
-
-The design of Go's package system combines some of the properties of libraries,
-name spaces, and modules into a single construct.
-
-Every Go source file, for instance `"encoding/json/json.go"`, starts with a package clause, like this:
-
-	package json
-
-where `json` is the "package name", a simple identifier.
-Package names are usually concise.
-
-To use a package, the importing source file identifies it by its _package_path_
-in the import clause.
-The meaning of "path" is not specified by the language, but in
-practice and by convention it is the slash-separated directory path of the
-source package in the repository, here:
-
-	import "encoding/json"
-
-Then the package name (as distinct from path) is used to qualify items from
-the package in the importing source file:
-
-	var dec = json.NewDecoder(reader)
-
-This design provides clarity.
-One may always tell whether a name is local to package from its syntax: `Name` vs. `pkg.Name`.
-(More on this later.)
-
-For our example, the package path is `"encoding/json"` while the package name is `json`.
-Outside the standard repository, the convention is to place the 
-project or company name at the root of the name space:
-
-	import "google/base/go/log"
-
-It's important to recognize that package _paths_ are unique,
-but there is no such requirement for package _names_.
-The path must uniquely identify the package to be imported, while the
-name is just a convention for how clients of the package can refer to its
-contents.
-The package name need not be unique and can be overridden
-in each importing source file by providing a local identifier in the
-import clause. These two imports both reference packages that
-call themselves `package` `log`, but to import them in a single source
-file one must be (locally) renamed:
-
-	import "log"                          // Standard package
-	import googlelog "google/base/go/log" // Google-specific package
-
-Every company might have its own `log` package but
-there is no need to make the package name unique.
-Quite the opposite: Go style suggests keeping package names short and clear
-and obvious in preference to worrying about collisions.
-
-Another example: there are many `server` packages in Google's code base.
-
-* Remote packages
-
-An important property of Go's package system is that the package path,
-being in general an arbitrary string, can be co-opted to refer to remote
-repositories by having it identify the URL of the site serving the repository.
-
-Here is how to use the `doozer` package from `github`. The `go` `get` command
-uses the `go` build tool to fetch the repository from the site and install it.
-Once installed, it can be imported and used like any regular package.
-
-	$ go get github.com/4ad/doozer // Shell command to fetch package
-
-	import "github.com/4ad/doozer" // Doozer client's import statement
-
-	var client doozer.Conn         // Client's use of package
-
-It's worth noting that the `go` `get` command downloads dependencies
-recursively, a property made possible only because the dependencies are
-explicit.
-Also, the allocation of the space of import paths is delegated to URLs,
-which makes the naming of packages decentralized and therefore scalable,
-in contrast to centralized registries used by other languages.
-
-* Syntax
-
-Syntax is the user interface of a programming language. Although it has
-limited effect on the semantics of the language, which is arguably the
-more important component, syntax determines the readability and hence
-clarity of the language. Also, syntax is critical to tooling: if the language
-is hard to parse, automated tools are hard to write.
-
-Go was therefore designed with clarity and tooling in mind, and has
-a clean syntax.
-Compared to other languages in the C family, its
-grammar is modest in size, with only 25 keywords (C99 has
-37; C++11 has 84; the numbers continue to grow).
-More important,
-the grammar is regular and therefore easy to parse (mostly; there
-are a couple of quirks we might have fixed but didn't discover early
-enough).
-Unlike C and Java and especially C++, Go can be parsed without
-type information or a symbol table;
-there is no type-specific context. The grammar is
-easy to reason about and therefore tools are easy to write.
-
-One of the details of Go's syntax that surprises C programmers is that
-the declaration syntax is closer to Pascal's than to C's.
-The declared name appears before the type and there are more keywords:
-
-	var fn func([]int) int
-	type T struct { a, b int }
-
-as compared to C's
-
-	int (*fn)(int[]);
-	struct T { int a, b; }
-
-Declarations introduced by keyword are easier to parse both for people and
-for computers, and having the type syntax not be the expression syntax
-as it is in C has a significant effect on parsing: it adds grammar
-but eliminates ambiguity.
-But there is a nice side effect, too: for initializing declarations,
-one can drop the `var` keyword and just take the type of the variable
-from that of the expression. These two declarations are equivalent;
-the second is shorter and idiomatic:
-
-	var buf *bytes.Buffer = bytes.NewBuffer(x) // explicit
-	buf := bytes.NewBuffer(x)                  // derived
-
-There is a blog post at [[http://golang.org/s/decl-syntax][golang.org/s/decl-syntax]] with more detail about the syntax of declarations in Go and
-why it is so different from C.
-
-Function syntax is straightforward for simple functions.
-This example declares the function  `Abs`, which accepts a single
-variable `x` of type `T` and returns a single `float64` value:
-
-	func Abs(x T) float64
-
-A method is just a function with a special parameter, its _receiver_,
-which can be passed to the function using the standard "dot" notation.
-Method declaration syntax places the receiver in parentheses before the
-function name. Here is the same function, now as a method of type `T`:
-
-	func (x T) Abs() float64
-
-And here is a variable (closure) with a type `T` argument; Go has first-class
-functions and closures:
-
-	negAbs := func(x T) float64 { return -Abs(x) }
-	
-Finally, in Go functions can return multiple values. A common case is to
-return the function result and an `error` value as a pair, like this:
-
-	func ReadByte() (c byte, err error)
-
-	c, err := ReadByte()
-	if err != nil { ... }
-
-We'll talk more about errors later.
-
-One feature missing from Go is that it
-does not support default function arguments. This was a deliberate
-simplification. Experience tells us that defaulted arguments make it
-too easy to patch over API design flaws by adding more arguments,
-resulting in too many arguments with interactions that are
-difficult to disentangle or even understand.
-The lack of default arguments requires more functions or methods to be defined,
-as one function cannot hold the entire interface,
-but that leads to a clearer API that is easier to understand.
-Those functions all need separate names, too, which makes it clear
-which combinations exist, as well as encouraging more
-thought about naming, a critical aspect of clarity and readability.
-
-One mitigating factor for the lack of default arguments is that Go
-has easy-to-use, type-safe support for variadic functions.
-
-* Naming
-
-Go takes an unusual approach to defining the _visibility_ of an identifier,
-the ability for a client of a package to use the item named by the identifier.
-Unlike, for instance, `private` and `public` keywords, in Go the name itself
-carries the information: the case of the initial letter of the identifier
-determines the visibility. If the initial character is an upper case letter,
-the identifier is _exported_ (public); otherwise it is not:
-
-- upper case initial letter: `Name` is visible to clients of package
-- otherwise: `name` (or `_Name`) is not visible to clients of package
-
-This rule applies to variables, types, functions, methods, constants, fields...
-everything. That's all there is to it.
-
-This was not an easy design decision.
-We spent over a year struggling to
-define the notation to specify an identifier's visibility.
-Once we settled on using the case of the name, we soon realized it had
-become one of the most important properties about the language.
-The name is, after all, what clients of the package use; putting
-the visibility in the name rather than its type means that it's always
-clear when looking at an identifier whether it is part of the public API.
-After using Go for a while, it feels burdensome when going back to
-other languages that require looking up the declaration to discover
-this information.
-
-The result is, again, clarity: the program source text expresses the
-programmer's meaning simply.
-
-Another simplification is that Go has a very compact scope hierarchy:
-
-- universe (predeclared identifiers such as `int` and `string`)
-- package (all the source files of a package live at the same scope)
-- file (for package import renames only; not very important in practice)
-- function (the usual)
-- block (the usual)
-
-There is no scope for name space or class or other wrapping
-construct. Names come from very few places in Go, and all names
-follow the same scope hierarchy: at any given location in the source,
-an identifier denotes exactly one language object, independent of how
-it is used. (The only exception is statement labels, the targets of `break`
-statements and the like; they always have function scope.)
-
-This has consequences for clarity. Notice for instance that methods
-declare an explicit receiver and that it must be used to access fields and
-methods of the type. There is no implicit `this`. That is, one always
-writes
-
-	rcvr.Field
-
-(where rcvr is whatever name is chosen for the receiver variable)
-so all the elements of the type always appear lexically bound to
-a value of the receiver type. Similarly, a package qualifier is always present
-for imported names; one writes `io.Reader` not `Reader`.
-Not only is this clear, it frees up the identifier `Reader` as a useful
-name to be used in any package. There are in fact multiple exported
-identifiers in the standard library with name `Reader`, or `Printf`
-for that matter, yet which one is being referred to is always unambiguous.
-
-Finally, these rules combine to guarantee that, other than the top-level
-predefined names such as `int`, (the first component of) every name is
-always declared in the current package.
-
-In short, names are local. In C, C++, or Java the name `y` could refer to anything.
-In Go, `y` (or even `Y`) is always defined within the package,
-while the interpretation of `x.Y` is clear: find `x` locally, `Y` belongs to it.
-
-These rules provide an important property for scaling because they guarantee
-that adding an exported name to a package can never break a client
-of that package. The naming rules decouple packages, providing
-scaling, clarity, and robustness.
-
-There is one more aspect of naming to be mentioned: method lookup
-is always by name only, not by signature (type) of the method.
-In other words, a single type can never have two methods with the same name.
-Given a method `x.M`, there's only ever one `M` associated with `x`.
-Again, this makes it easy to identify which method is referred to given
-only the name.
-It also makes the implementation of method invocation simple.
-
-* Semantics
-
-The semantics of Go statements is generally C-like. It is a compiled, statically typed,
-procedural language with pointers and so on. By design, it should feel
-familiar to programmers accustomed to languages in the C family.
-When launching a new language
-it is important that the target audience be able to learn it quickly; rooting Go
-in the C family helps make sure that young programmers, most of whom
-know Java, JavaScript, and maybe C, should find Go easy to learn.
-
-That said, Go makes many small changes to C semantics, mostly in the
-service of robustness. These include:
-
-- there is no pointer arithmetic
-- there are no implicit numeric conversions
-- array bounds are always checked
-- there are no type aliases (after `type`X`int`, `X` and `int` are distinct types not aliases)
-- `++` and `--` are statements not expressions
-- assignment is not an expression
-- it is legal (encouraged even) to take the address of a stack variable
-- and many more
-
-There are some much bigger changes too, stepping far from the traditional
-C, C++, and even Java models. These include linguistic support for:
-
-- concurrency
-- garbage collection
-- interface types
-- reflection
-- type switches
-
-The following sections provide brief discussions of two of these topics in Go,
-concurrency and garbage collection,
-mostly from a software engineering perspective.
-For a full discussion of the language semantics and uses see the many
-resources on the [[http://golang.org]] web site.
-
-* Concurrency
-
-Concurrency is important to the modern computing environment with its
-multicore machines running web servers with multiple clients,
-what might be called the typical Google program.
-This kind of software is not especially well served by C++ or Java,
-which lack sufficient concurrency support at the language level.
-
-Go embodies a variant of CSP with first-class channels.
-CSP was chosen partly due to familiarity (one of us had worked on
-predecessor languages that built on CSP's ideas), but also because
-CSP has the property that it is easy to add to a procedural programming
-model without profound changes to that model.
-That is, given a C-like language, CSP can be added to the language
-in a mostly orthogonal way, providing extra expressive power without
-constraining the language's other uses. In short, the rest of the
-language can remain "ordinary".
-
-The approach is thus the composition of independently executing
-functions of otherwise regular procedural code.
-
-The resulting language allows us to couple concurrency with computation
-smoothly. Consider a web server that must verify security certificates for
-each incoming client call; in Go it is easy to construct the software using
-CSP to manage the clients as independently executing procedures but
-to have the full power of an efficient compiled language available for
-the expensive cryptographic calculations.
-
-In summary, CSP is practical for Go and for Google. When writing
-a web server, the canonical Go program, the model is a great fit.
-
-There is one important caveat: Go is not purely memory safe in the presence
-of concurrency. Sharing is legal and passing a pointer over a channel is idiomatic
-(and efficient).
-
-Some concurrency and functional programming experts are disappointed
-that Go does not take a write-once approach to value semantics
-in the context of concurrent computation, that Go is not more like
-Erlang for example.
-Again, the reason is largely about familiarity and suitability for the
-problem domain. Go's concurrent features work well in a context
-familiar to most programmers.
-Go _enables_ simple, safe concurrent
-programming but does not _forbid_ bad programming.
-We compensate by convention, training programmers to think
-about message passing as a version of ownership control. The motto is,
-"Don't communicate by sharing memory, share memory by communicating."
-
-Our limited experience with programmers new to both Go and concurrent
-programming shows that this is a practical approach. Programmers
-enjoy the simplicity that support for concurrency brings to network
-software, and simplicity engenders robustness.
-
-* Garbage collection
-
-For a systems language, garbage collection can be a controversial feature,
-yet we spent very little time deciding that Go would be a
-garbage-collected language.
-Go has no explicit memory-freeing operation: the only way allocated
-memory returns to the pool is through the garbage collector.
-
-It was an easy decision to make because memory management
-has a profound effect on the way a language works in practice. 
-In C and C++, too much programming effort is spent on memory allocation
-and freeing.
-The resulting designs tend to expose details of memory management
-that could well be hidden; conversely memory considerations
-limit how they can be used. By contrast, garbage collection makes interfaces
-easier to specify.
-
-Moreover, in a concurrent object-oriented language it's almost essential
-to have automatic memory management because the ownership of a piece
-of memory can be tricky to manage as it is passed around among concurrent
-executions. It's important to separate behavior from resource management.
-
-The language is much easier to use because of garbage collection.
-
-Of course, garbage collection brings significant costs: general overhead,
-latency, and complexity of the implementation. Nonetheless, we believe
-that the benefits, which are mostly felt by the programmer, outweigh
-the costs, which are largely borne by the language implementer.
-
-Experience with Java in particular as a server language has made some
-people nervous about garbage collection in a user-facing system.
-The overheads are uncontrollable, latencies can be large, and much
-parameter tuning is required for good performance.
-Go, however, is different. Properties of the language mitigate some of these
-concerns. Not all of them of course, but some.
-
-The key point is that Go gives the programmer tools to limit allocation
-by controlling the layout of data structures. Consider this simple
-type definition of a data structure containing a buffer (array) of bytes:
-
-	type X struct {
-		a, b, c int
-		buf [256]byte
-	}
-
-In Java, the `buf` field would require a second allocation and accesses
-to it a second level of indirection. In Go, however, the buffer is allocated
-in a single block of memory along with the containing struct and no
-indirection is required. For systems programming, this design can have a
-better performance as well as reducing the number
-of items known to the collector. At scale it can make a significant
-difference.
-
-As a more direct example, in Go it is easy and efficient to provide
-second-order allocators, for instance an arena allocator that allocates
-a large array of structs and links them together with a free list.
-Libraries that repeatedly use many small structures like this can,
-with modest prearrangement, generate no garbage yet
-be efficient and responsive.
-
-Although Go is a garbage collected language, therefore, a knowledgeable
-programmer can limit the pressure placed on the collector and thereby
-improve performance. (Also, the Go installation comes with good tools
-for studying the dynamic memory performance of a running program.)
-
-To give the programmer this flexibility, Go must support
-what we call _interior_pointers_ to objects
-allocated in the heap. The `X.buf` field in the example above lives
-within the struct but it is legal to capture the address of this inner field,
-for instance to pass it to an I/O routine. In Java, as in many garbage-collected
-languages, it is not possible to construct an interior pointer like this,
-but in Go it is idiomatic.
-This design point affects which collection algorithms can be used,
-and may make them more difficult, but after careful thought we decided
-that it was necessary to allow interior pointers because of the benefits
-to the programmer and the ability to reduce pressure on the (perhaps
-harder to implement) collector.
-So far, our experience comparing similar Go and Java programs shows
-that use of interior pointers can have a significant effect on total arena size,
-latency, and collection times.
-
-In summary, Go is garbage collected but gives the programmer
-some tools to control collection overhead.
-
-The garbage collector remains an active area of development.
-The current design is a parallel mark-and-sweep collector and there remain
-opportunities to improve its performance or perhaps even its design.
-(The language specification does not mandate any particular implementation
-of the collector.)
-Still, if the programmer takes care to use memory wisely,
-the current implementation works well for production use.
-
-* Composition not inheritance
-
-Go takes an unusual approach to object-oriented programming, allowing
-methods on any type, not just classes, but without any form of type-based inheritance
-like subclassing.
-This means there is no type hierarchy.
-This was an intentional design choice.
-Although type hierarchies have been used to build much successful
-software, it is our opinion that the model has been overused and that it
-is worth taking a step back.
-
-Instead, Go has _interfaces_, an idea that has been discussed at length elsewhere (see
-[[http://research.swtch.com/interfaces]]
-for example), but here is a brief summary.
-
-In Go an interface is _just_ a set of methods. For instance, here is the definition
-of the `Hash` interface from the standard library.
-
-	type Hash interface {
-		Write(p []byte) (n int, err error)
-		Sum(b []byte) []byte
-		Reset()
-		Size() int
-		BlockSize() int
-	}
-
-All data types that implement these methods satisfy this interface implicitly;
-there is no `implements` declaration.
-That said, interface satisfaction is statically checked at compile time
-so despite this decoupling interfaces are type-safe.
-
-A type will usually satisfy many interfaces, each corresponding
-to a subset of its methods. For example, any type that satisfies the `Hash`
-interface also satisfies the `Writer` interface:
-
-	type Writer interface {
-		Write(p []byte) (n int, err error)
-	}
-
-This fluidity of interface satisfaction encourages a different approach
-to software construction. But before explaining that, we should explain
-why Go does not have subclassing.
-
-Object-oriented programming provides a powerful insight: that the
-_behavior_ of data can be generalized independently of the
-_representation_ of that data.
-The model works best when the behavior (method set) is fixed,
-but once you subclass a type and add a method,
-_the_behaviors_are_no_longer_identical_.
-If instead the set of behaviors is fixed, such as in Go's statically
-defined interfaces, the uniformity of behavior enables data and
-programs to be composed uniformly, orthogonally, and safely.
-
-One extreme example is the Plan 9 kernel, in which all system data items
-implemented exactly the same interface, a file system API defined
-by 14 methods.
-This uniformity permitted a level of object composition seldom
-achieved in other systems, even today.
-Examples abound. Here's one: A system could import (in Plan 9 terminology) a TCP
-stack to a computer that didn't have TCP or even Ethernet, and over that network
-connect to a machine with a different CPU architecture, import its `/proc` tree,
-and run a local debugger to do breakpoint debugging of the remote process.
-This sort of operation was workaday on Plan 9, nothing special at all.
-The ability to do such things fell out of the design; it required no special
-arrangement (and was all done in plain C).
-
-We argue that this compositional style of system construction has been
-neglected by the languages that push for design by type hierarchy.
-Type hierarchies result in brittle code.
-The hierarchy must be designed early, often as the first step of
-designing the program, and early decisions can be difficult to change once
-the program is written.
-As a consequence, the model encourages early overdesign as the
-programmer tries to predict every possible use the software might
-require, adding layers of type and abstraction just in case.
-This is upside down.
-The way pieces of a system interact should adapt as it grows,
-not be fixed at the dawn of time.
-
-Go therefore encourages _composition_ over inheritance, using
-simple, often one-method interfaces to define trivial behaviors
-that serve as clean, comprehensible boundaries between components.
-
-Consider the `Writer` interface shown above, which is defined in
-package `io`: Any item that has a `Write` method with this
-signature works well with the complementary `Reader` interface:
-
-	type Reader interface {
-		Read(p []byte) (n int, err error)
-	}
-
-These two complementary methods allow type-safe chaining
-with rich behaviors, like generalized Unix pipes.
-Files, buffers, networks,
-encryptors, compressors, image encoders, and so on can all be
-connected together.
-The `Fprintf` formatted I/O routine takes an `io.Writer` rather than,
-as in C, a `FILE*`.
-The formatted printer has no knowledge of what it is writing to; it may
-be a image encoder that is in turn writing to a compressor that
-is in turn writing to an encryptor that is in turn writing to a network
-connection.
-
-Interface composition is a different style of programming, and
-people accustomed to type hierarchies need to adjust their thinking to
-do it well, but the result is an adaptability of
-design that is harder to achieve through type hierarchies.
-
-Note too that the elimination of the type hierarchy also eliminates
-a form of dependency hierarchy.
-Interface satisfaction allows the program to grow organically without
-predetermined contracts.
-And it is a linear form of growth; a change to an interface affects
-only the immediate clients of that interface; there is no subtree to update.
-The lack of `implements` declarations disturbs some people but
-it enables programs to grow naturally, gracefully, and safely.
-
-Go's interfaces have a major effect on program design.
-One place we see this is in the use of functions that take interface
-arguments. These are _not_ methods, they are functions.
-Some examples should illustrate their power.
-`ReadAll` returns a byte slice (array) holding all the data that can
-be read from an `io.Reader`:
-
-	func ReadAll(r io.Reader) ([]byte, error)
-
-Wrappers—functions that take an interface and return an interface—are
-also widespread.
-Here are some prototypes.
-`LoggingReader` logs every `Read` call on the incoming `Reader`.
-`LimitingReader` stops reading after `n` bytes.
-`ErrorInjector` aids testing by simulating I/O errors.
-And there are many more.
-
-	func LoggingReader(r io.Reader) io.Reader
-	func LimitingReader(r io.Reader, n int64) io.Reader
-	func ErrorInjector(r io.Reader) io.Reader
-
-The designs are nothing like hierarchical, subtype-inherited methods.
-They are looser (even _ad_hoc_), organic, decoupled, independent, and therefore scalable.
-
-* Errors
-
-Go does not have an exception facility in the conventional sense,
-that is, there is no control structure associated with error handling.
-(Go does provide mechanisms for handling exceptional situations
-such as division by zero. A pair of built-in functions
-called `panic` and `recover` allow the programmer to protect
-against such things. However, these functions
-are intentionally clumsy, rarely used, and not integrated
-into the library the way, say, Java libraries use exceptions.)
-
-The key language feature for error handling is a pre-defined
-interface type called `error` that represents a value that has an
-`Error` method returning a string:
-
-	type error interface {
-		Error() string
-	}
-
-Libraries use the `error` type to return a description of the error.
-Combined with the ability for functions to return multiple
-values, it's easy to return the computed result along with an
-error value, if any.
-For instance, the equivalent
-to C's `getchar` does not return an out-of-band value at EOF,
-nor does it throw an exception; it just returns an `error` value
-alongside the character, with a `nil` `error` value signifying success.
-Here is the signature of the `ReadByte` method of the buffered
-I/O package's `bufio.Reader` type:
-
-	func (b *Reader) ReadByte() (c byte, err error)
-
-This is a clear and simple design, easily understood.
-Errors are just values and programs compute with
-them as they would compute with values of any other type.
-
-It was a deliberate choice not to incorporate exceptions in Go.
-Although a number of critics disagree with this decision, there
-are several reasons we believe it makes for better software.
-
-First, there is nothing truly exceptional about errors in computer programs.
-For instance, the inability to open a file is a common issue that
-does not deserve special linguistic constructs; `if` and `return` are fine.
-
-	f, err := os.Open(fileName)
-	if err != nil {
-		return err
-	}
-
-Also, if errors use special control structures, error handling distorts
-the control flow for a program that handles errors.
-The Java-like style of `try-catch-finally` blocks interlaces multiple overlapping flows
-of control that interact in complex ways.
-Although in contrast Go makes it more
-verbose to check errors, the explicit design keeps the flow of control
-straightforward—literally.
-
-There is no question the resulting code can be longer,
-but the clarity and simplicity of such code offsets its verbosity.
-Explicit error checking forces the programmer to think about
-errors—and deal with them—when they arise. Exceptions make
-it too easy to _ignore_ them rather than _handle_ them, passing
-the buck up the call stack until it is too late to fix the problem or
-diagnose it well.
-
-* Tools
-
-Software engineering requires tools.
-Every language operates in an environment with other languages
-and myriad tools to compile, edit, debug, profile, test, and run programs.
-
-Go's syntax, package system, naming conventions, and other features
-were designed to make tools easy to write, and the library
-includes a lexer, parser, and type checker for the language.
-
-Tools to manipulate Go programs are so easy to write that
-many such tools have been created,
-some with interesting consequences for software engineering.
-
-The best known of these is `gofmt`, the Go source code formatter.
-From the beginning of the project, we  intended Go programs
-to be formatted by machine, eliminating an entire class of argument
-between programmers: how do I lay out my code?
-`Gofmt` is run on all Go programs we write, and most of the open
-source community uses it too.
-It is run as a "presubmit" check for the code repositories to
-make sure that all checked-in Go programs are formatted the same.
-
-`Gofmt` is often cited by users as one of Go's best features even
-though it is not part of the language.
-The existence and use of `gofmt` means that
-from the beginning, the community has always
-seen Go code as `gofmt` formats it, so Go programs have a single
-style that is now familiar to everyone. Uniform presentation
-makes code easier to read and therefore faster to work on.
-Time not spent on formatting is time saved.
-`Gofmt` also affects scalability: since all code looks the same,
-teams find it easier to work together or with others' code.
-
-`Gofmt` enabled another class of tools that we did not foresee as clearly.
-The program works by parsing the source code and reformatting it
-from the parse tree itself.
-This makes it possible to _edit_ the parse tree before formatting it,
-so a suite of automatic refactoring tools sprang up.
-These are easy to write, can be semantically rich because they work
-directly on the parse tree, and automatically produce canonically
-formatted code.
-
-The first example was a `-r` (rewrite) flag on `gofmt` itself, which
-uses a simple pattern-matching language to enable expression-level
-rewrites. For instance, one day we introduced a default value for the
-right-hand side of a slice expression: the length itself. The entire
-Go source tree was updated to use this default with the single
-command:
-
-	gofmt -r 'a[b:len(a)] -> a[b:]'
-
-A key point about this transformation is that, because the input and
-output are both in the canonical format, the only changes made to
-the source code are semantic ones.
-
-A similar but more intricate process allowed `gofmt` to be used to
-update the tree when the language no longer required semicolons
-as statement terminators if the statement ended at a newline.
-
-Another important tool is `gofix`, which runs tree-rewriting modules
-written in Go itself that are therefore are capable of more advanced
-refactorings.
-The `gofix` tool allowed us to make sweeping changes to APIs and language
-features leading up to the release of Go 1, including a change to the syntax
-for deleting entries from a map, a radically different API for manipulating
-time values, and many more.
-As these changes rolled out, users could update all their code by running
-the simple command
-
-	gofix
-
-Note that these tools allow us to _update_ code even if the old code still
-works.
-As a result, Go repositories are easy to keep up to date as libraries evolve.
-Old APIs can be deprecated quickly and automatically so only one version
-of the API needs to be maintained.
-For example, we recently changed Go's protocol buffer implementation to use
-"getter" functions, which were not in the interface before.
-We ran `gofix` on _all_ of Google's Go code to update all programs that
-use protocol buffers, and now there is only one version of the API in use.
-Similar sweeping changes to the C++ or Java libraries are almost infeasible
-at the scale of Google's code base.
-
-The existence of a parsing package in the standard Go library has enabled
-a number of other tools as well. Examples include the `go` tool, which
-manages program construction including acquiring packages from
-remote repositories;
-the `godoc` document extractor,
-a program to verify that the API compatibility contract is maintained as
-the library is updated, and many more.
-
-Although tools like these are rarely mentioned in the context of language
-design, they are an integral part of a language's ecosystem and the fact
-that Go was designed with tooling in mind has a huge effect on the
-development of the language, its libraries, and its community.
-
-* Conclusion
-
-Go's use is growing inside Google.
-
-Several big user-facing services use it, including `youtube.com` and `dl.google.com`
-(the download server that delivers Chrome, Android and other downloads),
-as well as our own [[http://golang.org][golang.org]].
-And of course many small ones do, mostly
-built using Google App Engine's native support for Go.
-
-Many other companies use Go as well; the list is very long, but a few of the
-better known are:
-
-- BBC Worldwide
-- Canonical
-- Heroku
-- Nokia
-- SoundCloud
-
-It looks like Go is meeting its goals. Still, it's too early to declare it a success.
-We don't have enough experience yet, especially with big programs (millions
-of lines of code) to know whether the attempts to build a scalable language
-have paid off. All the indicators are positive though.
-
-On a smaller scale, some minor things aren't quite right and might get
-tweaked in a later (Go 2?) version of the language. For instance, there are
-too many forms of variable declaration syntax, programmers are
-easily confused by the behavior of nil values inside non-nil interfaces,
-and there are many library and interface details that could use another
-round of design.
-
-It's worth noting, though, that `gofix` and `gofmt` gave us the opportunity to
-fix many other problems during the leadup to Go version 1.
-Go as it is today is therefore much closer to what the designers wanted
-than it would have been without these tools, which were themselves
-enabled by the language's design.
-
-Not everything was fixed, though. We're still learning (but the language
-is frozen for now).
-
-A significant weakness of the language is that the implementation still
-needs work. The compilers' generated code and the performance of the
-runtime in particular should be better, and work continues on them.
-There is progress already; in fact some benchmarks show a
-doubling of performance with the development version today compared
-to the first release of Go version 1 early in 2012.
-
-* Summary
-
-Software engineering guided the design of Go.
-More than most general-purpose
-programming languages, Go was designed to address a set of software engineering
-issues that we had been exposed to in the construction of large server software.
-Offhand, that might make Go sound rather dull and industrial, but in fact
-the focus on clarity, simplicity and composability throughout the design
-instead resulted in a productive, fun language that many programmers
-find expressive and powerful.
-
-The properties that led to that include:
-
-- Clear dependencies
-- Clear syntax
-- Clear semantics
-- Composition over inheritance
-- Simplicity provided by the programming model (garbage collection, concurrency)
-- Easy tooling (the `go` tool, `gofmt`, `godoc`, `gofix`)
-
-If you haven't tried Go already, we suggest you do.
-
-
-.link http://golang.org http://golang.org
-
-.image splash/appenginegophercolor.jpg
-
diff --git a/content/2012/splash.slide b/content/2012/splash.slide
deleted file mode 100644
index 039edcd..0000000
--- a/content/2012/splash.slide
+++ /dev/null
@@ -1,832 +0,0 @@
-Go at Google
-SPLASH, Tucson, Oct 25, 2012
-
-Rob Pike
-Google, Inc.
-@rob_pike
-http://golang.org/s/plusrob
-http://golang.org
-
-* Preamble
-
-* What is Go?
-
-Go is:
-
-- open source
-- concurrent
-- garbage-collected
-- efficient
-- scalable
-- simple
-- fun
-- boring (to some)
-
-.link http://golang.org http://golang.org
-
-* History
-
-Design began in late 2007.
-
-Key players:
-
-- Robert Griesemer, Rob Pike, Ken Thompson
-- Later: Ian Lance Taylor, Russ Cox
-
-Became open source in November 2009.
-
-Developed entirely in the open; very active community.
-Language stable as of Go 1, early 2012.
-
-* Go at Google
-
-Go is a programming language designed by Google to help solve Google's problems.
-
-Google has big problems.
-
-* Big hardware
-
-.image splash/datacenter.jpg
-
-* Big software
-
-- C++ (mostly) for servers, plus lots of Java and Python
-- thousands of engineers
-- gazillions of lines of code
-- distributed build system
-- one tree
-
-And of course:
-
-- zillions of machines, which we treat as a modest number of compute clusters
-
-Development at Google can be slow, often clumsy.
-
-But it _is_ effective.
-
-* The reason for Go
-
-Goals:
-
-- eliminate slowness
-- eliminate clumsiness
-- improve effectiveness
-- maintain (even improve) scale
-
-Go was designed by and for people who write—and read and debug and maintain—large software systems.
-
-Go's purpose is _not_ research into programming language design.
-
-Go's purpose is to make its designers' programming lives better.
-
-* Today's theme
-
-A talk about software engineering more than language design.
-
-To be more accurate:
-
-- Language design in the service of software engineering.
-
-In short:
-
-- How does a language help software engineering?
-
-* Features?
-
-Reaction upon launch:
-My favorite feature isn't in Go! Go Sucks!
-
-This misses the point.
-
-* Pain
-
-What makes large-scale development hard with C++ or Java (at least):
-
-- slow builds
-- uncontrolled dependencies
-- each programmer using a different subset of the language
-- poor program understanding (documentation, etc.)
-- duplication of effort
-- cost of updates
-- version skew
-- difficulty of automation (auto rewriters etc.): tooling
-- cross-language builds
-
-Language _features_ don't usually address these.
-
-* Focus
-
-In the design of Go, we tried to focus on solutions to _these_ problems.
-
-Example: indentation for structure vs. C-like braces
-
-* Dependencies in C and C++
-
-* A personal history of dependencies in C
-
-`#ifdef`
-
-`#ifndef` "guards":
-
-	#ifndef _SYS_STAT_H_
-
-1984: `<sys/stat.h>` times 37
-
-ANSI C and `#ifndef` guards:
-
-- dependencies accumulate
-- throw includes at the program until it compiles
-- no way to know what can be removed
-
-* A personal history of dependencies in Plan 9's C
-
-Plan 9, another take:
-
-- no `#ifdefs` (or `#ifndefs`)
-- documentation and topological sort
-- easy to find out what can be removed
-
-Need to document dependencies, but much faster compilation.
-
-In short:
-
-- _ANSI_C_made_a_costly_mistake_ in requiring `#ifndef` guards.
-
-* A personal history of dependencies in C++
-
-C++ exacerbated the problem:
-
-- one `#include` file per class
-- code (not just declarations) in `#include` files
-- `#ifndef` guards persist
-
-2004: Mike Burrows and Chubby: `<xxx>` times 37,000
-
-1984: Tom Cargill and pi
-
-* A personal history of dependencies at Google
-
-Plan 9 demo: a story
-
-Early Google: one `Makefile`
-
-2003: `Makefile` generated from per-directory `BUILD` files
-
-- explicit dependencies
-- 40% smaller binaries
-
-Dependencies still not checkable!
-
-* Result
-
-To build a large Google binary on a single computer is impractical.
-
-In 2007, instrumented the build of a major Google binary:
-
-- 2000 files
-- 4.2 megabytes 
-- 8 gigabytes delivered to compiler
-- 2000 bytes sent to compiler for every C++ source byte
-- it's real work too: `<string>` for example
-- hours to build
-
-* Tools can help
-
-New distributed build system:
-
-- no more `Makefile` (still uses `BUILD` files)
-- many buildbots
-- much caching
-- much complexity (a large program in its own right)
-
-Even with Google's massive distributed build system, a large build still takes minutes.
-(In 2007 that binary took 45 minutes; today, 27 minutes.)
-
-Poor quality of life.
-
-* Enter Go
-
-While that build runs, we have time to think.
-
-Want a language to improve the quality of life.
-
-And dependencies are only one such problem....
-
-* Primary considerations
-
-Must work at scale:
-
-- large programs
-- large teams
-- large number of dependencies
-
-Must be familiar, roughly C-like
-
-* Modernize
-
-The old ways are _old_.
-
-Go should be:
-
-- suitable for multicore machines
-- suitable for networked machines
-- suitable for web stuff
-
-* The design of Go
-
-From a software engineering perspective.
-
-* Dependencies in Go
-
-* Dependencies
-
-Dependencies are defined (syntactically) in the language.
-
-Explicit, clear, computable.
-
-	import "encoding/json"
-
-Unused dependencies cause error at compile time.
-
-Efficient: dependencies traversed once per source file...
-
-* Hoisting dependencies
-
-Consider:
-`A` imports `B` imports `C` but `A` does not directly import `C`.
-
-The object code for `B` includes all the information about `C` needed to import `B`.
-Therefore in `A` the line
-
-	import "B"
-
-does not require the compiler to read `C` when compiling `A`.
-
-Also, the object files are designed so the "export" information comes first; compiler doing import does not need to read whole file.
-
-Exponentially less data read than with `#include` files.
-
-With Go in Google, about 40X fanout (recall C++ was 2000x)
-Plus in C++ it's general code that must be parsed; in Go it's just export data.
-
-* No circular imports
-
-Circular imports are illegal in Go.
-
-The big picture in a nutshell:
-
-- occasional minor pain,
-- but great reduction in annoyance overall 
-- structural typing makes it less important than with type hierarchies
-- keeps us honest!
-
-Forces clear demarcation between packages.
-
-Simplifies compilation, linking, initialization.
-
-* API design
-
-Through the design of the standard library, great effort spent on controlling dependencies.
-
-It can be better to copy a little code than to pull in a big library for one function.
-(A test in the system build complains if new core dependencies arise.)
-
-Dependency hygiene trumps code reuse.
-
-Example:
-The (low-level) `net` package has own `itoa` to avoid dependency on the big formatted I/O package.
-
-* Packages
-
-* Packages
-
-Every Go source file, e.g. `"encoding/json/json.go"`, starts
-
-	package json
-
-where `json` is the "package name", an identifier.
-Package names are usually concise.
-
-To use a package, need to identify it by path:
-
-	import "encoding/json"
-
-And then the package name is used to qualify items from package:
-
-	var dec = json.NewDecoder(reader)
-
-Clarity: can always tell if name is local to package from its syntax: `Name` vs. `pkg.Name`.
-(More on this later.)
-
-Package combines properties of library, name space, and module.
-
-* Package paths are unique, not package names
-
-The path is `"encoding/json"` but the package name is `json`.
-The path identifies the package and must be unique.
-Project or company name at root of name space.
-
-		import "google/base/go/log"
-
-Package name might not be unique; can be overridden. These are both `package`log`:
-
-	import "log"                          // Standard package
-	import googlelog "google/base/go/log" // Google-specific package
-
-Every company might have its own `log` package; no need to make the package name unique.
-
-Another: there are many `server` packages in Google's code base.
-
-* Remote packages
-
-Package path syntax works with remote repositories.
-The import path is just a string.
-
-Can be a file, can be a URL:
-
-	go get github.com/4ad/doozer   // Command to fetch package
-
-	import "github.com/4ad/doozer" // Doozer client's import statement
-
-	var client doozer.Conn         // Client's use of package
-
-* Go's Syntax
-
-* Syntax
-
-Syntax is not important...
-
-- unless you're programming
-- or writing tools
-
-Tooling is essential, so Go has a clean syntax.
-Not super small, just clean:
-
-- regular (mostly)
-- only 25 keywords
-- straightforward to parse (no type-specific context required)
-- easy to predict, reason about
-
-* Declarations
-
-Uses Pascal/Modula-style syntax: name before type, more type keywords.
-
-	var fn func([]int) int
-	type T struct { a, b int }
-
-not
-
-	int (*fn)(int[]);
-	struct T { int a, b; }
-
-Easier to parse—no symbol table needed.  Tools become easier to write.
-
-One nice effect: can drop `var` and derive type of variable from expression:
-
-	var buf *bytes.Buffer = bytes.NewBuffer(x) // explicit
-	buf := bytes.NewBuffer(x)                  // derived
-
-For more information:
-
-.link http://golang.org/s/decl-syntax
-
-* Function syntax
-
-Function on type `T`:
-
-	func Abs(t T) float64
-
-Method of type `T`:
-
-	func (t T) Abs() float64
-
-Variable (closure) of type `T`:
-
-	negAbs := func(t T) float64 { return -Abs(t) }
-	
-In Go, functions can return multiple values. Common case: `error`.
-
-	func ReadByte() (c byte, err error)
-
-	c, err := ReadByte()
-	if err != nil { ... }
-
-More about errors later.
-
-* No default arguments
-
-Go does not support default function arguments.
-
-Why not?
-
-- too easy to throw in defaulted args to fix design problems
-- encourages too many args
-- too hard to understand the effect of the fn for different combinations of args
-
-Extra verbosity may happen but that encourages extra thought about names.
-
-Related: Go has easy-to-use, type-safe support for variadic functions.
-
-* Naming
-
-* Export syntax
-
-Simple rule:
-
-- upper case initial letter: `Name` is visible to clients of package
-- otherwise: `name` (or `_Name`) is not visible to clients of package
-
-Applies to variables, types, functions, methods, constants, fields....
-
-That Is It.
-
-Not an easy decision.
-One of the most important things about the language.
-
-Can see the visibility of an identifier without discovering the declaration.
-
-Clarity.
-
-* Scope
-
-Go has very simple scope hierarchy:
-
-- universe
-- package
-- file (for imports only)
-- function
-- block
-
-* Locality of naming
-
-Nuances:
-
-- no implicit `this` in methods (receiver is explicit); always see `rcvr.Field`
-- package qualifier always present for imported names
-- (first component of) every name is always declared in current package
-
-No surprises when importing:
-
-- adding an exported name to my package cannot break your package!
-
-Names do not leak across boundaries.
-
-In C, C++, Java the name `y` could refer to anything
-In Go, `y` (or even `Y`) is always defined within the package.
-In Go, `x.Y` is clear: find `x` locally, `Y` belongs to it.
-
-* Function and method lookup
-
-Method lookup by name only, not type.
-A type cannot have two methods with the same name, ever.
-Easy to identify which function/method is referred to.
-Simple implementation, simpler program, fewer surprises.
-
-Given a method `x.M`, there's only ever one `M` associated with `x`.
-
-* Semantics
-
-* Basics
-
-Generally C-like:
-
-- statically typed
-- procedural
-- compiled
-- pointers etc.
-
-Should feel familiar to programmers from the C family.
-
-* But...
-
-Many small changes in the aid of robustness:
-
-- no pointer arithmetic
-- no implicit numeric conversions
-- array bounds checking
-- no type aliases
-- `++` and `--` as statements not expressions
-- assignment not an expression
-- legal (encouraged even) to take address of stack variable
-- many more
-
-Plus some big ones...
-
-* Bigger things
-
-Some elements of Go step farther from C, even C++ and Java:
-
-- concurrency
-- garbage collection
-- interface types
-- reflection
-- type switches
-
-* Concurrency
-
-* Concurrency
-
-Important to modern computing environment.
-Not well served by C++ or even Java.
-
-Go embodies a variant of CSP with first-class channels.
-
-Why CSP?
-
-- The rest of the language can be ordinary and familiar.
-
-Must be able to couple concurrency with computation.
-
-Example: concurrency and cryptography.
-
-* CSP is practical
-
-For a web server, the canonical Go program, the model is a great fit.
-
-Go _enables_ simple, safe concurrent programming.
-It doesn't _forbid_ bad programming.
-
-Focus on _composition_ of regular code.
-
-Caveat: not purely memory safe; sharing is legal.
-Passing a pointer over a channel is idiomatic.
-
-Experience shows this is a practical design.
-
-* Garbage collection
-
-* The need for garbage collection
-
-Too much programming in C and C++ is about memory allocation.
-But also the design revolves too much about memory management.
-Leaky abstractions, leaky dependencies.
-
-Go has garbage collection, only.
-
-Needed for concurrency: tracking ownership too hard otherwise.
-Important for abstraction: separate behavior from resource management.
-A key part of scalability: APIs remain local.
-
-Use of the language is much simpler because of GC.
-Adds run-time cost, latency, complexity to the implementation.
-
-Day 1 design decision.
-
-* Garbage collection in Go
-
-A garbage-collected systems language is heresy!
-Experience with Java: Uncontrollable cost, too much tuning.
-
-But Go is different.
-Go lets you limit allocation by controlling memory layout.
-
-Example:
-
-	type X struct {
-		a, b, c int
-		buf [256]byte
-	}
-
-Example: Custom arena allocator with free list.
-
-* Interior pointers
-
-Early decision: allow interior pointers such as `X.buf` from previous slide.
-
-Tradeoff: Affects which GC algorithms that can be used, but in return reduces pressure on the collector.
-
-Gives the _programmer_ tools to control GC overhead.
-
-Experience, compared to Java, shows it has significant effect on memory pressure.
-
-GC remains an active subject.
-Current design: parallel mark-and-sweep.
-With care to use memory wisely, works well in production.
-
-* Interfaces
-
-Composition not inheritance
-
-* Object orientation and big software
-
-Go is object-oriented.
-Go does not have classes or subtype inheritance.
-
-What does this mean?
-
-* No type hierarchy
-
-O-O is important because it provides uniformity of interface.
-Outrageous example: the Plan 9 kernel.
-
-Problem:  subtype inheritance encourages _non-uniform_ interfaces.
-
-* O-O and program evolution
-
-Design by type inheritance oversold.
-Generates brittle code.
-Early decisions hard to change, often poorly informed.
-Makes every programmer an interface designer.
-(Plan 9 was built around a single interface everything needed to satisfy.)
-
-Therefore encourages overdesign early on: predict every eventuality.
-Exacerbates the problem, complicates designs.
-
-* Go: interface composition
-
-In Go an interface is _just_ a set of methods:
-
-	type Hash interface {
-		Write(p []byte) (n int, err error)
-		Sum(b []byte) []byte
-		Reset()
-		Size() int
-		BlockSize() int
-	}
-
-No `implements` declaration.
-All hash implementations satisfy this implicitly. (Statically checked.)
-
-* Interfaces in practice: composition
-
-Tend to be small: one or two methods are common.
-
-Composition falls out trivially. Easy example, from package `io`:
-
-	type Reader interface {
-		Read(p []byte) (n int, err error)
-	}
-
-`Reader` (plus the complementary `Writer`) makes it easy to chain:
-
-- files, buffers, networks, encryptors, compressors, GIF, JPEG, PNG, ...
-
-Dependency structure is not a hierarchy; these also implement other interfaces.
-
-Growth through composition is _natural_, does not need to be pre-declared.
-
-And that growth can be _ad_hoc_ and linear.
-
-* Compose with functions, not methods
-
-Hard to overstate the effect that Go's interfaces have on program design.
-
-One big effect: functions with interface arguments.
-
-	func ReadAll(r io.Reader) ([]byte, error)
-
-Wrappers:
-
-	func LoggingReader(r io.Reader) io.Reader
-	func LimitingReader(r io.Reader, n int64) io.Reader
-	func ErrorInjector(r io.Reader) io.Reader
-
-The designs are nothing like hierarchical, subtype-inherited methods.
-Much looser, organic, decoupled, independent.
-
-* Errors
-
-* Error handling
-
-Multiple function return values inform the design for handling errors.
-
-Go has no `try-catch` control structures for exceptions.
-Return `error` instead: built-in interface type that can "stringify" itself:
-
-	type error interface { Error() string }
-
-Clear and simple.
-
-Philosophy:
-
-Forces you think about errors—and deal with them—when they arise.
-Errors are _normal_. Errors are _not_exceptional_.
-Use the existing language to compute based on them.
-Don't need a sublanguage that treats them as exceptional.
-
-Result is better code (if more verbose).
-
-* (OK, not all errors are normal. But most are.)
-
-.image splash/fire.jpg
-
-* Tools
-
-* Tools
-
-Software engineering requires tools.
-
-Go's syntax, package design, naming, etc. make tools easy to write.
-
-Standard library includes lexer and parser; type checker nearly done.
-
-* Gofmt
-
-Always intended to do automatic code formatting.
-Eliminates an entire class of argument.
-Runs as a "presubmit" to the code repositories.
-
-Training:
-
-- The community has always seen `gofmt` output.
-
-Sharing:
-
-- Uniformity of presentation simplifies sharing.
-
-Scaling:
-
-- Less time spent on formatting, more on content.
-
-Often cited as one of Go's best features.
-
-* Gofmt and other tools
-
-Surprise: The existence of `gofmt` enabled _semantic_ tools:
-Can rewrite the tree; `gofmt` will clean up output.
-
-Examples:
-
-- `gofmt`-r`'a[b:len(a)]`->`a[b:]'`
-- `gofix`
-
-And good front-end libraries enable ancillary tools:
-
-- `godoc`
-- `go`get`, `go`build`, etc.
-- `api`
-
-* Gofix
-
-The `gofix` tool allowed us to make sweeping changes to APIs and language features leading up to the release of Go 1.
-
-- change to map deletion syntax
-- new time API
-- many more
-
-Also allows us to _update_ code even if the old code still works.
-
-Recent example:
-
-Changed Go's protocol buffer implementation to use getter functions; updated _all_ Google Go code to use them with `gofix`.
-
-* Conclusion
-
-* Go at Google
-
-Go's use is growing inside Google.
-
-Several big services use it:
-
-- golang.org
-- youtube.com
-- dl.google.com
-
-Many small ones do, many using Google App Engine.
-
-* Go outside Google
-
-Many outside companies use it, including:
-
-- BBC Worldwide
-- Canonical
-- Heroku
-- Nokia
-- SoundCloud
-
-* What's wrong?
-
-Not enough experience yet to know if Go is truly successful.
-Not enough big programs.
-
-Some minor details wrong. Examples:
-
-- declarations still too fussy
-- `nil` is overloaded
-- lots of library details
-
-`Gofix` and `gofmt` gave us the opportunity to fix many problems, ranging from eliminating semicolons to redesigning the `time` package.
-But we're still learning (and the language is frozen for now).
-
-The implementation still needs work, the run-time system in particular.
-
-But all indicators are positive.
-
-* Summary
-
-Software engineering guided the design.
-But a productive, fun language resulted because that design enabled productivity.
-
-Clear dependencies
-Clear syntax
-Clear semantics
-Composition not inheritance
-Simplicity of model (GC, concurrency)
-Easy tooling (the `go` tool, `gofmt`, `godoc`, `gofix`)
-
-* Try it!
-
-.link http://golang.org http://golang.org
-
-.image splash/appenginegophercolor.jpg
-
diff --git a/content/2012/splash/appenginegophercolor.jpg b/content/2012/splash/appenginegophercolor.jpg
deleted file mode 100644
index 43e84fd..0000000
--- a/content/2012/splash/appenginegophercolor.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/splash/datacenter.jpg b/content/2012/splash/datacenter.jpg
deleted file mode 100644
index c2de0f3..0000000
--- a/content/2012/splash/datacenter.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/splash/fire.jpg b/content/2012/splash/fire.jpg
deleted file mode 100644
index 4cdbd6b..0000000
--- a/content/2012/splash/fire.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/tutorial.slide b/content/2012/tutorial.slide
deleted file mode 100644
index 48cbecb..0000000
--- a/content/2012/tutorial.slide
+++ /dev/null
@@ -1,642 +0,0 @@
-Get started with Go
-
-Andrew Gerrand
-Google
-https://plus.google.com/106356964679457436995
-@enneff
-http://golang.org
-
-* Background
-
-# In this tutorial I'll show you how to install and use the Go Programming Language.
-
-* What is Go?
-
-Go is a new, general-purpose programming language.
-
-- Compiled
-- Statically typed
-- Concurrent
-- Simple
-- Productive
-
-"Go is a wise, clean, insightful, fresh thinking approach to the greatest-hits subset of the well understood."
-- Michael T. Jones
-
-
-* History
-
-- Project starts at Google in 2007 (by Griesemer, Pike, Thompson)
-- Open source release in November 2009
-- More than 250 contributors join the project
-- Version 1.0 release in March 2012
-
-# Go was originally built by a team at Google, led by Robert Griesemer, Rob Pike, and Ken Thompson. In November 2010, Go was launched publically as an open source project. Since then, a team at Google and more than 250 contributors from the open source community continued to improve the Go language, libraries, and tools.
-
-# In March 2012, we announced Go 1, a version of the language and libraries that will be supported for years to come. 
-
-* Getting started
-
-* Install Go
-
-.link http://golang.org/doc/install
-
-- Install from binary distributions or build from source
-- 32- and 64-bit x86 and ARM processors
-- Windows, Mac OS X, Linux, and FreeBSD
-- Other platforms may be supported by `gccgo`
-
-# Go is available in binary form for Windows, Mac OS X, Linux, and FreeBSD running under 32 and 64-bit x86 processor architectures. To install Go on these systems, download the appropriate file from golang.org and either open the package installer (Windows or OS X) or extract the archive to /usr/local/go (Linux and FreeBSD).  
-
-# If you use a different operating system or processor architecture, you may still be able to use Go by building it from source or using gccgo (an alternate Go compiler based on the GNU C Compiler). See the installation instructions on golang.org for how to do this.
-
-* Test your Go installation
-
-# Let's build and run a simple Go program to check that we have a valid Go install. Create a file named hello.go somewhere convenient and populate it with this Go source code:
-
-Put this code into `hello.go`:
-
-.code tutorial/hello.go
-
-# Now, from a command prompt, run `go run hello.go`. This will build your program, storing the executable binary in a temporary location, and run it. You should see the greeting printed to the console.
-
-Run the program:
-
-  $ go run hello.go
-
-
-* The go tool
-
-The `go` tool is the standard tool for building, testing, and installing Go programs.
-
-Compile and run `hello.go`:
-
-  $ go run hello.go
-
-Run `zip` tests:
-
-  $ go test archive/zip
-
-Build and format the files in the current directory:
-
-  $ go build
-  $ go fmt
-
-Fetch and install `websocket`:
-
-  $ go get code.google.com/p/go.net/websocket 
-
-
-* Workspaces
-
-The `go` tool derives build instructions from Go source code.
-
-There's no need to write and maintain build scripts.
-
-For this to work, some prescribed directory structure, known as a workspace, is required.
-
-  workspace/
-    bin # executable binaries
-    pkg # compiled object files
-    src # source code
-
-* Create a workspace
-
-Create your workspace now.
-
-#I prefer to use the name "gocode", but you can use whatever you like.
-
-  $ mkdir -p $HOME/gocode/src
-
-(The `bin` and `pkg` sub-directories will be created by the `go` tool.)
-
-Tell the `go` tool where your workspace is by setting the `GOPATH` environment variable:
-# You can do this on OS X, Linux, and FreeBSD by adding this line to the `$HOME/.profile` and re-starting any running shells:
-
-  export GOPATH=$HOME/gocode
-
-# See the installation instructions at golang.org for how to set `GOPATH` under Windows.
-
-You may also want to add the `bin` sub-directory of your workspace to your `PATH`:
-
-  export PATH=$PATH:$GOPATH/bin
-
-This lets you run your Go programs without specifying their full path.
-
-(You may want to put these `export` commands in the `.bash_profile` file in your home directory.)
-
-* Choose a namespace
-
-Choose a special place for your Go code.
-
-I use `"github.com/nf"`, the root of my GitHub account (useful with `go get`).
-
-# Once you have chosen a namespace, create the required paths inside the `src` directory of your workspace:
-
-  $ mkdir -p $GOPATH/src/github.com/nf
-
-Create a `hello` directory in your namespace and copy `hello.go` there:
-  
-  $ mkdir $GOPATH/src/github.com/nf/hello
-  $ cp hello.go $GOPATH/src/github.com/nf/hello
-
-Now you can build install the hello program with the `go` tool:
-
-  $ go install github.com/nf/hello
-
-This builds an executable named `hello`, and installs it to the `bin` directory of your workspace.
-
-  $ $GOPATH/bin/hello
-  Hello, fellow gopher
-
-
-* Our project
-
-* Our project
-
-A command-line program that fetches and displays the latest headlines from the `golang` page on Reddit.
-# (Reddit is a huge link aggregation site where people submit links and other people vote on and have discussions about them.)
-
-The program will:
-- make an HTTP request to the Reddit API,
-- decode the JSON response into a Go data structure, and
-- print each link's title, URL, and number of comments.
-
-To get started, create directory inside your namespace called `reddit`:
-
-  $ mkdir $GOPATH/src/github.com/nf/reddit
-  
-This is where you will put your Go source files.
-
-
-* Make an HTTP request
-
-This program makes an HTTP request to the Reddit API and copies its response to standard output.  Put this in a file named `main.go` inside your `reddit` directory.
-
-.code tutorial/1get.go
-
-# If you run it you should see a blob of JSON data, or an error message if something goes wrong.
-
-# There's a lot going on here, so let's break it down. 
-
-
-* Make an HTTP request: package statement
-
-All Go code belongs to a package.
-
-.code tutorial/1get.go /package/
-
-Go programs begin with function `main` inside package `main`.
-
-
-* Make an HTTP request: import statement
-
-The import declaration specifies the file's dependencies.
-
-.code tutorial/1get.go /import/,/\)/
-
-Each string is an import path. It tells the Go tools where to find the package.
-
-These packages are all from the Go standard library.
-
-
-* Make an HTTP request: function declaration
-
-.code tutorial/1get.go /func.main/,/^}/ HLfunc
-
-This is a function declaration. The main function takes no arguments and has no return values.
-
-* Make an HTTP request: http.Get
-
-.code tutorial/1get.go /func.main/,/^}/ HLget
-
-Call the `Get` function from the `http` package, passing the URL of the Reddit API as its only argument.
-
-Declare two variables (`resp` and `err`) and give them the return values of the function call. (Yes, Go functions can return multiple values.) The `Get` function returns `*http.Response` and an `error` values.
-
-
-* Make an HTTP request: error handling
-
-.code tutorial/1get.go /func.main/,/^}/ HLerr
-
-Compare `err` against `nil`, the zero-value for the built-in `error` type.
-
-The `err` variable will be nil if the request was successful.
-
-If not, call the `log.Fatal` function to print the error message and exit the program.
-
-# I cannot overstate the importance of error checking. Disregard error values at your peril!
-
-
-* Make an HTTP request: check status
-
-.code tutorial/1get.go /func.main/,/^}/ HLstatus
-
-Test that the HTTP server returned a "200 OK" response.
-
-If not, bail, printing the HTTP status message ("500 Internal Server Error", for example).
-
-
-* Make an HTTP request: copy
-
-.code tutorial/1get.go /func.main/,/^}/ HLcopy
-
-Use `io.Copy` to copy the HTTP response body  to standard output (`os.Stdout`).
-
-#On the left is a variable assignment that stores the error return value of the Copy in err. Note that this is different to the previous assignment which was also a declaration. This simple assignment - distinguished by the absence of a colon - assigns the second return value of the Copy to the err variable. The first return value, which appears to be assigned to an underscore, is thrown away. The underscore can be thought of as a "write only variable".
-
-  package io
-
-  func Copy(dst Writer, src Reader) (written int64, err error)
-
-The `resp.Body` type implements `io.Reader` and `os.Stdout` implements `io.Writer`.
-
-
-* Decoding the JSON response
-
-* Data structures
-
-The Reddit API returns JSON data like this:
-
-  {"data": {"children": [
-    {"data": {
-      "title": "The Go homepage",
-      "url": "http://golang.org/",
-      ...
-    }},
-    ...
-  ]}}
-
-Go's `json` package decodes JSON-encoded data into native Go data structures. To decode the API response, declare some types that reflect the structure of the JSON data:
-
-.code tutorial/2json.go /type.Item/,$
-
-
-* Decode the response
-
-Instead of copying the HTTP response body to standard output
-
-.code tutorial/1get.go /io.Copy/
-
-we use the json package to decode the response into our Response data structure.
-
-.code tutorial/2json.go /new.Response/,/json.NewDecoder/
-
-Initialize a new `Response` value, store a pointer to it in the new variable `r`.
-
-Create a new `json.Decoder` object and decode the response body into `r`.
-
-As the decoder parses the JSON data it looks for corresponding fields of the same names in the `Response` struct. The `"data"` field of the top-level JSON object is decoded into the `Response` struct's `Data` field, and JSON array `"children"` is decoded into the `Children` slice, and so on.
-
-
-* Print the data
-
-    for _, child := range r.Data.Children {
-      fmt.Println(child.Data.Title)
-    }
-
-Iterate over the `Children` slice, assigning the slice value to `child` on each iteration.
-
-The `Println` call prints the item's `Title` followed by a newline.
-
-
-* Tidying up
-
-* Separation of concerns
-
-So far, all the action happens in the main function.
-
-As the program grows, structure and modularity become important.
-
-What if we want to check several subreddits? Or share this functionality with another program?
-
-Create a function named `Get` that takes the name of subreddit, makes the API call, and returns the items from that subreddit.
-
-.code tutorial/3func.go /func.Get/
-
-`Get` takes a string, `reddit`, and returns a slice of `Item` and an `error` value.
-
-* Get: construct the URL
-
-.code tutorial/3func.go /func.Get/,/^}/ HLurl
-
-Use `fmt.Sprintf` to construct the request URL from the provided `reddit` string.
-
-* Get: return
-
-.code tutorial/3func.go /func.Get/,/^}/ HLreturn
-
-Exiting the function, return a nil slice and a non-nil error value, or vice versa.
-
-* Get: making an error
-
-.code tutorial/3func.go /func.Get/,/^}/ HLerrors
-
-The response's `Status` field is just a string; use the `errors.New` function to convert it to an `error` value.
-
-* Get: defer clean-up work
-
-.code tutorial/3func.go /func.Get/,/^}/ HLclose
-
-Defer a call to the response body's `Close` method, to guarantee that we clean up after the HTTP request. The call will be executed after the function returns.
-
-# It's important to Close the response Body, because it tells the http package that you have finished reading, freeing up the HTTP connection to for re-used (the Go http package uses Keep-Alive and connection pooling by default). If we want to use our Get function in the context of a larger program, it must clean up properly.
-
-# TODO(adg): about defer
-
-* Get: prepare the response
-
-.code tutorial/3func.go /func.Get/,/^}/ HLprepare
-
-Use the make function to allocate an `Item` slice big enough to store the response data.
-
-* Get: convert the response
-
-.code tutorial/3func.go /func.Get/,/^}/ HLconvert
-
-Iterate over the response's `Children` slice, assigning each child's `Data` element to the corresponding element in the items slice.
-
-* Use Get in main
-
-In the `main` function, replace the http request and JSON decoding code with a single call to `Get`.
-
-.code tutorial/3func.go /func.main/,/^}/
-
-The print loop becomes clearer, too.
-
-However, it's not very useful to print only the title of the items. Let's address that.
-
-
-* Formatted output
-
-* The Stringer interface
-
-The `fmt` package knows how to format the built-in types, but it can be told how to format user-defined types, too.
-
-When you pass a value to the `fmt.Print` functions, it checks to see if it implements the `fmt.Stringer` interface:
-
-  type Stringer interface {
-    String() string
-  }
-
-Any type that implements a `String() string` method is a `Stringer`, and the `fmt` package will use that method to format values of that type.
-
-
-* Formatting Items
-
-A method declaration is just like a function declaration, but the receiver comes first.
-
-Here's a `String` method for the `Item` type that returns the title, a newline, and the URL:
-
-  func (i Item) String() string {
-    return fmt.Sprintf("%s\n%s", i.Title, i.URL)
-  }
-
-To print the item we just pass it to Println, which uses the provided `String` method to format the `Item`.
-
-  fmt.Println(item)
-
-
-* Richer formatting (1/2)
-
-Let's go a step further. One way to judge how interesting a link might be is by the discussion surrounding it. Let's display the number of comments for each `Item` as well.
-
-  { "title": "The Go homepage",
-    "url": "http://golang.org/",
-    "num_comments": 10 }
-
-Update the `Item` type to include a `Comments` field:
-
-.code tutorial/4method.go /type.Item/,/^}/
-
-The new `Comments` field has a "struct tag", a string that annotates the field. Go code can use the `reflect` package to inspect this information at runtime.
-
-This tag, `json:"num_comments"`, tells the `json` package to decode the `"num_comments"` field of the JSON object into the `Comments` field (and the reverse, when encoding).
-
-* Richer formatting (2/2)
-
-Now the `String` method can be a little more complex:
-
-.code tutorial/4method.go /func..i.Item..String/,/^}/
-
-Observe that, unlike some languages, Go's switch statements do not fall through by default.
-
-Now when we run our program we should see a nicely formatted list of links.
-
-
-* Packages
-
-* A new package (1/3)
-
-This is useful code. Let's organize it to make it more accessible to others by putting it in an importable package.
-
-Create a new directory inside your `reddit` directory named `geddit`, and copy your `main.go` file there.
-
-`reddit` is the name of the library and `geddit` as that of the command-line client.
-
-  $ cd $GOPATH/src/github.com/nf/reddit
-  $ mkdir geddit
-  $ cp main.go geddit/
-
-Rename the `main.go` inside the `reddit` directory to `reddit.go`. (Not necessary; just a convention.)
-
-  $ mv main.go reddit.go
-
-
-* A new package (2/3)
-
-Change the package statement at the top of `reddit.go` from `package main` to `package reddit`.
-
-It is convention that the package name be the same as the last element of the import path.
-
-The convention makes packages predictable to use:
-
-  import "github.com/nf/reddit"
-
-  func foo() {
-    r, err := reddit.Get("golang") // "reddit" here is the package name
-    // ...
-  }
-
-The only strict requirement is that it must not be `package main`.
-
-Also remove the `main` function from `reddit.go`, and any unused package imports. (The compiler will tell you which packages are unused.)
-
-
-* A new package (3/3)
-
-The `reddit.go` file now looks like this:
-
-  package reddit
-  
-  import (
-    // omitted
-  )
-  
-  type Response struct {
-    // omitted
-  }
-  
-  type Item struct {
-    // omitted
-  }
-  
-  func (i Item) String() string {
-    // omitted
-  }
-  
-  func Get(reddit string) ([]Item, error) {
-    // omitted
-  }
-
-
-* Using the reddit package
-
-Edit the `geddit/main.go` file to remove the `Get`, `Item`, and `Response` declarations, import the `reddit` package, and use the `reddit.` prefix before the `Get` invocation:
-
-.code tutorial/main.go
-
-
-* Documentation
-
-* Documentation (1/3)
-
-`Godoc` is the Go documentation tool. It reads documentation directly from Go source files. It's easy to keep documentation and code in sync when they live together in the same place.
-
-Here's our reddit package when viewed from `godoc`:
-
-  $ godoc github.com/nf/reddit
-  PACKAGE
-  
-  package reddit
-      import "github.com/nf/reddit"
-  
-  FUNCTIONS
-  
-  func Get(reddit string) ([]Item, error)
-  
-  TYPES
-  
-  type Item struct {
-      Title    string
-      URL      string
-      Comments int `json:"num_comments"`
-  }
-  
-  func (i Item) String() string
-
-  type Response struct {
-  	// etc
-
-# Here we see all our top-level declarations. This is our package's user interface (not to be confused with an interface type). Despite the lack of documentation, the one thing that jumps out at me is the Response type. This is an implementation detail, and not something that a user of this package should need to see.
-
-# In Go, top-level declarations beginning with an uppercase letter are "exported", and therefore visible outside the package. All other names are private and inaccessible to code outside the package. We can hide the Response type by simply renaming it to "response".
-
-* Documentation (2/3)
-
-First, hide the `Response` type by renaming it to `response`.
-
-In Go, top-level declarations beginning with an uppercase letter are "exported" (visible outside the package). All other names are private and inaccessible to code outside the package.
-
-To document the remaining visible names, add a comment directly above their declarations:
-
-.code tutorial/reddit/reddit.go /Item.describes/,/type/
-
-.code tutorial/reddit/reddit.go /Get.fetches/,/func/
-
-# It is the convention to begin godoc comments with the noun they describe. This allows the text to be displayed in a variety of contexts, not necessarily alongside the declaration itself.
-
-Most importantly, document the package itself by adding a comment to the package clause:
-
-.code tutorial/reddit/reddit.go /Package.reddit/,/package.reddit/
-
-Don't worry about documenting the `String` method, as all Go programmers should be familiar with it and its purpose.
-
-* Documentation (3/3)
-
-The `godoc` output for our revised package:
-
-  PACKAGE
-  
-  package reddit
-      import "github.com/nf/reddit"
-  
-      Package reddit implements a basic client for the Reddit API.
-  
-  FUNCTIONS
-  
-  func Get(reddit string) ([]Item, error)
-      Get fetches the most recent Items posted to the specified subreddit.
-  
-  TYPES
-  
-  type Item struct {
-      Title    string
-      URL      string
-      Comments int `json:"num_comments"`
-  }
-      Item describes a Reddit item.
-  
-  func (i Item) String() string
-
-# You can also see how it will look on the web by running a local godoc instance
-
-#   $ godoc -http=localhost:8080
-
-# and loading http://localhost:8080/ in your browser.
-
-
-* Sharing your work
-
-* Publish the reddit library
-
-- Add a copyright notice to each file
-- Choose your preferred license
-- Initialize the source control repo
-- Make your first commit
-- Push it to the remote repository
-
-
-* Install with go get
-
-Use the go tool to automatically check out and install Go code:
-
-  $ go get github.com/nf/reddit/geddit
-
-This checks out the repository to `$GOPATH/src/github.com/nf/reddit` and installs the binary to `$GOPATH/bin/geddit`. The `bin` directory is in my PATH, so I can now run:
-
-  $ geddit
-
-The `go get` command can fetch code from
-
-- Bitbucket
-- GitHub
-- Google Code
-- Launchpad
-
-as well as arbitrary Git, Mercurial, Subversion, and Bazaar repositories.
-
-
-* Homework
-
-Some ideas:
-
-- Implement a command-line interface to specify the subreddit(s) to query.
-- Expand the reddit package to support more of the Reddit API.
-- Learn about Go's concurrency primitives and perform multiple requests in parallel.
-
-
-* Where to go from here
-
-Learn Go:
-
-.link http://tour.golang.org 
-
-Documentation and articles:
-
-.link http://golang.org/doc
-
-Standard library reference:
-
-.link http://golang.org/pkg
-
diff --git a/content/2012/tutorial/1get.go b/content/2012/tutorial/1get.go
deleted file mode 100644
index 98b914b..0000000
--- a/content/2012/tutorial/1get.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"io"
-	"log"
-	"net/http"
-	"os"
-)
-
-func main() { // HLfunc
-	resp, err := http.Get("http://reddit.com/r/golang.json") // HLget
-	if err != nil {                                          // HLerr
-		log.Fatal(err) // HLerr
-	} // HLerr
-	if resp.StatusCode != http.StatusOK { // HLstatus
-		log.Fatal(resp.Status) // HLstatus
-	} // HLstatus
-	_, err = io.Copy(os.Stdout, resp.Body) // HLcopy
-	if err != nil {                        // HLerr
-		log.Fatal(err) // HLerr
-	} // HLerr
-} // HLfunc
diff --git a/content/2012/tutorial/2json.go b/content/2012/tutorial/2json.go
deleted file mode 100644
index 0e0bf8f..0000000
--- a/content/2012/tutorial/2json.go
+++ /dev/null
@@ -1,41 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/json"
-	"fmt"
-	"log"
-	"net/http"
-)
-
-func main() {
-	resp, err := http.Get("http://reddit.com/r/golang.json")
-	if err != nil {
-		log.Fatal(err)
-	}
-	if resp.StatusCode != http.StatusOK {
-		log.Fatal(resp.Status)
-	}
-	r := new(Response)
-	err = json.NewDecoder(resp.Body).Decode(r)
-	if err != nil {
-		log.Fatal(err)
-	}
-	for _, child := range r.Data.Children {
-		fmt.Println(child.Data.Title)
-	}
-}
-
-type Item struct {
-	Title string
-	URL   string
-}
-
-type Response struct {
-	Data struct {
-		Children []struct {
-			Data Item
-		}
-	}
-}
diff --git a/content/2012/tutorial/3func.go b/content/2012/tutorial/3func.go
deleted file mode 100644
index afc8a64..0000000
--- a/content/2012/tutorial/3func.go
+++ /dev/null
@@ -1,56 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/json"
-	"errors"
-	"fmt"
-	"log"
-	"net/http"
-)
-
-func main() {
-	items, err := Get("golang") // HL
-	if err != nil {
-		log.Fatal(err)
-	}
-	for _, item := range items { // HL
-		fmt.Println(item.Title)
-	}
-}
-
-type Response struct {
-	Data struct {
-		Children []struct {
-			Data Item
-		}
-	}
-}
-
-type Item struct {
-	Title string
-	URL   string
-}
-
-func Get(reddit string) ([]Item, error) {
-	url := fmt.Sprintf("http://reddit.com/r/%s.json", reddit) // HLurl
-	resp, err := http.Get(url)                                // HLget
-	if err != nil {
-		return nil, err // HLreturn
-	}
-	defer resp.Body.Close()               // HLclose
-	if resp.StatusCode != http.StatusOK { // HLstatus
-		return nil, errors.New(resp.Status) // HLerrors
-	}
-	r := new(Response)                         // HLdecode
-	err = json.NewDecoder(resp.Body).Decode(r) // HLdecode
-	if err != nil {
-		return nil, err // HLreturn
-	}
-	items := make([]Item, len(r.Data.Children)) // HLprepare
-	for i, child := range r.Data.Children {     // HLconvert
-		items[i] = child.Data // HLconvert
-	} // HLconvert
-	return items, nil // HLreturn
-}
diff --git a/content/2012/tutorial/4method.go b/content/2012/tutorial/4method.go
deleted file mode 100644
index 2cef862..0000000
--- a/content/2012/tutorial/4method.go
+++ /dev/null
@@ -1,70 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/json"
-	"errors"
-	"fmt"
-	"log"
-	"net/http"
-)
-
-func main() {
-	items, err := Get("golang")
-	if err != nil {
-		log.Fatal(err)
-	}
-	for _, item := range items {
-		fmt.Println(item)
-	}
-}
-
-type Response struct {
-	Data struct {
-		Children []struct {
-			Data Item
-		}
-	}
-}
-
-type Item struct {
-	Title    string
-	URL      string
-	Comments int `json:"num_comments"`
-}
-
-func (i Item) String() string {
-	com := ""
-	switch i.Comments {
-	case 0:
-		// nothing
-	case 1:
-		com = " (1 comment)"
-	default:
-		com = fmt.Sprintf(" (%d comments)", i.Comments)
-	}
-	return fmt.Sprintf("%s%s\n%s", i.Title, com, i.URL)
-}
-
-func Get(reddit string) ([]Item, error) {
-	url := fmt.Sprintf("http://reddit.com/r/%s.json", reddit)
-	resp, err := http.Get(url)
-	if err != nil {
-		return nil, err
-	}
-	defer resp.Body.Close()
-	if resp.StatusCode != http.StatusOK {
-		return nil, errors.New(resp.Status)
-	}
-	r := new(Response)
-	err = json.NewDecoder(resp.Body).Decode(r)
-	if err != nil {
-		return nil, err
-	}
-	items := make([]Item, len(r.Data.Children))
-	for i, child := range r.Data.Children {
-		items[i] = child.Data
-	}
-	return items, nil
-}
diff --git a/content/2012/tutorial/golang.json b/content/2012/tutorial/golang.json
deleted file mode 100644
index 986c7d4..0000000
--- a/content/2012/tutorial/golang.json
+++ /dev/null
@@ -1 +0,0 @@
-{"data":{"after":"t3_ubvcv","before":null,"children":[{"data":{"approved_by":null,"author":"bockris","author_flair_css_class":null,"author_flair_text":null,"banned_by":null,"clicked":false,"created":1.340311589e+09,"created_utc":1.340286389e+09,"domain":"research.swtch.com","downs":0,"edited":false,"hidden":false,"id":"vdq4f","is_self":false,"likes":null,"link_flair_css_class":null,"link_flair_text":null,"media":null,"media_embed":{},"name":"t3_vdq4f","num_comments":0,"num_reports":null,"over_18":false,"permalink":"/r/golang/comments/vdq4f/researchrsc_a_tour_of_go/","saved":false,"score":9,"selftext":"","selftext_html":null,"subreddit":"golang","subreddit_id":"t5_2rc7j","thumbnail":"","title":"research!rsc: A Tour of Go","ups":9,"url":"http://research.swtch.com/gotour"},"kind":"t3"},{"data":{"approved_by":null,"author":"HornedKavu","author_flair_css_class":null,"author_flair_text":null,"banned_by":null,"clicked":false,"created":1.340120634e+09,"created_utc":1.340095434e+09,"domain":"blog.davidsingleton.org","downs":4,"edited":false,"hidden":false,"id":"v9onh","is_self":false,"likes":null,"link_flair_css_class":null,"link_flair_text":null,"media":null,"media_embed":{},"name":"t3_v9onh","num_comments":1,"num_reports":null,"over_18":false,"permalink":"/r/golang/comments/v9onh/parsing_huge_xml_files_with_go/","saved":false,"score":34,"selftext":"","selftext_html":null,"subreddit":"golang","subreddit_id":"t5_2rc7j","thumbnail":"","title":"Parsing huge XML files with Go","ups":38,"url":"http://blog.davidsingleton.org/parsing-huge-xml-files-with-go/"},"kind":"t3"},{"data":{"approved_by":null,"author":"DavidScone","author_flair_css_class":null,"author_flair_text":null,"banned_by":null,"clicked":false,"created":1.340115741e+09,"created_utc":1.340115741e+09,"domain":"lawlessguy.wordpress.com","downs":1,"edited":false,"hidden":false,"id":"v9z0i","is_self":false,"likes":null,"link_flair_css_class":null,"link_flair_text":null,"media":null,"media_embed":{},"name":"t3_v9z0i","num_comments":10,"num_reports":null,"over_18":false,"permalink":"/r/golang/comments/v9z0i/prelude_to_an_embeddable_programming_language_in/","saved":false,"score":5,"selftext":"","selftext_html":null,"subreddit":"golang","subreddit_id":"t5_2rc7j","thumbnail":"","title":"Prelude to an Embeddable Programming Language in Go (Golang)","ups":6,"url":"http://lawlessguy.wordpress.com/2012/06/19/prelude-to-an-embeddable-programming-language-in-go-golang/"},"kind":"t3"},{"data":{"approved_by":null,"author":"dgryski","author_flair_css_class":null,"author_flair_text":null,"banned_by":null,"clicked":false,"created":1.339783575e+09,"created_utc":1.339783575e+09,"domain":"arxiv.org","downs":0,"edited":false,"hidden":false,"id":"v3rlk","is_self":false,"likes":null,"link_flair_css_class":null,"link_flair_text":null,"media":null,"media_embed":{},"name":"t3_v3rlk","num_comments":2,"num_reports":null,"over_18":false,"permalink":"/r/golang/comments/v3rlk/time_warp_on_the_go_pdf/","saved":false,"score":12,"selftext":"","selftext_html":null,"subreddit":"golang","subreddit_id":"t5_2rc7j","thumbnail":"","title":"Time Warp on the Go [PDF]","ups":12,"url":"http://arxiv.org/abs/1206.2772"},"kind":"t3"},{"data":{"approved_by":null,"author":"enneff","author_flair_css_class":null,"author_flair_text":null,"banned_by":null,"clicked":false,"created":1.339650531e+09,"created_utc":1.339650531e+09,"domain":"groups.google.com","downs":3,"edited":false,"hidden":false,"id":"v16zb","is_self":false,"likes":null,"link_flair_css_class":null,"link_flair_text":null,"media":null,"media_embed":{},"name":"t3_v16zb","num_comments":6,"num_reports":null,"over_18":false,"permalink":"/r/golang/comments/v16zb/go_102_is_out/","saved":false,"score":55,"selftext":"","selftext_html":null,"subreddit":"golang","subreddit_id":"t5_2rc7j","thumbnail":"","title":"Go 1.0.2 is out!","ups":58,"url":"https://groups.google.com/d/msg/golang-nuts/YOYs04O9Tes/MjBJoksRBmQJ"},"kind":"t3"},{"data":{"approved_by":null,"author":"crosone","author_flair_css_class":null,"author_flair_text":null,"banned_by":null,"clicked":false,"created":1.339700883e+09,"created_utc":1.339700883e+09,"domain":"self.golang","downs":0,"edited":false,"hidden":false,"id":"v23qr","is_self":true,"likes":null,"link_flair_css_class":null,"link_flair_text":null,"media":null,"media_embed":{},"name":"t3_v23qr","num_comments":3,"num_reports":null,"over_18":false,"permalink":"/r/golang/comments/v23qr/confusion_over_type_assertions_against_interfaces/","saved":false,"score":8,"selftext":"My question revolves around [this code](http://play.golang.org/p/DkbkZgHbUz).\n\nThe upshot is that, from what I interpret from the spec, performing a type assertion on either another interface or a static type is valid.  However, compiling fails when I attempt to do an assertion on a static type of a variable.\n\nI'm pretty certain that I've misunderstood what I've read in the spec.  However, if anyone could shed some light on why this cannot be done I'd be very grateful.\n\n","selftext_html":"&lt;!-- SC_OFF --&gt;&lt;div class=\"md\"&gt;&lt;p&gt;My question revolves around &lt;a href=\"http://play.golang.org/p/DkbkZgHbUz\"&gt;this code&lt;/a&gt;.&lt;/p&gt;\n\n&lt;p&gt;The upshot is that, from what I interpret from the spec, performing a type assertion on either another interface or a static type is valid.  However, compiling fails when I attempt to do an assertion on a static type of a variable.&lt;/p&gt;\n\n&lt;p&gt;I&amp;#39;m pretty certain that I&amp;#39;ve misunderstood what I&amp;#39;ve read in the spec.  However, if anyone could shed some light on why this cannot be done I&amp;#39;d be very grateful.&lt;/p&gt;\n&lt;/div&gt;&lt;!-- SC_ON --&gt;","subreddit":"golang","subreddit_id":"t5_2rc7j","thumbnail":"","title":"Confusion over type assertions against interfaces.","ups":8,"url":"http://www.reddit.com/r/golang/comments/v23qr/confusion_over_type_assertions_against_interfaces/"},"kind":"t3"}],"modhash":""},"kind":"Listing"}
\ No newline at end of file
diff --git a/content/2012/tutorial/hello.go b/content/2012/tutorial/hello.go
deleted file mode 100644
index 0f04e20..0000000
--- a/content/2012/tutorial/hello.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Println("Greetings, fellow gopher")
-}
diff --git a/content/2012/tutorial/jsonserve.go b/content/2012/tutorial/jsonserve.go
deleted file mode 100644
index d513197..0000000
--- a/content/2012/tutorial/jsonserve.go
+++ /dev/null
@@ -1,18 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"log"
-	"net/http"
-)
-
-func main() {
-	b := []byte(jsonBlob)
-	err := http.ListenAndServe(":80", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
-		w.Write(b)
-	}))
-	log.Fatal(err)
-}
-
-const jsonBlob = `{"data":{"after":"t3_ubvcv","before":null,"children":[{"data":{"approved_by":null,"author":"bockris","author_flair_css_class":null,"author_flair_text":null,"banned_by":null,"clicked":false,"created":1.340311589e+09,"created_utc":1.340286389e+09,"domain":"research.swtch.com","downs":0,"edited":false,"hidden":false,"id":"vdq4f","is_self":false,"likes":null,"link_flair_css_class":null,"link_flair_text":null,"media":null,"media_embed":{},"name":"t3_vdq4f","num_comments":0,"num_reports":null,"over_18":false,"permalink":"/r/golang/comments/vdq4f/researchrsc_a_tour_of_go/","saved":false,"score":9,"selftext":"","selftext_html":null,"subreddit":"golang","subreddit_id":"t5_2rc7j","thumbnail":"","title":"research!rsc: A Tour of Go","ups":9,"url":"http://research.swtch.com/gotour"},"kind":"t3"},{"data":{"approved_by":null,"author":"HornedKavu","author_flair_css_class":null,"author_flair_text":null,"banned_by":null,"clicked":false,"created":1.340120634e+09,"created_utc":1.340095434e+09,"domain":"blog.davidsingleton.org","downs":4,"edited":false,"hidden":false,"id":"v9onh","is_self":false,"likes":null,"link_flair_css_class":null,"link_flair_text":null,"media":null,"media_embed":{},"name":"t3_v9onh","num_comments":1,"num_reports":null,"over_18":false,"permalink":"/r/golang/comments/v9onh/parsing_huge_xml_files_with_go/","saved":false,"score":34,"selftext":"","selftext_html":null,"subreddit":"golang","subreddit_id":"t5_2rc7j","thumbnail":"","title":"Parsing huge XML files with Go","ups":38,"url":"http://blog.davidsingleton.org/parsing-huge-xml-files-with-go/"},"kind":"t3"},{"data":{"approved_by":null,"author":"DavidScone","author_flair_css_class":null,"author_flair_text":null,"banned_by":null,"clicked":false,"created":1.340115741e+09,"created_utc":1.340115741e+09,"domain":"lawlessguy.wordpress.com","downs":1,"edited":false,"hidden":false,"id":"v9z0i","is_self":false,"likes":null,"link_flair_css_class":null,"link_flair_text":null,"media":null,"media_embed":{},"name":"t3_v9z0i","num_comments":10,"num_reports":null,"over_18":false,"permalink":"/r/golang/comments/v9z0i/prelude_to_an_embeddable_programming_language_in/","saved":false,"score":5,"selftext":"","selftext_html":null,"subreddit":"golang","subreddit_id":"t5_2rc7j","thumbnail":"","title":"Prelude to an Embeddable Programming Language in Go (Golang)","ups":6,"url":"http://lawlessguy.wordpress.com/2012/06/19/prelude-to-an-embeddable-programming-language-in-go-golang/"},"kind":"t3"},{"data":{"approved_by":null,"author":"dgryski","author_flair_css_class":null,"author_flair_text":null,"banned_by":null,"clicked":false,"created":1.339783575e+09,"created_utc":1.339783575e+09,"domain":"arxiv.org","downs":0,"edited":false,"hidden":false,"id":"v3rlk","is_self":false,"likes":null,"link_flair_css_class":null,"link_flair_text":null,"media":null,"media_embed":{},"name":"t3_v3rlk","num_comments":2,"num_reports":null,"over_18":false,"permalink":"/r/golang/comments/v3rlk/time_warp_on_the_go_pdf/","saved":false,"score":12,"selftext":"","selftext_html":null,"subreddit":"golang","subreddit_id":"t5_2rc7j","thumbnail":"","title":"Time Warp on the Go [PDF]","ups":12,"url":"http://arxiv.org/abs/1206.2772"},"kind":"t3"},{"data":{"approved_by":null,"author":"enneff","author_flair_css_class":null,"author_flair_text":null,"banned_by":null,"clicked":false,"created":1.339650531e+09,"created_utc":1.339650531e+09,"domain":"groups.google.com","downs":3,"edited":false,"hidden":false,"id":"v16zb","is_self":false,"likes":null,"link_flair_css_class":null,"link_flair_text":null,"media":null,"media_embed":{},"name":"t3_v16zb","num_comments":6,"num_reports":null,"over_18":false,"permalink":"/r/golang/comments/v16zb/go_102_is_out/","saved":false,"score":55,"selftext":"","selftext_html":null,"subreddit":"golang","subreddit_id":"t5_2rc7j","thumbnail":"","title":"Go 1.0.2 is out!","ups":58,"url":"https://groups.google.com/d/msg/golang-nuts/YOYs04O9Tes/MjBJoksRBmQJ"},"kind":"t3"},{"data":{"approved_by":null,"author":"crosone","author_flair_css_class":null,"author_flair_text":null,"banned_by":null,"clicked":false,"created":1.339700883e+09,"created_utc":1.339700883e+09,"domain":"self.golang","downs":0,"edited":false,"hidden":false,"id":"v23qr","is_self":true,"likes":null,"link_flair_css_class":null,"link_flair_text":null,"media":null,"media_embed":{},"name":"t3_v23qr","num_comments":3,"num_reports":null,"over_18":false,"permalink":"/r/golang/comments/v23qr/confusion_over_type_assertions_against_interfaces/","saved":false,"score":8,"selftext":"My question revolves around [this code](http://play.golang.org/p/DkbkZgHbUz).\n\nThe upshot is that, from what I interpret from the spec, performing a type assertion on either another interface or a static type is valid.  However, compiling fails when I attempt to do an assertion on a static type of a variable.\n\nI'm pretty certain that I've misunderstood what I've read in the spec.  However, if anyone could shed some light on why this cannot be done I'd be very grateful.\n\n","selftext_html":"&lt;!-- SC_OFF --&gt;&lt;div class=\"md\"&gt;&lt;p&gt;My question revolves around &lt;a href=\"http://play.golang.org/p/DkbkZgHbUz\"&gt;this code&lt;/a&gt;.&lt;/p&gt;\n\n&lt;p&gt;The upshot is that, from what I interpret from the spec, performing a type assertion on either another interface or a static type is valid.  However, compiling fails when I attempt to do an assertion on a static type of a variable.&lt;/p&gt;\n\n&lt;p&gt;I&amp;#39;m pretty certain that I&amp;#39;ve misunderstood what I&amp;#39;ve read in the spec.  However, if anyone could shed some light on why this cannot be done I&amp;#39;d be very grateful.&lt;/p&gt;\n&lt;/div&gt;&lt;!-- SC_ON --&gt;","subreddit":"golang","subreddit_id":"t5_2rc7j","thumbnail":"","title":"Confusion over type assertions against interfaces.","ups":8,"url":"http://www.reddit.com/r/golang/comments/v23qr/confusion_over_type_assertions_against_interfaces/"},"kind":"t3"}],"modhash":""},"kind":"Listing"}`
diff --git a/content/2012/tutorial/main.go b/content/2012/tutorial/main.go
deleted file mode 100644
index 10fcad6..0000000
--- a/content/2012/tutorial/main.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"github.com/nf/reddit" // HL
-	"log"
-)
-
-func main() {
-	items, err := reddit.Get("golang") // HL
-	if err != nil {
-		log.Fatal(err)
-	}
-	for _, item := range items {
-		fmt.Println(item)
-	}
-}
diff --git a/content/2012/tutorial/reddit/reddit.go b/content/2012/tutorial/reddit/reddit.go
deleted file mode 100644
index 3848398..0000000
--- a/content/2012/tutorial/reddit/reddit.go
+++ /dev/null
@@ -1,61 +0,0 @@
-// Package reddit implements a basic client for the Reddit API.
-// +build ignore,OMIT
-
-package reddit
-
-import (
-	"encoding/json"
-	"fmt"
-	"net/http"
-)
-
-// Item describes a Reddit item.
-type Item struct {
-	Title    string
-	URL      string
-	Comments int `json:"num_comments"`
-}
-
-func (i Item) String() string {
-	com := ""
-	switch i.Comments {
-	case 0:
-		// nothing
-	case 1:
-		com = " (1 comment)"
-	default:
-		com = fmt.Sprintf(" (%d comments)", i.Comments)
-	}
-	return fmt.Sprintf("%s%s\n%s", i.Title, com, i.URL)
-}
-
-// Get fetches the most recent Items posted to the specified subreddit.
-func Get(reddit string) ([]Item, error) {
-	url := fmt.Sprintf("http://reddit.com/r/%s.json", reddit)
-	resp, err := http.Get(url)
-	if err != nil {
-		return nil, err
-	}
-	defer resp.Body.Close()
-	if resp.StatusCode != http.StatusOK {
-		return nil, errors.New(resp.Status)
-	}
-	r := new(response)
-	err = json.NewDecoder(resp.Body).Decode(r)
-	if err != nil {
-		return nil, err
-	}
-	items := make([]Item, len(r.Data.Children))
-	for i, child := range r.Data.Children {
-		items[i] = child.Data
-	}
-	return items, nil
-}
-
-type response struct {
-	Data struct {
-		Children []struct {
-			Data Item
-		}
-	}
-}
diff --git a/content/2012/waza.slide b/content/2012/waza.slide
deleted file mode 100644
index 778768f..0000000
--- a/content/2012/waza.slide
+++ /dev/null
@@ -1,453 +0,0 @@
-#_This presentation was the closing keynote of the Heroku Waza conference in January, 2012.
-#_It has been slightly modified here for clarity and for use in the "present" format; the original
-#_used a precursor to that tool.
-
-Concurrency is not Parallelism
-Waza Jan 11, 2012
-
-Rob Pike
-r@golang.org
-
-* Video
-
-This talk was presented at Heroku's Waza conference in January 2012.
-
-.link http://vimeo.com/49718712 Watch the talk on Vimeo
-
-* The modern world is parallel
-
-Multicore.
-
-Networks.
-
-Clouds of CPUs.
-
-Loads of users.
-
-Our technology should help.
-That's where concurrency comes in.
-
-* Go supports concurrency
-
-Go provides:
-
-- concurrent execution (goroutines)
-- synchronization and messaging (channels)
-- multi-way concurrent control (select)
-
-* Concurrency is cool! Yay parallelism!!
-
-NO! A fallacy.
-
-When Go was announced, many were confused by the distinction.
-
-"I ran the prime sieve with 4 processors and it got slower!"
-
-* Concurrency
-
-Programming as the composition of independently executing processes.
-
-(Processes in the general sense, not Linux processes. Famously hard to define.)
-
-* Parallelism
-
-Programming as the simultaneous execution of (possibly related) computations.
-
-* Concurrency vs. parallelism
-
-Concurrency is about dealing with lots of things at once.
-
-Parallelism is about doing lots of things at once.
-
-Not the same, but related.
-
-Concurrency is about structure, parallelism is about execution.
-
-Concurrency provides a way to structure a solution to solve a problem that may (but not necessarily) be parallelizable.
-
-* An analogy
-
-Concurrent: Mouse, keyboard, display, and disk drivers.
-
-Parallel: Vector dot product.
-
-* Concurrency plus communication
-
-Concurrency is a way to structure a program by breaking it into pieces that can be executed independently.
-
-Communication is the means to coordinate the independent executions.
-
-This is the Go model and (like Erlang and others) it's based on CSP:
-
-C. A. R. Hoare: Communicating Sequential Processes (CACM 1978)
-
-* Gophers
-
-This is too abstract. Let's get concrete.
-
-* Our problem
-
-Move a pile of obsolete language manuals to the incinerator.
-
-.image waza/gophersimple1.jpg
-
-With only one gopher this will take too long.
-
-* More gophers!
-
-.image waza/gophersimple3.jpg
-
-More gophers are not enough; they need more carts.
-
-* More gophers and more carts
-
-.image waza/gophersimple2.jpg
-
-This will go faster, but there will be bottlenecks at the pile and incinerator.
-Also need to synchronize the gophers.
-A message (that is, a communication between the gophers) will do.
-
-* Double everything
-
-Remove the bottleneck; make them really independent.
-
-.image waza/gophersimple4.jpg
-
-This will consume input twice as fast.
-
-* Concurrent composition
-
-.image waza/gophersimple4.jpg
-The concurrent composition of two gopher procedures.
-
-* Concurrent composition
-
-This design is not automatically parallel!
-
-What if only one gopher is moving at a time?
-Then it's still concurrent (that's in the design), just not parallel.
-
-However, it's automatically parallelizable!
-
-Moreover the concurrent composition suggests other models.
-
-* Another design
-
-.image waza/gophercomplex0.jpg
-
-Three gophers in action, but with likely delays.
-Each gopher is an independently executing procedure,
-plus coordination (communication).
-
-* Finer-grained concurrency
-
-Add another gopher procedure to return the empty carts.
-
-.image waza/gophercomplex1.jpg
-
-Four gophers in action for better flow, each doing one simple task.
-
-If we arrange everything right (implausible but not impossible), that's four times faster than our original one-gopher design.
-
-* Observation
-
-We improved performance by adding a concurrent procedure to the existing design.
-
-More gophers doing more work; it runs better.
-
-This is a deeper insight than mere parallelism.
-
-* Concurrent procedures
-
-Four distinct gopher procedures:
-
-- load books onto cart
-- move cart to incinerator
-- unload cart into incinerator
-- return empty cart
-
-Different concurrent designs enable different ways to parallelize.
-
-* More parallelization!
-
-We can now parallelize on the other axis; the concurrent design makes it easy. Eight gophers, all busy.
-
-.image waza/gophercomplex2.jpg
-
-* Or maybe no parallelization at all
-
-Keep in mind, even if only one gopher is active at a time (zero parallelism), it's still a correct and concurrent solution.
-
-.image waza/gophercomplex2.jpg
-
-* Another design
-
-Here's another way to structure the problem as the concurrent composition of gopher procedures.
-
-Two gopher procedures, plus a staging pile.
-
-.image waza/gophercomplex3.jpg
-
-* Parallelize the usual way
-
-Run more concurrent procedures to get more throughput.
-
-.image waza/gophercomplex4.jpg
-
-* Or a different way
-
-Bring the staging pile to the multi-gopher concurrent model:
-
-.image waza/gophercomplex5.jpg
-
-* Full on optimization
-
-Use all our techniques. Sixteen gophers hard at work!
-
-.image waza/gophercomplex6.jpg
-
-* Lesson
-
-There are many ways to break the processing down.
-
-That's concurrent design.
-
-Once we have the breakdown, parallelization can fall out and correctness is easy.
-
-* Back to Computing
-
-In our book transport problem, substitute:
-
-- book pile => web content
-- gopher => CPU
-- cart => marshaling, rendering, or networking
-- incinerator => proxy, browser, or other consumer
-
-It becomes a concurrent design for a scalable web service.
-Gophers serving web content.
-
-* A little background about Go
-
-Not the place for a tutorial, just quick highlights.
-
-* Goroutines
-
-A goroutine is a function running independently  in the same address space as other goroutines
-
-.code waza/snippets /f.runs/
-
-.code waza/snippets /f.starts.running/,/return/
-
-Like launching a function with shell's `&` notation.
-
-* Goroutines are not threads 
-
-(They're a bit like threads, but they're much cheaper.)
-
-Goroutines are multiplexed onto OS threads as required.
-
-When a goroutine blocks, that thread blocks but no other goroutine blocks.
-
-* Channels
-
-Channels are typed values that allow goroutines to synchronize and exchange information.
-
-.code waza/snippets /make.*chan/,/completedAt/
-
-* Select
-
-The `select` statement is like a `switch`, but the decision is based on ability to communicate rather than equal values.
-
-.code waza/snippets /select/,/}/
-
-* Go really supports concurrency
-
-Really.
-
-It's routine to create thousands of goroutines in one program.
-(Once debugged a program after it had created 1.3 million.)
-
-Stacks start small, but grow and shrink as required.
-
-Goroutines aren't free, but they're very cheap.
-
-* Closures are also part of the story
-
-Make some concurrent calculations easier to express.
-
-They are just local functions.
-Here's a non-concurrent example:
-
-.code waza/snippets /Compose/,/sin,/
-
-* Some examples
-
-Learn concurrent Go by osmosis.
-
-* Launching daemons
-
-Use a closure to wrap a background operation.
-
-This copies items from the input channel to the output channel:
-
-.code waza/snippets /copy.input/,/^}/
-
-The `for` `range` operation runs until channel is drained.
-
-* A simple load balancer (1)
-
-A unit of work:
-
-.code waza/load1 /type/,/^}/
-
-* A simple load balancer (2)
-
-A worker task
-
-.code waza/load1 /worker/,/^}/
-
-Must make sure other workers can run when one blocks.
-
-* A simple load balancer (3)
-
-The runner
-
-.code waza/load1 /Run/,/^}/
-
-Easy problem but also hard to solve concisely without concurrency.
-
-* Concurrency enables parallelism
-
-The load balancer is implicitly parallel and scalable.
-
-`NumWorkers` could be huge.
-
-The tools of concurrency make it almost trivial to build a safe, working, scalable, parallel design.
-
-* Concurrency simplifies synchronization
-
-No explicit synchronization needed.
-
-The structure of the program is implicitly synchronized.
-
-* That was too easy
-
-Let's do a more realistic load balancer.
-
-* Load balancer
-
-.image waza/gopherchart.jpg
-
-* Request definition
-
-The requester sends Requests to the balancer
-
-.code waza/load2 /^type.Request/,/^}/
-
-Note the return channel inside the request.
-Channels are first-class values.
-
-* Requester function
-
-An artificial but illustrative simulation of a requester, a load generator.
-
-.code waza/load2 /^func.requester/,/^}/
-
-* Worker definition
-
-A channel of requests, plus some load tracking data.
-
-.code waza/load2 /type.Worker/,/^}/
-
-* Worker
-
-Balancer sends request to most lightly loaded worker
-
-.code waza/load2 /^func.*work.*done/,/^}/
-
-The channel of requests (`w.requests`) delivers requests to each worker.  The balancer tracks the number of pending requests as a measure of load.
-Each response goes directly to its requester.
-
-Could run the loop body as a goroutine for parallelism.
-
-* Balancer definition
-
-The load balancer needs a pool of workers and a single channel to which requesters can report task completion.
-
-.code waza/load2 /type.Pool/,/^}/
-
-* Balancer function
-
-Easy!
-
-.code waza/load2 /func.*balance/,/^}/
-
-Just need to implement dispatch and completed.
-
-* A heap of channels
-
-Make Pool an implementation of the `Heap` interface by providing a few methods such as:
-
-.code waza/load2 /func.*Less/,/^}/
-
-Now we balance by making the `Pool` a heap tracked by load.
-
-* Dispatch
-
-All the pieces are in place.
-
-.code waza/load2 /Send.Request/,/^}/
-
-* Completed
-
-.code waza/load2 /Job.is.complete/,/^}/
-
-* Lesson
-
-A complex problem can be broken down into easy-to-understand components.
-
-The pieces can be composed concurrently.
-
-The result is easy to understand, efficient, scalable, and correct.
-
-Maybe even parallel.
-
-* One more example
-
-We have a replicated database and want to minimize latency by asking them all and returning the first response to arrive.
-
-* Query a replicated database
-
-.code waza/snippets /func.Query/,/^}/
-Concurrent tools and garbage collection make this an easy solution to a subtle problem.
-
-(Teardown of late finishers is left as an exercise.)
-
-
-* Conclusion
-
-
-Concurrency is powerful.
-
-Concurrency is not parallelism.
-
-Concurrency enables parallelism.
-
-Concurrency makes parallelism (and scaling and everything else) easy.
-
-* For more information
-
-Go: golang.org
-
-Some history: swtch.com/~rsc/thread/
-
-A previous talk (video): tinyurl.com/newsqueak1
-
-Parellelism is not concurrency (Harper): tinyurl.com/pincharper
-
-A concurrent window system (Pike): tinyurl.com/pikecws
-
-Concurrent power series (McIlroy): tinyurl.com/powser
-
-And finally, parallel but not concurrent:
-research.google.com/archive/sawzall.html
diff --git a/content/2012/waza/balance.go b/content/2012/waza/balance.go
deleted file mode 100644
index e97976e..0000000
--- a/content/2012/waza/balance.go
+++ /dev/null
@@ -1,162 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"container/heap"
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-const nRequester = 100
-const nWorker = 10
-
-// Simulation of some work: just sleep for a while and report how long.
-func op() int {
-	n := rand.Int63n(int64(time.Second))
-	time.Sleep(time.Duration(nWorker * n))
-	return int(n)
-}
-
-type Request struct {
-	fn func() int
-	c  chan int
-}
-
-func requester(work chan Request) {
-	c := make(chan int)
-	for {
-		time.Sleep(time.Duration(rand.Int63n(int64(nWorker * 2 * time.Second))))
-		work <- Request{op, c}
-		<-c
-	}
-}
-
-type Worker struct {
-	i        int
-	requests chan Request
-	pending  int
-}
-
-func (w *Worker) work(done chan *Worker) {
-	for {
-		req := <-w.requests
-		req.c <- req.fn()
-		done <- w
-	}
-}
-
-type Pool []*Worker
-
-func (p Pool) Len() int { return len(p) }
-
-func (p Pool) Less(i, j int) bool {
-	return p[i].pending < p[j].pending
-}
-
-func (p *Pool) Swap(i, j int) {
-	a := *p
-	a[i], a[j] = a[j], a[i]
-	a[i].i = i
-	a[j].i = j
-}
-
-func (p *Pool) Push(x interface{}) {
-	a := *p
-	n := len(a)
-	a = a[0 : n+1]
-	w := x.(*Worker)
-	a[n] = w
-	w.i = n
-	*p = a
-}
-
-func (p *Pool) Pop() interface{} {
-	a := *p
-	*p = a[0 : len(a)-1]
-	w := a[len(a)-1]
-	w.i = -1 // for safety
-	return w
-}
-
-type Balancer struct {
-	pool Pool
-	done chan *Worker
-	i    int
-}
-
-func NewBalancer() *Balancer {
-	done := make(chan *Worker, nWorker)
-	b := &Balancer{make(Pool, 0, nWorker), done, 0}
-	for i := 0; i < nWorker; i++ {
-		w := &Worker{requests: make(chan Request, nRequester)}
-		heap.Push(&b.pool, w)
-		go w.work(b.done)
-	}
-	return b
-}
-
-func (b *Balancer) balance(work chan Request) {
-	for {
-		select {
-		case req := <-work:
-			b.dispatch(req)
-		case w := <-b.done:
-			b.completed(w)
-		}
-		b.print()
-	}
-}
-
-func (b *Balancer) print() {
-	sum := 0
-	sumsq := 0
-	for _, w := range b.pool {
-		fmt.Printf("%d ", w.pending)
-		sum += w.pending
-		sumsq += w.pending * w.pending
-	}
-	avg := float64(sum) / float64(len(b.pool))
-	variance := float64(sumsq)/float64(len(b.pool)) - avg*avg
-	fmt.Printf(" %.2f %.2f\n", avg, variance)
-}
-
-func (b *Balancer) dispatch(req Request) {
-	if false {
-		w := b.pool[b.i]
-		w.requests <- req
-		w.pending++
-		b.i++
-		if b.i >= len(b.pool) {
-			b.i = 0
-		}
-		return
-	}
-
-	w := heap.Pop(&b.pool).(*Worker)
-	w.requests <- req
-	w.pending++
-	//	fmt.Printf("started %p; now %d\n", w, w.pending)
-	heap.Push(&b.pool, w)
-}
-
-func (b *Balancer) completed(w *Worker) {
-	if false {
-		w.pending--
-		return
-	}
-
-	w.pending--
-	//	fmt.Printf("finished %p; now %d\n", w, w.pending)
-	heap.Remove(&b.pool, w.i)
-	heap.Push(&b.pool, w)
-}
-
-func main() {
-	work := make(chan Request)
-	for i := 0; i < nRequester; i++ {
-		go requester(work)
-	}
-	NewBalancer().balance(work)
-}
diff --git a/content/2012/waza/gopherchart.jpg b/content/2012/waza/gopherchart.jpg
deleted file mode 100644
index 5465da8..0000000
--- a/content/2012/waza/gopherchart.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/waza/gophercomplex0.jpg b/content/2012/waza/gophercomplex0.jpg
deleted file mode 100644
index 3ea0738..0000000
--- a/content/2012/waza/gophercomplex0.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/waza/gophercomplex1.jpg b/content/2012/waza/gophercomplex1.jpg
deleted file mode 100644
index 5813956..0000000
--- a/content/2012/waza/gophercomplex1.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/waza/gophercomplex2.jpg b/content/2012/waza/gophercomplex2.jpg
deleted file mode 100644
index 45d2314..0000000
--- a/content/2012/waza/gophercomplex2.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/waza/gophercomplex3.jpg b/content/2012/waza/gophercomplex3.jpg
deleted file mode 100644
index 9cbf16d..0000000
--- a/content/2012/waza/gophercomplex3.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/waza/gophercomplex4.jpg b/content/2012/waza/gophercomplex4.jpg
deleted file mode 100644
index d87123e..0000000
--- a/content/2012/waza/gophercomplex4.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/waza/gophercomplex5.jpg b/content/2012/waza/gophercomplex5.jpg
deleted file mode 100644
index 35ce9f4..0000000
--- a/content/2012/waza/gophercomplex5.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/waza/gophercomplex6.jpg b/content/2012/waza/gophercomplex6.jpg
deleted file mode 100644
index 7963c1b..0000000
--- a/content/2012/waza/gophercomplex6.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/waza/gophersimple1.jpg b/content/2012/waza/gophersimple1.jpg
deleted file mode 100644
index 0663f6b..0000000
--- a/content/2012/waza/gophersimple1.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/waza/gophersimple2.jpg b/content/2012/waza/gophersimple2.jpg
deleted file mode 100644
index d626b63..0000000
--- a/content/2012/waza/gophersimple2.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/waza/gophersimple3.jpg b/content/2012/waza/gophersimple3.jpg
deleted file mode 100644
index ed10996..0000000
--- a/content/2012/waza/gophersimple3.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/waza/gophersimple4.jpg b/content/2012/waza/gophersimple4.jpg
deleted file mode 100644
index bb7ddd7..0000000
--- a/content/2012/waza/gophersimple4.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2012/waza/load1 b/content/2012/waza/load1
deleted file mode 100644
index b5a265d..0000000
--- a/content/2012/waza/load1
+++ /dev/null
@@ -1,20 +0,0 @@
-type Work struct {
-    x, y, z int
-}
-
-func worker(in <-chan *Work, out chan<- *Work) {
-   for w := range in {
-      w.z = w.x * w.y
-      Sleep(w.z)
-      out <- w
-   }
-}
-
-func Run() {
-   in, out := make(chan *Work), make(chan *Work)
-   for i := 0; i < NumWorkers; i++ {
-       go worker(in, out)
-   }
-   go sendLotsOfWork(in)
-   receiveLotsOfResults(out)
-}
diff --git a/content/2012/waza/load2 b/content/2012/waza/load2
deleted file mode 100644
index 438a018..0000000
--- a/content/2012/waza/load2
+++ /dev/null
@@ -1,76 +0,0 @@
-type Request struct {
-    fn func() int  // The operation to perform.
-    c  chan int    // The channel to return the result.
-}
-
-func requester(work chan<- Request) {
-    c := make(chan int)
-    for {
-    	// Kill some time (fake load).
-        Sleep(rand.Int63n(nWorker * 2 * Second))
-        work <- Request{workFn, c} // send request
-        result := <-c              // wait for answer
-        furtherProcess(result)  
-	}	
-}
-
-func (w *Worker) work(done chan *Worker) {
-    for {
-        req := <-w.requests // get Request from balancer
-        req.c <- req.fn()   // call fn and send result
-        done <- w           // we've finished this request
-    }
-}
-
-type Pool []*Worker
-
-type Balancer struct {
-	pool Pool
-	done chan *Worker
-}
-
-func (b *Balancer) balance(work chan Request) {
-    for {
-        select {
-        case req := <-work: // received a Request...
-            b.dispatch(req) // ...so send it to a Worker
-        case w := <-b.done: // a worker has finished ...
-            b.completed(w)  // ...so update its info
-        }
-    }
-}
-func (p Pool) Less(i, j int) bool {
-    return p[i].pending < p[j].pending
-}
-
-type Worker struct {
-    requests chan Request // work to do (buffered channel)
-    pending  int          // count of pending tasks
-    index     int         // index in the heap
-}
-
-// Send Request to worker
-func (b *Balancer) dispatch(req Request) {
-	// Grab the least loaded worker...
-    w := heap.Pop(&b.pool).(*Worker)
-    // ...send it the task.
-    w.requests <- req
-    // One more in its work queue.
-    w.pending++
-    // Put it into its place on the heap.
-    heap.Push(&b.pool, w)
-}
-
-// Job is complete; update heap
-func (b *Balancer) completed(w *Worker) {
-	// One fewer in the queue.
-	w.pending--
-	// Remove it from heap.                  
-	heap.Remove(&b.pool, w.index)
-    // Put it into its place on the heap.
-	heap.Push(&b.pool, w)
-}
-
-func (p Pool) Less(i, j int) bool {
-   return p[i].pending < p[j].pending
-}
diff --git a/content/2012/waza/snippets b/content/2012/waza/snippets
deleted file mode 100644
index 6ac4e6a..0000000
--- a/content/2012/waza/snippets
+++ /dev/null
@@ -1,64 +0,0 @@
-f("hello", "world") // f runs; we wait
-
-go f("hello", "world") // f starts running
-g() // does not wait for f to return
-
-timerChan := make(chan time.Time)
-go func() {
-    time.Sleep(deltaT)
-    timerChan <- time.Now() // send time on timerChan
-}()
-// Do something else; when ready, receive.
-// Receive will block until timerChan delivers.
-// Value sent is other goroutine's completion time.
-completedAt := <-timerChan
-
-select {
-case v := <-ch1:
-    fmt.Println("channel 1 sends", v)
-case v := <-ch2:
-    fmt.Println("channel 2 sends", v)
-default: // optional
-    fmt.Println("neither channel was ready")
-}
-
-func Query(conns []Conn, query string) Result {
-    ch := make(chan Result, len(conns))  // buffered
-    for _, conn := range conns {
-        go func(c Conn) {
-            ch <- c.DoQuery(query):
-        }(conn)
-    }
-    return <-ch
-}
-
-func XQuery(conns []Conn, query string) Result {
-    ch := make(chan Result, 1)  // buffer of 1 item
-    for _, conn := range conns {
-      go func(c Conn) {
-        select {
-          case ch <- c.DoQuery(query):
-            // nothing to do
-          default: // executes if ch is blocked
-            // nothing to do
-        }
-      }(conn)
-    }
-    return <-ch
-}
-
-
-func Compose(f, g func(x float) float)
-                  func(x float) float {
-     return func(x float) float {
-        return f(g(x))
-    }
-}
-
-print(Compose(sin, cos)(0.5))
-
-go func() { // copy input to output
-	for val := range input {
-		output <- val
-	}
-}()
diff --git a/content/2012/zen.slide b/content/2012/zen.slide
deleted file mode 100644
index 65761e6..0000000
--- a/content/2012/zen.slide
+++ /dev/null
@@ -1,349 +0,0 @@
-Go and the Zen of Python
-
-Andrew Gerrand
-Gopher
-http://andrewgerrand.com/
-@enneff
-http://golang.org
-
-
-* What is Go?
-
-A new programming language. (First release in November 2009, 1.0 in March 2012.)
-
-In a nutshell:
-
-- A simple language that is easy to learn and read.
-- Statically typed, but with a dynamic feel.
-- Compiled to native machine code, but has a fast development cycle.
-- Language-level concurrency features.
-- Expansive "batteries included" standard library.
-- Great tools.
-- Open source. (BSD)
-
-
-* What is Go used for?
-
-Go is a general-purpose programming language, like Python, Java, or C.
-
-Some common uses:
-
-- Server daemons
-- Command-line tools
-- Web applications
-- Games
-- Scientific computing
-- High frequency trading
-
-And, of course, there are many more.
-
-Whatever you do, there's a good chance that Go can help you to do it.
-
-
-* Who uses Go?
-
-Some names that I could fit on one slide:
-
-- Anchor
-- BBC World News
-- Bitly
-- Canonical
-- Carbon Games
-- CloudFlare
-- Google
-- Heroku
-- Iron.io
-- ngmoco:)
-- SoundCloud
-
-
-* Go one-pagers (1/4)
-
-.play zen/hello.go
-
-* Go one-pagers (2/4)
-
-.play zen/http.go
-
-* Go one-pagers (3/4)
-
-.play zen/race.go
-
-* Go one-pagers (4/4)
-
-.code zen/jsonformat.go
-
-
-* Go and me
-
-I (adg) joined the Go team at Google in February 2010. 
-
-Before then, Python had been my day-to-day language for many years.
-
-Go has since entirely replaced Python in my life.
-
-I am obviously biased, but IMO: if you love Python, you'll love Go.
-
-
-* The Zen of Python
-
-  >>> import this
-  The Zen of Python, by Tim Peters
-  
-  Beautiful is better than ugly.
-  Explicit is better than implicit.
-  Simple is better than complex.
-  Complex is better than complicated.
-  Flat is better than nested.
-  Sparse is better than dense.
-  Readability counts.
-  Special cases aren't special enough to break the rules.
-  Although practicality beats purity.
-  Errors should never pass silently.
-  Unless explicitly silenced.
-  In the face of ambiguity, refuse the temptation to guess.
-  There should be one-- and preferably only one --obvious way to do it.
-  Although that way may not be obvious at first unless you're Dutch.
-  Now is better than never.
-  Although never is often better than *right* now.
-  If the implementation is hard to explain, it's a bad idea.
-  If the implementation is easy to explain, it may be a good idea.
-  Namespaces are one honking great idea -- let's do more of those!
-
-
-* Zen is good
-
-This is a nice list.
-
-I agree with most of it.
-
-(Although Python doesn't, sometimes.)
-
-
-* Go is Zenlike
-
-Go meets nearly all of Tim Peters' criteria.
-
-(Maybe not that one about being Dutch.)
-
-Let's take a look at some of them and see how Go fits in.
-
-
-* "Beautiful is better than ugly."
-
-Go has a lightweight, regular syntax reminiscent of C (without the warts).
-
-I think it's beautiful. I've certainly seen some beautiful Go code.
-
-But beauty, as they say, is in the eye of the beholder. So enough about that.
-
-
-* "Simple is better than complex." 
-
-Methods are just functions (no special location)
-
-There's no `this` or `self` - the receiver is like any other function argument
-
-  type Vector struct {
-    X, Y float64
-  }
-
-  func (v Vector) Abs() float64 {
-    return math.Sqrt(v.X*v.X + v.Y*v.Y)
-  }
-
-
-* "Simple is better than complex." 
-
-Methods can be declared on any named type (no classes)
-
-  type Scalar float64
-
-  func (s Scalar) Abs() float64 {
-    if s < 0 {
-      return float64(-s)
-    }
-    return float64(s)
-  }
-
-
-* "Simple is better than complex." 
-
-Interfaces are just methods (no data)
-
-Interfaces are implicit (no `implements` declaration)
-
-  type Abser interface {
-    Abs() float64
-  }
-
-(Both `Vector` and `Scalar` implement `Abser`,
-even though they don't know that `Abser` exists.)
-
-
-* "Simple is better than complex." 
-
-No constructors or destructors.
-
-A constructor is just a function:
-
-  type Database struct {
-    client *rpc.Client
-  }
-  
-  func NewDatabase(addr string) (*Database, error) {
-    client, err := rpc.Dial("tcp", addr)
-    if err != nil {
-      return nil, err
-    }
-    return &Database{client}, nil
-  }
-
-
-* "Simple is better than complex." 
-
-Identifier case sets visibility.
-
-If a name begins with a capital, it is visible outside its package:
-
-  package foo
-
-  type Foo struct { // exported type
-    bar int // unexported field
-  }
-  
-  func (f Foo) Bar() {} // exported method
-  
-  func (f Foo) quux() {} // unexported method
-
-Only code inside the package can see unexported ("private") names.
-
-
-* "Simple is better than complex." 
-
-- Garbage collection (only)
-- Regular scoping (and name shadowing) rules
-
-And there's less:
-
-- No subtype inheritance* (no subclasses)
-- No decorators*
-- No named or optional arguments
-- No iterators
-- No generators
-- No exceptions
-
-(*However, Go's "struct embedding" permits similar functionality.)
-
-
-* "Explicit is better than implicit."
-
-- Explicit error handling (no exceptions)
-- Explicit dependencies
-- No implicit numeric conversions
-- Structs define memory layout (no hidden costs)
-
-
-* "Flat is better than nested."
-
-"Bail early" is idiomatic coding style
-
-  func badStyle(a int) error {
-    b, err := one(a)
-    if err == nil {
-      c, err := two(b)
-      if err == nil {
-        err = three(c)
-      }
-    }
-    return err
-  }
-
-  func goodStyle(a int) error {
-    b, err := one(a)
-    if err != nil {
-      return err
-    }
-    c, err := two(b)
-    if err != nil {
-      return err
-    }
-    return three(c)
-  }
-
-
-* "Flat is better than nested."
-
-- Methods are not nested inside classes (no classes, remember?)
-- Package name space is flat
-- Multiple files that comprise one package share one name space
-
-
-* "Sparse is better than dense."
-
-Go's syntax doesn't encourage crazy one-liners.
-
-- No list comprehensions
-- No ternary operator (`expression?true:false`)
-
-When reading Go code the control flow is obvious.
-
-
-* "Practicality beats purity."
-
-Go has some built-in generic data structures:
-
-- maps (dicts)
-- slices (lists)
-- channels (a concurrency primitive like Python's queues)
-
-
-* "Readability counts."
-
-Go was designed for teams of hundreds/thousands of programmers.
-Readability is of paramount importance.
-
-- The `gofmt` tool enforces "one true style." (No more stupid arguments.)
-
-- Type inference saves a lot of typing, but not at the cost of readability. Types are still required where they help readability (function declarations, for example).
-
-- Many other language design decisions were made in the name of readability (case-based name visibility, for example).
-
-
-* Bonuses
-
-Go's concurrency features will transform the way you think about code:
-
-- blocking is fine; no need to split concurrent processes into a series of callbacks,
-- code runs in parallel with little additional cost (no GIL).
-
-Deployment is trivial:
-
-- compile and ship a single statically-linked binary,
-- goodbye "dependency hell."
-
-And there's much more than I could fit into this short talk. :-)
-
-
-* "There should be one obvious way to do it."
-
-I would argue that this is more true of Go than Python.
-
-
-* "Now is better than never."
-
-Learn Go today! It's easy.
-
-My rule of thumb:
-
-- productive in one day,
-- efficient in one week,
-- expert in one year.
-
-References, articles, tutorials, and more:
-
-.link http://golang.org
-
-An interactive web-based tour of Go:
-
-.link http://tour.golang.org
diff --git a/content/2012/zen/hello.go b/content/2012/zen/hello.go
deleted file mode 100644
index 04c77b1..0000000
--- a/content/2012/zen/hello.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Println("Hello, Pythonistas!")
-}
diff --git a/content/2012/zen/http.go b/content/2012/zen/http.go
deleted file mode 100644
index f3b25f7..0000000
--- a/content/2012/zen/http.go
+++ /dev/null
@@ -1,17 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"net/http"
-)
-
-func main() {
-	http.HandleFunc("/", hello)
-	http.ListenAndServe("localhost:8000", nil)
-}
-
-func hello(w http.ResponseWriter, r *http.Request) {
-	fmt.Fprintln(w, "Hello, Pythonistas!")
-}
diff --git a/content/2012/zen/jsonformat.go b/content/2012/zen/jsonformat.go
deleted file mode 100644
index fdffcde..0000000
--- a/content/2012/zen/jsonformat.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import ( "encoding/json"; "fmt"; "io"; "os" )
-
-func main() {
-	d := json.NewDecoder(os.Stdin)
-	var err error
-	for err == nil {
-		var v interface{}
-		if err = d.Decode(&v); err != nil {
-			break
-		}
-		var b []byte
-		if b, err = json.MarshalIndent(v, "", "  "); err != nil {
-			break
-		}
-		_, err = os.Stdout.Write(b)
-	}
-	if err != io.EOF {
-		fmt.Fprintln(os.Stderr, err)
-		os.Exit(1)
-	}
-}
diff --git a/content/2012/zen/race.go b/content/2012/zen/race.go
deleted file mode 100644
index 99ba553..0000000
--- a/content/2012/zen/race.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import ( "fmt"; "net/http"; "time" )
-
-func main() {
-	urls := []string{"http://google.com/", "http://bing.com/"}
-	start := time.Now()
-	done := make(chan string)
-	for _, u := range urls {
-		go func(u string) {
-			resp, err := http.Get(u)
-			if err != nil {
-				done <- u + " " + err.Error()
-			} else {
-				done <- u + " " + resp.Status
-			}
-		}(u)
-	}
-	for _ = range urls {
-		fmt.Println(<-done, time.Since(start))
-	}
-}
diff --git a/content/2013/advconc.slide b/content/2013/advconc.slide
deleted file mode 100644
index cb7d127..0000000
--- a/content/2013/advconc.slide
+++ /dev/null
@@ -1,378 +0,0 @@
-Advanced Go Concurrency Patterns
-
-Sameer Ajmani
-Google
-http://profiles.google.com/ajmani
-@Sajma
-http://golang.org
-
-* Video
-
-This talk was presented at Google I/O in May 2013.
-
-.link https://www.youtube.com/watch?v=QDDwwePbDtw Watch the talk on YouTube
-
-* Get ready
-
-.image advconc/gopherswim.jpg 400 400
-
-* Go supports concurrency
-
-In the language and runtime, not a library.
-
-This changes how you structure your programs.
-
-* Goroutines and Channels
-
-Goroutines are independently executing functions in the same address space.
-
-   go f()
-   go g(1, 2)
-
-Channels are typed values that allow goroutines to synchronize and exchange information.
-
-  c := make(chan int)
-  go func() { c <- 3 }()
-  n := <-c
-
-For more on the basics, watch [[http://talks.golang.org/2012/concurrency.slide#1][Go Concurrency Patterns (Pike, 2012)]].
-
-* Example: ping-pong
-
-.play advconc/pingpong/pingpong.go /STARTMAIN1/,/STOPMAIN1/
-
-* Deadlock detection
-
-.play advconc/pingpongdeadlock/pingpongdeadlock.go /STARTMAIN1/,/STOPMAIN1/
-
-* Panic dumps the stacks
-
-.play advconc/pingpongpanic/pingpongpanic.go /STARTMAIN1/,/STOPMAIN1/
-
-* It's easy to go, but how to stop?
-
-Long-lived programs need to clean up.
-
-Let's look at how to write programs that handle communication, periodic events, and cancellation.
-
-The core is Go's `select` statement: like a `switch`, but the decision is made based on the ability to communicate.
-
-  select {
-  case xc <- x:
-      // sent x on xc
-  case y := <-yc:
-      // received y from yc
-  }
-
-* Example: feed reader
-
-My favorite feed reader disappeared.  I need a new one.
-
-Why not write one?
-
-Where do we start?
-
-* Find an RSS client
-
-Searching [[http://godoc.org][godoc.org]] for *"rss"* turns up several hits, including one that provides:
-
-  // Fetch fetches Items for uri and returns the time when the next
-  // fetch should be attempted.  On failure, Fetch returns an error.
-  func Fetch(uri string) (items []Item, next time.Time, err error)
-
-  type Item struct{
-      Title, Channel, GUID string // a subset of RSS fields
-  }
-
-But I want a stream:
-
-  <-chan Item
-
-And I want multiple subscriptions.
-
-* Here's what we have
-
-  type Fetcher interface {
-      Fetch() (items []Item, next time.Time, err error)
-  }
-
-  func Fetch(domain string) Fetcher {...} // fetches Items from domain
-
-* Here's what we want
-
-  type Subscription interface {
-      Updates() <-chan Item // stream of Items
-      Close() error         // shuts down the stream
-  }
-
-  func Subscribe(fetcher Fetcher) Subscription {...} // converts Fetches to a stream
-
-  func Merge(subs ...Subscription) Subscription {...} // merges several streams
-
-* Example
-
-.play advconc/fakemain/fakemain.go /func main/,/^}/
-
-* Subscribe
-
-`Subscribe` creates a new `Subscription` that repeatedly fetches items until `Close` is called.
-
-  func Subscribe(fetcher Fetcher) Subscription {
-      s := &sub{
-          fetcher: fetcher,
-          updates: make(chan Item), // for Updates
-      }
-      go s.loop()
-      return s
-  }
-
-  // sub implements the Subscription interface.
-  type sub struct {
-      fetcher Fetcher   // fetches items
-      updates chan Item // delivers items to the user
-  }
-
-  // loop fetches items using s.fetcher and sends them
-  // on s.updates.  loop exits when s.Close is called.
-  func (s *sub) loop() {...}
-
-* Implementing Subscription
-
-To implement the `Subscription` interface, define `Updates` and `Close`.
-
-.code advconc/fakemain/fakemain.go /func.* Updates/,/^}/
-
-  func (s *sub) Close() error {
-      // TODO: make loop exit
-      // TODO: find out about any error
-      return err
-  }
-
-* What does loop do?
-
-- periodically call `Fetch`
-- send fetched items on the `Updates` channel
-- exit when `Close` is called, reporting any error
-
-* Naive Implementation
-
-# Not quite enough room for this; retry after format change:
-# .play advconc/naivemain/naivemain.go /naiveSub\) loop/,/^}/
-# also on subsequent slides.
-
-.play advconc/naivemain/naivemain.go /STARTNAIVE /,/STOPNAIVE /
-.code advconc/naivemain/naivemain.go /naiveSub\) Close/,/^}/
-
-* Bug 1: unsynchronized access to s.closed/s.err
-
-.code advconc/naivemain/naivemain.go /STARTNAIVE /,/STOPNAIVE / HLsync
-.code advconc/naivemain/naivemain.go /naiveSub\) Close/,/^}/ HLsync
-
-* Race Detector
-
-  go run -race naivemain.go
-
-# original is 400x1500
-.image advconc/race.png 150 562
-.play advconc/naivemain/naivemain.go /STARTNAIVE /,/s.err/ HLsync
-.code advconc/naivemain/naivemain.go /naiveSub\) Close/,/^}/ HLsync
-
-* Bug 2: time.Sleep may keep loop running
-
-.code advconc/naivemain/naivemain.go /STARTNAIVE /,/STOPNAIVE / HLsleep
-
-* Bug 3: loop may block forever on s.updates
-
-.code advconc/naivemain/naivemain.go /STARTNAIVE /,/STOPNAIVE / HLsend
-
-* Solution
-
-Change the body of `loop` to a `select` with three cases:
-
-- `Close` was called
-- it's time to call `Fetch`
-- send an item on `s.updates`
-
-* Structure: for-select loop
-
-`loop` runs in its own goroutine.
-
-`select` lets `loop` avoid blocking indefinitely in any one state.
-
-  func (s *sub) loop() {
-      ... declare mutable state ...
-      for {
-          ... set up channels for cases ...
-          select {
-          case <-c1:
-              ... read/write state ...
-          case c2 <- x:
-              ... read/write state ...
-          case y := <-c3:
-              ... read/write state ...
-          }
-      }
-  }
-
-The cases interact via local state in `loop`.
-
-* Case 1: Close
-
-`Close` communicates with `loop` via `s.closing`.
-
-  type sub struct {
-      closing chan chan error
-  }
-
-The service (`loop`) listens for requests on its channel (`s.closing`).
-
-The client (`Close`) sends a request on `s.closing`: _exit_and_reply_with_the_error_
-
-In this case, the only thing in the request is the _reply_channel_.
-
-* Case 1: Close
-
-`Close` asks loop to exit and waits for a response.
-
-.code advconc/fakemain/fakemain.go /\*sub\) Close/,/^}/ HLchan
-
-`loop` handles `Close` by replying with the `Fetch` error and exiting.
-
-.code advconc/fakemain/fakemain.go /STARTCLOSEONLY /,/STOPCLOSEONLY / HLchan
-
-* Case 2: Fetch
-
-Schedule the next `Fetch` after some delay.
-
-.code advconc/fakemain/fakemain.go /STARTFETCHONLY /,/STOPFETCHONLY /
-
-* Case 3: Send
-
-Send the fetched items, one at a time.
-
-	var pending []Item // appended by fetch; consumed by send
-	for {
-		select {
-		case s.updates <- pending[0]:
-			pending = pending[1:]
-		}
-	}
-
-Whoops. This crashes.
-
-.image advconc/gopherswrench.jpg 200 337
-
-* Select and nil channels
-
-Sends and receives on nil channels block.
-
-Select never selects a blocking case.
-
-.play advconc/nilselect/nilselect.go /func main/,/^}/
-
-* Case 3: Send (fixed)
-
-Enable send only when pending is non-empty.
-
-.code advconc/fakemain/fakemain.go /STARTSENDONLY /,/STOPSENDONLY / HLupdates
-
-* Select
-
-Put the three cases together:
-
-.code advconc/fakemain/fakemain.go /STARTSELECT /,/STOPSELECT /
-
-The cases interact via `err`, `next`, and `pending`.
-
-No locks, no condition variables, no callbacks.
-
-* Bugs fixed
-
-- Bug 1: unsynchronized access to `s.closed` and `s.err`
-- Bug 2: `time.Sleep` may keep loop running
-- Bug 3: `loop` may block forever sending on `s.updates`
-
-.code advconc/fakemain/fakemain.go /STARTSELECT /,/STOPSELECT / HLcases
-
-* We can improve loop further
-
-* Issue: Fetch may return duplicates
-
-.code advconc/fakemain/fakemain.go /STARTFETCHVARS /,/STOPFETCHVARS / HLfetch
-.code advconc/fakemain/fakemain.go /STARTFETCHCASE /,/STOPFETCHCASE / HLfetch
-
-* Fix: Filter items before adding to pending
-
-.code advconc/fakemain/fakemain.go /STARTSEEN /,/STOPSEEN / HLseen
-.code advconc/fakemain/fakemain.go /STARTDEDUPE /,/STOPDEDUPE / HLdupe
-
-* Issue: Pending queue grows without bound
-
-.code advconc/fakemain/fakemain.go /STARTDEDUPE /,/STOPDEDUPE / HLdupe
-
-* Fix: Disable fetch case when too much pending
-
-  const maxPending = 10
-
-.code advconc/fakemain/fakemain.go /STARTCAP /,/STOPCAP / HLcap
-
-Could instead drop older items from the head of `pending`.
-
-* Issue: Loop blocks on Fetch
-
-.code advconc/fakemain/fakemain.go /STARTDEDUPE /,/STOPDEDUPE / HLfetch
-
-* Fix: Run Fetch asynchronously
-
-Add a new `select` case for `fetchDone`.
-
-  type fetchResult struct{ fetched []Item; next time.Time; err error }
-
-.code advconc/fakemain/fakemain.go /STARTFETCHDONE /,/STOPFETCHDONE / HLfetch
-.code advconc/fakemain/fakemain.go /STARTFETCHIF /,/STOPFETCHIF / HLfetch
-.code advconc/fakemain/fakemain.go /STARTFETCHASYNC /,/STOPFETCHASYNC / HLfetch
-
-* Implemented Subscribe
-
-Responsive. Cleans up. Easy to read and change.
-
-Three techniques:
-
-- `for-select` loop
-- service channel, reply channels (`chan`chan`error`)
-- `nil` channels in `select` cases
-
-More details online, including `Merge`.
-
-.image advconc/gopherhat.jpg 200 158
-
-* Conclusion
-
-Concurrent programming can be tricky.
-
-Go makes it easier:
-
-- channels convey data, timer events, cancellation signals
-- goroutines serialize access to local mutable state
-- stack traces & deadlock detector
-- race detector
-
-.image advconc/race.png 200 750
-
-* Links
-
-Go Concurrency Patterns (2012)
-
-.link http://talks.golang.org/2012/concurrency.slide
-
-Concurrency is not parallelism
-
-.link http://golang.org/s/concurrency-is-not-parallelism
-
-Share memory by communicating
-
-.link http://golang.org/doc/codewalk/sharemem
-
-Go Tour (learn Go in your browser)
-
-.link http://tour.golang.org
diff --git a/content/2013/advconc/buffer/buffer.go b/content/2013/advconc/buffer/buffer.go
deleted file mode 100644
index 9f6937c..0000000
--- a/content/2013/advconc/buffer/buffer.go
+++ /dev/null
@@ -1,45 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-)
-
-func main() {
-	in, out := make(chan int), make(chan int)
-	go buffer(in, out)
-	for i := 0; i < 10; i++ {
-		in <- i
-	}
-	close(in)
-	for i := range out {
-		fmt.Println(i)
-	}
-}
-
-// buffer provides an unbounded buffer between in and out.  buffer
-// exits when in is closed and all items in the buffer have been sent
-// to out, at which point it closes out.
-func buffer(in <-chan int, out chan<- int) {
-	var buf []int
-	for in != nil || len(buf) > 0 {
-		var i int
-		var c chan<- int
-		if len(buf) > 0 {
-			i = buf[0]
-			c = out // enable send case
-		}
-		select {
-		case n, ok := <-in:
-			if ok {
-				buf = append(buf, n)
-			} else {
-				in = nil // disable receive case
-			}
-		case c <- i:
-			buf = buf[1:]
-		}
-	}
-	close(out)
-}
diff --git a/content/2013/advconc/dedupermain/dedupermain.go b/content/2013/advconc/dedupermain/dedupermain.go
deleted file mode 100644
index a426c15..0000000
--- a/content/2013/advconc/dedupermain/dedupermain.go
+++ /dev/null
@@ -1,551 +0,0 @@
-// +build ignore,OMIT
-
-// dedupermain runs the Subscribe example with several duplicate
-// subscriptions to demonstrate deduping.
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-// STARTITEM OMIT
-// An Item is a stripped-down RSS item.
-type Item struct{ Title, Channel, GUID string }
-
-// STOPITEM OMIT
-
-// STARTFETCHER OMIT
-// A Fetcher fetches Items and returns the time when the next fetch should be
-// attempted.  On failure, Fetch returns a non-nil error.
-type Fetcher interface {
-	Fetch() (items []Item, next time.Time, err error)
-}
-
-// STOPFETCHER OMIT
-
-// STARTSUBSCRIPTION OMIT
-// A Subscription delivers Items over a channel.  Close cancels the
-// subscription, closes the Updates channel, and returns the last fetch error,
-// if any.
-type Subscription interface {
-	Updates() <-chan Item
-	Close() error
-}
-
-// STOPSUBSCRIPTION OMIT
-
-// STARTSUBSCRIBE OMIT
-// Subscribe returns a new Subscription that uses fetcher to fetch Items.
-func Subscribe(fetcher Fetcher) Subscription {
-	s := &sub{
-		fetcher: fetcher,
-		updates: make(chan Item),       // for Updates
-		closing: make(chan chan error), // for Close
-	}
-	go s.loop()
-	return s
-}
-
-// STOPSUBSCRIBE OMIT
-
-// sub implements the Subscription interface.
-type sub struct {
-	fetcher Fetcher         // fetches items
-	updates chan Item       // sends items to the user
-	closing chan chan error // for Close
-}
-
-// STARTUPDATES OMIT
-func (s *sub) Updates() <-chan Item {
-	return s.updates
-}
-
-// STOPUPDATES OMIT
-
-// STARTCLOSE OMIT
-// STARTCLOSESIG OMIT
-func (s *sub) Close() error {
-	// STOPCLOSESIG OMIT
-	errc := make(chan error)
-	s.closing <- errc // HLchan
-	return <-errc     // HLchan
-}
-
-// STOPCLOSE OMIT
-
-// loopCloseOnly is a version of loop that includes only the logic
-// that handles Close.
-func (s *sub) loopCloseOnly() {
-	// STARTCLOSEONLY OMIT
-	var err error // set when Fetch fails
-	for {
-		select {
-		case errc := <-s.closing: // HLchan
-			errc <- err      // HLchan
-			close(s.updates) // tells receiver we're done
-			return
-		}
-	}
-	// STOPCLOSEONLY OMIT
-}
-
-// loopFetchOnly is a version of loop that includes only the logic
-// that calls Fetch.
-func (s *sub) loopFetchOnly() {
-	// STARTFETCHONLY OMIT
-	var pending []Item // appended by fetch; consumed by send
-	var next time.Time // initially January 1, year 0
-	var err error
-	for {
-		var fetchDelay time.Duration // initally 0 (no delay)
-		if now := time.Now(); next.After(now) {
-			fetchDelay = next.Sub(now)
-		}
-		startFetch := time.After(fetchDelay)
-
-		select {
-		case <-startFetch:
-			var fetched []Item
-			fetched, next, err = s.fetcher.Fetch()
-			if err != nil {
-				next = time.Now().Add(10 * time.Second)
-				break
-			}
-			pending = append(pending, fetched...)
-		}
-	}
-	// STOPFETCHONLY OMIT
-}
-
-// loopSendOnly is a version of loop that includes only the logic for
-// sending items to s.updates.
-func (s *sub) loopSendOnly() {
-	// STARTSENDONLY OMIT
-	var pending []Item // appended by fetch; consumed by send
-	for {
-		var first Item
-		var updates chan Item // HLupdates
-		if len(pending) > 0 {
-			first = pending[0]
-			updates = s.updates // enable send case // HLupdates
-		}
-
-		select {
-		case updates <- first:
-			pending = pending[1:]
-		}
-	}
-	// STOPSENDONLY OMIT
-}
-
-// mergedLoop is a version of loop that combines loopCloseOnly,
-// loopFetchOnly, and loopSendOnly.
-func (s *sub) mergedLoop() {
-	// STARTFETCHVARS OMIT
-	var pending []Item
-	var next time.Time
-	var err error
-	// STOPFETCHVARS OMIT
-	for {
-		// STARTNOCAP OMIT
-		var fetchDelay time.Duration
-		if now := time.Now(); next.After(now) {
-			fetchDelay = next.Sub(now)
-		}
-		startFetch := time.After(fetchDelay)
-		// STOPNOCAP OMIT
-		var first Item
-		var updates chan Item
-		if len(pending) > 0 {
-			first = pending[0]
-			updates = s.updates // enable send case
-		}
-
-		// STARTSELECT OMIT
-		select {
-		case errc := <-s.closing: // HLcases
-			errc <- err
-			close(s.updates)
-			return
-			// STARTFETCHCASE OMIT
-		case <-startFetch: // HLcases
-			var fetched []Item
-			fetched, next, err = s.fetcher.Fetch() // HLfetch
-			if err != nil {
-				next = time.Now().Add(10 * time.Second)
-				break
-			}
-			pending = append(pending, fetched...) // HLfetch
-			// STOPFETCHCASE OMIT
-		case updates <- first: // HLcases
-			pending = pending[1:]
-		}
-		// STOPSELECT OMIT
-	}
-}
-
-// dedupeLoop extends mergedLoop with deduping of fetched items.
-func (s *sub) dedupeLoop() {
-	const maxPending = 10
-	// STARTSEEN OMIT
-	var pending []Item
-	var next time.Time
-	var err error
-	var seen = make(map[string]bool) // set of item.GUIDs // HLseen
-	// STOPSEEN OMIT
-	for {
-		// STARTCAP OMIT
-		var fetchDelay time.Duration
-		if now := time.Now(); next.After(now) {
-			fetchDelay = next.Sub(now)
-		}
-		var startFetch <-chan time.Time // HLcap
-		if len(pending) < maxPending {  // HLcap
-			startFetch = time.After(fetchDelay) // enable fetch case  // HLcap
-		} // HLcap
-		// STOPCAP OMIT
-		var first Item
-		var updates chan Item
-		if len(pending) > 0 {
-			first = pending[0]
-			updates = s.updates // enable send case
-		}
-		select {
-		case errc := <-s.closing:
-			errc <- err
-			close(s.updates)
-			return
-		// STARTDEDUPE OMIT
-		case <-startFetch:
-			var fetched []Item
-			fetched, next, err = s.fetcher.Fetch() // HLfetch
-			if err != nil {
-				next = time.Now().Add(10 * time.Second)
-				break
-			}
-			for _, item := range fetched {
-				if !seen[item.GUID] { // HLdupe
-					pending = append(pending, item) // HLdupe
-					seen[item.GUID] = true          // HLdupe
-				} // HLdupe
-			}
-			// STOPDEDUPE OMIT
-		case updates <- first:
-			pending = pending[1:]
-		}
-	}
-}
-
-// loop periodically fecthes Items, sends them on s.updates, and exits
-// when Close is called.  It extends dedupeLoop with logic to run
-// Fetch asynchronously.
-func (s *sub) loop() {
-	const maxPending = 10
-	type fetchResult struct {
-		fetched []Item
-		next    time.Time
-		err     error
-	}
-	// STARTFETCHDONE OMIT
-	var fetchDone chan fetchResult // if non-nil, Fetch is running // HL
-	// STOPFETCHDONE OMIT
-	var pending []Item
-	var next time.Time
-	var err error
-	var seen = make(map[string]bool)
-	for {
-		var fetchDelay time.Duration
-		if now := time.Now(); next.After(now) {
-			fetchDelay = next.Sub(now)
-		}
-		// STARTFETCHIF OMIT
-		var startFetch <-chan time.Time
-		if fetchDone == nil && len(pending) < maxPending { // HLfetch
-			startFetch = time.After(fetchDelay) // enable fetch case
-		}
-		// STOPFETCHIF OMIT
-		var first Item
-		var updates chan Item
-		if len(pending) > 0 {
-			first = pending[0]
-			updates = s.updates // enable send case
-		}
-		// STARTFETCHASYNC OMIT
-		select {
-		case <-startFetch: // HLfetch
-			fetchDone = make(chan fetchResult, 1) // HLfetch
-			go func() {
-				fetched, next, err := s.fetcher.Fetch()
-				fetchDone <- fetchResult{fetched, next, err}
-			}()
-		case result := <-fetchDone: // HLfetch
-			fetchDone = nil // HLfetch
-			// Use result.fetched, result.next, result.err
-			// STOPFETCHASYNC OMIT
-			fetched := result.fetched
-			next, err = result.next, result.err
-			if err != nil {
-				next = time.Now().Add(10 * time.Second)
-				break
-			}
-			for _, item := range fetched {
-				if id := item.GUID; !seen[id] { // HLdupe
-					pending = append(pending, item)
-					seen[id] = true // HLdupe
-				}
-			}
-		case errc := <-s.closing:
-			errc <- err
-			close(s.updates)
-			return
-		case updates <- first:
-			pending = pending[1:]
-		}
-	}
-}
-
-// naiveMerge is a version of Merge that doesn't quite work right.  In
-// particular, the goroutines it starts may block forever on m.updates
-// if the receiver stops receiving.
-type naiveMerge struct {
-	subs    []Subscription
-	updates chan Item
-}
-
-// STARTNAIVEMERGE OMIT
-func NaiveMerge(subs ...Subscription) Subscription {
-	m := &naiveMerge{
-		subs:    subs,
-		updates: make(chan Item),
-	}
-	// STARTNAIVEMERGELOOP OMIT
-	for _, sub := range subs {
-		go func(s Subscription) {
-			for it := range s.Updates() {
-				m.updates <- it // HL
-			}
-		}(sub)
-	}
-	// STOPNAIVEMERGELOOP OMIT
-	return m
-}
-
-// STOPNAIVEMERGE OMIT
-
-// STARTNAIVEMERGECLOSE OMIT
-func (m *naiveMerge) Close() (err error) {
-	for _, sub := range m.subs {
-		if e := sub.Close(); err == nil && e != nil {
-			err = e
-		}
-	}
-	close(m.updates) // HL
-	return
-}
-
-// STOPNAIVEMERGECLOSE OMIT
-
-func (m *naiveMerge) Updates() <-chan Item {
-	return m.updates
-}
-
-type merge struct {
-	subs    []Subscription
-	updates chan Item
-	quit    chan struct{}
-	errs    chan error
-}
-
-// STARTMERGESIG OMIT
-// Merge returns a Subscription that merges the item streams from subs.
-// Closing the merged subscription closes subs.
-func Merge(subs ...Subscription) Subscription {
-	// STOPMERGESIG OMIT
-	m := &merge{
-		subs:    subs,
-		updates: make(chan Item),
-		quit:    make(chan struct{}),
-		errs:    make(chan error),
-	}
-	// STARTMERGE OMIT
-	for _, sub := range subs {
-		go func(s Subscription) {
-			for {
-				var it Item
-				select {
-				case it = <-s.Updates():
-				case <-m.quit: // HL
-					m.errs <- s.Close() // HL
-					return              // HL
-				}
-				select {
-				case m.updates <- it:
-				case <-m.quit: // HL
-					m.errs <- s.Close() // HL
-					return              // HL
-				}
-			}
-		}(sub)
-	}
-	// STOPMERGE OMIT
-	return m
-}
-
-func (m *merge) Updates() <-chan Item {
-	return m.updates
-}
-
-// STARTMERGECLOSE OMIT
-func (m *merge) Close() (err error) {
-	close(m.quit) // HL
-	for _ = range m.subs {
-		if e := <-m.errs; e != nil { // HL
-			err = e
-		}
-	}
-	close(m.updates) // HL
-	return
-}
-
-// STOPMERGECLOSE OMIT
-
-// NaiveDedupe converts a stream of Items that may contain duplicates
-// into one that doesn't.
-func NaiveDedupe(in <-chan Item) <-chan Item {
-	out := make(chan Item)
-	go func() {
-		seen := make(map[string]bool)
-		for it := range in {
-			if !seen[it.GUID] {
-				// BUG: this send blocks if the
-				// receiver closes the Subscription
-				// and stops receiving.
-				out <- it // HL
-				seen[it.GUID] = true
-			}
-		}
-		close(out)
-	}()
-	return out
-}
-
-type deduper struct {
-	s       Subscription
-	updates chan Item
-	closing chan chan error
-}
-
-// Dedupe converts a Subscription that may send duplicate Items into
-// one that doesn't.
-func Dedupe(s Subscription) Subscription {
-	d := &deduper{
-		s:       s,
-		updates: make(chan Item),
-		closing: make(chan chan error),
-	}
-	go d.loop()
-	return d
-}
-
-func (d *deduper) loop() {
-	in := d.s.Updates() // enable receive
-	var pending Item
-	var out chan Item // disable send
-	seen := make(map[string]bool)
-	for {
-		select {
-		case it := <-in:
-			if !seen[it.GUID] {
-				pending = it
-				in = nil        // disable receive
-				out = d.updates // enable send
-				seen[it.GUID] = true
-			}
-		case out <- pending:
-			in = d.s.Updates() // enable receive
-			out = nil          // disable send
-		case errc := <-d.closing:
-			err := d.s.Close()
-			errc <- err
-			close(d.updates)
-			return
-		}
-	}
-}
-
-func (d *deduper) Close() error {
-	errc := make(chan error)
-	d.closing <- errc
-	return <-errc
-}
-
-func (d *deduper) Updates() <-chan Item {
-	return d.updates
-}
-
-// Fetch returns a Fetcher for Items from domain.
-func Fetch(domain string) Fetcher {
-	return fakeFetch(domain)
-}
-
-func fakeFetch(domain string) Fetcher {
-	return &fakeFetcher{channel: domain}
-}
-
-type fakeFetcher struct {
-	channel string
-	items   []Item
-}
-
-// FakeDuplicates causes the fake fetcher to return duplicate items.
-var FakeDuplicates bool
-
-func (f *fakeFetcher) Fetch() (items []Item, next time.Time, err error) {
-	now := time.Now()
-	next = now.Add(time.Duration(rand.Intn(5)) * 500 * time.Millisecond)
-	item := Item{
-		Channel: f.channel,
-		Title:   fmt.Sprintf("Item %d", len(f.items)),
-	}
-	item.GUID = item.Channel + "/" + item.Title
-	f.items = append(f.items, item)
-	if FakeDuplicates {
-		items = f.items
-	} else {
-		items = []Item{item}
-	}
-	return
-}
-
-func init() {
-	rand.Seed(time.Now().UnixNano())
-}
-
-// STARTMAIN OMIT
-func main() {
-	// STARTMERGECALL OMIT
-	// Subscribe to some feeds, and create a merged update stream.
-	merged := Dedupe(Merge(
-		Subscribe(Fetch("blog.golang.org")),
-		Subscribe(Fetch("blog.golang.org")),
-		Subscribe(Fetch("blog.golang.org")),
-		Subscribe(Fetch("googleblog.blogspot.com")),
-		Subscribe(Fetch("googledevelopers.blogspot.com"))))
-	// STOPMERGECALL OMIT
-
-	// Close the subscriptions after some time.
-	time.AfterFunc(3*time.Second, func() {
-		fmt.Println("closed:", merged.Close())
-	})
-
-	// Print the stream.
-	for it := range merged.Updates() {
-		fmt.Println(it.Channel, it.Title)
-	}
-
-	panic("show me the stacks")
-}
-
-// STOPMAIN OMIT
diff --git a/content/2013/advconc/fakemain/fakemain.go b/content/2013/advconc/fakemain/fakemain.go
deleted file mode 100644
index 049a71d..0000000
--- a/content/2013/advconc/fakemain/fakemain.go
+++ /dev/null
@@ -1,548 +0,0 @@
-// +build ignore,OMIT
-
-// fakemain runs the Subscribe example with a fake RSS fetcher.
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-// STARTITEM OMIT
-// An Item is a stripped-down RSS item.
-type Item struct{ Title, Channel, GUID string }
-
-// STOPITEM OMIT
-
-// STARTFETCHER OMIT
-// A Fetcher fetches Items and returns the time when the next fetch should be
-// attempted.  On failure, Fetch returns a non-nil error.
-type Fetcher interface {
-	Fetch() (items []Item, next time.Time, err error)
-}
-
-// STOPFETCHER OMIT
-
-// STARTSUBSCRIPTION OMIT
-// A Subscription delivers Items over a channel.  Close cancels the
-// subscription, closes the Updates channel, and returns the last fetch error,
-// if any.
-type Subscription interface {
-	Updates() <-chan Item
-	Close() error
-}
-
-// STOPSUBSCRIPTION OMIT
-
-// STARTSUBSCRIBE OMIT
-// Subscribe returns a new Subscription that uses fetcher to fetch Items.
-func Subscribe(fetcher Fetcher) Subscription {
-	s := &sub{
-		fetcher: fetcher,
-		updates: make(chan Item),       // for Updates
-		closing: make(chan chan error), // for Close
-	}
-	go s.loop()
-	return s
-}
-
-// STOPSUBSCRIBE OMIT
-
-// sub implements the Subscription interface.
-type sub struct {
-	fetcher Fetcher         // fetches items
-	updates chan Item       // sends items to the user
-	closing chan chan error // for Close
-}
-
-// STARTUPDATES OMIT
-func (s *sub) Updates() <-chan Item {
-	return s.updates
-}
-
-// STOPUPDATES OMIT
-
-// STARTCLOSE OMIT
-// STARTCLOSESIG OMIT
-func (s *sub) Close() error {
-	// STOPCLOSESIG OMIT
-	errc := make(chan error)
-	s.closing <- errc // HLchan
-	return <-errc     // HLchan
-}
-
-// STOPCLOSE OMIT
-
-// loopCloseOnly is a version of loop that includes only the logic
-// that handles Close.
-func (s *sub) loopCloseOnly() {
-	// STARTCLOSEONLY OMIT
-	var err error // set when Fetch fails
-	for {
-		select {
-		case errc := <-s.closing: // HLchan
-			errc <- err      // HLchan
-			close(s.updates) // tells receiver we're done
-			return
-		}
-	}
-	// STOPCLOSEONLY OMIT
-}
-
-// loopFetchOnly is a version of loop that includes only the logic
-// that calls Fetch.
-func (s *sub) loopFetchOnly() {
-	// STARTFETCHONLY OMIT
-	var pending []Item // appended by fetch; consumed by send
-	var next time.Time // initially January 1, year 0
-	var err error
-	for {
-		var fetchDelay time.Duration // initally 0 (no delay)
-		if now := time.Now(); next.After(now) {
-			fetchDelay = next.Sub(now)
-		}
-		startFetch := time.After(fetchDelay)
-
-		select {
-		case <-startFetch:
-			var fetched []Item
-			fetched, next, err = s.fetcher.Fetch()
-			if err != nil {
-				next = time.Now().Add(10 * time.Second)
-				break
-			}
-			pending = append(pending, fetched...)
-		}
-	}
-	// STOPFETCHONLY OMIT
-}
-
-// loopSendOnly is a version of loop that includes only the logic for
-// sending items to s.updates.
-func (s *sub) loopSendOnly() {
-	// STARTSENDONLY OMIT
-	var pending []Item // appended by fetch; consumed by send
-	for {
-		var first Item
-		var updates chan Item // HLupdates
-		if len(pending) > 0 {
-			first = pending[0]
-			updates = s.updates // enable send case // HLupdates
-		}
-
-		select {
-		case updates <- first:
-			pending = pending[1:]
-		}
-	}
-	// STOPSENDONLY OMIT
-}
-
-// mergedLoop is a version of loop that combines loopCloseOnly,
-// loopFetchOnly, and loopSendOnly.
-func (s *sub) mergedLoop() {
-	// STARTFETCHVARS OMIT
-	var pending []Item
-	var next time.Time
-	var err error
-	// STOPFETCHVARS OMIT
-	for {
-		// STARTNOCAP OMIT
-		var fetchDelay time.Duration
-		if now := time.Now(); next.After(now) {
-			fetchDelay = next.Sub(now)
-		}
-		startFetch := time.After(fetchDelay)
-		// STOPNOCAP OMIT
-		var first Item
-		var updates chan Item
-		if len(pending) > 0 {
-			first = pending[0]
-			updates = s.updates // enable send case
-		}
-
-		// STARTSELECT OMIT
-		select {
-		case errc := <-s.closing: // HLcases
-			errc <- err
-			close(s.updates)
-			return
-			// STARTFETCHCASE OMIT
-		case <-startFetch: // HLcases
-			var fetched []Item
-			fetched, next, err = s.fetcher.Fetch() // HLfetch
-			if err != nil {
-				next = time.Now().Add(10 * time.Second)
-				break
-			}
-			pending = append(pending, fetched...) // HLfetch
-			// STOPFETCHCASE OMIT
-		case updates <- first: // HLcases
-			pending = pending[1:]
-		}
-		// STOPSELECT OMIT
-	}
-}
-
-// dedupeLoop extends mergedLoop with deduping of fetched items.
-func (s *sub) dedupeLoop() {
-	const maxPending = 10
-	// STARTSEEN OMIT
-	var pending []Item
-	var next time.Time
-	var err error
-	var seen = make(map[string]bool) // set of item.GUIDs // HLseen
-	// STOPSEEN OMIT
-	for {
-		// STARTCAP OMIT
-		var fetchDelay time.Duration
-		if now := time.Now(); next.After(now) {
-			fetchDelay = next.Sub(now)
-		}
-		var startFetch <-chan time.Time // HLcap
-		if len(pending) < maxPending {  // HLcap
-			startFetch = time.After(fetchDelay) // enable fetch case  // HLcap
-		} // HLcap
-		// STOPCAP OMIT
-		var first Item
-		var updates chan Item
-		if len(pending) > 0 {
-			first = pending[0]
-			updates = s.updates // enable send case
-		}
-		select {
-		case errc := <-s.closing:
-			errc <- err
-			close(s.updates)
-			return
-		// STARTDEDUPE OMIT
-		case <-startFetch:
-			var fetched []Item
-			fetched, next, err = s.fetcher.Fetch() // HLfetch
-			if err != nil {
-				next = time.Now().Add(10 * time.Second)
-				break
-			}
-			for _, item := range fetched {
-				if !seen[item.GUID] { // HLdupe
-					pending = append(pending, item) // HLdupe
-					seen[item.GUID] = true          // HLdupe
-				} // HLdupe
-			}
-			// STOPDEDUPE OMIT
-		case updates <- first:
-			pending = pending[1:]
-		}
-	}
-}
-
-// loop periodically fecthes Items, sends them on s.updates, and exits
-// when Close is called.  It extends dedupeLoop with logic to run
-// Fetch asynchronously.
-func (s *sub) loop() {
-	const maxPending = 10
-	type fetchResult struct {
-		fetched []Item
-		next    time.Time
-		err     error
-	}
-	// STARTFETCHDONE OMIT
-	var fetchDone chan fetchResult // if non-nil, Fetch is running // HL
-	// STOPFETCHDONE OMIT
-	var pending []Item
-	var next time.Time
-	var err error
-	var seen = make(map[string]bool)
-	for {
-		var fetchDelay time.Duration
-		if now := time.Now(); next.After(now) {
-			fetchDelay = next.Sub(now)
-		}
-		// STARTFETCHIF OMIT
-		var startFetch <-chan time.Time
-		if fetchDone == nil && len(pending) < maxPending { // HLfetch
-			startFetch = time.After(fetchDelay) // enable fetch case
-		}
-		// STOPFETCHIF OMIT
-		var first Item
-		var updates chan Item
-		if len(pending) > 0 {
-			first = pending[0]
-			updates = s.updates // enable send case
-		}
-		// STARTFETCHASYNC OMIT
-		select {
-		case <-startFetch: // HLfetch
-			fetchDone = make(chan fetchResult, 1) // HLfetch
-			go func() {
-				fetched, next, err := s.fetcher.Fetch()
-				fetchDone <- fetchResult{fetched, next, err}
-			}()
-		case result := <-fetchDone: // HLfetch
-			fetchDone = nil // HLfetch
-			// Use result.fetched, result.next, result.err
-			// STOPFETCHASYNC OMIT
-			fetched := result.fetched
-			next, err = result.next, result.err
-			if err != nil {
-				next = time.Now().Add(10 * time.Second)
-				break
-			}
-			for _, item := range fetched {
-				if id := item.GUID; !seen[id] { // HLdupe
-					pending = append(pending, item)
-					seen[id] = true // HLdupe
-				}
-			}
-		case errc := <-s.closing:
-			errc <- err
-			close(s.updates)
-			return
-		case updates <- first:
-			pending = pending[1:]
-		}
-	}
-}
-
-// naiveMerge is a version of Merge that doesn't quite work right.  In
-// particular, the goroutines it starts may block forever on m.updates
-// if the receiver stops receiving.
-type naiveMerge struct {
-	subs    []Subscription
-	updates chan Item
-}
-
-// STARTNAIVEMERGE OMIT
-func NaiveMerge(subs ...Subscription) Subscription {
-	m := &naiveMerge{
-		subs:    subs,
-		updates: make(chan Item),
-	}
-	// STARTNAIVEMERGELOOP OMIT
-	for _, sub := range subs {
-		go func(s Subscription) {
-			for it := range s.Updates() {
-				m.updates <- it // HL
-			}
-		}(sub)
-	}
-	// STOPNAIVEMERGELOOP OMIT
-	return m
-}
-
-// STOPNAIVEMERGE OMIT
-
-// STARTNAIVEMERGECLOSE OMIT
-func (m *naiveMerge) Close() (err error) {
-	for _, sub := range m.subs {
-		if e := sub.Close(); err == nil && e != nil {
-			err = e
-		}
-	}
-	close(m.updates) // HL
-	return
-}
-
-// STOPNAIVEMERGECLOSE OMIT
-
-func (m *naiveMerge) Updates() <-chan Item {
-	return m.updates
-}
-
-type merge struct {
-	subs    []Subscription
-	updates chan Item
-	quit    chan struct{}
-	errs    chan error
-}
-
-// STARTMERGESIG OMIT
-// Merge returns a Subscription that merges the item streams from subs.
-// Closing the merged subscription closes subs.
-func Merge(subs ...Subscription) Subscription {
-	// STOPMERGESIG OMIT
-	m := &merge{
-		subs:    subs,
-		updates: make(chan Item),
-		quit:    make(chan struct{}),
-		errs:    make(chan error),
-	}
-	// STARTMERGE OMIT
-	for _, sub := range subs {
-		go func(s Subscription) {
-			for {
-				var it Item
-				select {
-				case it = <-s.Updates():
-				case <-m.quit: // HL
-					m.errs <- s.Close() // HL
-					return              // HL
-				}
-				select {
-				case m.updates <- it:
-				case <-m.quit: // HL
-					m.errs <- s.Close() // HL
-					return              // HL
-				}
-			}
-		}(sub)
-	}
-	// STOPMERGE OMIT
-	return m
-}
-
-func (m *merge) Updates() <-chan Item {
-	return m.updates
-}
-
-// STARTMERGECLOSE OMIT
-func (m *merge) Close() (err error) {
-	close(m.quit) // HL
-	for _ = range m.subs {
-		if e := <-m.errs; e != nil { // HL
-			err = e
-		}
-	}
-	close(m.updates) // HL
-	return
-}
-
-// STOPMERGECLOSE OMIT
-
-// NaiveDedupe converts a stream of Items that may contain duplicates
-// into one that doesn't.
-func NaiveDedupe(in <-chan Item) <-chan Item {
-	out := make(chan Item)
-	go func() {
-		seen := make(map[string]bool)
-		for it := range in {
-			if !seen[it.GUID] {
-				// BUG: this send blocks if the
-				// receiver closes the Subscription
-				// and stops receiving.
-				out <- it // HL
-				seen[it.GUID] = true
-			}
-		}
-		close(out)
-	}()
-	return out
-}
-
-type deduper struct {
-	s       Subscription
-	updates chan Item
-	closing chan chan error
-}
-
-// Dedupe converts a Subscription that may send duplicate Items into
-// one that doesn't.
-func Dedupe(s Subscription) Subscription {
-	d := &deduper{
-		s:       s,
-		updates: make(chan Item),
-		closing: make(chan chan error),
-	}
-	go d.loop()
-	return d
-}
-
-func (d *deduper) loop() {
-	in := d.s.Updates() // enable receive
-	var pending Item
-	var out chan Item // disable send
-	seen := make(map[string]bool)
-	for {
-		select {
-		case it := <-in:
-			if !seen[it.GUID] {
-				pending = it
-				in = nil        // disable receive
-				out = d.updates // enable send
-				seen[it.GUID] = true
-			}
-		case out <- pending:
-			in = d.s.Updates() // enable receive
-			out = nil          // disable send
-		case errc := <-d.closing:
-			err := d.s.Close()
-			errc <- err
-			close(d.updates)
-			return
-		}
-	}
-}
-
-func (d *deduper) Close() error {
-	errc := make(chan error)
-	d.closing <- errc
-	return <-errc
-}
-
-func (d *deduper) Updates() <-chan Item {
-	return d.updates
-}
-
-// Fetch returns a Fetcher for Items from domain.
-func Fetch(domain string) Fetcher {
-	return fakeFetch(domain)
-}
-
-func fakeFetch(domain string) Fetcher {
-	return &fakeFetcher{channel: domain}
-}
-
-type fakeFetcher struct {
-	channel string
-	items   []Item
-}
-
-// FakeDuplicates causes the fake fetcher to return duplicate items.
-var FakeDuplicates bool
-
-func (f *fakeFetcher) Fetch() (items []Item, next time.Time, err error) {
-	now := time.Now()
-	next = now.Add(time.Duration(rand.Intn(5)) * 500 * time.Millisecond)
-	item := Item{
-		Channel: f.channel,
-		Title:   fmt.Sprintf("Item %d", len(f.items)),
-	}
-	item.GUID = item.Channel + "/" + item.Title
-	f.items = append(f.items, item)
-	if FakeDuplicates {
-		items = f.items
-	} else {
-		items = []Item{item}
-	}
-	return
-}
-
-func init() {
-	rand.Seed(time.Now().UnixNano())
-}
-
-// STARTMAIN OMIT
-func main() {
-	// STARTMERGECALL OMIT
-	// Subscribe to some feeds, and create a merged update stream.
-	merged := Merge(
-		Subscribe(Fetch("blog.golang.org")),
-		Subscribe(Fetch("googleblog.blogspot.com")),
-		Subscribe(Fetch("googledevelopers.blogspot.com")))
-	// STOPMERGECALL OMIT
-
-	// Close the subscriptions after some time.
-	time.AfterFunc(3*time.Second, func() {
-		fmt.Println("closed:", merged.Close())
-	})
-
-	// Print the stream.
-	for it := range merged.Updates() {
-		fmt.Println(it.Channel, it.Title)
-	}
-
-	panic("show me the stacks")
-}
-
-// STOPMAIN OMIT
diff --git a/content/2013/advconc/gopherhat.jpg b/content/2013/advconc/gopherhat.jpg
deleted file mode 100644
index f34d7b3..0000000
--- a/content/2013/advconc/gopherhat.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2013/advconc/gopherrunning.jpg b/content/2013/advconc/gopherrunning.jpg
deleted file mode 100644
index eeeddf1..0000000
--- a/content/2013/advconc/gopherrunning.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2013/advconc/gopherswim.jpg b/content/2013/advconc/gopherswim.jpg
deleted file mode 100644
index 2f32877..0000000
--- a/content/2013/advconc/gopherswim.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2013/advconc/gopherswrench.jpg b/content/2013/advconc/gopherswrench.jpg
deleted file mode 100644
index 93005f4..0000000
--- a/content/2013/advconc/gopherswrench.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2013/advconc/naivemain/naivemain.go b/content/2013/advconc/naivemain/naivemain.go
deleted file mode 100644
index ec3c5ad..0000000
--- a/content/2013/advconc/naivemain/naivemain.go
+++ /dev/null
@@ -1,595 +0,0 @@
-// naivemain runs the Subscribe example with the naive Subscribe
-// implementation and a fake RSS fetcher.
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-// STARTITEM OMIT
-// An Item is a stripped-down RSS item.
-type Item struct{ Title, Channel, GUID string }
-
-// STOPITEM OMIT
-
-// STARTFETCHER OMIT
-// A Fetcher fetches Items and returns the time when the next fetch should be
-// attempted.  On failure, Fetch returns a non-nil error.
-type Fetcher interface {
-	Fetch() (items []Item, next time.Time, err error)
-}
-
-// STOPFETCHER OMIT
-
-// STARTSUBSCRIPTION OMIT
-// A Subscription delivers Items over a channel.  Close cancels the
-// subscription, closes the Updates channel, and returns the last fetch error,
-// if any.
-type Subscription interface {
-	Updates() <-chan Item
-	Close() error
-}
-
-// STOPSUBSCRIPTION OMIT
-
-// STARTSUBSCRIBE OMIT
-// Subscribe returns a new Subscription that uses fetcher to fetch Items.
-func Subscribe(fetcher Fetcher) Subscription {
-	s := &sub{
-		fetcher: fetcher,
-		updates: make(chan Item),       // for Updates
-		closing: make(chan chan error), // for Close
-	}
-	go s.loop()
-	return s
-}
-
-// STOPSUBSCRIBE OMIT
-
-// sub implements the Subscription interface.
-type sub struct {
-	fetcher Fetcher         // fetches items
-	updates chan Item       // sends items to the user
-	closing chan chan error // for Close
-}
-
-// STARTUPDATES OMIT
-func (s *sub) Updates() <-chan Item {
-	return s.updates
-}
-
-// STOPUPDATES OMIT
-
-// STARTCLOSE OMIT
-// STARTCLOSESIG OMIT
-func (s *sub) Close() error {
-	// STOPCLOSESIG OMIT
-	errc := make(chan error)
-	s.closing <- errc // HLchan
-	return <-errc     // HLchan
-}
-
-// STOPCLOSE OMIT
-
-// loopCloseOnly is a version of loop that includes only the logic
-// that handles Close.
-func (s *sub) loopCloseOnly() {
-	// STARTCLOSEONLY OMIT
-	var err error // set when Fetch fails
-	for {
-		select {
-		case errc := <-s.closing: // HLchan
-			errc <- err      // HLchan
-			close(s.updates) // tells receiver we're done
-			return
-		}
-	}
-	// STOPCLOSEONLY OMIT
-}
-
-// loopFetchOnly is a version of loop that includes only the logic
-// that calls Fetch.
-func (s *sub) loopFetchOnly() {
-	// STARTFETCHONLY OMIT
-	var pending []Item // appended by fetch; consumed by send
-	var next time.Time // initially January 1, year 0
-	var err error
-	for {
-		var fetchDelay time.Duration // initally 0 (no delay)
-		if now := time.Now(); next.After(now) {
-			fetchDelay = next.Sub(now)
-		}
-		startFetch := time.After(fetchDelay)
-
-		select {
-		case <-startFetch:
-			var fetched []Item
-			fetched, next, err = s.fetcher.Fetch()
-			if err != nil {
-				next = time.Now().Add(10 * time.Second)
-				break
-			}
-			pending = append(pending, fetched...)
-		}
-	}
-	// STOPFETCHONLY OMIT
-}
-
-// loopSendOnly is a version of loop that includes only the logic for
-// sending items to s.updates.
-func (s *sub) loopSendOnly() {
-	// STARTSENDONLY OMIT
-	var pending []Item // appended by fetch; consumed by send
-	for {
-		var first Item
-		var updates chan Item // HLupdates
-		if len(pending) > 0 {
-			first = pending[0]
-			updates = s.updates // enable send case // HLupdates
-		}
-
-		select {
-		case updates <- first:
-			pending = pending[1:]
-		}
-	}
-	// STOPSENDONLY OMIT
-}
-
-// mergedLoop is a version of loop that combines loopCloseOnly,
-// loopFetchOnly, and loopSendOnly.
-func (s *sub) mergedLoop() {
-	// STARTFETCHVARS OMIT
-	var pending []Item
-	var next time.Time
-	var err error
-	// STOPFETCHVARS OMIT
-	for {
-		// STARTNOCAP OMIT
-		var fetchDelay time.Duration
-		if now := time.Now(); next.After(now) {
-			fetchDelay = next.Sub(now)
-		}
-		startFetch := time.After(fetchDelay)
-		// STOPNOCAP OMIT
-		var first Item
-		var updates chan Item
-		if len(pending) > 0 {
-			first = pending[0]
-			updates = s.updates // enable send case
-		}
-
-		// STARTSELECT OMIT
-		select {
-		case errc := <-s.closing: // HLcases
-			errc <- err
-			close(s.updates)
-			return
-			// STARTFETCHCASE OMIT
-		case <-startFetch: // HLcases
-			var fetched []Item
-			fetched, next, err = s.fetcher.Fetch() // HLfetch
-			if err != nil {
-				next = time.Now().Add(10 * time.Second)
-				break
-			}
-			pending = append(pending, fetched...) // HLfetch
-			// STOPFETCHCASE OMIT
-		case updates <- first: // HLcases
-			pending = pending[1:]
-		}
-		// STOPSELECT OMIT
-	}
-}
-
-// dedupeLoop extends mergedLoop with deduping of fetched items.
-func (s *sub) dedupeLoop() {
-	const maxPending = 10
-	// STARTSEEN OMIT
-	var pending []Item
-	var next time.Time
-	var err error
-	var seen = make(map[string]bool) // set of item.GUIDs // HLseen
-	// STOPSEEN OMIT
-	for {
-		// STARTCAP OMIT
-		var fetchDelay time.Duration
-		if now := time.Now(); next.After(now) {
-			fetchDelay = next.Sub(now)
-		}
-		var startFetch <-chan time.Time // HLcap
-		if len(pending) < maxPending {  // HLcap
-			startFetch = time.After(fetchDelay) // enable fetch case  // HLcap
-		} // HLcap
-		// STOPCAP OMIT
-		var first Item
-		var updates chan Item
-		if len(pending) > 0 {
-			first = pending[0]
-			updates = s.updates // enable send case
-		}
-		select {
-		case errc := <-s.closing:
-			errc <- err
-			close(s.updates)
-			return
-		// STARTDEDUPE OMIT
-		case <-startFetch:
-			var fetched []Item
-			fetched, next, err = s.fetcher.Fetch() // HLfetch
-			if err != nil {
-				next = time.Now().Add(10 * time.Second)
-				break
-			}
-			for _, item := range fetched {
-				if !seen[item.GUID] { // HLdupe
-					pending = append(pending, item) // HLdupe
-					seen[item.GUID] = true          // HLdupe
-				} // HLdupe
-			}
-			// STOPDEDUPE OMIT
-		case updates <- first:
-			pending = pending[1:]
-		}
-	}
-}
-
-// loop periodically fecthes Items, sends them on s.updates, and exits
-// when Close is called.  It extends dedupeLoop with logic to run
-// Fetch asynchronously.
-func (s *sub) loop() {
-	const maxPending = 10
-	type fetchResult struct {
-		fetched []Item
-		next    time.Time
-		err     error
-	}
-	// STARTFETCHDONE OMIT
-	var fetchDone chan fetchResult // if non-nil, Fetch is running // HL
-	// STOPFETCHDONE OMIT
-	var pending []Item
-	var next time.Time
-	var err error
-	var seen = make(map[string]bool)
-	for {
-		var fetchDelay time.Duration
-		if now := time.Now(); next.After(now) {
-			fetchDelay = next.Sub(now)
-		}
-		// STARTFETCHIF OMIT
-		var startFetch <-chan time.Time
-		if fetchDone == nil && len(pending) < maxPending { // HLfetch
-			startFetch = time.After(fetchDelay) // enable fetch case
-		}
-		// STOPFETCHIF OMIT
-		var first Item
-		var updates chan Item
-		if len(pending) > 0 {
-			first = pending[0]
-			updates = s.updates // enable send case
-		}
-		// STARTFETCHASYNC OMIT
-		select {
-		case <-startFetch: // HLfetch
-			fetchDone = make(chan fetchResult, 1) // HLfetch
-			go func() {
-				fetched, next, err := s.fetcher.Fetch()
-				fetchDone <- fetchResult{fetched, next, err}
-			}()
-		case result := <-fetchDone: // HLfetch
-			fetchDone = nil // HLfetch
-			// Use result.fetched, result.next, result.err
-			// STOPFETCHASYNC OMIT
-			fetched := result.fetched
-			next, err = result.next, result.err
-			if err != nil {
-				next = time.Now().Add(10 * time.Second)
-				break
-			}
-			for _, item := range fetched {
-				if id := item.GUID; !seen[id] { // HLdupe
-					pending = append(pending, item)
-					seen[id] = true // HLdupe
-				}
-			}
-		case errc := <-s.closing:
-			errc <- err
-			close(s.updates)
-			return
-		case updates <- first:
-			pending = pending[1:]
-		}
-	}
-}
-
-// naiveMerge is a version of Merge that doesn't quite work right.  In
-// particular, the goroutines it starts may block forever on m.updates
-// if the receiver stops receiving.
-type naiveMerge struct {
-	subs    []Subscription
-	updates chan Item
-}
-
-// STARTNAIVEMERGE OMIT
-func NaiveMerge(subs ...Subscription) Subscription {
-	m := &naiveMerge{
-		subs:    subs,
-		updates: make(chan Item),
-	}
-	// STARTNAIVEMERGELOOP OMIT
-	for _, sub := range subs {
-		go func(s Subscription) {
-			for it := range s.Updates() {
-				m.updates <- it // HL
-			}
-		}(sub)
-	}
-	// STOPNAIVEMERGELOOP OMIT
-	return m
-}
-
-// STOPNAIVEMERGE OMIT
-
-// STARTNAIVEMERGECLOSE OMIT
-func (m *naiveMerge) Close() (err error) {
-	for _, sub := range m.subs {
-		if e := sub.Close(); err == nil && e != nil {
-			err = e
-		}
-	}
-	close(m.updates) // HL
-	return
-}
-
-// STOPNAIVEMERGECLOSE OMIT
-
-func (m *naiveMerge) Updates() <-chan Item {
-	return m.updates
-}
-
-type merge struct {
-	subs    []Subscription
-	updates chan Item
-	quit    chan struct{}
-	errs    chan error
-}
-
-// STARTMERGESIG OMIT
-// Merge returns a Subscription that merges the item streams from subs.
-// Closing the merged subscription closes subs.
-func Merge(subs ...Subscription) Subscription {
-	// STOPMERGESIG OMIT
-	m := &merge{
-		subs:    subs,
-		updates: make(chan Item),
-		quit:    make(chan struct{}),
-		errs:    make(chan error),
-	}
-	// STARTMERGE OMIT
-	for _, sub := range subs {
-		go func(s Subscription) {
-			for {
-				var it Item
-				select {
-				case it = <-s.Updates():
-				case <-m.quit: // HL
-					m.errs <- s.Close() // HL
-					return              // HL
-				}
-				select {
-				case m.updates <- it:
-				case <-m.quit: // HL
-					m.errs <- s.Close() // HL
-					return              // HL
-				}
-			}
-		}(sub)
-	}
-	// STOPMERGE OMIT
-	return m
-}
-
-func (m *merge) Updates() <-chan Item {
-	return m.updates
-}
-
-// STARTMERGECLOSE OMIT
-func (m *merge) Close() (err error) {
-	close(m.quit) // HL
-	for _ = range m.subs {
-		if e := <-m.errs; e != nil { // HL
-			err = e
-		}
-	}
-	close(m.updates) // HL
-	return
-}
-
-// STOPMERGECLOSE OMIT
-
-// NaiveDedupe converts a stream of Items that may contain duplicates
-// into one that doesn't.
-func NaiveDedupe(in <-chan Item) <-chan Item {
-	out := make(chan Item)
-	go func() {
-		seen := make(map[string]bool)
-		for it := range in {
-			if !seen[it.GUID] {
-				// BUG: this send blocks if the
-				// receiver closes the Subscription
-				// and stops receiving.
-				out <- it // HL
-				seen[it.GUID] = true
-			}
-		}
-		close(out)
-	}()
-	return out
-}
-
-type deduper struct {
-	s       Subscription
-	updates chan Item
-	closing chan chan error
-}
-
-// Dedupe converts a Subscription that may send duplicate Items into
-// one that doesn't.
-func Dedupe(s Subscription) Subscription {
-	d := &deduper{
-		s:       s,
-		updates: make(chan Item),
-		closing: make(chan chan error),
-	}
-	go d.loop()
-	return d
-}
-
-func (d *deduper) loop() {
-	in := d.s.Updates() // enable receive
-	var pending Item
-	var out chan Item // disable send
-	seen := make(map[string]bool)
-	for {
-		select {
-		case it := <-in:
-			if !seen[it.GUID] {
-				pending = it
-				in = nil        // disable receive
-				out = d.updates // enable send
-				seen[it.GUID] = true
-			}
-		case out <- pending:
-			in = d.s.Updates() // enable receive
-			out = nil          // disable send
-		case errc := <-d.closing:
-			err := d.s.Close()
-			errc <- err
-			close(d.updates)
-			return
-		}
-	}
-}
-
-func (d *deduper) Close() error {
-	errc := make(chan error)
-	d.closing <- errc
-	return <-errc
-}
-
-func (d *deduper) Updates() <-chan Item {
-	return d.updates
-}
-
-// Fetch returns a Fetcher for Items from domain.
-func Fetch(domain string) Fetcher {
-	return fakeFetch(domain)
-}
-
-func fakeFetch(domain string) Fetcher {
-	return &fakeFetcher{channel: domain}
-}
-
-type fakeFetcher struct {
-	channel string
-	items   []Item
-}
-
-// FakeDuplicates causes the fake fetcher to return duplicate items.
-var FakeDuplicates bool
-
-func (f *fakeFetcher) Fetch() (items []Item, next time.Time, err error) {
-	now := time.Now()
-	next = now.Add(time.Duration(rand.Intn(5)) * 500 * time.Millisecond)
-	item := Item{
-		Channel: f.channel,
-		Title:   fmt.Sprintf("Item %d", len(f.items)),
-	}
-	item.GUID = item.Channel + "/" + item.Title
-	f.items = append(f.items, item)
-	if FakeDuplicates {
-		items = f.items
-	} else {
-		items = []Item{item}
-	}
-	return
-}
-
-func NaiveSubscribe(fetcher Fetcher) Subscription {
-	s := &naiveSub{
-		fetcher: fetcher,
-		updates: make(chan Item),
-	}
-	go s.loop()
-	return s
-}
-
-type naiveSub struct {
-	fetcher Fetcher
-	updates chan Item
-	closed  bool
-	err     error
-}
-
-func (s *naiveSub) Updates() <-chan Item {
-	return s.updates
-}
-
-func (s *naiveSub) loop() {
-	// STARTNAIVE OMIT
-	for {
-		if s.closed { // HLsync
-			close(s.updates)
-			return
-		}
-		items, next, err := s.fetcher.Fetch()
-		if err != nil {
-			s.err = err                  // HLsync
-			time.Sleep(10 * time.Second) // HLsleep
-			continue
-		}
-		for _, item := range items {
-			s.updates <- item // HLsend
-		}
-		if now := time.Now(); next.After(now) {
-			time.Sleep(next.Sub(now)) // HLsleep
-		}
-	}
-	// STOPNAIVE OMIT
-}
-
-func (s *naiveSub) Close() error {
-	s.closed = true // HLsync
-	return s.err    // HLsync
-}
-
-func init() {
-	rand.Seed(time.Now().UnixNano())
-}
-
-func main() {
-	// Subscribe to some feeds, and create a merged update stream.
-	merged := Merge(
-		NaiveSubscribe(Fetch("blog.golang.org")),
-		NaiveSubscribe(Fetch("googleblog.blogspot.com")),
-		NaiveSubscribe(Fetch("googledevelopers.blogspot.com")))
-
-	// Close the subscriptions after some time.
-	time.AfterFunc(3*time.Second, func() {
-		fmt.Println("closed:", merged.Close())
-	})
-
-	// Print the stream.
-	for it := range merged.Updates() {
-		fmt.Println(it.Channel, it.Title)
-	}
-
-	// The loops are still running.  Let the race detector notice.
-	time.Sleep(1 * time.Second)
-
-	panic("show me the stacks")
-}
diff --git a/content/2013/advconc/nilselect/nilselect.go b/content/2013/advconc/nilselect/nilselect.go
deleted file mode 100644
index a752580..0000000
--- a/content/2013/advconc/nilselect/nilselect.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func init() {
-	rand.Seed(time.Now().UnixNano())
-}
-
-func main() {
-	a, b := make(chan string), make(chan string)
-	go func() { a <- "a" }()
-	go func() { b <- "b" }()
-	if rand.Intn(2) == 0 {
-		a = nil // HL
-		fmt.Println("nil a")
-	} else {
-		b = nil // HL
-		fmt.Println("nil b")
-	}
-	select {
-	case s := <-a:
-		fmt.Println("got", s)
-	case s := <-b:
-		fmt.Println("got", s)
-	}
-}
diff --git a/content/2013/advconc/pingpong/pingpong.go b/content/2013/advconc/pingpong/pingpong.go
deleted file mode 100644
index fd350b4..0000000
--- a/content/2013/advconc/pingpong/pingpong.go
+++ /dev/null
@@ -1,33 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// STARTMAIN1 OMIT
-type Ball struct{ hits int }
-
-func main() {
-	table := make(chan *Ball)
-	go player("ping", table)
-	go player("pong", table)
-
-	table <- new(Ball) // game on; toss the ball
-	time.Sleep(1 * time.Second)
-	<-table // game over; grab the ball
-}
-
-func player(name string, table chan *Ball) {
-	for {
-		ball := <-table
-		ball.hits++
-		fmt.Println(name, ball.hits)
-		time.Sleep(100 * time.Millisecond)
-		table <- ball
-	}
-}
-
-// STOPMAIN1 OMIT
diff --git a/content/2013/advconc/pingpong1.go b/content/2013/advconc/pingpong1.go
deleted file mode 100644
index fd350b4..0000000
--- a/content/2013/advconc/pingpong1.go
+++ /dev/null
@@ -1,33 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// STARTMAIN1 OMIT
-type Ball struct{ hits int }
-
-func main() {
-	table := make(chan *Ball)
-	go player("ping", table)
-	go player("pong", table)
-
-	table <- new(Ball) // game on; toss the ball
-	time.Sleep(1 * time.Second)
-	<-table // game over; grab the ball
-}
-
-func player(name string, table chan *Ball) {
-	for {
-		ball := <-table
-		ball.hits++
-		fmt.Println(name, ball.hits)
-		time.Sleep(100 * time.Millisecond)
-		table <- ball
-	}
-}
-
-// STOPMAIN1 OMIT
diff --git a/content/2013/advconc/pingpongdeadlock/pingpongdeadlock.go b/content/2013/advconc/pingpongdeadlock/pingpongdeadlock.go
deleted file mode 100644
index d5edff1..0000000
--- a/content/2013/advconc/pingpongdeadlock/pingpongdeadlock.go
+++ /dev/null
@@ -1,33 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// STARTMAIN1 OMIT
-type Ball struct{ hits int }
-
-func main() {
-	table := make(chan *Ball)
-	go player("ping", table)
-	go player("pong", table)
-
-	// table <- new(Ball) // game on; toss the ball // HL
-	time.Sleep(1 * time.Second)
-	<-table // game over; grab the ball
-}
-
-func player(name string, table chan *Ball) {
-	for {
-		ball := <-table
-		ball.hits++
-		fmt.Println(name, ball.hits)
-		time.Sleep(100 * time.Millisecond)
-		table <- ball
-	}
-}
-
-// STOPMAIN1 OMIT
diff --git a/content/2013/advconc/pingpongpanic/pingpongpanic.go b/content/2013/advconc/pingpongpanic/pingpongpanic.go
deleted file mode 100644
index 562b73b..0000000
--- a/content/2013/advconc/pingpongpanic/pingpongpanic.go
+++ /dev/null
@@ -1,35 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// STARTMAIN1 OMIT
-type Ball struct{ hits int }
-
-func main() {
-	table := make(chan *Ball)
-	go player("ping", table)
-	go player("pong", table)
-
-	table <- new(Ball) // game on; toss the ball
-	time.Sleep(1 * time.Second)
-	<-table // game over; grab the ball
-
-	panic("show me the stacks") // HL
-}
-
-func player(name string, table chan *Ball) {
-	for {
-		ball := <-table
-		ball.hits++
-		fmt.Println(name, ball.hits)
-		time.Sleep(100 * time.Millisecond)
-		table <- ball
-	}
-}
-
-// STOPMAIN1 OMIT
diff --git a/content/2013/advconc/race.out b/content/2013/advconc/race.out
deleted file mode 100644
index 955794f..0000000
--- a/content/2013/advconc/race.out
+++ /dev/null
@@ -1,62 +0,0 @@
-googleblog.blogspot.com Item 0
-googleblog.blogspot.com Item 1
-googledevelopers.blogspot.com Item 0
-blog.golang.org Item 0
-googledevelopers.blogspot.com Item 1
-blog.golang.org Item 1
-blog.golang.org Item 2
-googledevelopers.blogspot.com Item 2
-googledevelopers.blogspot.com Item 3
-googleblog.blogspot.com Item 2
-googledevelopers.blogspot.com Item 4
-==================
-WARNING: DATA RACE
-Read by goroutine 4: // HL
-  code.google.com/p/go.talks/2013/reader.(*naiveSub).loop() // HL
-      /Users/sameer/gocode/src/code.google.com/p/go.talks/2013/reader/reader.go:105 +0x46
-  gosched0()
-      /Users/sameer/go/src/pkg/runtime/proc.c:1218 +0x9f
-
-Previous write by goroutine 7: // HL
-  code.google.com/p/go.talks/2013/reader.(*naiveSub).Close() // HL
-      /Users/sameer/gocode/src/code.google.com/p/go.talks/2013/reader/reader.go:125 +0x38
-  code.google.com/p/go.talks/2013/reader.func·002()
-      /Users/sameer/gocode/src/code.google.com/p/go.talks/2013/reader/reader.go:353 +0x1da
-  gosched0()
-      /Users/sameer/go/src/pkg/runtime/proc.c:1218 +0x9f
-
-Goroutine 4 (running) created at:
-  code.google.com/p/go.talks/2013/reader.NaiveSubscribe()
-      /Users/sameer/gocode/src/code.google.com/p/go.talks/2013/reader/reader.go:87 +0xff
-  main.main()
-      /Users/sameer/gocode/src/code.google.com/p/go.talks/2013/advconc/naivemain.go:18 +0xca
-  runtime.main()
-      /Users/sameer/go/src/pkg/runtime/proc.c:182 +0x91
-
-Goroutine 7 (finished) created at:
-  code.google.com/p/go.talks/2013/reader.Merge()
-      /Users/sameer/gocode/src/code.google.com/p/go.talks/2013/reader/reader.go:357 +0x1f5
-  main.main()
-      /Users/sameer/gocode/src/code.google.com/p/go.talks/2013/advconc/naivemain.go:20 +0x261
-  runtime.main()
-      /Users/sameer/go/src/pkg/runtime/proc.c:182 +0x91
-
-==================
-googleblog.blogspot.com Item 3
-closed: <nil>
-panic: show me the stacks
-
-goroutine 1 [running]:
-main.main()
-	/Users/sameer/gocode/src/code.google.com/p/go.talks/2013/advconc/naivemain.go:33 +0x4f5
-
-goroutine 2 [syscall]:
-
-goroutine 5 [sleep]:
-time.Sleep(0xee5ad23)
-	/Users/sameer/go/src/pkg/runtime/ztime_darwin_amd64.c:19 +0x2f
-code.google.com/p/go.talks/2013/reader.(*naiveSub).loop(0xc2000aea50)
-	/Users/sameer/gocode/src/code.google.com/p/go.talks/2013/reader/reader.go:119 +0x2a3
-created by code.google.com/p/go.talks/2013/reader.NaiveSubscribe
-	/Users/sameer/gocode/src/code.google.com/p/go.talks/2013/reader/reader.go:87 +0xff
-exit status 2
diff --git a/content/2013/advconc/race.png b/content/2013/advconc/race.png
deleted file mode 100644
index 8934a64..0000000
--- a/content/2013/advconc/race.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/advconc/realmain/realmain.go b/content/2013/advconc/realmain/realmain.go
deleted file mode 100644
index 7813f86..0000000
--- a/content/2013/advconc/realmain/realmain.go
+++ /dev/null
@@ -1,610 +0,0 @@
-// +build ignore,OMIT
-
-// realmain runs the Subscribe example with a real RSS fetcher.
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-
-	rss "github.com/jteeuwen/go-pkg-rss"
-)
-
-// STARTITEM OMIT
-// An Item is a stripped-down RSS item.
-type Item struct{ Title, Channel, GUID string }
-
-// STOPITEM OMIT
-
-// STARTFETCHER OMIT
-// A Fetcher fetches Items and returns the time when the next fetch should be
-// attempted.  On failure, Fetch returns a non-nil error.
-type Fetcher interface {
-	Fetch() (items []Item, next time.Time, err error)
-}
-
-// STOPFETCHER OMIT
-
-// STARTSUBSCRIPTION OMIT
-// A Subscription delivers Items over a channel.  Close cancels the
-// subscription, closes the Updates channel, and returns the last fetch error,
-// if any.
-type Subscription interface {
-	Updates() <-chan Item
-	Close() error
-}
-
-// STOPSUBSCRIPTION OMIT
-
-// STARTSUBSCRIBE OMIT
-// Subscribe returns a new Subscription that uses fetcher to fetch Items.
-func Subscribe(fetcher Fetcher) Subscription {
-	s := &sub{
-		fetcher: fetcher,
-		updates: make(chan Item),       // for Updates
-		closing: make(chan chan error), // for Close
-	}
-	go s.loop()
-	return s
-}
-
-// STOPSUBSCRIBE OMIT
-
-// sub implements the Subscription interface.
-type sub struct {
-	fetcher Fetcher         // fetches items
-	updates chan Item       // sends items to the user
-	closing chan chan error // for Close
-}
-
-// STARTUPDATES OMIT
-func (s *sub) Updates() <-chan Item {
-	return s.updates
-}
-
-// STOPUPDATES OMIT
-
-// STARTCLOSE OMIT
-// STARTCLOSESIG OMIT
-func (s *sub) Close() error {
-	// STOPCLOSESIG OMIT
-	errc := make(chan error)
-	s.closing <- errc // HLchan
-	return <-errc     // HLchan
-}
-
-// STOPCLOSE OMIT
-
-// loopCloseOnly is a version of loop that includes only the logic
-// that handles Close.
-func (s *sub) loopCloseOnly() {
-	// STARTCLOSEONLY OMIT
-	var err error // set when Fetch fails
-	for {
-		select {
-		case errc := <-s.closing: // HLchan
-			errc <- err      // HLchan
-			close(s.updates) // tells receiver we're done
-			return
-		}
-	}
-	// STOPCLOSEONLY OMIT
-}
-
-// loopFetchOnly is a version of loop that includes only the logic
-// that calls Fetch.
-func (s *sub) loopFetchOnly() {
-	// STARTFETCHONLY OMIT
-	var pending []Item // appended by fetch; consumed by send
-	var next time.Time // initially January 1, year 0
-	var err error
-	for {
-		var fetchDelay time.Duration // initally 0 (no delay)
-		if now := time.Now(); next.After(now) {
-			fetchDelay = next.Sub(now)
-		}
-		startFetch := time.After(fetchDelay)
-
-		select {
-		case <-startFetch:
-			var fetched []Item
-			fetched, next, err = s.fetcher.Fetch()
-			if err != nil {
-				next = time.Now().Add(10 * time.Second)
-				break
-			}
-			pending = append(pending, fetched...)
-		}
-	}
-	// STOPFETCHONLY OMIT
-}
-
-// loopSendOnly is a version of loop that includes only the logic for
-// sending items to s.updates.
-func (s *sub) loopSendOnly() {
-	// STARTSENDONLY OMIT
-	var pending []Item // appended by fetch; consumed by send
-	for {
-		var first Item
-		var updates chan Item // HLupdates
-		if len(pending) > 0 {
-			first = pending[0]
-			updates = s.updates // enable send case // HLupdates
-		}
-
-		select {
-		case updates <- first:
-			pending = pending[1:]
-		}
-	}
-	// STOPSENDONLY OMIT
-}
-
-// mergedLoop is a version of loop that combines loopCloseOnly,
-// loopFetchOnly, and loopSendOnly.
-func (s *sub) mergedLoop() {
-	// STARTFETCHVARS OMIT
-	var pending []Item
-	var next time.Time
-	var err error
-	// STOPFETCHVARS OMIT
-	for {
-		// STARTNOCAP OMIT
-		var fetchDelay time.Duration
-		if now := time.Now(); next.After(now) {
-			fetchDelay = next.Sub(now)
-		}
-		startFetch := time.After(fetchDelay)
-		// STOPNOCAP OMIT
-		var first Item
-		var updates chan Item
-		if len(pending) > 0 {
-			first = pending[0]
-			updates = s.updates // enable send case
-		}
-
-		// STARTSELECT OMIT
-		select {
-		case errc := <-s.closing: // HLcases
-			errc <- err
-			close(s.updates)
-			return
-			// STARTFETCHCASE OMIT
-		case <-startFetch: // HLcases
-			var fetched []Item
-			fetched, next, err = s.fetcher.Fetch() // HLfetch
-			if err != nil {
-				next = time.Now().Add(10 * time.Second)
-				break
-			}
-			pending = append(pending, fetched...) // HLfetch
-			// STOPFETCHCASE OMIT
-		case updates <- first: // HLcases
-			pending = pending[1:]
-		}
-		// STOPSELECT OMIT
-	}
-}
-
-// dedupeLoop extends mergedLoop with deduping of fetched items.
-func (s *sub) dedupeLoop() {
-	const maxPending = 10
-	// STARTSEEN OMIT
-	var pending []Item
-	var next time.Time
-	var err error
-	var seen = make(map[string]bool) // set of item.GUIDs // HLseen
-	// STOPSEEN OMIT
-	for {
-		// STARTCAP OMIT
-		var fetchDelay time.Duration
-		if now := time.Now(); next.After(now) {
-			fetchDelay = next.Sub(now)
-		}
-		var startFetch <-chan time.Time // HLcap
-		if len(pending) < maxPending {  // HLcap
-			startFetch = time.After(fetchDelay) // enable fetch case  // HLcap
-		} // HLcap
-		// STOPCAP OMIT
-		var first Item
-		var updates chan Item
-		if len(pending) > 0 {
-			first = pending[0]
-			updates = s.updates // enable send case
-		}
-		select {
-		case errc := <-s.closing:
-			errc <- err
-			close(s.updates)
-			return
-		// STARTDEDUPE OMIT
-		case <-startFetch:
-			var fetched []Item
-			fetched, next, err = s.fetcher.Fetch() // HLfetch
-			if err != nil {
-				next = time.Now().Add(10 * time.Second)
-				break
-			}
-			for _, item := range fetched {
-				if !seen[item.GUID] { // HLdupe
-					pending = append(pending, item) // HLdupe
-					seen[item.GUID] = true          // HLdupe
-				} // HLdupe
-			}
-			// STOPDEDUPE OMIT
-		case updates <- first:
-			pending = pending[1:]
-		}
-	}
-}
-
-// loop periodically fecthes Items, sends them on s.updates, and exits
-// when Close is called.  It extends dedupeLoop with logic to run
-// Fetch asynchronously.
-func (s *sub) loop() {
-	const maxPending = 10
-	type fetchResult struct {
-		fetched []Item
-		next    time.Time
-		err     error
-	}
-	// STARTFETCHDONE OMIT
-	var fetchDone chan fetchResult // if non-nil, Fetch is running // HL
-	// STOPFETCHDONE OMIT
-	var pending []Item
-	var next time.Time
-	var err error
-	var seen = make(map[string]bool)
-	for {
-		var fetchDelay time.Duration
-		if now := time.Now(); next.After(now) {
-			fetchDelay = next.Sub(now)
-		}
-		// STARTFETCHIF OMIT
-		var startFetch <-chan time.Time
-		if fetchDone == nil && len(pending) < maxPending { // HLfetch
-			startFetch = time.After(fetchDelay) // enable fetch case
-		}
-		// STOPFETCHIF OMIT
-		var first Item
-		var updates chan Item
-		if len(pending) > 0 {
-			first = pending[0]
-			updates = s.updates // enable send case
-		}
-		// STARTFETCHASYNC OMIT
-		select {
-		case <-startFetch: // HLfetch
-			fetchDone = make(chan fetchResult, 1) // HLfetch
-			go func() {
-				fetched, next, err := s.fetcher.Fetch()
-				fetchDone <- fetchResult{fetched, next, err}
-			}()
-		case result := <-fetchDone: // HLfetch
-			fetchDone = nil // HLfetch
-			// Use result.fetched, result.next, result.err
-			// STOPFETCHASYNC OMIT
-			fetched := result.fetched
-			next, err = result.next, result.err
-			if err != nil {
-				next = time.Now().Add(10 * time.Second)
-				break
-			}
-			for _, item := range fetched {
-				if id := item.GUID; !seen[id] { // HLdupe
-					pending = append(pending, item)
-					seen[id] = true // HLdupe
-				}
-			}
-		case errc := <-s.closing:
-			errc <- err
-			close(s.updates)
-			return
-		case updates <- first:
-			pending = pending[1:]
-		}
-	}
-}
-
-// naiveMerge is a version of Merge that doesn't quite work right.  In
-// particular, the goroutines it starts may block forever on m.updates
-// if the receiver stops receiving.
-type naiveMerge struct {
-	subs    []Subscription
-	updates chan Item
-}
-
-// STARTNAIVEMERGE OMIT
-func NaiveMerge(subs ...Subscription) Subscription {
-	m := &naiveMerge{
-		subs:    subs,
-		updates: make(chan Item),
-	}
-	// STARTNAIVEMERGELOOP OMIT
-	for _, sub := range subs {
-		go func(s Subscription) {
-			for it := range s.Updates() {
-				m.updates <- it // HL
-			}
-		}(sub)
-	}
-	// STOPNAIVEMERGELOOP OMIT
-	return m
-}
-
-// STOPNAIVEMERGE OMIT
-
-// STARTNAIVEMERGECLOSE OMIT
-func (m *naiveMerge) Close() (err error) {
-	for _, sub := range m.subs {
-		if e := sub.Close(); err == nil && e != nil {
-			err = e
-		}
-	}
-	close(m.updates) // HL
-	return
-}
-
-// STOPNAIVEMERGECLOSE OMIT
-
-func (m *naiveMerge) Updates() <-chan Item {
-	return m.updates
-}
-
-type merge struct {
-	subs    []Subscription
-	updates chan Item
-	quit    chan struct{}
-	errs    chan error
-}
-
-// STARTMERGESIG OMIT
-// Merge returns a Subscription that merges the item streams from subs.
-// Closing the merged subscription closes subs.
-func Merge(subs ...Subscription) Subscription {
-	// STOPMERGESIG OMIT
-	m := &merge{
-		subs:    subs,
-		updates: make(chan Item),
-		quit:    make(chan struct{}),
-		errs:    make(chan error),
-	}
-	// STARTMERGE OMIT
-	for _, sub := range subs {
-		go func(s Subscription) {
-			for {
-				var it Item
-				select {
-				case it = <-s.Updates():
-				case <-m.quit: // HL
-					m.errs <- s.Close() // HL
-					return              // HL
-				}
-				select {
-				case m.updates <- it:
-				case <-m.quit: // HL
-					m.errs <- s.Close() // HL
-					return              // HL
-				}
-			}
-		}(sub)
-	}
-	// STOPMERGE OMIT
-	return m
-}
-
-func (m *merge) Updates() <-chan Item {
-	return m.updates
-}
-
-// STARTMERGECLOSE OMIT
-func (m *merge) Close() (err error) {
-	close(m.quit) // HL
-	for _ = range m.subs {
-		if e := <-m.errs; e != nil { // HL
-			err = e
-		}
-	}
-	close(m.updates) // HL
-	return
-}
-
-// STOPMERGECLOSE OMIT
-
-// NaiveDedupe converts a stream of Items that may contain duplicates
-// into one that doesn't.
-func NaiveDedupe(in <-chan Item) <-chan Item {
-	out := make(chan Item)
-	go func() {
-		seen := make(map[string]bool)
-		for it := range in {
-			if !seen[it.GUID] {
-				// BUG: this send blocks if the
-				// receiver closes the Subscription
-				// and stops receiving.
-				out <- it // HL
-				seen[it.GUID] = true
-			}
-		}
-		close(out)
-	}()
-	return out
-}
-
-type deduper struct {
-	s       Subscription
-	updates chan Item
-	closing chan chan error
-}
-
-// Dedupe converts a Subscription that may send duplicate Items into
-// one that doesn't.
-func Dedupe(s Subscription) Subscription {
-	d := &deduper{
-		s:       s,
-		updates: make(chan Item),
-		closing: make(chan chan error),
-	}
-	go d.loop()
-	return d
-}
-
-func (d *deduper) loop() {
-	in := d.s.Updates() // enable receive
-	var pending Item
-	var out chan Item // disable send
-	seen := make(map[string]bool)
-	for {
-		select {
-		case it := <-in:
-			if !seen[it.GUID] {
-				pending = it
-				in = nil        // disable receive
-				out = d.updates // enable send
-				seen[it.GUID] = true
-			}
-		case out <- pending:
-			in = d.s.Updates() // enable receive
-			out = nil          // disable send
-		case errc := <-d.closing:
-			err := d.s.Close()
-			errc <- err
-			close(d.updates)
-			return
-		}
-	}
-}
-
-func (d *deduper) Close() error {
-	errc := make(chan error)
-	d.closing <- errc
-	return <-errc
-}
-
-func (d *deduper) Updates() <-chan Item {
-	return d.updates
-}
-
-// FakeFetch causes Fetch to use a fake fetcher instead of the real
-// one.
-var FakeFetch bool
-
-// Fetch returns a Fetcher for Items from domain.
-func Fetch(domain string) Fetcher {
-	if FakeFetch {
-		return fakeFetch(domain)
-	}
-	return realFetch(domain)
-}
-
-func fakeFetch(domain string) Fetcher {
-	return &fakeFetcher{channel: domain}
-}
-
-type fakeFetcher struct {
-	channel string
-	items   []Item
-}
-
-// FakeDuplicates causes the fake fetcher to return duplicate items.
-var FakeDuplicates bool
-
-func (f *fakeFetcher) Fetch() (items []Item, next time.Time, err error) {
-	now := time.Now()
-	next = now.Add(time.Duration(rand.Intn(5)) * 500 * time.Millisecond)
-	item := Item{
-		Channel: f.channel,
-		Title:   fmt.Sprintf("Item %d", len(f.items)),
-	}
-	item.GUID = item.Channel + "/" + item.Title
-	f.items = append(f.items, item)
-	if FakeDuplicates {
-		items = f.items
-	} else {
-		items = []Item{item}
-	}
-	return
-}
-
-// realFetch returns a fetcher for the specified blogger domain.
-func realFetch(domain string) Fetcher {
-	return NewFetcher(fmt.Sprintf("http://%s/feeds/posts/default?alt=rss", domain))
-}
-
-type fetcher struct {
-	uri   string
-	feed  *rss.Feed
-	items []Item
-}
-
-// NewFetcher returns a Fetcher for uri.
-func NewFetcher(uri string) Fetcher {
-	f := &fetcher{
-		uri: uri,
-	}
-	newChans := func(feed *rss.Feed, chans []*rss.Channel) {}
-	newItems := func(feed *rss.Feed, ch *rss.Channel, items []*rss.Item) {
-		for _, it := range items {
-			f.items = append(f.items, Item{
-				Channel: ch.Title,
-				GUID:    it.Guid,
-				Title:   it.Title,
-			})
-		}
-	}
-	f.feed = rss.New(1 /*minimum interval in minutes*/, true /*respect limit*/, newChans, newItems)
-	return f
-}
-
-func (f *fetcher) Fetch() (items []Item, next time.Time, err error) {
-	fmt.Println("fetching", f.uri)
-	if err = f.feed.Fetch(f.uri, nil); err != nil {
-		return
-	}
-	items = f.items
-	f.items = nil
-	next = time.Now().Add(time.Duration(f.feed.SecondsTillUpdate()) * time.Second)
-	return
-}
-
-// TODO: in a longer talk: move the Subscribe function onto a Reader type, to
-// support dynamically adding and removing Subscriptions.  Reader should dedupe.
-
-// TODO: in a longer talk: make successive Subscribe calls for the same uri
-// share the same underlying Subscription, but provide duplicate streams.
-
-func init() {
-	rand.Seed(time.Now().UnixNano())
-}
-
-// STARTMAIN OMIT
-func main() {
-	// STARTMERGECALL OMIT
-	// Subscribe to some feeds, and create a merged update stream.
-	merged := Merge(
-		Subscribe(Fetch("blog.golang.org")),
-		Subscribe(Fetch("googleblog.blogspot.com")),
-		Subscribe(Fetch("googledevelopers.blogspot.com")))
-	// STOPMERGECALL OMIT
-
-	// Close the subscriptions after some time.
-	time.AfterFunc(3*time.Second, func() {
-		fmt.Println("closed:", merged.Close())
-	})
-
-	// Print the stream.
-	for it := range merged.Updates() {
-		fmt.Println(it.Channel, it.Title)
-	}
-
-	// Uncomment the panic below to dump the stack traces.  This
-	// will show several stacks for persistent HTTP connections
-	// created by the real RSS client.  To clean these up, we'll
-	// need to extend Fetcher with a Close method and plumb this
-	// through the RSS client implementation.
-	//
-	// panic("show me the stacks")
-}
-
-// STOPMAIN OMIT
diff --git a/content/2013/bestpractices.slide b/content/2013/bestpractices.slide
deleted file mode 100644
index b4dbb48..0000000
--- a/content/2013/bestpractices.slide
+++ /dev/null
@@ -1,288 +0,0 @@
-Twelve Go Best Practices
-
-Francesc Campoy Flores
-Gopher at Google
-@francesc
-http://campoy.cat/+
-
-http://golang.org
-
-* Best practices
-
-From Wikipedia:
-
-	"A best practice is a method or technique that has consistently shown results superior
-	to those achieved with other means"
-
-Techniques to write Go code that is
-
-- simple,
-- readable,
-- maintainable.
-
-.image http://golang.org/doc/gopher/gopherbw.png 200 200
-
-* Some code
-
-.code bestpractices/shortercode1.go /type Gopher/,/^}/
-
-.code bestpractices/shortercode1.go /WriteTo/,/^}/
-
-* Avoid nesting by handling errors first
-
-.code bestpractices/shortercode2.go /WriteTo/,/^}/
-
-Less nesting means less cognitive load on the reader
-
-* Avoid repetition when possible
-
-Deploy one-off utility types for simpler code
-
-.code bestpractices/shortercode3.go /binWriter/,/^}/
-
-.code bestpractices/shortercode3.go /Write writes/,/^}/
-
-* Avoid repetition when possible
-
-Using `binWriter`
-
-.code bestpractices/shortercode3.go /WriteTo/,/^}/
-
-* Type switch to handle special cases
-
-.code bestpractices/shortercode4.go /func .* Write/,/^}/
-
-.code bestpractices/shortercode4.go /WriteTo/,/^}/
-
-* Type switch with short variable declaration
-
-.code bestpractices/shortercode5.go /func .* Write/,/^}/
-
-* Writing everything or nothing
-
-.code bestpractices/shortercode6.go /binWriter/,/^}/
-
-.code bestpractices/shortercode6.go /Write writes/,/^}/
-
-* Writing everything or nothing
-
-.code bestpractices/shortercode6.go /Flush/,/^}/
-
-.code bestpractices/shortercode6.go /func .* WriteTo/,/^}/
-
-* Function adapters
-
-.code bestpractices/httphandler.go /HANDLER1/,/HANDLER2/
-
-* Function adapters
-
-.code bestpractices/httphandler.go /HANDLER2/,/END/
-
-* Organizing your code
-
-* Important code goes first
-
-License information, build tags, package documentation.
-
-Import statements, related groups separated by blank lines.
-
-	import (
-		"fmt"
-		"io"
-		"log"
-
-		"golang.org/x/net/websocket"
-	)
-
-The rest of the code starting with the most significant types, and ending
-with helper function and types.
-
-* Document your code
-
-Package name, with the associated documentation before.
-
-	// Package playground registers an HTTP handler at "/compile" that
-	// proxies requests to the golang.org playground service.
-	package playground
-
-Exported identifiers appear in `godoc`, they should be documented correctly.
-
-	// Author represents the person who wrote and/or is presenting the document.
-	type Author struct {
-		Elem []Elem
-	}
-
-	// TextElem returns the first text elements of the author details.
-	// This is used to display the author' name, job title, and company
-	// without the contact details.
-	func (p *Author) TextElem() (elems []Elem) {
-
-[[http://godoc.org/code.google.com/p/go.talks/pkg/present#Author][Generated documentation]]
-
-[[http://blog.golang.org/godoc-documenting-go-code][Gocode: documenting Go code]]
-
-* Shorter is better
-
-or at least _longer_is_not_always_better_.
-
-Try to find the *shortest*name*that*is*self*explanatory*.
-
-- Prefer `MarshalIndent` to `MarshalWithIndentation`.
-
-Don't forget that the package name will appear before the identifier you chose.
-
-- In package `encoding/json` we find the type `Encoder`, not `JSONEncoder`.
-
-- It is referred as `json.Encoder`.
-
-* Packages with multiple files
-
-Should you split a package into multiple files?
-
-- Avoid very long files
-
-The `net/http` package from the standard library contains 15734 lines in 47 files.
-
-- Separate code and tests
-
-`net/http/cookie.go` and `net/http/cookie_test.go` are both part of the `http`
-package.
-
-Test code is compiled *only* at test time.
-
-- Separated package documentation
-
-When we have more than one file in a package, it's convention to create a `doc.go`
-containing the package documentation.
-
-* Make your packages "go get"-able
-
-Some packages are potentially reusable, some others are not.
-
-A package defining some network protocol might be reused while one defining
-an executable command may not.
-
-.image bestpractices/cmd.png
-
-[[https://github.com/bradfitz/camlistore]]
-
-* APIs
-
-* Ask for what you need
-
-Let's use the Gopher type from before
-
-.code bestpractices/shortercode1.go /type Gopher/,/^}/
-
-We could define this method
-
-.code bestpractices/shortercode1.go /WriteToFile/
-
-But using a concrete type makes this code difficult to test, so we use an interface.
-
-.code bestpractices/shortercode1.go /WriteToReadWriter/
-
-And, since we're using an interface, we should ask only for the methods we need.
-
-.code bestpractices/shortercode1.go /WriteToWriter/
-
-* Keep independent packages independent
-
-.code bestpractices/funcdraw/cmd/funcdraw.go /IMPORT/,/ENDIMPORT/
-
-.code bestpractices/funcdraw/cmd/funcdraw.go /START/,/END/
-
-* Parsing
-
-.code bestpractices/funcdraw/parser/parser.go /START/,/END/
-
-* Drawing
-
-.code bestpractices/funcdraw/drawer/dependent.go /START/,/END/
-
-Avoid dependency by using an interface.
-
-.code bestpractices/funcdraw/drawer/drawer.go /START/,/END/
-
-* Testing
-
-Using an interface instead of a concrete type makes testing easier.
-
-.code bestpractices/funcdraw/drawer/drawer_test.go ,/END/
-
-* Avoid concurrency in your API
-
-.play bestpractices/concurrency1.go /START/,/END/
-
-What if we want to use it sequentially?
-
-* Avoid concurrency in your API
-
-.play bestpractices/concurrency2.go /START/,/END/
-
-Expose synchronous APIs, calling them concurrently is easy.
-
-* Best practices for concurrency
-
-* Use goroutines to manage state
-
-Use a chan or a struct with a chan to communicate with a goroutine
-
-.code bestpractices/server.go /START/,/STOP/
-
-* Use goroutines to manage state (continued)
-
-.play bestpractices/server.go /STOP/,
-
-* Avoid goroutine leaks with buffered chans
-
-.code bestpractices/bufchan.go /SEND/,/BROADCAST/
-
-.code bestpractices/bufchan.go /MAIN/,
-
-* Avoid goroutine leaks with buffered chans (continued)
-
-.play bestpractices/bufchan.go /BROADCAST/,/MAIN/
-
-- the goroutine is blocked on the chan write
-- the goroutine holds a reference to the chan
-- the chan will never be garbage collected
-
-* Avoid goroutines leaks with buffered chans (continued)
-
-.play bestpractices/bufchanfix.go /BROADCAST/,/MAIN/
-
-- what if we can't predict the capacity of the channel?
-
-* Avoid goroutines leaks with quit chan
-
-.play bestpractices/quitchan.go /BROADCAST/,/MAIN/
-
-* Twelve best practices
-
-1. Avoid nesting by handling errors first
-2. Avoid repetition when possible
-3. Important code goes first
-4. Document your code
-5. Shorter is better
-6. Packages with multiple files 
-7. Make your packages "go get"-able
-8. Ask for what you need
-9. Keep independent packages independent
-10. Avoid concurrency in your API
-11. Use goroutines to manage state
-12. Avoid goroutine leaks
-
-* Some links
-
-Resources
-
-- Go homepage [[http://golang.org]]
-- Go interactive tour [[http://tour.golang.org]]
-
-Other talks
-
-- Lexical scanning with Go [[http://www.youtube.com/watch?v=HxaD_trXwRE][video]]
-- Concurrency is not parallelism [[http://vimeo.com/49718712][video]]
-- Go concurrency patterns [[http://www.youtube.com/watch?v=f6kdp27TYZs][video]]
-- Advanced Go concurrency patterns [[http://www.youtube.com/watch?v=QDDwwePbDtw][video]]
diff --git a/content/2013/bestpractices/bufchan.go b/content/2013/bestpractices/bufchan.go
deleted file mode 100644
index e454b3c..0000000
--- a/content/2013/bestpractices/bufchan.go
+++ /dev/null
@@ -1,52 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"net"
-	"time"
-)
-
-// SEND OMIT
-func sendMsg(msg, addr string) error {
-	conn, err := net.Dial("tcp", addr)
-	if err != nil {
-		return err
-	}
-	defer conn.Close()
-	_, err = fmt.Fprint(conn, msg)
-	return err
-}
-
-// BROADCAST OMIT
-func broadcastMsg(msg string, addrs []string) error {
-	errc := make(chan error)
-	for _, addr := range addrs {
-		go func(addr string) {
-			errc <- sendMsg(msg, addr)
-			fmt.Println("done")
-		}(addr)
-	}
-
-	for _ = range addrs {
-		if err := <-errc; err != nil {
-			return err
-		}
-	}
-	return nil
-}
-
-// MAIN OMIT
-func main() {
-	addr := []string{"localhost:8080", "http://google.com"}
-	err := broadcastMsg("hi", addr) // HL
-
-	time.Sleep(time.Second)
-
-	if err != nil {
-		fmt.Println(err)
-		return
-	}
-	fmt.Println("everything went fine")
-}
diff --git a/content/2013/bestpractices/bufchanfix.go b/content/2013/bestpractices/bufchanfix.go
deleted file mode 100644
index c183fba..0000000
--- a/content/2013/bestpractices/bufchanfix.go
+++ /dev/null
@@ -1,52 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"net"
-	"time"
-)
-
-// SEND OMIT
-func sendMsg(msg, addr string) error {
-	conn, err := net.Dial("tcp", addr)
-	if err != nil {
-		return err
-	}
-	defer conn.Close()
-	_, err = fmt.Fprint(conn, msg)
-	return err
-}
-
-// BROADCAST OMIT
-func broadcastMsg(msg string, addrs []string) error {
-	errc := make(chan error, len(addrs)) // HL
-	for _, addr := range addrs {
-		go func(addr string) {
-			errc <- sendMsg(msg, addr)
-			fmt.Println("done")
-		}(addr)
-	}
-
-	for _ = range addrs {
-		if err := <-errc; err != nil {
-			return err
-		}
-	}
-	return nil
-}
-
-// MAIN OMIT
-func main() {
-	addr := []string{"localhost:8080", "http://google.com"}
-	err := broadcastMsg("hi", addr)
-
-	time.Sleep(time.Second)
-
-	if err != nil {
-		fmt.Println(err)
-		return
-	}
-	fmt.Println("everything went fine")
-}
diff --git a/content/2013/bestpractices/cmd.png b/content/2013/bestpractices/cmd.png
deleted file mode 100644
index 17e70a1..0000000
--- a/content/2013/bestpractices/cmd.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/bestpractices/concurrency1.go b/content/2013/bestpractices/concurrency1.go
deleted file mode 100644
index 63a76e1..0000000
--- a/content/2013/bestpractices/concurrency1.go
+++ /dev/null
@@ -1,34 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"errors"
-	"fmt"
-	"time"
-)
-
-// START OMIT
-func doConcurrently(job string, err chan error) {
-	go func() {
-		fmt.Println("doing job", job)
-		time.Sleep(1 * time.Second)
-		err <- errors.New("something went wrong!")
-	}()
-}
-
-func main() {
-	jobs := []string{"one", "two", "three"}
-
-	errc := make(chan error)
-	for _, job := range jobs {
-		doConcurrently(job, errc)
-	}
-	for _ = range jobs {
-		if err := <-errc; err != nil {
-			fmt.Println(err)
-		}
-	}
-}
-
-// END OMIT
diff --git a/content/2013/bestpractices/concurrency2.go b/content/2013/bestpractices/concurrency2.go
deleted file mode 100644
index c9b1730..0000000
--- a/content/2013/bestpractices/concurrency2.go
+++ /dev/null
@@ -1,34 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"errors"
-	"fmt"
-	"time"
-)
-
-// START OMIT
-func do(job string) error {
-	fmt.Println("doing job", job)
-	time.Sleep(1 * time.Second)
-	return errors.New("something went wrong!")
-}
-
-func main() {
-	jobs := []string{"one", "two", "three"}
-
-	errc := make(chan error)
-	for _, job := range jobs {
-		go func(job string) {
-			errc <- do(job)
-		}(job)
-	}
-	for _ = range jobs {
-		if err := <-errc; err != nil {
-			fmt.Println(err)
-		}
-	}
-}
-
-// END OMIT
diff --git a/content/2013/bestpractices/funcdraw/cmd/funcdraw.go b/content/2013/bestpractices/funcdraw/cmd/funcdraw.go
deleted file mode 100644
index 96959ea..0000000
--- a/content/2013/bestpractices/funcdraw/cmd/funcdraw.go
+++ /dev/null
@@ -1,50 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"flag"
-	"image/png"
-	"log"
-	"os"
-)
-
-// IMPORT OMIT
-import (
-	"golang.org/x/talks/content/2013/bestpractices/funcdraw/drawer"
-	"golang.org/x/talks/content/2013/bestpractices/funcdraw/parser"
-)
-
-// ENDIMPORT OMIT
-
-var (
-	width  = flag.Int("width", 300, "image width")
-	height = flag.Int("height", 300, "image height")
-	xmin   = flag.Float64("xmin", -10, "min value for x")
-	xmax   = flag.Float64("xmax", 10, "max value for x")
-)
-
-func main() {
-	flag.Parse()
-	if flag.NArg() != 1 {
-		log.Fatal("missing expression to parse")
-	}
-
-	text := flag.Arg(0)
-	// START OMIT
-	// Parse the text into an executable function.
-	f, err := parser.Parse(text)
-	if err != nil {
-		log.Fatalf("parse %q: %v", text, err)
-	}
-
-	// Create an image plotting the function.
-	m := drawer.Draw(f, *width, *height, *xmin, *xmax)
-
-	// Encode the image into the standard output.
-	err = png.Encode(os.Stdout, m)
-	if err != nil {
-		log.Fatalf("encode image: %v", err)
-	}
-	// END OMIT
-}
diff --git a/content/2013/bestpractices/funcdraw/drawer/dependent.go b/content/2013/bestpractices/funcdraw/drawer/dependent.go
deleted file mode 100644
index 1ad6626..0000000
--- a/content/2013/bestpractices/funcdraw/drawer/dependent.go
+++ /dev/null
@@ -1,16 +0,0 @@
-// +build ignore,OMIT
-
-package drawer
-
-// START OMIT
-import (
-	"image"
-
-	"golang.org/x/talks/content/2013/bestpractices/funcdraw/parser"
-)
-
-// Draw draws an image showing a rendering of the passed ParsedFunc.
-func DrawParsedFunc(f parser.ParsedFunc) image.Image {
-	// END OMIT
-	return nil
-}
diff --git a/content/2013/bestpractices/funcdraw/drawer/drawer.go b/content/2013/bestpractices/funcdraw/drawer/drawer.go
deleted file mode 100644
index e8d82ec..0000000
--- a/content/2013/bestpractices/funcdraw/drawer/drawer.go
+++ /dev/null
@@ -1,17 +0,0 @@
-// +build ignore,OMIT
-
-package drawer
-
-// START OMIT
-import "image"
-
-// Function represent a drawable mathematical function.
-type Function interface {
-	Eval(float64) float64
-}
-
-// Draw draws an image showing a rendering of the passed Function.
-func Draw(f Function) image.Image {
-	// END OMIT
-	return nil
-}
diff --git a/content/2013/bestpractices/funcdraw/drawer/drawer_test.go b/content/2013/bestpractices/funcdraw/drawer/drawer_test.go
deleted file mode 100644
index d66d787..0000000
--- a/content/2013/bestpractices/funcdraw/drawer/drawer_test.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore,OMIT
-
-package drawer
-
-import (
-	"math"
-	"testing"
-)
-
-type TestFunc func(float64) float64
-
-func (f TestFunc) Eval(x float64) float64 { return f(x) }
-
-var (
-	ident = TestFunc(func(x float64) float64 { return x })
-	sin   = TestFunc(math.Sin)
-)
-
-func TestDraw_Ident(t *testing.T) {
-	m := Draw(ident)
-	// Verify obtained image.
-	// END OMIT
-	t.Error(m.ColorModel())
-}
diff --git a/content/2013/bestpractices/funcdraw/parser/parser.go b/content/2013/bestpractices/funcdraw/parser/parser.go
deleted file mode 100644
index d8f6abb..0000000
--- a/content/2013/bestpractices/funcdraw/parser/parser.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// +build ignore,OMIT
-
-package parser
-
-// START OMIT
-type ParsedFunc struct {
-	text string
-	eval func(float64) float64
-}
-
-func Parse(text string) (*ParsedFunc, error) {
-	f, err := parse(text)
-	if err != nil {
-		return nil, err
-	}
-	return &ParsedFunc{text: text, eval: f}, nil
-}
-
-func (f *ParsedFunc) Eval(x float64) float64 { return f.eval(x) }
-func (f *ParsedFunc) String() string         { return f.text }
-
-// END OMIT
-func parse(text string) (func(float64) float64, error) {
-	return func(x float64) float64 { return x }, nil
-}
diff --git a/content/2013/bestpractices/httphandler.go b/content/2013/bestpractices/httphandler.go
deleted file mode 100644
index bb1b577..0000000
--- a/content/2013/bestpractices/httphandler.go
+++ /dev/null
@@ -1,61 +0,0 @@
-// +build ignore,OMIT
-
-package bestpractices
-
-import (
-	"fmt"
-	"log"
-	"net/http"
-)
-
-func doThis() error { return nil }
-func doThat() error { return nil }
-
-// HANDLER1 OMIT
-func init() {
-	http.HandleFunc("/", handler)
-}
-
-func handler(w http.ResponseWriter, r *http.Request) {
-	err := doThis()
-	if err != nil {
-		http.Error(w, err.Error(), http.StatusInternalServerError)
-		log.Printf("handling %q: %v", r.RequestURI, err)
-		return
-	}
-
-	err = doThat()
-	if err != nil {
-		http.Error(w, err.Error(), http.StatusInternalServerError)
-		log.Printf("handling %q: %v", r.RequestURI, err)
-		return
-	}
-}
-
-// HANDLER2 OMIT
-func init() {
-	http.HandleFunc("/", errorHandler(betterHandler))
-}
-
-func errorHandler(f func(http.ResponseWriter, *http.Request) error) http.HandlerFunc {
-	return func(w http.ResponseWriter, r *http.Request) {
-		err := f(w, r)
-		if err != nil {
-			http.Error(w, err.Error(), http.StatusInternalServerError)
-			log.Printf("handling %q: %v", r.RequestURI, err)
-		}
-	}
-}
-
-func betterHandler(w http.ResponseWriter, r *http.Request) error {
-	if err := doThis(); err != nil {
-		return fmt.Errorf("doing this: %v", err)
-	}
-
-	if err := doThat(); err != nil {
-		return fmt.Errorf("doing that: %v", err)
-	}
-	return nil
-}
-
-// END OMIT
diff --git a/content/2013/bestpractices/quitchan.go b/content/2013/bestpractices/quitchan.go
deleted file mode 100644
index 7c11cff..0000000
--- a/content/2013/bestpractices/quitchan.go
+++ /dev/null
@@ -1,60 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"net"
-	"time"
-)
-
-// SEND OMIT
-func sendMsg(msg, addr string) error {
-	conn, err := net.Dial("tcp", addr)
-	if err != nil {
-		return err
-	}
-	defer conn.Close()
-	_, err = fmt.Fprint(conn, msg)
-	return err
-}
-
-// BROADCAST OMIT
-func broadcastMsg(msg string, addrs []string) error {
-	errc := make(chan error)
-	quit := make(chan struct{})
-
-	defer close(quit)
-
-	for _, addr := range addrs {
-		go func(addr string) {
-			select {
-			case errc <- sendMsg(msg, addr):
-				fmt.Println("done")
-			case <-quit:
-				fmt.Println("quit")
-			}
-		}(addr)
-	}
-
-	for _ = range addrs {
-		if err := <-errc; err != nil {
-			return err
-		}
-	}
-	return nil
-}
-
-// MAIN OMIT
-func main() {
-	addr := []string{"localhost:8080", "http://google.com"}
-	err := broadcastMsg("hi", addr) // HL
-
-	time.Sleep(time.Second)
-
-	if err != nil {
-		fmt.Println(err)
-		return
-	}
-	fmt.Println("everything went fine")
-}
diff --git a/content/2013/bestpractices/server.go b/content/2013/bestpractices/server.go
deleted file mode 100644
index e273861..0000000
--- a/content/2013/bestpractices/server.go
+++ /dev/null
@@ -1,46 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// START OMIT
-type Server struct{ quit chan bool }
-
-func NewServer() *Server {
-	s := &Server{make(chan bool)}
-	go s.run()
-	return s
-}
-
-func (s *Server) run() {
-	for {
-		select {
-		case <-s.quit:
-			fmt.Println("finishing task")
-			time.Sleep(time.Second)
-			fmt.Println("task done")
-			s.quit <- true
-			return
-		case <-time.After(time.Second):
-			fmt.Println("running task")
-		}
-	}
-}
-
-// STOP OMIT
-func (s *Server) Stop() {
-	fmt.Println("server stopping")
-	s.quit <- true
-	<-s.quit
-	fmt.Println("server stopped")
-}
-
-func main() {
-	s := NewServer()
-	time.Sleep(2 * time.Second)
-	s.Stop()
-}
diff --git a/content/2013/bestpractices/shortercode1.go b/content/2013/bestpractices/shortercode1.go
deleted file mode 100644
index d615a87..0000000
--- a/content/2013/bestpractices/shortercode1.go
+++ /dev/null
@@ -1,61 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/binary"
-	"io"
-	"log"
-	"os"
-)
-
-type Gopher struct {
-	Name     string
-	AgeYears int
-}
-
-// Example of bad code, missing early return. OMIT
-func (g *Gopher) WriteTo(w io.Writer) (size int64, err error) {
-	err = binary.Write(w, binary.LittleEndian, int32(len(g.Name)))
-	if err == nil {
-		size += 4
-		var n int
-		n, err = w.Write([]byte(g.Name))
-		size += int64(n)
-		if err == nil {
-			err = binary.Write(w, binary.LittleEndian, int64(g.AgeYears))
-			if err == nil {
-				size += 4
-			}
-			return
-		}
-		return
-	}
-	return
-}
-
-func main() {
-	g := &Gopher{
-		Name:     "Gophertiti",
-		AgeYears: 3382,
-	}
-
-	if _, err := g.WriteTo(os.Stdout); err != nil {
-		log.Printf("DumpBinary: %v\n", err)
-	}
-}
-
-// Example of bad API, it's better to use an interface.
-func (g *Gopher) WriteToFile(f *os.File) (int64, error) {
-	return 0, nil
-}
-
-// Example of bad API, it's better to use a narrower interface.
-func (g *Gopher) WriteToReadWriter(rw io.ReadWriter) (int64, error) {
-	return 0, nil
-}
-
-// Example of better API.
-func (g *Gopher) WriteToWriter(f io.Writer) (int64, error) {
-	return 0, nil
-}
diff --git a/content/2013/bestpractices/shortercode2.go b/content/2013/bestpractices/shortercode2.go
deleted file mode 100644
index 25ed0ae..0000000
--- a/content/2013/bestpractices/shortercode2.go
+++ /dev/null
@@ -1,44 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/binary"
-	"io"
-	"log"
-	"os"
-)
-
-type Gopher struct {
-	Name     string
-	AgeYears int
-}
-
-func (g *Gopher) WriteTo(w io.Writer) (size int64, err error) {
-	err = binary.Write(w, binary.LittleEndian, int32(len(g.Name)))
-	if err != nil {
-		return
-	}
-	size += 4
-	n, err := w.Write([]byte(g.Name))
-	size += int64(n)
-	if err != nil {
-		return
-	}
-	err = binary.Write(w, binary.LittleEndian, int64(g.AgeYears))
-	if err == nil {
-		size += 4
-	}
-	return
-}
-
-func main() {
-	g := &Gopher{
-		Name:     "Gophertiti",
-		AgeYears: 3382,
-	}
-
-	if _, err := g.WriteTo(os.Stdout); err != nil {
-		log.Printf("DumpBinary: %v\n", err)
-	}
-}
diff --git a/content/2013/bestpractices/shortercode3.go b/content/2013/bestpractices/shortercode3.go
deleted file mode 100644
index 7e77b5b..0000000
--- a/content/2013/bestpractices/shortercode3.go
+++ /dev/null
@@ -1,50 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/binary"
-	"io"
-	"log"
-	"os"
-)
-
-type Gopher struct {
-	Name     string
-	AgeYears int
-}
-
-type binWriter struct {
-	w    io.Writer
-	size int64
-	err  error
-}
-
-// Write writes a value to the provided writer in little endian form.
-func (w *binWriter) Write(v interface{}) {
-	if w.err != nil {
-		return
-	}
-	if w.err = binary.Write(w.w, binary.LittleEndian, v); w.err == nil {
-		w.size += int64(binary.Size(v))
-	}
-}
-
-func (g *Gopher) WriteTo(w io.Writer) (int64, error) {
-	bw := &binWriter{w: w}
-	bw.Write(int32(len(g.Name)))
-	bw.Write([]byte(g.Name))
-	bw.Write(int64(g.AgeYears))
-	return bw.size, bw.err
-}
-
-func main() {
-	g := &Gopher{
-		Name:     "Gophertiti",
-		AgeYears: 3382,
-	}
-
-	if _, err := g.WriteTo(os.Stdout); err != nil {
-		log.Printf("DumpBinary: %v\n", err)
-	}
-}
diff --git a/content/2013/bestpractices/shortercode4.go b/content/2013/bestpractices/shortercode4.go
deleted file mode 100644
index 0c20ceb..0000000
--- a/content/2013/bestpractices/shortercode4.go
+++ /dev/null
@@ -1,59 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/binary"
-	"io"
-	"log"
-	"os"
-)
-
-type Gopher struct {
-	Name     string
-	AgeYears int
-}
-
-type binWriter struct {
-	w    io.Writer
-	size int64
-	err  error
-}
-
-// Write writes a value to the provided writer in little endian form.
-func (w *binWriter) Write(v interface{}) {
-	if w.err != nil {
-		return
-	}
-	switch v.(type) { // HL
-	case string:
-		s := v.(string)
-		w.Write(int32(len(s)))
-		w.Write([]byte(s))
-	case int:
-		i := v.(int)
-		w.Write(int64(i))
-	default:
-		if w.err = binary.Write(w.w, binary.LittleEndian, v); w.err == nil {
-			w.size += int64(binary.Size(v))
-		}
-	}
-}
-
-func (g *Gopher) WriteTo(w io.Writer) (int64, error) {
-	bw := &binWriter{w: w}
-	bw.Write(g.Name) // HL
-	bw.Write(g.AgeYears)
-	return bw.size, bw.err
-}
-
-func main() {
-	g := &Gopher{
-		Name:     "Gophertiti",
-		AgeYears: 3382,
-	}
-
-	if _, err := g.WriteTo(os.Stdout); err != nil {
-		log.Printf("DumpBinary: %v\n", err)
-	}
-}
diff --git a/content/2013/bestpractices/shortercode5.go b/content/2013/bestpractices/shortercode5.go
deleted file mode 100644
index b755b52..0000000
--- a/content/2013/bestpractices/shortercode5.go
+++ /dev/null
@@ -1,57 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/binary"
-	"io"
-	"log"
-	"os"
-)
-
-type Gopher struct {
-	Name     string
-	AgeYears int
-}
-
-type binWriter struct {
-	w    io.Writer
-	size int64
-	err  error
-}
-
-// Write writes a value to the provided writer in little endian form.
-func (w *binWriter) Write(v interface{}) {
-	if w.err != nil {
-		return
-	}
-	switch x := v.(type) { // HL
-	case string:
-		w.Write(int32(len(x)))
-		w.Write([]byte(x))
-	case int:
-		w.Write(int64(x))
-	default:
-		if w.err = binary.Write(w.w, binary.LittleEndian, v); w.err == nil {
-			w.size += int64(binary.Size(v))
-		}
-	}
-}
-
-func (g *Gopher) WriteTo(w io.Writer) (int64, error) {
-	bw := &binWriter{w: w}
-	bw.Write(g.Name)
-	bw.Write(g.AgeYears)
-	return bw.size, bw.err
-}
-
-func main() {
-	g := &Gopher{
-		Name:     "Gophertiti",
-		AgeYears: 3382,
-	}
-
-	if _, err := g.WriteTo(os.Stdout); err != nil {
-		log.Printf("DumpBinary: %v\n", err)
-	}
-}
diff --git a/content/2013/bestpractices/shortercode6.go b/content/2013/bestpractices/shortercode6.go
deleted file mode 100644
index 596224c..0000000
--- a/content/2013/bestpractices/shortercode6.go
+++ /dev/null
@@ -1,66 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bytes"
-	"encoding/binary"
-	"io"
-	"log"
-	"os"
-)
-
-type Gopher struct {
-	Name     string
-	AgeYears int
-}
-
-type binWriter struct {
-	w   io.Writer
-	buf bytes.Buffer // HL
-	err error
-}
-
-// Write writes a value to the provided writer in little endian form.
-func (w *binWriter) Write(v interface{}) {
-	if w.err != nil {
-		return
-	}
-	switch x := v.(type) {
-	case string:
-		w.Write(int32(len(x)))
-		w.Write([]byte(x))
-	case int:
-		w.Write(int64(x))
-	default:
-		w.err = binary.Write(&w.buf, binary.LittleEndian, v) // HL
-	}
-}
-
-// Flush writes any pending values into the writer if no error has occurred.
-// If an error has occurred, earlier or with a write by Flush, the error is
-// returned.
-func (w *binWriter) Flush() (int64, error) {
-	if w.err != nil {
-		return 0, w.err
-	}
-	return w.buf.WriteTo(w.w)
-}
-
-func (g *Gopher) WriteTo(w io.Writer) (int64, error) {
-	bw := &binWriter{w: w}
-	bw.Write(g.Name)
-	bw.Write(g.AgeYears)
-	return bw.Flush() // HL
-}
-
-func main() {
-	g := &Gopher{
-		Name:     "Gophertiti",
-		AgeYears: 3382,
-	}
-
-	if _, err := g.WriteTo(os.Stdout); err != nil {
-		log.Printf("DumpBinary: %v\n", err)
-	}
-}
diff --git a/content/2013/distsys.slide b/content/2013/distsys.slide
deleted file mode 100644
index dc1acd4..0000000
--- a/content/2013/distsys.slide
+++ /dev/null
@@ -1,446 +0,0 @@
-Go, for Distributed Systems
-
-Russ Cox
-Google
-
-* About the Talk
-
-I gave variants of this talk three times in 2013, once at SOSP's Programming Languages and Operating Systems (PLOS) workshop, once at MIT Lincoln Lab's annual Software Engineering Symposium, and once at Twitter's Cambridge, Massachusetts office.
-
-The talk assumes an audience familiar with the basic problems of building distributed systems. It presents Go's approach to solving some of those problems.
-
-* Go
-
-Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
-
-* History
-
-Design began in late 2007.
-
-- Robert Griesemer, Rob Pike, Ken Thompson
-- Ian Lance Taylor, Russ Cox
-
-Became open source in November 2009.
-
-Developed entirely in the open; very active community.
-Language stable as of Go 1, early 2012.
-
-* Motivation
-
-Started as an answer to software problems at Google:
-
-- multicore processors
-- networked systems
-- massive computation clusters
-- scale: 10⁷ lines of code
-- scale: 10³ programmers
-- scale: 10⁶⁺ machines (design point)
-
-* Go
-
-A simple but powerful and fun language.
-
-- start with C, remove complex parts
-- add interfaces, concurrency
-- also: garbage collection, closures, reflection, strings, ...
-
-For more background on design:
-
-- [[http://commandcenter.blogspot.com/2012/06/less-is-exponentially-more.html][Less is exponentially more]]
-- [[http://talks.golang.org/2012/splash.article][Go at Google: Language Design in the Service of Software Engineering]]
-
-* This Talk
-
-Engineering
-
-Interfaces
-
-Concurrency
-
-* Engineering
-
-* Engineering: Imports
-
-.play distsys/hello0.go
-
-import "fmt" guaranteed to read exactly one file.
-
-* Engineering: Imports
-
-	$ go get github.com/golang/glog
-
-.play distsys/hello1.go
-
-Still guaranteed to read exactly one file.
-
-Import name space is decentralized.
-
-* Engineering: Program Rewrites
-
-	$ gofmt -r 'glog.Infof -> glog.Errorf' hello1.go
-	package main
-	
-	import (
-		"flag"
-		"github.com/golang/glog"
-	)
-	
-	func main() {
-		flag.Set("logtostderr", "true")
-		glog.Errorf("hello, world")
-	}
-	$ 
-
-* Engineering: Garbage Collection
-
-In C and C++, too much programming _and_ API design is about memory management.
-
-Go has garbage collection, only.
-
-Fundamental for interfaces: memory management details do not bifurcate otherwise-similar APIs.
-
-Fundamental for concurrency: too hard to track ownership otherwise.
-
-Of course, adds cost, latency, complexity in run time system.
-
-* Engineering: Garbage Collection
-
-Experience with Java: Uncontrollable cost, too much tuning.
-
-Go lets you limit allocation by controlling memory layout.
-
-Examples:
-
-	type Ring struct {
-		R, W int
-		Data [512]byte
-	}
-
-	type Point struct {
-		X, Y int
-	}
-	
-	type Rectangle struct {
-		Min, Max Point
-	}
-
-* Engineering: Garbage Collection
-
-Garbage collector implementation remains an active area of work and research.
-
-Design decision: Interior pointers are allowed, as are foreign pointers.
-
-- Cannot reuse Java GC algorithms directly.
-- But gives _programmer_ more control over allocation.
-
-Current design: parallel mark-and-sweep.
-With care to use memory wisely, works well in production.
-
-* Interfaces
-
-* Interfaces
-
-An interface defines a set of methods.
-
-	package io
-	
-	type Writer interface {
-		Write(data []byte) (n int, err error)
-	}
-
-* Interfaces
-
-A type implements the interface by implementing the methods.
-
-	package bytes
-	
-	type Buffer struct {
-		...
-	}
-	
-	func (b *Buffer) Write(data []byte) (n int, err error) {
-		...
-	}
-
-* Interfaces
-
-An implementation of an interface can be assigned to a variable of that interface type.
-
-	package fmt
-	
-	func Fprintf(w io.Writer, format string, args ...interface{})
-
-* Interfaces
-
-.play distsys/writebuffer.go /^func.main/+1,/^}/-1
-
-* Interfaces
-
-Reader is the obvious counterpart.
-
-	package io
-
-	type Reader interface {
-		Read(data []byte) (n int, err error)
-	}
-
-	func Copy(dst Writer, src Reader) (n int64, err error)
-
-* Interfaces
-
-.play distsys/writebuffer2.go /^func.main/+1,/^}/-1
-
-* Interfaces
-
-Reader and Writer turn out to be very useful.
-
-Adapters
-
-	package io
-	
-	func MultiWriter(writers ...Writer) Writer
-	    MultiWriter creates a writer that duplicates its writes to all the
-	    provided writers, similar to the Unix tee(1) command.
-
-Chaining
-
-	package gzip // compress/gzip
-	
-	func NewWriter(w io.Writer) *Writer
-
-Also: buffered writers, encrypted writers, limited writers, HTTP responses.
-
-* Interfaces
-
-Networking:
-
-	package net
-
-	type Conn interface {
-		Read(b []byte) (n int, err error)
-		Write(b []byte) (n int, err error)
-		Close() error
-	
-		LocalAddr() Addr
-		RemoteAddr() Addr
-	
-		SetDeadline(t time.Time) error
-		SetReadDeadline(t time.Time) error
-		SetWriteDeadline(t time.Time) error
-	}
-
-	func Dial(network, address string) (Conn, error)
-
-* Interfaces
-
-Networking example:
-
-.play distsys/finger.go /^func.finger/+1,/^}/-1
-
-* Interfaces
-
-Networking client as adapter function:
-
-	package smtp
-	
-	func NewClient(conn net.Conn, host string) (*Client, error)
-
-Other implementations of net.Conn: testing, SSL, ...
-
-* Interface Lessons
-
-Key advantages:
-
-- no dependence between interface and implementation
-- expressive composition
-- easy testing
-- avoids overdesign, rigid hierarchy of inheritance-based OO
-
-The source of all generality in the Go language.
-
-* Concurrency
-
-* Concurrency vs Parallelism
-
-Concurrency is about dealing with lots of things at once.
-
-Parallelism is about doing lots of things at once.
-
-Concurrency is about structure, parallelism is about execution.
-
-Concurrency provides a way to structure a solution to solve a problem that may be parallelizable (or not).
-
-* Concurrency vs Parallelism
-
-Concurrent: mouse, keyboard, display, and disk drivers in operating system.
-
-Parallel: vector dot product, matrix multiply.
-
-Concurrency can enable parallelism but is useful on its own: modern programs must deal with many things at once.
-
-* Concurrency
-
-Go provides two important concepts:
-
-A goroutine is a thread of control within the program, with its own local variables and stack. Cheap, easy to create.
-
-A channel carries typed messages between goroutines.
-
-* Concurrency
-
-.play distsys/hello.go
-
-* Concurrency: CSP
-
-Channels adopted from Hoare's Communicating Sequential Processes.
-
-- Orthogonal to rest of language
-- Can keep familiar model for computation
-- Focus on _composition_ of regular code
-
-Go _enables_ simple, safe concurrent programming.
-It doesn't _forbid_ bad programming.
-
-Caveat: not purely memory safe; sharing is legal.
-Passing a pointer over a channel is idiomatic.
-
-Experience shows this is practical.
-
-* Concurrency
-
-Sequential network address resolution, given a work list:
-
-.play distsys/addr1.go /lookup/+1,/^}/-1
-
-* Concurrency
-
-Parallel network address resolution, given a work list:
-
-.play distsys/addr2.go /lookup/+1,/^}/-1
-
-* Concurrency
-
-Aside: can abstract this pattern.
-
-.play distsys/addr3.go /lookup/+1,/^}/-1
-
-* Concurrency
-
-Aside: can abstract this pattern further (hypothetical):
-
-	var par ParallelDo
-
-	for _, w := range worklist {
-		w := w // copy iteration variable
-		par.Do(func() {
-			w.addrs, w.err = net.LookupHost(w.host)			
-		})
-	)
-
-	par.Wait()
-
-But it's still useful to be able to construct alternate patterns.
-
-* Concurrency
-
-Bounded parallelism:
-
-.play distsys/addr4.go /lookup/+1,/^}/-1
-
-* Concurrency
-
-Bounded parallelism, 2:
-
-.play distsys/addr5.go /lookup/+1,/^}/-1
-
-* Concurrency:
-
-Aside: can abstract (still hypothetical):
-
-	par.Limit(10)
-
-	for _, w := range work {
-		w := w // copy iteration variable
-		par.Do(func() {
-			w.addrs, w.err = net.LookupHost(w.host)			
-		})
-	)
-
-	par.Wait()
-
-* Concurrency
-
-Example: replicated storage with read and write quorums.
-
-	const (
-		F = 2
-		N = 5 // >= 2F + 1
-		ReadQuorum = F + 1
-		WriteQuorum = N - F
-	)
-
-* Concurrency
-
-Replicated write, returning after enough writes have succeeded.
-
-.play distsys/replwrite.go /^func.Write/+2,/if.delay/-2/
-
-* Concurrency
-
-Replicated read, returning after enough reads have been gathered.
-
-.play distsys/replread.go /^func.Read/+2,/if.delay/-2/
-
-* Concurrency
-
-Select allows choosing between multiple channel operations.
-
-Example, chat program:
-
-	for {
-		select {
-		case event := <-ui:
-			// process user interface event
-		case msg := <-server:
-			// process server message
-		case t := <-tick:
-			// time has elapsed
-		}
-	}
-
-* Concurrency Lessons
-
-- Key feature for building distributed systems.
-- Supported by closures and garbage collection.
-- Message passing inside program, also outside program.
-
-Most important:
-
-- Do not communicate by sharing memory.
-- Instead, share memory by communicating.
-
-* Production Use
-
-vitess/vtocc, MySQL query balancer
-
-- serves all of YouTube's MySQL queries
-- months of crash-free and leak-free operation
-
-groupcache
-
-- distributed in-memory immutable key-value cache
-- used by (parts of) dl.google.com, Blogger, Google Code, Google Fiber, production monitoring systems
-
-* More information and related talks
-
-http://golang.org/
-
-rsc@golang.org
-
-Videos:
-
-- Concurrency is not parallelism [[http://vimeo.com/49718712][video]]
-- Go concurrency patterns [[http://www.youtube.com/watch?v=f6kdp27TYZs][video]]
-- Advanced Go concurrency patterns [[http://www.youtube.com/watch?v=QDDwwePbDtw][video]]
-
-Questions?
diff --git a/content/2013/distsys/addr1.go b/content/2013/distsys/addr1.go
deleted file mode 100644
index e8cea40..0000000
--- a/content/2013/distsys/addr1.go
+++ /dev/null
@@ -1,83 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func lookup() {
-	for _, w := range worklist {
-		w.addrs, w.err = LookupHost(w.host)
-	}
-}
-
-func main() {
-	rand.Seed(time.Now().UnixNano())
-
-	t0 := time.Now()
-	lookup()
-
-	fmt.Printf("\n")
-	for _, w := range worklist {
-		if w.err != nil {
-			fmt.Printf("%s: error: %v\n", w.host, w.err)
-			continue
-		}
-		fmt.Printf("%s: %v\n", w.host, w.addrs)
-	}
-	fmt.Printf("total lookup time: %.3f seconds\n", time.Since(t0).Seconds())
-}
-
-var worklist = []*Work{
-	{host: "fast.com"},
-	{host: "slow.com"},
-	{host: "fast.missing.com"},
-	{host: "slow.missing.com"},
-}
-
-type Work struct {
-	host  string
-	addrs []string
-	err   error
-}
-
-func LookupHost(name string) (addrs []string, err error) {
-	t0 := time.Now()
-	defer func() {
-		fmt.Printf("lookup %s: %.3f seconds\n", name, time.Since(t0).Seconds())
-	}()
-	h := hosts[name]
-	if h == nil {
-		h = failure
-	}
-	return h(name)
-}
-
-type resolver func(string) ([]string, error)
-
-var hosts = map[string]resolver{
-	"fast.com":         delay(10*time.Millisecond, fixedAddrs("10.0.0.1")),
-	"slow.com":         delay(2*time.Second, fixedAddrs("10.0.0.4")),
-	"fast.missing.com": delay(10*time.Millisecond, failure),
-	"slow.missing.com": delay(2*time.Second, failure),
-}
-
-func fixedAddrs(addrs ...string) resolver {
-	return func(string) ([]string, error) {
-		return addrs, nil
-	}
-}
-
-func delay(d time.Duration, f resolver) resolver {
-	return func(name string) ([]string, error) {
-		time.Sleep(d/2 + time.Duration(rand.Int63n(int64(d/2))))
-		return f(name)
-	}
-}
-
-func failure(name string) ([]string, error) {
-	return nil, fmt.Errorf("unknown host %v", name)
-}
diff --git a/content/2013/distsys/addr2.go b/content/2013/distsys/addr2.go
deleted file mode 100644
index 272e539..0000000
--- a/content/2013/distsys/addr2.go
+++ /dev/null
@@ -1,92 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func lookup() {
-	done := make(chan bool, len(worklist))
-
-	for _, w := range worklist {
-		go func(w *Work) {
-			w.addrs, w.err = LookupHost(w.host)
-			done <- true
-		}(w)
-	}
-
-	for i := 0; i < len(worklist); i++ {
-		<-done
-	}
-}
-
-func main() {
-	rand.Seed(time.Now().UnixNano())
-
-	t0 := time.Now()
-	lookup()
-
-	fmt.Printf("\n")
-	for _, w := range worklist {
-		if w.err != nil {
-			fmt.Printf("%s: error: %v\n", w.host, w.err)
-			continue
-		}
-		fmt.Printf("%s: %v\n", w.host, w.addrs)
-	}
-	fmt.Printf("total lookup time: %.3f seconds\n", time.Since(t0).Seconds())
-}
-
-var worklist = []*Work{
-	{host: "fast.com"},
-	{host: "slow.com"},
-	{host: "fast.missing.com"},
-	{host: "slow.missing.com"},
-}
-
-type Work struct {
-	host  string
-	addrs []string
-	err   error
-}
-
-func LookupHost(name string) (addrs []string, err error) {
-	t0 := time.Now()
-	defer func() {
-		fmt.Printf("lookup %s: %.3f seconds\n", name, time.Since(t0).Seconds())
-	}()
-	h := hosts[name]
-	if h == nil {
-		h = failure
-	}
-	return h(name)
-}
-
-type resolver func(string) ([]string, error)
-
-var hosts = map[string]resolver{
-	"fast.com":         delay(10*time.Millisecond, fixedAddrs("10.0.0.1")),
-	"slow.com":         delay(2*time.Second, fixedAddrs("10.0.0.4")),
-	"fast.missing.com": delay(10*time.Millisecond, failure),
-	"slow.missing.com": delay(2*time.Second, failure),
-}
-
-func fixedAddrs(addrs ...string) resolver {
-	return func(string) ([]string, error) {
-		return addrs, nil
-	}
-}
-
-func delay(d time.Duration, f resolver) resolver {
-	return func(name string) ([]string, error) {
-		time.Sleep(d/2 + time.Duration(rand.Int63n(int64(d/2))))
-		return f(name)
-	}
-}
-
-func failure(name string) ([]string, error) {
-	return nil, fmt.Errorf("unknown host %v", name)
-}
diff --git a/content/2013/distsys/addr3.go b/content/2013/distsys/addr3.go
deleted file mode 100644
index 4dfc090..0000000
--- a/content/2013/distsys/addr3.go
+++ /dev/null
@@ -1,92 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"sync"
-	"time"
-)
-
-func lookup() {
-	var group sync.WaitGroup
-
-	for _, w := range worklist {
-		group.Add(1)
-		go func(w *Work) {
-			w.addrs, w.err = LookupHost(w.host)
-			group.Done()
-		}(w)
-	}
-
-	group.Wait()
-}
-
-func main() {
-	rand.Seed(time.Now().UnixNano())
-
-	t0 := time.Now()
-	lookup()
-
-	fmt.Printf("\n")
-	for _, w := range worklist {
-		if w.err != nil {
-			fmt.Printf("%s: error: %v\n", w.host, w.err)
-			continue
-		}
-		fmt.Printf("%s: %v\n", w.host, w.addrs)
-	}
-	fmt.Printf("total lookup time: %.3f seconds\n", time.Since(t0).Seconds())
-}
-
-var worklist = []*Work{
-	{host: "fast.com"},
-	{host: "slow.com"},
-	{host: "fast.missing.com"},
-	{host: "slow.missing.com"},
-}
-
-type Work struct {
-	host  string
-	addrs []string
-	err   error
-}
-
-func LookupHost(name string) (addrs []string, err error) {
-	t0 := time.Now()
-	defer func() {
-		fmt.Printf("lookup %s: %.3f seconds\n", name, time.Since(t0).Seconds())
-	}()
-	h := hosts[name]
-	if h == nil {
-		h = failure
-	}
-	return h(name)
-}
-
-type resolver func(string) ([]string, error)
-
-var hosts = map[string]resolver{
-	"fast.com":         delay(10*time.Millisecond, fixedAddrs("10.0.0.1")),
-	"slow.com":         delay(2*time.Second, fixedAddrs("10.0.0.4")),
-	"fast.missing.com": delay(10*time.Millisecond, failure),
-	"slow.missing.com": delay(2*time.Second, failure),
-}
-
-func fixedAddrs(addrs ...string) resolver {
-	return func(string) ([]string, error) {
-		return addrs, nil
-	}
-}
-
-func delay(d time.Duration, f resolver) resolver {
-	return func(name string) ([]string, error) {
-		time.Sleep(d/2 + time.Duration(rand.Int63n(int64(d/2))))
-		return f(name)
-	}
-}
-
-func failure(name string) ([]string, error) {
-	return nil, fmt.Errorf("unknown host %v", name)
-}
diff --git a/content/2013/distsys/addr4.go b/content/2013/distsys/addr4.go
deleted file mode 100644
index 76e4665..0000000
--- a/content/2013/distsys/addr4.go
+++ /dev/null
@@ -1,97 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func lookup() {
-	const max = 2
-
-	done := make(chan bool, len(worklist))
-	limit := make(chan bool, max)
-
-	for _, w := range worklist {
-		go func(w *Work) {
-			limit <- true
-			w.addrs, w.err = LookupHost(w.host)
-			<-limit
-			done <- true
-		}(w)
-	}
-
-	for i := 0; i < len(worklist); i++ {
-		<-done
-	}
-}
-
-func main() {
-	rand.Seed(time.Now().UnixNano())
-
-	t0 := time.Now()
-	lookup()
-
-	fmt.Printf("\n")
-	for _, w := range worklist {
-		if w.err != nil {
-			fmt.Printf("%s: error: %v\n", w.host, w.err)
-			continue
-		}
-		fmt.Printf("%s: %v\n", w.host, w.addrs)
-	}
-	fmt.Printf("total lookup time: %.3f seconds\n", time.Since(t0).Seconds())
-}
-
-var worklist = []*Work{
-	{host: "fast.com"},
-	{host: "slow.com"},
-	{host: "fast.missing.com"},
-	{host: "slow.missing.com"},
-}
-
-type Work struct {
-	host  string
-	addrs []string
-	err   error
-}
-
-func LookupHost(name string) (addrs []string, err error) {
-	t0 := time.Now()
-	defer func() {
-		fmt.Printf("lookup %s: %.3f seconds\n", name, time.Since(t0).Seconds())
-	}()
-	h := hosts[name]
-	if h == nil {
-		h = failure
-	}
-	return h(name)
-}
-
-type resolver func(string) ([]string, error)
-
-var hosts = map[string]resolver{
-	"fast.com":         delay(10*time.Millisecond, fixedAddrs("10.0.0.1")),
-	"slow.com":         delay(2*time.Second, fixedAddrs("10.0.0.4")),
-	"fast.missing.com": delay(10*time.Millisecond, failure),
-	"slow.missing.com": delay(2*time.Second, failure),
-}
-
-func fixedAddrs(addrs ...string) resolver {
-	return func(string) ([]string, error) {
-		return addrs, nil
-	}
-}
-
-func delay(d time.Duration, f resolver) resolver {
-	return func(name string) ([]string, error) {
-		time.Sleep(d/2 + time.Duration(rand.Int63n(int64(d/2))))
-		return f(name)
-	}
-}
-
-func failure(name string) ([]string, error) {
-	return nil, fmt.Errorf("unknown host %v", name)
-}
diff --git a/content/2013/distsys/addr5.go b/content/2013/distsys/addr5.go
deleted file mode 100644
index 38b9e22..0000000
--- a/content/2013/distsys/addr5.go
+++ /dev/null
@@ -1,98 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func lookup() {
-	const max = 2
-
-	n := 0
-	done := make(chan bool, max)
-
-	for _, w := range worklist {
-		if n++; n > max {
-			<-done
-			n--
-		}
-		go func(w *Work) {
-			w.addrs, w.err = LookupHost(w.host)
-			done <- true
-		}(w)
-	}
-	for ; n > 0; n-- {
-		<-done
-	}
-}
-
-func main() {
-	rand.Seed(time.Now().UnixNano())
-
-	t0 := time.Now()
-	lookup()
-
-	fmt.Printf("\n")
-	for _, w := range worklist {
-		if w.err != nil {
-			fmt.Printf("%s: error: %v\n", w.host, w.err)
-			continue
-		}
-		fmt.Printf("%s: %v\n", w.host, w.addrs)
-	}
-	fmt.Printf("total lookup time: %.3f seconds\n", time.Since(t0).Seconds())
-}
-
-var worklist = []*Work{
-	{host: "fast.com"},
-	{host: "slow.com"},
-	{host: "fast.missing.com"},
-	{host: "slow.missing.com"},
-}
-
-type Work struct {
-	host  string
-	addrs []string
-	err   error
-}
-
-func LookupHost(name string) (addrs []string, err error) {
-	t0 := time.Now()
-	defer func() {
-		fmt.Printf("lookup %s: %.3f seconds\n", name, time.Since(t0).Seconds())
-	}()
-	h := hosts[name]
-	if h == nil {
-		h = failure
-	}
-	return h(name)
-}
-
-type resolver func(string) ([]string, error)
-
-var hosts = map[string]resolver{
-	"fast.com":         delay(10*time.Millisecond, fixedAddrs("10.0.0.1")),
-	"slow.com":         delay(2*time.Second, fixedAddrs("10.0.0.4")),
-	"fast.missing.com": delay(10*time.Millisecond, failure),
-	"slow.missing.com": delay(2*time.Second, failure),
-}
-
-func fixedAddrs(addrs ...string) resolver {
-	return func(string) ([]string, error) {
-		return addrs, nil
-	}
-}
-
-func delay(d time.Duration, f resolver) resolver {
-	return func(name string) ([]string, error) {
-		time.Sleep(d/2 + time.Duration(rand.Int63n(int64(d/2))))
-		return f(name)
-	}
-}
-
-func failure(name string) ([]string, error) {
-	return nil, fmt.Errorf("unknown host %v", name)
-}
diff --git a/content/2013/distsys/finger.go b/content/2013/distsys/finger.go
deleted file mode 100644
index a9677c0..0000000
--- a/content/2013/distsys/finger.go
+++ /dev/null
@@ -1,57 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bufio"
-	"io"
-	"log"
-	"net"
-	"os"
-	"os/exec"
-)
-
-func main() {
-	if len(os.Args) > 1 && os.Args[1] == "serve" {
-		serve()
-	}
-	finger()
-}
-
-func finger() {
-	c, err := net.Dial("tcp", "localhost:finger")
-	if err != nil {
-		log.Fatal(err)
-	}
-	io.WriteString(c, "rsc\n")
-	io.Copy(os.Stdout, c)
-}
-
-func serve() {
-	l, err := net.Listen("tcp", "localhost:finger")
-	if err != nil {
-		log.Fatal(err)
-	}
-	for {
-		c, err := l.Accept()
-		if err != nil {
-			log.Fatal(err)
-		}
-		go serveConn(c)
-	}
-}
-
-func serveConn(c net.Conn) {
-	defer c.Close()
-
-	b := bufio.NewReader(c)
-	l, err := b.ReadString('\n')
-	if err != nil {
-		return
-	}
-
-	cmd := exec.Command("finger", l[:len(l)-1])
-	cmd.Stdout = c
-	cmd.Stderr = c
-	cmd.Run()
-}
diff --git a/content/2013/distsys/hello.go b/content/2013/distsys/hello.go
deleted file mode 100644
index 32efb51..0000000
--- a/content/2013/distsys/hello.go
+++ /dev/null
@@ -1,14 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	c := make(chan string)
-	go func() {
-		c <- "Hello"
-		c <- "World"
-	}()
-	fmt.Println(<-c, <-c)
-}
diff --git a/content/2013/distsys/hello0.go b/content/2013/distsys/hello0.go
deleted file mode 100644
index 270d531..0000000
--- a/content/2013/distsys/hello0.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Printf("hello, world\n")
-}
diff --git a/content/2013/distsys/hello1.go b/content/2013/distsys/hello1.go
deleted file mode 100644
index b423278..0000000
--- a/content/2013/distsys/hello1.go
+++ /dev/null
@@ -1,14 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"flag"
-
-	"github.com/golang/glog"
-)
-
-func main() {
-	flag.Set("logtostderr", "true")
-	glog.Infof("hello, world")
-}
diff --git a/content/2013/distsys/replread.go b/content/2013/distsys/replread.go
deleted file mode 100644
index 8c301fe..0000000
--- a/content/2013/distsys/replread.go
+++ /dev/null
@@ -1,154 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math"
-	"math/rand"
-	"sync"
-	"time"
-)
-
-const (
-	F           = 2
-	N           = 5
-	ReadQuorum  = F + 1
-	WriteQuorum = N - F
-)
-
-var delay = false
-
-type Server struct {
-	mu   sync.Mutex
-	data map[string]*Data
-}
-
-type Data struct {
-	Key   string
-	Value string
-	Time  time.Time
-}
-
-func (srv *Server) Delay() {
-	if delay == false {
-		return
-	}
-	time.Sleep(time.Duration(math.Abs(rand.NormFloat64()*1e9 + 0.1e9)))
-}
-
-func (srv *Server) Write(req *Data) {
-	t0 := time.Now()
-	defer func() {
-		if delay {
-			fmt.Printf("write took %.3f seconds\n", time.Since(t0).Seconds())
-		}
-	}()
-
-	srv.mu.Lock()
-	defer srv.mu.Unlock()
-	srv.Delay()
-
-	if srv.data == nil {
-		srv.data = make(map[string]*Data)
-	}
-	if d := srv.data[req.Key]; d == nil || d.Time.Before(req.Time) {
-		srv.data[req.Key] = req
-	}
-}
-
-func (srv *Server) Read(key string) *Data {
-	t0 := time.Now()
-	defer func() {
-		fmt.Printf("read took %.3f seconds\n", time.Since(t0).Seconds())
-	}()
-
-	srv.mu.Lock()
-	defer srv.mu.Unlock()
-	srv.Delay()
-
-	return srv.data[key]
-}
-
-func better(x, y *Data) *Data {
-	if x == nil {
-		return y
-	}
-	if y == nil || y.Time.Before(x.Time) {
-		return x
-	}
-	return y
-}
-
-func Write(req *Data) {
-	t0 := time.Now()
-	done := make(chan bool, len(servers))
-
-	for _, srv := range servers {
-		go func(srv *Server) {
-			srv.Write(req)
-			done <- true
-		}(srv)
-	}
-
-	for n := 0; n < WriteQuorum; n++ {
-		<-done
-	}
-
-	if delay {
-		fmt.Printf("write committed at %.3f seconds\n", time.Since(t0).Seconds())
-	}
-	for n := WriteQuorum; n < N; n++ {
-		<-done
-	}
-	if delay {
-		fmt.Printf("all replicas written at %.3f seconds\n", time.Since(t0).Seconds())
-	}
-}
-
-func Read(key string) {
-	t0 := time.Now()
-	replies := make(chan *Data, len(servers))
-
-	for _, srv := range servers {
-		go func(srv *Server) {
-			replies <- srv.Read(key)
-		}(srv)
-	}
-
-	var d *Data
-	for n := 0; n < ReadQuorum; n++ {
-		d = better(d, <-replies)
-	}
-
-	if delay {
-		fmt.Printf("read committed at %.3f seconds\n", time.Since(t0).Seconds())
-	}
-
-	for n := ReadQuorum; n < N; n++ {
-		<-replies
-	}
-	if delay {
-		fmt.Printf("all replicas read at %.3f seconds\n", time.Since(t0).Seconds())
-	}
-}
-
-var servers []*Server
-
-func main() {
-	servers = make([]*Server, N)
-	for i := range servers {
-		servers[i] = new(Server)
-	}
-
-	rand.Seed(time.Now().UnixNano())
-
-	delay = false
-	Write(&Data{"hello", "there", time.Now()})
-	time.Sleep(1 * time.Millisecond)
-
-	Write(&Data{"hello", "world", time.Now()})
-
-	delay = true
-	Read("hello")
-}
diff --git a/content/2013/distsys/replwrite.go b/content/2013/distsys/replwrite.go
deleted file mode 100644
index c7fa03c..0000000
--- a/content/2013/distsys/replwrite.go
+++ /dev/null
@@ -1,154 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math"
-	"math/rand"
-	"sync"
-	"time"
-)
-
-const (
-	F           = 2
-	N           = 5
-	ReadQuorum  = F + 1
-	WriteQuorum = N - F
-)
-
-var delay = false
-
-type Server struct {
-	mu   sync.Mutex
-	data map[string]*Data
-}
-
-type Data struct {
-	Key   string
-	Value string
-	Time  time.Time
-}
-
-func (srv *Server) Delay() {
-	if delay == false {
-		return
-	}
-	time.Sleep(time.Duration(math.Abs(rand.NormFloat64()*1e9 + 0.1e9)))
-}
-
-func (srv *Server) Write(req *Data) {
-	t0 := time.Now()
-	defer func() {
-		if delay {
-			fmt.Printf("write took %.3f seconds\n", time.Since(t0).Seconds())
-		}
-	}()
-
-	srv.mu.Lock()
-	defer srv.mu.Unlock()
-	srv.Delay()
-
-	if srv.data == nil {
-		srv.data = make(map[string]*Data)
-	}
-	if d := srv.data[req.Key]; d == nil || d.Time.Before(req.Time) {
-		srv.data[req.Key] = req
-	}
-}
-
-func (srv *Server) Read(key string) *Data {
-	t0 := time.Now()
-	defer func() {
-		fmt.Printf("read took %.3f seconds\n", time.Since(t0).Seconds())
-	}()
-
-	srv.mu.Lock()
-	defer srv.mu.Unlock()
-	srv.Delay()
-
-	return srv.data[key]
-}
-
-func better(x, y *Data) *Data {
-	if x == nil {
-		return y
-	}
-	if y == nil || y.Time.Before(x.Time) {
-		return x
-	}
-	return y
-}
-
-func Write(req *Data) {
-	t0 := time.Now()
-	done := make(chan bool, len(servers))
-
-	for _, srv := range servers {
-		go func(srv *Server) {
-			srv.Write(req)
-			done <- true
-		}(srv)
-	}
-
-	for n := 0; n < WriteQuorum; n++ {
-		<-done
-	}
-
-	if delay {
-		fmt.Printf("write committed at %.3f seconds\n", time.Since(t0).Seconds())
-	}
-	for n := WriteQuorum; n < N; n++ {
-		<-done
-	}
-	if delay {
-		fmt.Printf("all replicas written at %.3f seconds\n", time.Since(t0).Seconds())
-	}
-}
-
-func Read(key string) {
-	t0 := time.Now()
-	replies := make(chan *Data, len(servers))
-
-	for _, srv := range servers {
-		go func(srv *Server) {
-			replies <- srv.Read(key)
-		}(srv)
-	}
-
-	var d *Data
-	for n := 0; n < ReadQuorum; n++ {
-		d = better(d, <-replies)
-	}
-
-	if delay {
-		fmt.Printf("read committed at %.3f seconds\n", time.Since(t0).Seconds())
-	}
-
-	for n := ReadQuorum; n < N; n++ {
-		<-replies
-	}
-	if delay {
-		fmt.Printf("all replicas read at %.3f seconds\n", time.Since(t0).Seconds())
-	}
-}
-
-var servers []*Server
-
-func main() {
-	servers = make([]*Server, N)
-	for i := range servers {
-		servers[i] = new(Server)
-	}
-
-	rand.Seed(time.Now().UnixNano())
-
-	delay = false
-	Write(&Data{"hello", "there", time.Now()})
-	time.Sleep(1 * time.Millisecond)
-
-	delay = true
-	Write(&Data{"hello", "world", time.Now()})
-
-	//	Read("hello")
-}
diff --git a/content/2013/distsys/writebuffer.go b/content/2013/distsys/writebuffer.go
deleted file mode 100644
index 94d75c4..0000000
--- a/content/2013/distsys/writebuffer.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bytes"
-	"fmt"
-	"io"
-	"os"
-)
-
-var _ = io.Copy
-
-func main() {
-	b := new(bytes.Buffer)
-	var w io.Writer
-	w = b
-	fmt.Fprintf(w, "hello, %s\n", "world")
-	os.Stdout.Write(b.Bytes())
-}
diff --git a/content/2013/distsys/writebuffer2.go b/content/2013/distsys/writebuffer2.go
deleted file mode 100644
index 5977c7f..0000000
--- a/content/2013/distsys/writebuffer2.go
+++ /dev/null
@@ -1,16 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bytes"
-	"fmt"
-	"io"
-	"os"
-)
-
-func main() {
-	b := new(bytes.Buffer)
-	fmt.Fprintf(b, "hello, %s\n", "world")
-	io.Copy(os.Stdout, b)
-}
diff --git a/content/2013/go-sreops.slide b/content/2013/go-sreops.slide
deleted file mode 100644
index 09d045f..0000000
--- a/content/2013/go-sreops.slide
+++ /dev/null
@@ -1,175 +0,0 @@
-Go Language for Ops and Site Reliability Engineering
-
-Gustavo Franco
-Site Reliability Engineer, Google
-http://developers.google.com
-
-* Operations vs Site Reliability Engineering
-
-Operations
-
-- Interrupt driven
-- Repetitive
-- Hard to scale
-
-Site Reliability Engineering
-
-- Project oriented
-- Values automation
-- Focus on scale
-
-* Go Programming Language
-
-"Go is an open source programming environment that makes it easy to build simple,
-reliable, and efficient software." -- golang.org
-
-* Hello OSCON
-
-.play go-sreops/hello.go
-
-  $ go run hello.go -help
-  Usage of /tmp/go-build212699297/command-line-arguments/_obj/a.out:
-    -message="Hello, OSCON!": what to say
-  exit status 2
-
-* Programming for SRE and Ops - State of the Union
-
-- "I will just write a small throw away script for that"
-
-- "I don't want to learn a new language"
-
-- "Language X is awesome and solves everything"
-
-* Programming for SRE and Ops - Where do we go?
-
-- One liners are here to stay
-
-- Throw away scripts too so let's make them better
-
-- Think of languages you can read as a toolkit
-
-- Get very good at writing in just a few of them
-
-* Agenda
-
-- Why Go for Ops and SRE?
-
-- Go features
-
-- Go in production at Google
-
-- Go in production outside Google
-
-- Q&A
-
-* Why Go for Ops and SRE? Simple, reliable and efficient
-
-- Open Source
-
-- One binary to rule them all
-
-- No need for a Makefile, import defined dependencies
-
-- Very fast compilation
-
-* Why Go for Ops and SRE? Simple, reliable and efficient
-
-- Garbage collection
-
-- Readability is easy to achieve via gofmt
-
-- RE2 regular expressions
-
-- Testing, benchmarking and profiling built-in
-
-* Why Go for Ops and SRE? Standard library examples
-
-.link http://golang.org/pkg/fmt fmt
-
-.link http://golang.org/pkg/io/ioutil io/ioutil
-
-.link http://golang.org/pkg/net/http net/http
-
-.link http://golang.org/pkg/os/exec os/exec
-
-.link http://golang.org/pkg/path/filepath path/filepath
-
-.link http://golang.org/pkg/regexp regexp
-
-.link http://golang.org/pkg/strings strings
-
-.link http://golang.org/pkg/text/tabwriter text/tabwriter
-
-.link http://golang.org/pkg/time time
-
-[[godoc.org]] to your needs beyond the standard library
- 
-* Why Go for Ops and SRE? Concurrency via Goroutines
-
-.play go-sreops/goroutines.go
-
-* Why Go for Ops and SRE? Concurrency and Channels
-
-.play go-sreops/goroutines-channels.go /START/,/STOP/
-
-* Go features
-
-- Hashes or dicts? Maps
-
-- Arrays? Yes, but you will probably want to use Slices instead
-
-- Modules are called Packages
-
-- Structs
-
-- Methods
-
-- Pointers without arithmetic operations
-
-Go grows with you - see interfaces and reflection
-
-* Go in production at Google
-
-dl.google.com - OSCON talk by Brad Fitzpatrick Friday, 10:00am
-
-.link http://code.google.com/p/vitess Vitess
-
- vtocc: front-end to MySQL that improves scalability
-
-.link http://code.google.com/p/emtail Emtail
-
- Whitebox monitoring data from logs to a timeseries database
-
-.link http://code.google.com/p/go-commander Go Commander
-
- Command line library for Go
-
-Machine lifecycle management
-
-via App Engine
-
-* Go in production outside Google
-
-.link http://labix.org/pipe Pipe
-
- Unix-like pipelines for Go
-
-.link http://www.gocircuit.org Gocircuit
-
- Inter host Goroutines
-
-.link http://juju.ubuntu.com Juju 
-
- Service orchestration management tool
-
-.link http://www.docker.io Docker
-
- Containers management tool
-
-.link http://www.packer.io Packer 
-
- Tool for creating identical machine images for multiple platforms
-
-* Q&A
-
- Take the tour - [[tour.golang.org]]
diff --git a/content/2013/go-sreops/goroutines-channels.go b/content/2013/go-sreops/goroutines-channels.go
deleted file mode 100644
index 9c149bd..0000000
--- a/content/2013/go-sreops/goroutines-channels.go
+++ /dev/null
@@ -1,31 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// START OMIT
-func main() {
-	textChannel := make(chan string)
-	words := []string{"ho!", "hey!"}
-	secs := []int{2, 1}
-	// Create a goroutine per word
-	for i, word := range words {
-		go say(word, secs[i], textChannel) // &
-	}
-	// Wait for response via channel N times
-	for _ = range words {
-		fmt.Println(<-textChannel)
-	}
-}
-
-// say sends word back via channel after sleeping for X secs
-func say(word string, secs int, textChannel chan string) {
-	time.Sleep(time.Duration(secs) * time.Second)
-	textChannel <- word
-}
-
-// STOP OMIT
diff --git a/content/2013/go-sreops/goroutines.go b/content/2013/go-sreops/goroutines.go
deleted file mode 100644
index cec0ef3..0000000
--- a/content/2013/go-sreops/goroutines.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func main() {
-	go say("ho!", 2*time.Second)  // &
-	go say("hey!", 1*time.Second) // &
-
-	// Make main sleep for 4 seconds so goroutines can finish
-	time.Sleep(4 * time.Second)
-}
-
-// say prints text after sleeping for X secs
-func say(text string, secs time.Duration) {
-	time.Sleep(secs)
-	fmt.Println(text)
-}
diff --git a/content/2013/go-sreops/hello.go b/content/2013/go-sreops/hello.go
deleted file mode 100644
index 11bebb1..0000000
--- a/content/2013/go-sreops/hello.go
+++ /dev/null
@@ -1,15 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"flag"
-	"fmt"
-)
-
-var message = flag.String("message", "Hello, OSCON!", "what to say")
-
-func main() {
-	flag.Parse()
-	fmt.Println(*message)
-}
diff --git a/content/2013/go1.1.slide b/content/2013/go1.1.slide
deleted file mode 100644
index 5169819..0000000
--- a/content/2013/go1.1.slide
+++ /dev/null
@@ -1,243 +0,0 @@
-What's new in Go 1.1
-
-Andrew Gerrand
-Gopher
-http://andrewgerrand.com
-@enneff
-http://golang.org
-
-* Go 1.1
-
-Not finished yet. Monday maybe?
-
-* Language changes
-
-* Integer division by zero
-
-Integer division by constant zero is now a compile-time error:
-
-.play go1.1/intdiv.go /func f/,/}/
-
-* Unicode
-
-Byte order marks are now permitted as the first character of a Go source file.
-
-The misuse of "surrogate halves" is now caught by the compiler, libraries, and run-time.
-
-If you don't know what this means, then it likely doesn't matter to you.
-
-* Method values
-
-Sometimes you want to turn a method into a plain function (binding it to its receiver). This is often referred to as "currying".
-
-To do this under Go 1.0, you would use a closure:
-
-.play go1.1/methodvals-old.go /var/,/hello/
-
-Go 1.1 now implements method values, so you can achieve the same thing by simply taking the method as a value:
-
-.play go1.1/methodvals.go /var/,/hello/
-
-* Return requirements (1/2)
-
-Before Go 1.1, a function that returned a value needed an explicit `return` or call to `panic` at the end of the function.
-
-.code go1.1/return-old.go /func slurp/,/^}/
-
-.code go1.1/return-old.go /func min/,/^}/
-
-* Return requirements (2/2)
-
-In Go 1.1, the rule about final "return" statements is more permissive.
-
-.code go1.1/return.go /func slurp/,/^}/
-
-.code go1.1/return.go /func min/,/^}/
-
-* Implementation and tools
-
-* Size of int on 64-bit architectures
-
-Under Go 1.0, `int` and `uint` were 32 bits wide on all systems.
-
-With Go 1.1, both the `gc` and `gccgo` implementations now make `int` and `uint` 64 bits on 64-bit platforms such as AMD64/x86-64.
-
-Among other things, this enables the allocation of slices with more than 2 billion elements on 64-bit platforms.
-
-* Heap size on 64-bit architectures
-
-On 64-bit architectures, the maximum heap size has been enlarged substantially, from a few gigabytes to several tens of gigabytes. (The exact details depend on the system and may change.)
-
-On 32-bit architectures, the heap size has not changed.
-
-* Race detector
-
-A major addition to the tools is a race detector, a way to find bugs in concurrent programs. To enable it, set the `-race` flag when building or testing your program.
-
-.play go1.1/race.go
-
-For now, it is only available on 64-bit Linux, OS X, and Windows systems.
-
-* The go command
-
-The go command now gives better error messages:
-
-	$ go build foo/quxx
-	can't load package: package foo/quxx: cannot find package "foo/quxx" in any of:
-		/home/you/go/src/pkg/foo/quxx (from $GOROOT)
-		/home/you/src/foo/quxx (from $GOPATH) 
-
-To help users better understand workspaces and `GOPATH`, the `go`get` command will fail if `GOPATH` is not set:
-
-	$ GOPATH= go get code.google.com/p/foo/quxx
-	package code.google.com/p/foo/quxx: cannot download, $GOPATH not set.
-	For more details see: go help gopath
-
-The `go`get` command will also fail if `GOPATH` and `GOROOT` have the same value:
-
-	$ GOPATH=$GOROOT go get code.google.com/p/foo/quxx
-	warning: GOPATH set to GOROOT (/home/you/go) has no effect
-	package code.google.com/p/foo/quxx: cannot download, $GOPATH must not be set to $GOROOT.
-	For more details see: go help gopath
-
-* The go test command (1/2)
-
-The `go`test` command no longer deletes the binary when run with profiling enabled, to make it easier to analyze the profile. After running
-
-	$ go test -cpuprofile cpuprof.out mypackage
-
-the file `mypackage.test` will be left around for analysis.
-
-* The go test command (2/2)
-
-The `go`test` command can now generate profiling information that reports where goroutines are blocked, enabled with the `-blockprofile` option. The information is presented as a [[go1.1/blockprofile.svg][blocking profile]].
-
-.image go1.1/blockprofile.png
-
-* Build constraints
-
-The "go1.1" tag has been added to the list of default build constraints.
-
-To build a file only with Go 1.1 and above, add this build constraint:
-
-	// +build go1.1
-
-To build a file only with Go 1.0.x, use the converse constraint:
-
-	// +build !go1.1
-
-This permits packages to take advantage of the new features in Go 1.1 while remaining compatible with earlier versions of Go.
-
-* Additional platforms
-
-The Go 1.1 tool chain adds experimental support for `freebsd/arm`, `netbsd/386`, `netbsd/amd64`, `netbsd/arm`, `openbsd/386` and `openbsd/amd64` platforms.
-
-An ARMv6 or later processor is required for `freebsd/arm` or `netbsd/arm`.
-
-Go 1.1 adds experimental support for `cgo` on `linux/arm`.
-
-* Standard library
-
-* bufio.Scanner (1/2)
-
-The old way:
-
-.code go1.1/scanner.go /STARTold/,/STOP/
-
-The new way:
-
-.play go1.1/scanner.go /STARTnew/,/STOP/
-
-* bufio.Scanner (2/2)
-
-Custom split functions:
-
-	type SplitFunc func(data []byte, atEOF bool) (advance int, token []byte, err error)
-
-For example, counting words:
-
-.play go1.1/scanner2.go /START/,/STOP/
-
-* reflect (1/2)
-
-The new functions `ChanOf`, `MapOf` and `SliceOf` construct new types from existing types, for example to construct the type `chan`T` given only `T`.
-
-.play go1.1/chanof.go /func/,$
-
-* reflect (2/2)
-
-The new function `MakeFunc` creates a wrapper function to make it easier to call a function with existing `Values`.
-
-.play go1.1/makefunc.go /func/,$
-
-* time (1/4)
-
-On FreeBSD, Linux, NetBSD, OS X and OpenBSD, previous versions of the `time` package returned times with microsecond precision. Go 1.1 now provides nanosecond precision on these systems.
-
-* time (2/4)
-
-The new method on `time.Time`, `YearDay`, provides the one-indexed day number of the year.
-
-.play go1.1/yearday.go /YearDay/
-
-* time (3/4)
-
-The `Timer` type has a new method `Reset` that modifies the timer to expire after a specified duration. This helps to avoid unnecessary repeated `Timer` allocations.
-
-.play go1.1/timer.go /func main/,$
-
-* time (4/4)
-
-The new function `ParseInLocation` parses the time in the context of a time zone, ignoring time zone information in the parsed string.
-
-#.play go1.1/ParseInLocation.go
-
-This function addresses a common source of confusion in the time API.
-
-* bytes and strings
-
-`TrimPrefix` and `TrimSuffix` functions have been added to the `bytes` and `strings` packages.
-
-Code under Go 1.0 like this:
-	
-	s := "Please pass the salt"
-	if p := "Please "; strings.HasPrefix(s, p) {
-		s = s[len(p):]
-	}
-
-May now be rewritten as:
-
-	s := "Please pass the salt"
-	s = strings.TrimPrefix(s, "Please ")
-
-* Exp and old subtrees moved
-
-The exp and old source subtrees, which are not included in binary distributions, have been moved to the new `go.exp` sub-repository at `golang.org/x/exp`.
-
-To access the `ssa` package, for example, run
-
-	$ go get golang.org/x/exp/ssa
-
-and then in Go source,
-
-	import "golang.org/x/exp/ssa"
-
-The old package `exp/norm` has also been moved, but to a new repository `go.text`, where the Unicode APIs and other text-related packages will be developed.
-
-* Performance
-
-* Performance
-
-Code compiled with the Go 1.1 gc tool suite should be noticeably better for most Go programs.
-
-Improvements relative to Go 1.0 seem to be about 30%-40%, sometimes much more, but occasionally less or even non-existent.
-
-Major changes include:
-
-- Better code generation by the gc compilers,
-- In-lining of small functions by the gc compilers,
-- A new map implementation that uses less memory and CPU time,
-- A more parallel and precise garbage collector implementation,
-- A new scheduler,
-- Tighter coupling of the run-time and network libraries, resulting in fewer context switches on network operations.
-
diff --git a/content/2013/go1.1/blockprofile.png b/content/2013/go1.1/blockprofile.png
deleted file mode 100644
index 7238de3..0000000
--- a/content/2013/go1.1/blockprofile.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/go1.1/blockprofile.svg b/content/2013/go1.1/blockprofile.svg
deleted file mode 100644
index 241a2c9..0000000
--- a/content/2013/go1.1/blockprofile.svg
+++ /dev/null
@@ -1,615 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="864px" height="864px" viewBox="0 0 864 864" enable-background="new 0 0 864 864" xml:space="preserve">
-<script  type="text/ecmascript">
-	<![CDATA[
-// SVGPan
-// http://www.cyberz.org/blog/2009/12/08/svgpan-a-javascript-svg-panzoomdrag-library/
-// Local modification: if(true || ...) below to force panning, never moving.
-// Local modification: add clamping to fix bug in handleMouseWheel.
-
-/**
- *  SVGPan library 1.2
- * ====================
- *
- * Given an unique existing element with id "viewport", including the
- * the library into any SVG adds the following capabilities:
- *
- *  - Mouse panning
- *  - Mouse zooming (using the wheel)
- *  - Object dargging
- *
- * Known issues:
- *
- *  - Zooming (while panning) on Safari has still some issues
- *
- * Releases:
- *
- * 1.2, Sat Mar 20 08:42:50 GMT 2010, Zeng Xiaohui
- *	Fixed a bug with browser mouse handler interaction
- *
- * 1.1, Wed Feb  3 17:39:33 GMT 2010, Zeng Xiaohui
- *	Updated the zoom code to support the mouse wheel on Safari/Chrome
- *
- * 1.0, Andrea Leofreddi
- *	First release
- *
- * This code is licensed under the following BSD license:
- *
- * Copyright 2009-2010 Andrea Leofreddi <a.leofreddi@itcharm.com>. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification, are
- * permitted provided that the following conditions are met:
- *
- *    1. Redistributions of source code must retain the above copyright notice, this list of
- *       conditions and the following disclaimer.
- *
- *    2. Redistributions in binary form must reproduce the above copyright notice, this list
- *       of conditions and the following disclaimer in the documentation and/or other materials
- *       provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY Andrea Leofreddi ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Andrea Leofreddi OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * The views and conclusions contained in the software and documentation are those of the
- * authors and should not be interpreted as representing official policies, either expressed
- * or implied, of Andrea Leofreddi.
- */
-
-var root = document.documentElement;
-
-var state = 'none', stateTarget, stateOrigin, stateTf;
-
-setupHandlers(root);
-
-/**
- * Register handlers
- */
-function setupHandlers(root){
-	setAttributes(root, {
-		"onmouseup" : "add(evt)",
-		"onmousedown" : "handleMouseDown(evt)",
-		"onmousemove" : "handleMouseMove(evt)",
-		"onmouseup" : "handleMouseUp(evt)",
-		//"onmouseout" : "handleMouseUp(evt)", // Decomment this to stop the pan functionality when dragging out of the SVG element
-	});
-
-	if(navigator.userAgent.toLowerCase().indexOf('webkit') >= 0)
-		window.addEventListener('mousewheel', handleMouseWheel, false); // Chrome/Safari
-	else
-		window.addEventListener('DOMMouseScroll', handleMouseWheel, false); // Others
-
-	var g = svgDoc.getElementById("svg");
-	g.width = "100%";
-	g.height = "100%";
-}
-
-/**
- * Instance an SVGPoint object with given event coordinates.
- */
-function getEventPoint(evt) {
-	var p = root.createSVGPoint();
-
-	p.x = evt.clientX;
-	p.y = evt.clientY;
-
-	return p;
-}
-
-/**
- * Sets the current transform matrix of an element.
- */
-function setCTM(element, matrix) {
-	var s = "matrix(" + matrix.a + "," + matrix.b + "," + matrix.c + "," + matrix.d + "," + matrix.e + "," + matrix.f + ")";
-
-	element.setAttribute("transform", s);
-}
-
-/**
- * Dumps a matrix to a string (useful for debug).
- */
-function dumpMatrix(matrix) {
-	var s = "[ " + matrix.a + ", " + matrix.c + ", " + matrix.e + "\n  " + matrix.b + ", " + matrix.d + ", " + matrix.f + "\n  0, 0, 1 ]";
-
-	return s;
-}
-
-/**
- * Sets attributes of an element.
- */
-function setAttributes(element, attributes){
-	for (i in attributes)
-		element.setAttributeNS(null, i, attributes[i]);
-}
-
-/**
- * Handle mouse move event.
- */
-function handleMouseWheel(evt) {
-	if(evt.preventDefault)
-		evt.preventDefault();
-
-	evt.returnValue = false;
-
-	var svgDoc = evt.target.ownerDocument;
-
-	var delta;
-
-	if(evt.wheelDelta)
-		delta = evt.wheelDelta / 3600; // Chrome/Safari
-	else
-		delta = evt.detail / -90; // Mozilla
-
-	var z = 1 + delta; // Zoom factor: 0.9/1.1
-
-	// Clamp to reasonable values.
-	// The 0.1 check is important because
-	// a very large scroll can turn into a
-	// negative z, which rotates the image 180 degrees.
-	if(z < 0.1)
-		z = 0.1;
-	if(z > 10.0)
-		z = 10.0;
-
-	var g = svgDoc.getElementById("viewport");
-
-	var p = getEventPoint(evt);
-
-	p = p.matrixTransform(g.getCTM().inverse());
-
-	// Compute new scale matrix in current mouse position
-	var k = root.createSVGMatrix().translate(p.x, p.y).scale(z).translate(-p.x, -p.y);
-
-        setCTM(g, g.getCTM().multiply(k));
-
-	stateTf = stateTf.multiply(k.inverse());
-}
-
-/**
- * Handle mouse move event.
- */
-function handleMouseMove(evt) {
-	if(evt.preventDefault)
-		evt.preventDefault();
-
-	evt.returnValue = false;
-
-	var svgDoc = evt.target.ownerDocument;
-
-	var g = svgDoc.getElementById("viewport");
-
-	if(state == 'pan') {
-		// Pan mode
-		var p = getEventPoint(evt).matrixTransform(stateTf);
-
-		setCTM(g, stateTf.inverse().translate(p.x - stateOrigin.x, p.y - stateOrigin.y));
-	} else if(state == 'move') {
-		// Move mode
-		var p = getEventPoint(evt).matrixTransform(g.getCTM().inverse());
-
-		setCTM(stateTarget, root.createSVGMatrix().translate(p.x - stateOrigin.x, p.y - stateOrigin.y).multiply(g.getCTM().inverse()).multiply(stateTarget.getCTM()));
-
-		stateOrigin = p;
-	}
-}
-
-/**
- * Handle click event.
- */
-function handleMouseDown(evt) {
-	if(evt.preventDefault)
-		evt.preventDefault();
-
-	evt.returnValue = false;
-
-	var svgDoc = evt.target.ownerDocument;
-
-	var g = svgDoc.getElementById("viewport");
-
-	if(true || evt.target.tagName == "svg") {
-		// Pan mode
-		state = 'pan';
-
-		stateTf = g.getCTM().inverse();
-
-		stateOrigin = getEventPoint(evt).matrixTransform(stateTf);
-	} else {
-		// Move mode
-		state = 'move';
-
-		stateTarget = evt.target;
-
-		stateTf = g.getCTM().inverse();
-
-		stateOrigin = getEventPoint(evt).matrixTransform(stateTf);
-	}
-}
-
-/**
- * Handle mouse button release event.
- */
-function handleMouseUp(evt) {
-	if(evt.preventDefault)
-		evt.preventDefault();
-
-	evt.returnValue = false;
-
-	var svgDoc = evt.target.ownerDocument;
-
-	if(state == 'pan' || state == 'move') {
-		// Quit pan mode
-		state = '';
-	}
-}
-
-
-		]]>
-</script>
-<g id="viewport_1_" transform="translate(0,0)">
-	<g id="viewport" transform="scale(1 1) rotate(0) translate(4 880)">
-		<title>rpc.test; 558.446 seconds</title>
-		<polygon fill="#FFFFFF" stroke="#FFFFFF" points="-4,5 -4,-880 1124,-880 1124,5 		"/>
-		<g id="node1">
-			<title>Legend</title>
-			<text transform="matrix(1 0 0 1 93.166 -848)" font-family="'Times-Roman'" font-size="24">rpc.test</text>
-			<text transform="matrix(1 0 0 1 93.166 -819.2002)" font-family="'Times-Roman'" font-size="24">Total seconds: 558.446</text>
-			<text transform="matrix(1 0 0 1 93.166 -790.4004)" font-family="'Times-Roman'" font-size="24">Focusing on: 558.446</text>
-			<text transform="matrix(1 0 0 1 93.166 -761.5996)" font-family="'Times-Roman'" font-size="24">Dropped nodes with &lt;= 2.792 abs(seconds)</text>
-			<text transform="matrix(1 0 0 1 93.166 -732.7998)" font-family="'Times-Roman'" font-size="24">Dropped edges with &lt;= 0.558 seconds</text>
-		</g>
-		<g id="node2">
-			<title>N1</title>
-			<polygon fill="none" stroke="#000000" points="618.994,-818.301 537.006,-818.301 537.006,-781.699 618.994,-781.699 			"/>
-			<text transform="matrix(1 0 0 1 562.8926 -806.4004)" font-family="'Times-Roman'" font-size="8">gosched0</text>
-			<text transform="matrix(1 0 0 1 569.3359 -796.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 544.6719 -787.2002)" font-family="'Times-Roman'" font-size="8">of 558.446 (100.0%)</text>
-		</g>
-		<g id="node6">
-			<title>N5</title>
-			<polygon fill="none" stroke="#000000" points="223.994,-669.301 146.006,-669.301 146.006,-632.699 223.994,-632.699 			"/>
-			<text transform="matrix(1 0 0 1 158.7871 -657.4004)" font-family="'Times-Roman'" font-size="8">net/rpc.func·006</text>
-			<text transform="matrix(1 0 0 1 174.3359 -647.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 153.6719 -638.2002)" font-family="'Times-Roman'" font-size="8">of 163.420 (29.3%)</text>
-		</g>
-		<g id="edge3">
-			<title>N1-&gt;N5</title>
-			<path fill="none" stroke="#000000" stroke-width="1.7558" d="M571.154-781.584c-7.875,17.575-22.563,44-44.154,57.584
-				c-45.462,28.601-66.795,7.656-119.5,18c-60.197,11.814-128.676,29.009-173.575,40.803"/>
-			<polygon stroke="#000000" points="234.718,-661.786 224.156,-662.618 232.932,-668.554 			"/>
-			<text transform="matrix(1 0 0 1 408 -691.4004)" font-family="'Times-Roman'" font-size="14">163.420</text>
-		</g>
-		<g id="node4">
-			<title>N3</title>
-			<polygon fill="none" stroke="#000000" points="420.305,-669.301 335.695,-669.301 335.695,-632.699 420.305,-632.699 			"/>
-			<text transform="matrix(1 0 0 1 343.1309 -657.4004)" font-family="'Times-Roman'" font-size="8">net/rpc.(*service).call</text>
-			<text transform="matrix(1 0 0 1 370.877 -647.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 350.2129 -638.2002)" font-family="'Times-Roman'" font-size="8">of 166.609 (29.8%)</text>
-		</g>
-		<g id="edge7">
-			<title>N1-&gt;N3</title>
-			<path fill="none" stroke="#000000" stroke-width="1.7901" d="M569.582-781.587C560.849-765.012,545.837-740.252,527-724
-				c-1.096,0.945-59.872,29.239-103.265,50.071"/>
-			<polygon stroke="#000000" points="424.99,-670.649 414.461,-669.478 421.962,-676.96 			"/>
-			<text transform="matrix(1 0 0 1 491 -691.4004)" font-family="'Times-Roman'" font-size="14">166.609</text>
-		</g>
-		<g id="node16">
-			<title>N15</title>
-			<polygon fill="none" stroke="#000000" points="762.994,-669.301 693.006,-669.301 693.006,-632.699 762.994,-632.699 			"/>
-			<text transform="matrix(1 0 0 1 706.5605 -657.4004)" font-family="'Times-Roman'" font-size="8">runtime.main</text>
-			<text transform="matrix(1 0 0 1 713.3359 -647.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 700.6719 -638.2002)" font-family="'Times-Roman'" font-size="8">of 12.226 (2.2%)</text>
-		</g>
-		<g id="edge9">
-			<title>N1-&gt;N15</title>
-			<path fill="none" stroke="#000000" d="M595.796-781.56c26.613,26.081,76.886,75.349,107.186,105.041"/>
-			<polygon stroke="#000000" points="705.535,-678.916 710.227,-669.417 700.635,-673.917 			"/>
-			<text transform="matrix(1 0 0 1 687 -691.4004)" font-family="'Times-Roman'" font-size="14">12.226</text>
-		</g>
-		<g id="node8">
-			<title>N7</title>
-			<polygon fill="none" stroke="#000000" points="563.994,-669.301 486.006,-669.301 486.006,-632.699 563.994,-632.699 			"/>
-			<text transform="matrix(1 0 0 1 498.7871 -657.4004)" font-family="'Times-Roman'" font-size="8">net/rpc.func·005</text>
-			<text transform="matrix(1 0 0 1 514.3359 -647.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 493.6719 -638.2002)" font-family="'Times-Roman'" font-size="8">of 156.295 (28.0%)</text>
-		</g>
-		<g id="edge17">
-			<title>N1-&gt;N7</title>
-			<path fill="none" stroke="#000000" stroke-width="1.6793" d="M571.712-781.56c-9.124,25.308-26.12,72.447-36.901,102.349"/>
-			<polygon stroke="#000000" points="537.964,-677.638 531.28,-669.417 531.379,-680.012 			"/>
-			<text transform="matrix(1 0 0 1 544 -691.4004)" font-family="'Times-Roman'" font-size="14">156.295</text>
-		</g>
-		<g id="node14">
-			<title>N13</title>
-			<polygon fill="none" stroke="#000000" points="666.994,-669.301 597.006,-669.301 597.006,-632.699 666.994,-632.699 			"/>
-			<text transform="matrix(1 0 0 1 605.7871 -657.4004)" font-family="'Times-Roman'" font-size="8">net/rpc.func·004</text>
-			<text transform="matrix(1 0 0 1 617.3359 -647.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 604.6719 -638.2002)" font-family="'Times-Roman'" font-size="8">of 47.690 (8.5%)</text>
-		</g>
-		<g id="edge21">
-			<title>N1-&gt;N13</title>
-			<path fill="none" stroke="#000000" d="M584.407-781.56c9.337,25.418,26.764,72.859,37.741,102.739"/>
-			<polygon stroke="#000000" points="625.439,-680.011 625.602,-669.417 618.868,-677.597 			"/>
-			<text transform="matrix(1 0 0 1 617 -691.4004)" font-family="'Times-Roman'" font-size="14">47.690</text>
-		</g>
-		<g id="node21">
-			<title>N20</title>
-			<polygon fill="none" stroke="#000000" points="861.49,-669.301 784.51,-669.301 784.51,-632.699 861.49,-632.699 			"/>
-			<text transform="matrix(1 0 0 1 792.3398 -657.4004)" font-family="'Times-Roman'" font-size="8">testing.(*B).launch</text>
-			<text transform="matrix(1 0 0 1 811.668 -647.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 799.0039 -638.2002)" font-family="'Times-Roman'" font-size="8">of 12.198 (2.2%)</text>
-		</g>
-		<g id="edge25">
-			<title>N1-&gt;N20</title>
-			<path fill="none" stroke="#000000" d="M607.067-781.56c44.389,26.634,129.077,77.447,178.169,106.902"/>
-			<polygon stroke="#000000" points="787.197,-677.564 793.971,-669.417 783.595,-671.561 			"/>
-			<text transform="matrix(1 0 0 1 757 -691.4004)" font-family="'Times-Roman'" font-size="14">12.198</text>
-		</g>
-		<g id="node3">
-			<title>N2</title>
-			<polygon fill="none" stroke="#000000" points="501.245,-228 138.755,-228 138.755,-118 501.245,-118 			"/>
-			<text transform="matrix(1 0 0 1 146.5034 -181.5)" font-family="'Times-Roman'" font-size="42.5">sync.(*Mutex).Lock</text>
-			<text transform="matrix(1 0 0 1 206.6636 -130.5)" font-family="'Times-Roman'" font-size="42.5">265.302 (47.5%)</text>
-		</g>
-		<g id="node5">
-			<title>N4</title>
-			<polygon fill="none" stroke="#000000" points="350.311,-467.301 233.689,-467.301 233.689,-430.699 350.311,-430.699 			"/>
-			<text transform="matrix(1 0 0 1 241.127 -455.4004)" font-family="'Times-Roman'" font-size="8">net/rpc.(*Server).sendResponse</text>
-			<text transform="matrix(1 0 0 1 300.8809 -445.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 280.2168 -436.2002)" font-family="'Times-Roman'" font-size="8">of 166.540 (29.8%)</text>
-		</g>
-		<g id="edge22">
-			<title>N3-&gt;N4</title>
-			<path fill="none" stroke="#000000" stroke-width="1.7893" d="M335.658-637.275C324.446-631.872,313.524-624.35,306.5-614
-				c-14.624,21.548-15.776,95.509-15.225,136.353"/>
-			<polygon stroke="#000000" points="294.776,-477.613 291.455,-467.552 287.777,-477.488 			"/>
-			<text transform="matrix(1 0 0 1 307 -599.4004)" font-family="'Times-Roman'" font-size="14">166.540</text>
-		</g>
-		<g id="edge18">
-			<title>N4-&gt;N2</title>
-			<path fill="none" stroke="#000000" stroke-width="1.7884" d="M293.794-430.443c3.882,37.985,13.226,129.428,19.639,192.186"/>
-			<polygon stroke="#000000" points="316.941,-238.362 314.476,-228.058 309.977,-237.65 			"/>
-			<text transform="matrix(1 0 0 1 303 -341.4004)" font-family="'Times-Roman'" font-size="14">166.457</text>
-		</g>
-		<g id="node7">
-			<title>N6</title>
-			<polygon fill="none" stroke="#000000" points="276.554,-578 -0.555,-578 -0.555,-486 276.554,-486 			"/>
-			<text transform="matrix(1 0 0 1 7.2969 -539)" font-family="'Times-Roman'" font-size="35">runtime.chanrecv2</text>
-			<text transform="matrix(1 0 0 1 32.4873 -497)" font-family="'Times-Roman'" font-size="35">163.420 (29.3%)</text>
-		</g>
-		<g id="edge15">
-			<title>N5-&gt;N6</title>
-			<path fill="none" stroke="#000000" stroke-width="1.7558" d="M177.964-632.484c-4.817,11.99-11.488,28.596-18.001,44.809"/>
-			<polygon stroke="#000000" points="163.138,-586.187 156.162,-578.212 156.642,-588.796 			"/>
-			<text transform="matrix(1 0 0 1 170 -599.4004)" font-family="'Times-Roman'" font-size="14">163.420</text>
-		</g>
-		<g id="node9">
-			<title>N8</title>
-			<polygon fill="none" stroke="#000000" points="406.154,-411.301 325.846,-411.301 325.846,-374.699 406.154,-374.699 			"/>
-			<text transform="matrix(1 0 0 1 333.5645 -399.4004)" font-family="'Times-Roman'" font-size="8">net/rpc.(*Client).Go</text>
-			<text transform="matrix(1 0 0 1 356.4438 -389.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 339.7798 -380.2002)" font-family="'Times-Roman'" font-size="8">of 98.686 (17.7%)</text>
-		</g>
-		<g id="edge1">
-			<title>N7-&gt;N8</title>
-			<path fill="none" stroke="#000000" d="M485.817-642.948c-35.604,8.67-86.272,27.165-111.317,64.948
-				c-31.492,47.509-23.252,118.06-15.34,156.535"/>
-			<polygon stroke="#000000" points="362.62,-422.028 361.349,-411.509 355.783,-420.524 			"/>
-			<text transform="matrix(1 0 0 1 375 -526.4004)" font-family="'Times-Roman'" font-size="14">91.614</text>
-		</g>
-		<g id="node11">
-			<title>N10</title>
-			<polygon fill="none" stroke="#000000" points="627.146,-566 422.854,-566 422.854,-498 627.146,-498 			"/>
-			<text transform="matrix(1 0 0 1 430.2363 -537)" font-family="'Times-Roman'" font-size="25">runtime.chansend1</text>
-			<text transform="matrix(1 0 0 1 464.4531 -507)" font-family="'Times-Roman'" font-size="25">64.682 (11.6%)</text>
-		</g>
-		<g id="edge27">
-			<title>N7-&gt;N10</title>
-			<path fill="none" stroke="#000000" d="M525-632.484c0,14.806,0,36.651,0,56.102"/>
-			<polygon stroke="#000000" points="528.5,-576.182 525,-566.182 521.5,-576.182 			"/>
-			<text transform="matrix(1 0 0 1 525 -599.4004)" font-family="'Times-Roman'" font-size="14">64.682</text>
-		</g>
-		<g id="node10">
-			<title>N9</title>
-			<polygon fill="none" stroke="#000000" points="407.32,-319.301 322.68,-319.301 322.68,-282.699 407.32,-282.699 			"/>
-			<text transform="matrix(1 0 0 1 330.1211 -307.4004)" font-family="'Times-Roman'" font-size="8">net/rpc.(*Client).send</text>
-			<text transform="matrix(1 0 0 1 357.8867 -297.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 341.2227 -288.2002)" font-family="'Times-Roman'" font-size="8">of 98.686 (17.7%)</text>
-		</g>
-		<g id="edge12">
-			<title>N8-&gt;N9</title>
-			<path fill="none" stroke="#000000" stroke-width="1.0603" d="M365.807-374.647c-0.141,12.742-0.337,30.313-0.5,44.982"/>
-			<polygon stroke="#000000" points="368.807,-329.567 365.196,-319.607 361.807,-329.645 			"/>
-			<text transform="matrix(1 0 0 1 366 -341.4004)" font-family="'Times-Roman'" font-size="14">98.686</text>
-		</g>
-		<g id="edge19">
-			<title>N9-&gt;N2</title>
-			<path fill="none" stroke="#000000" stroke-width="1.0602" d="M358.743-282.48c-4.219,11.814-10.07,28.196-15.948,44.654"/>
-			<polygon stroke="#000000" points="346.003,-236.401 339.343,-228.161 339.41,-238.755 			"/>
-			<text transform="matrix(1 0 0 1 352 -249.4004)" font-family="'Times-Roman'" font-size="14">98.676</text>
-		</g>
-		<g id="node12">
-			<title>N11</title>
-			<polygon fill="none" stroke="#000000" points="808.077,-64.16 617.923,-64.16 617.923,0.16 808.077,0.16 			"/>
-			<text transform="matrix(1 0 0 1 625.6152 -36.6797)" font-family="'Times-Roman'" font-size="23.4">runtime.chanrecv1</text>
-			<text transform="matrix(1 0 0 1 665.8574 -8.5996)" font-family="'Times-Roman'" font-size="23.4">52.844 (9.5%)</text>
-		</g>
-		<g id="node13">
-			<title>N12</title>
-			<polygon fill="none" stroke="#000000" points="730.32,-550.301 645.68,-550.301 645.68,-513.699 730.32,-513.699 			"/>
-			<text transform="matrix(1 0 0 1 653.7871 -538.4004)" font-family="'Times-Roman'" font-size="8">net/rpc.(*Client).Call</text>
-			<text transform="matrix(1 0 0 1 680.2207 -528.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 667.5566 -519.2002)" font-family="'Times-Roman'" font-size="8">of 47.690 (8.5%)</text>
-		</g>
-		<g id="edge5">
-			<title>N12-&gt;N11</title>
-			<path fill="none" stroke="#000000" d="M687.364-513.268C686.483-487.157,685-436.823,685-394c0,0,0,0,0,222
-				c0,33.544,7.933,70.761,15.354,98.236"/>
-			<polygon stroke="#000000" points="703.732,-74.68 703.049,-64.106 696.99,-72.798 			"/>
-			<text transform="matrix(1 0 0 1 685 -295.4004)" font-family="'Times-Roman'" font-size="14">40.618</text>
-		</g>
-		<g id="edge28">
-			<title>N12-&gt;N8</title>
-			<path fill="none" stroke="#000000" d="M671.024-513.322C661.442-504.155,648.841-493.367,636-486
-				c-71.169,40.832-163.315,67.348-219.472,80.974"/>
-			<polygon stroke="#000000" points="417.013,-401.543 406.474,-402.631 415.391,-408.353 			"/>
-			<text transform="matrix(1 0 0 1 595 -443.4004)" font-family="'Times-Roman'" font-size="14">7.072</text>
-		</g>
-		<g id="edge24">
-			<title>N13-&gt;N12</title>
-			<path fill="none" stroke="#000000" d="M640.384-632.484c9.196,19.214,24.066,50.281,34.742,72.587"/>
-			<polygon stroke="#000000" points="678.399,-561.167 679.559,-550.636 672.085,-558.145 			"/>
-			<text transform="matrix(1 0 0 1 656 -599.4004)" font-family="'Times-Roman'" font-size="14">47.690</text>
-		</g>
-		<g id="node15">
-			<title>N14</title>
-			<polygon fill="none" stroke="#000000" points="818.994,-550.301 749.006,-550.301 749.006,-513.699 818.994,-513.699 			"/>
-			<text transform="matrix(1 0 0 1 767.0039 -538.4004)" font-family="'Times-Roman'" font-size="8">main.main</text>
-			<text transform="matrix(1 0 0 1 769.3359 -528.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 756.6719 -519.2002)" font-family="'Times-Roman'" font-size="8">of 12.226 (2.2%)</text>
-		</g>
-		<g id="node18">
-			<title>N17</title>
-			<polygon fill="none" stroke="#000000" points="818.994,-411.301 749.006,-411.301 749.006,-374.699 818.994,-374.699 			"/>
-			<text transform="matrix(1 0 0 1 763.8906 -399.4004)" font-family="'Times-Roman'" font-size="8">testing.Main</text>
-			<text transform="matrix(1 0 0 1 769.3359 -389.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 756.6719 -380.2002)" font-family="'Times-Roman'" font-size="8">of 12.226 (2.2%)</text>
-		</g>
-		<g id="edge4">
-			<title>N14-&gt;N17</title>
-			<path fill="none" stroke="#000000" d="M784-513.649c0,23.137,0,64.363,0,91.857"/>
-			<polygon stroke="#000000" points="787.5,-421.643 784,-411.643 780.5,-421.643 			"/>
-			<text transform="matrix(1 0 0 1 784 -443.4004)" font-family="'Times-Roman'" font-size="14">12.226</text>
-		</g>
-		<g id="edge2">
-			<title>N15-&gt;N14</title>
-			<path fill="none" stroke="#000000" d="M736.384-632.484c9.196,19.214,24.066,50.281,34.742,72.587"/>
-			<polygon stroke="#000000" points="774.399,-561.167 775.559,-550.636 768.085,-558.145 			"/>
-			<text transform="matrix(1 0 0 1 752 -599.4004)" font-family="'Times-Roman'" font-size="14">12.226</text>
-		</g>
-		<g id="node17">
-			<title>N16</title>
-			<polygon fill="none" stroke="#000000" points="801.994,-191.301 732.006,-191.301 732.006,-154.699 801.994,-154.699 			"/>
-			<text transform="matrix(1 0 0 1 741.6699 -179.4004)" font-family="'Times-Roman'" font-size="8">testing.(*B).run</text>
-			<text transform="matrix(1 0 0 1 752.3359 -169.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 739.6719 -160.2002)" font-family="'Times-Roman'" font-size="8">of 12.226 (2.2%)</text>
-		</g>
-		<g id="edge11">
-			<title>N16-&gt;N11</title>
-			<path fill="none" stroke="#000000" d="M760.27-154.677c-7.806,20.093-20.938,53.897-31.383,80.783"/>
-			<polygon stroke="#000000" points="732.059,-72.393 725.175,-64.339 725.534,-74.928 			"/>
-			<text transform="matrix(1 0 0 1 738 -85.4004)" font-family="'Times-Roman'" font-size="14">12.226</text>
-		</g>
-		<g id="node19">
-			<title>N18</title>
-			<polygon fill="none" stroke="#000000" points="833.993,-319.301 742.007,-319.301 742.007,-282.699 833.993,-282.699 			"/>
-			<text transform="matrix(1 0 0 1 749.6719 -307.4004)" font-family="'Times-Roman'" font-size="8">testing.RunBenchmarks</text>
-			<text transform="matrix(1 0 0 1 784.3359 -297.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 771.6719 -288.2002)" font-family="'Times-Roman'" font-size="8">of 12.226 (2.2%)</text>
-		</g>
-		<g id="edge23">
-			<title>N17-&gt;N18</title>
-			<path fill="none" stroke="#000000" d="M784.771-374.647c0.566,12.742,1.347,30.313,1.998,44.982"/>
-			<polygon stroke="#000000" points="790.27,-329.752 787.217,-319.607 783.277,-329.441 			"/>
-			<text transform="matrix(1 0 0 1 786 -341.4004)" font-family="'Times-Roman'" font-size="14">12.226</text>
-		</g>
-		<g id="edge13">
-			<title>N18-&gt;N16</title>
-			<path fill="none" stroke="#000000" d="M785.08-282.48c-3.495,20.97-9.389,56.333-13.494,80.963"/>
-			<polygon stroke="#000000" points="774.992,-200.659 769.895,-191.371 768.087,-201.81 			"/>
-			<text transform="matrix(1 0 0 1 781 -249.4004)" font-family="'Times-Roman'" font-size="14">12.226</text>
-		</g>
-		<g id="node20">
-			<title>N19</title>
-			<polygon fill="none" stroke="#000000" points="1004.98,-195.46 839.02,-195.46 839.02,-150.54 1004.98,-150.54 			"/>
-			<text transform="matrix(1 0 0 1 846.6807 -176.0801)" font-family="'Times-Roman'" font-size="15.4">sync.(*WaitGroup).Wait</text>
-			<text transform="matrix(1 0 0 1 908.7842 -157.5996)" font-family="'Times-Roman'" font-size="15.4">12.198 (2.2%)</text>
-		</g>
-		<g id="node22">
-			<title>N21</title>
-			<polygon fill="none" stroke="#000000" points="939.329,-550.301 866.671,-550.301 866.671,-513.699 939.329,-513.699 			"/>
-			<text transform="matrix(1 0 0 1 874.7812 -538.4004)" font-family="'Times-Roman'" font-size="8">testing.(*B).runN</text>
-			<text transform="matrix(1 0 0 1 889.2266 -528.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 876.5625 -519.2002)" font-family="'Times-Roman'" font-size="8">of 12.198 (2.2%)</text>
-		</g>
-		<g id="edge6">
-			<title>N20-&gt;N21</title>
-			<path fill="none" stroke="#000000" d="M834.977-632.484c13.314,19.472,34.953,51.119,50.244,73.483"/>
-			<polygon stroke="#000000" points="888.186,-560.866 890.941,-550.636 882.408,-556.915 			"/>
-			<text transform="matrix(1 0 0 1 858 -599.4004)" font-family="'Times-Roman'" font-size="14">12.198</text>
-		</g>
-		<g id="node26">
-			<title>N25</title>
-			<polygon fill="none" stroke="#000000" points="968.39,-411.301 837.61,-411.301 837.61,-374.699 968.39,-374.699 			"/>
-			<text transform="matrix(1 0 0 1 845.4062 -399.4004)" font-family="'Times-Roman'" font-size="8">net/rpc.BenchmarkEndToEndHTTP</text>
-			<text transform="matrix(1 0 0 1 918.6016 -389.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 909.9375 -380.2002)" font-family="'Times-Roman'" font-size="8">of 3.492 (0.6%)</text>
-		</g>
-		<g id="edge10">
-			<title>N21-&gt;N25</title>
-			<path fill="none" stroke="#000000" d="M903-513.649c0,23.137,0,64.363,0,91.857"/>
-			<polygon stroke="#000000" points="906.5,-421.643 903,-411.643 899.5,-421.643 			"/>
-			<text transform="matrix(1 0 0 1 903 -443.4004)" font-family="'Times-Roman'" font-size="14">3.492</text>
-		</g>
-		<g id="node25">
-			<title>N24</title>
-			<polygon fill="none" stroke="#000000" points="1097.39,-411.301 986.61,-411.301 986.61,-374.699 1097.39,-374.699 			"/>
-			<text transform="matrix(1 0 0 1 994.4062 -399.4004)" font-family="'Times-Roman'" font-size="8">net/rpc.BenchmarkEndToEnd</text>
-			<text transform="matrix(1 0 0 1 1047.5977 -389.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 1038.9336 -380.2002)" font-family="'Times-Roman'" font-size="8">of 3.544 (0.6%)</text>
-		</g>
-		<g id="edge26">
-			<title>N21-&gt;N24</title>
-			<path fill="none" stroke="#000000" d="M920.604-513.649c24.307,23.956,68.287,67.304,96.106,94.724"/>
-			<polygon stroke="#000000" points="1019.43,-421.155 1024.1,-411.643 1014.52,-416.17 			"/>
-			<text transform="matrix(1 0 0 1 1004 -443.4004)" font-family="'Times-Roman'" font-size="14">3.544</text>
-		</g>
-		<g id="node23">
-			<title>N22</title>
-			<polygon fill="none" stroke="#000000" points="970.389,-319.301 861.611,-319.301 861.611,-282.699 970.389,-282.699 			"/>
-			<text transform="matrix(1 0 0 1 869.0742 -307.4004)" font-family="'Times-Roman'" font-size="8">net/rpc.benchmarkEndToEnd</text>
-			<text transform="matrix(1 0 0 1 920.9336 -297.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 912.2695 -288.2002)" font-family="'Times-Roman'" font-size="8">of 7.036 (1.3%)</text>
-		</g>
-		<g id="edge14">
-			<title>N22-&gt;N19</title>
-			<path fill="none" stroke="#000000" d="M916.834-282.48c0.943,19.791,2.496,52.405,3.653,76.715"/>
-			<polygon stroke="#000000" points="923.992,-205.744 920.972,-195.589 917,-205.411 			"/>
-			<text transform="matrix(1 0 0 1 918 -249.4004)" font-family="'Times-Roman'" font-size="14">7.036</text>
-		</g>
-		<g id="node24">
-			<title>N23</title>
-			<polygon fill="none" stroke="#000000" points="1119.22,-319.301 988.78,-319.301 988.78,-282.699 1119.22,-282.699 			"/>
-			<text transform="matrix(1 0 0 1 996.8535 -307.4004)" font-family="'Times-Roman'" font-size="8">net/rpc.benchmarkEndToEndAsync</text>
-			<text transform="matrix(1 0 0 1 1069.1582 -297.7998)" font-family="'Times-Roman'" font-size="8">0.000 (0.0%)</text>
-			<text transform="matrix(1 0 0 1 1060.4941 -288.2002)" font-family="'Times-Roman'" font-size="8">of 5.162 (0.9%)</text>
-		</g>
-		<g id="edge20">
-			<title>N23-&gt;N19</title>
-			<path fill="none" stroke="#000000" d="M1035.65-282.48c-21.67,20.68-57.996,55.356-83.743,79.933"/>
-			<polygon stroke="#000000" points="954.268,-199.962 944.617,-195.589 949.433,-205.025 			"/>
-			<text transform="matrix(1 0 0 1 1014 -249.4004)" font-family="'Times-Roman'" font-size="14">5.162</text>
-		</g>
-		<g id="edge8">
-			<title>N24-&gt;N22</title>
-			<path fill="none" stroke="#000000" d="M1017.71-374.647c-19.575,13.979-47.282,33.771-68.836,49.165"/>
-			<polygon stroke="#000000" points="950.821,-322.571 940.648,-319.607 946.752,-328.267 			"/>
-			<text transform="matrix(1 0 0 1 990 -341.4004)" font-family="'Times-Roman'" font-size="14">3.544</text>
-		</g>
-		<g id="edge16">
-			<title>N25-&gt;N22</title>
-			<path fill="none" stroke="#000000" d="M905.507-374.647c1.84,12.742,4.378,30.313,6.497,44.982"/>
-			<polygon stroke="#000000" points="915.491,-330.004 913.457,-319.607 908.562,-329.004 			"/>
-			<text transform="matrix(1 0 0 1 910 -341.4004)" font-family="'Times-Roman'" font-size="14">3.492</text>
-		</g>
-	</g>
-</g>
-</svg>
diff --git a/content/2013/go1.1/chanof.go b/content/2013/go1.1/chanof.go
deleted file mode 100644
index 1515088..0000000
--- a/content/2013/go1.1/chanof.go
+++ /dev/null
@@ -1,28 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"reflect"
-)
-
-func sendSlice(slice interface{}) (channel interface{}) {
-	sliceValue := reflect.ValueOf(slice)
-	chanType := reflect.ChanOf(reflect.BothDir, sliceValue.Type().Elem())
-	chanValue := reflect.MakeChan(chanType, 0)
-	go func() {
-		for i := 0; i < sliceValue.Len(); i++ {
-			chanValue.Send(sliceValue.Index(i))
-		}
-		chanValue.Close()
-	}()
-	return chanValue.Interface()
-}
-
-func main() {
-	ch := sendSlice([]int{1, 2, 3, 4, 5}).(chan int)
-	for v := range ch {
-		fmt.Println(v)
-	}
-}
diff --git a/content/2013/go1.1/intdiv.go b/content/2013/go1.1/intdiv.go
deleted file mode 100644
index d06ec33..0000000
--- a/content/2013/go1.1/intdiv.go
+++ /dev/null
@@ -1,11 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-func f(x int) int {
-	return x / 0
-}
-
-func main() {
-	f(1)
-}
diff --git a/content/2013/go1.1/makefunc.go b/content/2013/go1.1/makefunc.go
deleted file mode 100644
index 52932d2..0000000
--- a/content/2013/go1.1/makefunc.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"reflect"
-)
-
-func makeSwap(fptr interface{}) {
-	swap := func(in []reflect.Value) []reflect.Value {
-		return []reflect.Value{in[1], in[0]}
-	}
-	fn := reflect.ValueOf(fptr).Elem()
-	v := reflect.MakeFunc(fn.Type(), swap)
-	fn.Set(v)
-}
-
-func main() {
-	var fn func(int, int) (int, int)
-	makeSwap(&fn)
-	fmt.Println(fn(0, 1))
-}
diff --git a/content/2013/go1.1/methodvals-old.go b/content/2013/go1.1/methodvals-old.go
deleted file mode 100644
index 7ff23d6..0000000
--- a/content/2013/go1.1/methodvals-old.go
+++ /dev/null
@@ -1,11 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "os"
-
-func main() {
-	var w func([]byte) (int, error)
-	w = func(b []byte) (int, error) { return os.Stdout.Write(b) }
-	w([]byte("hello!\n"))
-}
diff --git a/content/2013/go1.1/methodvals.go b/content/2013/go1.1/methodvals.go
deleted file mode 100644
index 112f7bc..0000000
--- a/content/2013/go1.1/methodvals.go
+++ /dev/null
@@ -1,11 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "os"
-
-func main() {
-	var w func([]byte) (int, error)
-	w = os.Stdout.Write
-	w([]byte("hello!\n"))
-}
diff --git a/content/2013/go1.1/race.go b/content/2013/go1.1/race.go
deleted file mode 100644
index c03b25c..0000000
--- a/content/2013/go1.1/race.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-func main() {
-	var a int
-	go func() {
-		for {
-			if a == 0 {
-				a = 1
-			}
-		}
-	}()
-	for {
-		if a == 1 {
-			a = 0
-		}
-	}
-}
diff --git a/content/2013/go1.1/return-old.go b/content/2013/go1.1/return-old.go
deleted file mode 100644
index f9f0463..0000000
--- a/content/2013/go1.1/return-old.go
+++ /dev/null
@@ -1,34 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"io"
-	"os"
-)
-
-func min(a, b int) int {
-	if a < b {
-		return a
-	}
-	return b
-}
-
-func slurp(r io.Reader) error {
-	b := make([]byte, 1024)
-	for {
-		_, err := r.Read(b)
-		if err != nil {
-			if err == io.EOF {
-				return nil
-			}
-			return err
-		}
-	}
-	panic("unreachable")
-}
-
-func main() {
-	println(min(10, 20))
-	slurp(os.Stdin)
-}
diff --git a/content/2013/go1.1/return.go b/content/2013/go1.1/return.go
deleted file mode 100644
index 2096bc9..0000000
--- a/content/2013/go1.1/return.go
+++ /dev/null
@@ -1,34 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"io"
-	"os"
-)
-
-func min(a, b int) int {
-	if a < b {
-		return a
-	} else {
-		return b
-	}
-}
-
-func slurp(r io.Reader) error {
-	b := make([]byte, 1024)
-	for {
-		_, err := r.Read(b)
-		if err != nil {
-			if err == io.EOF {
-				return nil
-			}
-			return err
-		}
-	}
-}
-
-func main() {
-	println(min(10, 20))
-	slurp(os.Stdin)
-}
diff --git a/content/2013/go1.1/scanner.go b/content/2013/go1.1/scanner.go
deleted file mode 100644
index 45eaf42..0000000
--- a/content/2013/go1.1/scanner.go
+++ /dev/null
@@ -1,44 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bufio"
-	"fmt"
-	"io"
-	"log"
-	"strings"
-)
-
-const blob = `Hey there,
-fellow gophers!
-Have a good day.
-`
-
-func old() {
-	// STARTold OMIT
-	r := bufio.NewReader(strings.NewReader(blob))
-	for {
-		s, err := r.ReadString('\n')
-		if err != nil {
-			if err == io.EOF {
-				break
-			}
-			log.Fatal(err)
-		}
-		fmt.Println(s)
-	}
-	// STOP OMIT
-}
-
-func main() {
-	// STARTnew OMIT
-	s := bufio.NewScanner(strings.NewReader(blob))
-	for s.Scan() {
-		fmt.Println(s.Text())
-	}
-	if err := s.Err(); err != nil {
-		log.Fatal(err)
-	}
-	// STOP OMIT
-}
diff --git a/content/2013/go1.1/scanner2.go b/content/2013/go1.1/scanner2.go
deleted file mode 100644
index 2388034..0000000
--- a/content/2013/go1.1/scanner2.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bufio"
-	"fmt"
-	"log"
-	"strings"
-)
-
-func main() {
-	// START OMIT
-	const input = "Now is the winter of our discontent..."
-	scanner := bufio.NewScanner(strings.NewReader(input))
-	scanner.Split(bufio.ScanWords) // HL
-	count := 0
-	for scanner.Scan() {
-		count++
-	}
-	if err := scanner.Err(); err != nil {
-		log.Fatal(err)
-	}
-	fmt.Println(count)
-	// STOP OMIT
-}
diff --git a/content/2013/go1.1/timer.go b/content/2013/go1.1/timer.go
deleted file mode 100644
index 300ea73..0000000
--- a/content/2013/go1.1/timer.go
+++ /dev/null
@@ -1,39 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func init() {
-	rand.Seed(10)
-}
-
-func sendMessages() chan string {
-	ch := make(chan string)
-	go func() {
-		for i := 0; ; i++ {
-			time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond)
-			ch <- fmt.Sprintf("message %v", i)
-		}
-	}()
-	return ch
-}
-
-func main() {
-	timeout := time.NewTimer(80 * time.Millisecond)
-	ch := sendMessages()
-	for {
-		select {
-		case msg := <-ch:
-			fmt.Println(msg)
-			timeout.Reset(80 * time.Millisecond)
-		case <-timeout.C:
-			fmt.Println("timeout")
-			return
-		}
-	}
-}
diff --git a/content/2013/go1.1/yearday.go b/content/2013/go1.1/yearday.go
deleted file mode 100644
index a896970..0000000
--- a/content/2013/go1.1/yearday.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func main() {
-	fmt.Println("Today is day", time.Now().YearDay())
-}
diff --git a/content/2013/go4python.slide b/content/2013/go4python.slide
deleted file mode 100644
index 7bd2f99..0000000
--- a/content/2013/go4python.slide
+++ /dev/null
@@ -1,452 +0,0 @@
-Go for Pythonistas
-
-Francesc Campoy Flores
-Gopher at Google
-http://campoy.cat
-
-@francesc
-campoy@golang.com
-
-* Video
-
-A recording of this talk is available.
-
-.link http://youtu.be/elu0VpLzJL8
-
-* Goal of this talk
-
-Whetting your appetite for Go
-
-.image go4python/img/gopher.jpg
-
-* My tactics
-
-1. Showing you how Go is like Python.
-
-2. Showing you how Go is _not_ like Python.
-
-* Python, Go, and me
-
-Software Engineer at Google: _Feb_11-Aug_12_
-
-- Lots of C++ and Python.
-
-- SQL to C++ compiler in Python.
-
-Go Developer Relations: _Aug_12_ - `datetime.now()`
-
-- Lots of Go.
-
-* Things I don't like about Python (it'll be short)
-
-* Beautiful and simple
-
-Dynamic typing - nice because it's concise, like Python.
-
-	a = "hello"
-	b = 1
-	# but also
-	a = 2
-
-Static typing - can be verbose, like Java or C++.
-
-	Foo foo = new Foo();
-
-Static typing with inferred types, like Go.
-
-	a := "hello"
-	b := 1
-	// but no
-	a = 2
-
-Statically-typed Python? Check [[http://www.mypy-lang.org/][mypy]] and [[http://cython.org/][Cython]].
-
-* Run time pyrotechnics
-
-.play go4python/dyntyp.py /name/,
-
-I don't want start a flame war here but ...
-
-*100%*code*coverage*is*a*symptom*
-
-- Code coverage should point you to untested cases.
-- Not a way to find typos!
-- 100% code coverage doesn't mean bug free.
-
-* Other things I don't like
-
-- Deploying - managing dependencies.
-
-- Performance - "not too slow" is often not fast enough.
-
-- Magic! (e.g.: `__magic__`: `**kargs`, `__getattr__`)
-
-A list of magic methods in Python:
-
-.link http://www.rafekettler.com/magicmethods.html
-
-* And I *do* like concurrency!
-
-A lot has been said about Python's infamous Global Interpreter Lock.
-
-You should watch [[http://youtu.be/ph374fJqFPE][Mindblowing Python GIL]], by David Beazley.
-
-* Things I like about Python
-
-* Things I like about Python
-
-- The Zen of Python. ([[http://talks.golang.org/2012/zen.slide#1][Go and the Zen of Python]])
-
-- Hashes and arrays are part of the language.
-
-- The standard library.
-
-- Magic! A bit of code can do a lot.
-
-* A bit of code
-
-* fib.py
-
-Have you ever heard of Fibonacci?
-
-.play go4python/fib.py /fib/,
-
-* fib.go
-
-Something familiar?
-
-.play go4python/fib.go /func/,
-
-* Fibonacci without generators? What?
-
-Python generators are awesome.
-
-.code go4python/fib-gen.py /fib/,/^$/
-
-Mechanically complex.
-
-.play go4python/fib-gen.py /f = fib/,/^$/
-
-But very easy to use.
-
-.play go4python/fib-gen.py /for x/,/^$/
-
-* Python generators
-
-.image go4python/img/fib-py.png 500 320
-
-Note the generator executes concurrently. Hmm... I like concurrency.
-
-* Go concurrency
-
-Based on *goroutines* and *channels*.
-
-- Goroutines: very light processing actors (the gophers).
-
-- Channels: typed, synchronized, thread-safe pipes (the arrows).
-
-.image go4python/img/funnelin.jpg
-
-* "Generator" goroutines
-
-.image go4python/img/fib-go.png 500 350
-
-* "Generator" goroutines
-
-Uses a channel send instead of `yield`.
-
-.code go4python/fib-gen.go /fib/,/^}/
-
-.play go4python/fib-gen.go /main\(/,
-
-* "Generator" goroutines
-
-A more generator-like style:
-
-.play go4python/fib-gen2.go /func/,
-
-* Exercise: generating prime numbers
-
-Write a function that returns a channel and sends the first n prime numbers on
-it.
-
-Given the function `prime`:
-
-.code go4python/genex.go /prime/,/^}/
-
-Use the Go playground:
-
-.link http://golang.org/s/go4py-ex1
-
-* Solution: generating prime numbers
-
-.code go4python/genex.go /primes\(/,/^}/
-
-.play go4python/genex.go /main\(/,
-
-* Exercise: Fibonacci primes
-
-Write a `filterPrimes` function that takes a channel of ints as a
-parameter and returns another channel of ints.
-
-All the prime numbers that `filterPrimes` receives from the input channel are
-sent into the output channel.
-
-Complete this code snippet:
-
-.link http://golang.org/s/go4py-ex2
-
-* Solution: Fibonacci primes
-
-.code go4python/genex2.go /filterPrimes\(/,/^}/
-
-.play go4python/genex2.go /main\(/,
-
-* But there's much more
-
-Goroutines and channels aren't just for generators. They can be used to model
-all kinds of concurrent systems.
-
-To learn more:
-
-- [[http://talks.golang.org/2012/concurrency.slide#1][Concurrency patterns]], by Rob Pike
-
-- [[http://talks.golang.org/2013/advconc.slide#1][Advanced Concurrency Patterns]], by Sameer Ajmani
-
-* Object-oriented Go
-
-* Object-oriented Go
-
-A type declaration.
-
-.code go4python/typesandmethods.go /Name/,/^}/
-
-A method declaration.
-
-.code go4python/typesandmethods.go /String/,/^}/
-
-Constructing a `Name` and using it.
-
-.play go4python/typesandmethods.go /William/,/Print/
-
-* Methods on anything
-
-There's more to types than structs.
-
-.code go4python/typesandmethods.go /SimpleName/
-
-You can define methods on any type.
-
-.code go4python/typesandmethods.go /SimpleName\)/
-
-Or almost any type.
-
-	func (s string) NoWay()
-
-You can *only* define methods on types within the same package.
-
-* Duck typing
-
-* Duck typing
-
-_If_it_walks_like_a_duck_..._
-
-What defines a duck?
-
-- Is there an explicit list of "duck" features?
-
-- What if the duck is not exactly a duck?
-
-s/duck/file-like object/g
-
-* Quack?
-
-.image go4python/img/duck.jpg 500 500
-
-* Go interfaces
-
-Simply a set of methods.
-
-From the `fmt` package:
-
-	type Stringer interface {
-		String() string
-	}
-
-`fmt.Println` calls the String method if the parameter is a `Stringer`.
-
-.play go4python/typesandmethods.go /second/,/Print/
-
-A type with all the methods of the interface implements the interface.
-
-*Implicit*satisfaction*==*No*"implements"*
-
-Structural typing: it doesn't just sound like a duck, it *is* a duck.
-
-And that's checked at compile time.
-
-* Decorators
-
-* Decorators
-
-A convenient way to wrap a function.
-
-.code go4python/deco.py /auth_required/,/^$/
-
-A function can be decorated using `@`.
-
-.code go4python/deco.py /myHandler/,/user/
-
-* Decorators
-
-If we run it.
-
-.play go4python/deco.py /try/,
-
-This is unauthorized:
-
-.link http://localhost:8080/hi
-
-This is authorized:
-
-.link http://localhost:8080/hi?user=john
-
-* Decorators in Go?
-
-Not exactly, but close enough.
-
-Go doesn't provide decorators in the language, but its function literal syntax and simple scoping rules make it easy to do something similar.
-
-.code go4python/deco.go /hiHandler/,/^\)/
-
-A wrapper function.
-
-.code go4python/deco.go /authRequired/,/^$/
-
-* Decorators in Go?
-
-.play go4python/deco.go /func main/,/^}/
-
-This is unauthorized:
-
-.link http://localhost:8080/hi
-
-This is authorized:
-
-.link http://localhost:8080/hi?user=john
-
-* Exercise: errors in HTTP handlers
-
-In Go, functions can return errors to indicate that something bad happened.
-
-The `net/http` package from the standard library defines the type `HandlerFunc`.
-
-	type HandlerFunc func(ResponseWriter, *Request)
-
-But it's often useful to unify the error handling into a single function to avoid
-repetition.
-
-.code go4python/decoex.go /errorHandler/
-
-Write a decorator that given a `errorHandler` returns a `http.HandlerFunc`.
-If an error occurs it logs it and returns an http error page.
-
-* Exercise: errors in HTTP handlers (continuation)
-
-Given the function `handler`.
-
-.code go4python/decoex.go /handler/,/^}/
-
-We want to use it as follows.
-
-.code go4python/decoex.go /HandleFunc/
-
-Implement `handleError` using the playground.
-
-.link http://golang.org/s/go4py-ex3
-
-* Solution: errors in HTTP handlers
-
-.code go4python/decoex.go /handleError/,/^}/
-
-.code go4python/decoex.go /Fake/,/^$/
-
-.play go4python/decoex.go /john/,/^$/
-
-* Monkey patching
-
-* Monkey patching
-
-"A monkey patch is a way to extend or modify the run-time code of dynamic languages without altering the original source code." - _Wikipedia_
-
-.image go4python/img/monkey.jpg 400 500
-
-* Monkey patching
-
-Also known as "duck punching" ... poor duck.
-
-Often used for testing purposes.
-
-For example, say we want to test this function:
-
-.code go4python/monkey.py /def say_hi/,/^$/
-
-Which depends on a function that makes an HTTP request:
-
-.code go4python/monkey.py /def auth/,/^$/
-
-* Monkey patching
-
-We can test `say_hi` without making HTTP requests by stubbing out `auth`:
-
-.play go4python/monkey.py /sayhitest/,/done/
-
-* Gopher punching!
-
-The same effect can be achieved in Go.
-
-.code go4python/monkey.go /sayHi/,/^}/
-
-Which depends on
-
-.code go4python/monkey.go /auth /,/^}/
-
-* Gopher punching!
-
-Our test code can change the value of auth easily.
-
-.play go4python/monkey.go /TestSayHi/,/^}/
-
-* Conclusion
-
-* Conclusion
-
-Go is a bit like Python
-
-- simple
-- flexible
-- fun
-
-but a bit different too
-
-- fast
-- concurrent
-- statically typed
-
-_Disclaimer_:_
-
-- "No pythons, ducks, monkeys or gophers were harmed while writing this talk"
-
-* Try it
-
-Next steps
-
-.link http://golang.org
-
-Learn Go from your browser
-
-.link http://tour.golang.org
-
-The community: golang-nuts
-
-.link https://groups.google.com/d/forum/golang-nuts
diff --git a/content/2013/go4python/deco.go b/content/2013/go4python/deco.go
deleted file mode 100644
index 5e80e25..0000000
--- a/content/2013/go4python/deco.go
+++ /dev/null
@@ -1,29 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"net/http"
-)
-
-func authRequired(f http.HandlerFunc) http.HandlerFunc {
-	return func(w http.ResponseWriter, r *http.Request) {
-		if r.FormValue("user") == "" {
-			http.Error(w, "unknown user", http.StatusForbidden)
-			return
-		}
-		f(w, r)
-	}
-}
-
-var hiHandler = authRequired(
-	func(w http.ResponseWriter, r *http.Request) {
-		fmt.Fprintf(w, "Hi, %v", r.FormValue("user"))
-	},
-)
-
-func main() {
-	http.HandleFunc("/hi", hiHandler)
-	http.ListenAndServe(":8080", nil)
-}
diff --git a/content/2013/go4python/deco.py b/content/2013/go4python/deco.py
deleted file mode 100644
index bf46318..0000000
--- a/content/2013/go4python/deco.py
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/python
-
-from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer
-from urlparse import urlparse,parse_qs
-
-PORT_NUMBER = 8080
-
-def auth_required(myfunc):
-	def checkuser(self):
-		user = parse_qs(urlparse(self.path).query).get('user')
-		if user:
-			self.user = user[0]
-			myfunc(self)
-		else:
-			self.wfile.write('unknown user')
-	return checkuser
-
-
-class myHandler(BaseHTTPRequestHandler):
-	@auth_required
-	def do_GET(self):
-		self.wfile.write('Hello, %s!' % self.user)
-
-try:
-	server = HTTPServer(('', PORT_NUMBER), myHandler)
-	server.serve_forever()
-
-except KeyboardInterrupt:
-	server.socket.close()
diff --git a/content/2013/go4python/decoex.go b/content/2013/go4python/decoex.go
deleted file mode 100644
index 3323b42..0000000
--- a/content/2013/go4python/decoex.go
+++ /dev/null
@@ -1,68 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bytes"
-	"fmt"
-	"io"
-	"log"
-	"net/http"
-)
-
-type errorHandler func(http.ResponseWriter, *http.Request) error
-
-func handleError(f errorHandler) http.HandlerFunc {
-	return func(w http.ResponseWriter, r *http.Request) {
-		err := f(w, r)
-		if err != nil {
-			log.Printf("%v", err)
-			http.Error(w, "Oops!", http.StatusInternalServerError)
-		}
-	}
-}
-
-func handler(w http.ResponseWriter, r *http.Request) error {
-	name := r.FormValue("name")
-	if name == "" {
-		return fmt.Errorf("empty name")
-	}
-	fmt.Fprintln(w, "Hi,", name)
-	return nil
-}
-
-// resp implements http.ResponseWriter writing
-type dummyResp struct {
-	io.Writer
-	h int
-}
-
-func newDummyResp() http.ResponseWriter {
-	return &dummyResp{Writer: &bytes.Buffer{}}
-}
-
-func (w *dummyResp) Header() http.Header { return make(http.Header) }
-func (w *dummyResp) WriteHeader(h int)   { w.h = h }
-func (w *dummyResp) String() string      { return fmt.Sprintf("[%v] %q", w.h, w.Writer) }
-
-func main() {
-	http.HandleFunc("/hi", handleError(handler))
-
-	// ListenAndServe is not allowed on the playground.
-	// http.ListenAndServe(":8080", nil)
-
-	// In the playground we call the handler manually with dummy requests.
-
-	// Fake request without 'name' parameter.
-	r := &http.Request{}
-	w := newDummyResp()
-	handleError(handler)(w, r)
-	fmt.Println("resp a:", w)
-
-	// Fake request with 'name' parameter 'john'.
-	r.Form["name"] = []string{"john"}
-	w = newDummyResp()
-	handleError(handler)(w, r)
-	fmt.Println("resp b:", w)
-
-}
diff --git a/content/2013/go4python/dyntyp.py b/content/2013/go4python/dyntyp.py
deleted file mode 100644
index fa9e4ea..0000000
--- a/content/2013/go4python/dyntyp.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/python
-
-import random
-
-name = 'pythonista'
-
-# This code only works half of the time.
-if random.random() > 0.5:
-	print 'hey '+name+', you win!'
-else:
-	print 'sorry '+nane+', you lose'
diff --git a/content/2013/go4python/fib-gen.go b/content/2013/go4python/fib-gen.go
deleted file mode 100644
index 30521f8..0000000
--- a/content/2013/go4python/fib-gen.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func fib(c chan int, n int) {
-	a, b := 0, 1
-	for i := 0; i < n; i++ {
-		a, b = b, a+b
-		c <- a // HL
-	}
-	close(c)
-}
-
-func main() {
-	c := make(chan int)
-	go fib(c, 10) // HL
-
-	for x := range c { // HL
-		fmt.Println(x)
-	}
-}
diff --git a/content/2013/go4python/fib-gen.py b/content/2013/go4python/fib-gen.py
deleted file mode 100644
index bc02cfd..0000000
--- a/content/2013/go4python/fib-gen.py
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/python
-
-def fib(n):
-    a, b = 0, 1
-    for i in range(n):
-        a, b = b, a + b
-        yield a
-
-f = fib(10)
-try:
-	while True:
-		print f.next()
-except StopIteration:
-	print 'done'
-
-for x in fib(10):
-	print x
-print 'done'
diff --git a/content/2013/go4python/fib-gen2.go b/content/2013/go4python/fib-gen2.go
deleted file mode 100644
index f185152..0000000
--- a/content/2013/go4python/fib-gen2.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func fib(n int) chan int {
-	c := make(chan int) // HL
-	go func() {         // HL
-		a, b := 0, 1
-		for i := 0; i < n; i++ {
-			a, b = b, a+b
-			c <- a // HL
-		}
-		close(c)
-	}()
-	return c
-}
-
-func main() {
-	for x := range fib(10) {
-		fmt.Println(x)
-	}
-}
diff --git a/content/2013/go4python/fib.go b/content/2013/go4python/fib.go
deleted file mode 100644
index b014ecc..0000000
--- a/content/2013/go4python/fib.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func fib(n int) int {
-	a, b := 0, 1
-	for i := 0; i < n; i++ {
-		a, b = b, a+b
-	}
-	return b
-}
-
-func fibRec(n int) int {
-	if n <= 1 {
-		return 1
-	}
-	return fibRec(n-1) + fibRec(n-2)
-}
-
-func main() {
-	for i := 0; i < 10; i++ {
-		fmt.Println(fib(i), fibRec(i))
-	}
-}
diff --git a/content/2013/go4python/fib.py b/content/2013/go4python/fib.py
deleted file mode 100755
index afc57fa..0000000
--- a/content/2013/go4python/fib.py
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/python
-
-def fib(n):
-    a, b = 0, 1
-    for i in range(n):
-        a, b = b, a + b
-    return b
-
-def fib_rec(n):
-	if n <= 1:
-		return 1
-	else:
-		return fib_rec(n-1) + fib_rec(n-2)
-
-for x in range(10):
-	print fib(x), fib_rec(x)
diff --git a/content/2013/go4python/genex.go b/content/2013/go4python/genex.go
deleted file mode 100644
index 661a153..0000000
--- a/content/2013/go4python/genex.go
+++ /dev/null
@@ -1,37 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-// prime returns true if n is a prime number.
-func prime(n int) bool {
-	for i := 2; i < n; i++ {
-		if n%i == 0 {
-			return false
-		}
-	}
-	return true
-}
-
-// primes returns a channel of ints on which it writes the first n prime
-// numbers before closing it.
-func primes(n int) chan int {
-	c := make(chan int)
-	go func() {
-		for i := 1; n > 0; i++ {
-			if prime(i) {
-				c <- i
-				n--
-			}
-		}
-		close(c)
-	}()
-	return c
-}
-
-func main() {
-	for p := range primes(10) {
-		fmt.Println(p)
-	}
-}
diff --git a/content/2013/go4python/genex2.go b/content/2013/go4python/genex2.go
deleted file mode 100644
index f6caa71..0000000
--- a/content/2013/go4python/genex2.go
+++ /dev/null
@@ -1,50 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-// prime returns true if n is a prime number.
-func prime(n int) bool {
-	for i := 2; i < n; i++ {
-		if n%i == 0 {
-			return false
-		}
-	}
-	return true
-}
-
-// fib returns a channel on which the first n Fibonacci numbers are written.
-func fib(n int) chan int {
-	c := make(chan int)
-	go func() {
-		a, b := 0, 1
-		for i := 0; i < n; i++ {
-			a, b = b, a+b
-			c <- a
-		}
-		close(c)
-	}()
-	return c
-}
-
-// filterPrimes returns a channel of ints on which it writes all the prime
-// numbers read from cin, and closes the returned channel when cin is closed.
-func filterPrimes(cin chan int) chan int {
-	cout := make(chan int)
-	go func() {
-		for v := range cin {
-			if prime(v) {
-				cout <- v
-			}
-		}
-		close(cout)
-	}()
-	return cout
-}
-
-func main() {
-	for p := range filterPrimes(fib(20)) {
-		fmt.Println(p)
-	}
-}
diff --git a/content/2013/go4python/img/duck.jpg b/content/2013/go4python/img/duck.jpg
deleted file mode 100644
index 344b31e..0000000
--- a/content/2013/go4python/img/duck.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2013/go4python/img/fib-go.png b/content/2013/go4python/img/fib-go.png
deleted file mode 100644
index 6917140..0000000
--- a/content/2013/go4python/img/fib-go.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/go4python/img/fib-py.png b/content/2013/go4python/img/fib-py.png
deleted file mode 100644
index 96bad1a..0000000
--- a/content/2013/go4python/img/fib-py.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/go4python/img/funnelin.jpg b/content/2013/go4python/img/funnelin.jpg
deleted file mode 100644
index 2bf6873..0000000
--- a/content/2013/go4python/img/funnelin.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2013/go4python/img/gopher.jpg b/content/2013/go4python/img/gopher.jpg
deleted file mode 100644
index 0a64306..0000000
--- a/content/2013/go4python/img/gopher.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2013/go4python/img/monkey.jpg b/content/2013/go4python/img/monkey.jpg
deleted file mode 100644
index f4b5569..0000000
--- a/content/2013/go4python/img/monkey.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2013/go4python/monkey.go b/content/2013/go4python/monkey.go
deleted file mode 100644
index 1a5bc36..0000000
--- a/content/2013/go4python/monkey.go
+++ /dev/null
@@ -1,43 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"net/http"
-)
-
-var authURL = ""
-
-var auth = func(user string) bool {
-	res, err := http.Get(authURL + "/" + user)
-	return err == nil && res.StatusCode == http.StatusOK
-}
-
-func sayHi(user string) {
-	if !auth(user) {
-		fmt.Printf("unknown user %v\n", user)
-		return
-	}
-	fmt.Printf("Hi, %v\n", user)
-}
-
-func TestSayHi() {
-	auth = func(string) bool { return true }
-	sayHi("John")
-
-	auth = func(string) bool { return false }
-	sayHi("John")
-}
-
-func init() {
-	auth = func(string) bool { return true }
-}
-
-func TestAnythingElse() {
-	// auth has been already set to the fake version
-}
-
-func main() {
-	TestSayHi()
-}
diff --git a/content/2013/go4python/monkey.py b/content/2013/go4python/monkey.py
deleted file mode 100644
index 6f33a7c..0000000
--- a/content/2013/go4python/monkey.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/python
-
-import urllib
-
-auth_url = 'http://google.com'
-
-def auth(usr):
-	try:
-		r = urllib.urlopen(auth_url + '/' + usr)
-		return r.getcode() == 200
-	except:
-		return False
-
-def say_hi(usr):
-	if auth(usr):
-		print 'Hi, %s' % usr
-	else:
-		print 'unknown user %s' % usr
-
-def sayhitest():
-	# Test authenticated user
-	globals()['auth'] = lambda x: True
-	say_hi('John')
-
-	# Test unauthenticated user
-	globals()['auth'] = lambda x: False
-	say_hi('John')
-#done OMIT
-
-sayhitest()
diff --git a/content/2013/go4python/typesandmethods.go b/content/2013/go4python/typesandmethods.go
deleted file mode 100644
index 6690b4d..0000000
--- a/content/2013/go4python/typesandmethods.go
+++ /dev/null
@@ -1,31 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"strings"
-)
-
-type Name struct {
-	First  string
-	Middle string
-	Last   string
-}
-
-func (n Name) String() string {
-	return fmt.Sprintf("%s %c. %s", n.First, n.Middle[0], strings.ToUpper(n.Last))
-}
-
-type SimpleName string
-
-func (s SimpleName) String() string { return string(s) }
-
-func main() {
-	n := Name{"William", "Mike", "Smith"}
-	fmt.Printf("%s", n.String())
-	return
-	// second OMIT
-	n = Name{"William", "Mike", "Smith"}
-	fmt.Println(n)
-}
diff --git a/content/2013/highperf.slide b/content/2013/highperf.slide
deleted file mode 100644
index 51143f8..0000000
--- a/content/2013/highperf.slide
+++ /dev/null
@@ -1,232 +0,0 @@
-High Performance Apps with Go on App Engine
-Google I/O, May 2013
-
-David Symonds
-Software Engineer, Google
-dsymonds@golang.org
-
-* Video
-
-This talk was presented at Google I/O in May 2013.
-
-.link http://www.youtube.com/watch?v=fc25ihfXhbg Watch the talk on YouTube
-
-* Overview
-
-- Why Go + App Engine
-- History, Status
-- Gopher Mart
-- Finding performance bottlenecks
-- Defer work
-- Batching
-- Caching
-- Concurrency
-- Control variance
-
-* Why Go + App Engine
-
-- Go compiles to native code
-- App Engine is an auto-scaling low-maintenance platform
-- Fastest runtime on App Engine: starts fast, runs fast
-
-.image highperf/aegopher.jpg
-
-* History
-
-- Go runtime for App Engine unveiled at Google I/O 2011
-- Steady growth, several high-profile users
-
-.image highperf/appenginegophercolor.jpg
-
-* Turkey doodle (Nov 2011)
-
-.image highperf/turkey.png
-
-- Written by a Go newcomer, launched in under 24 hours
-- Half the latency of a Python 2.7 version
-- Launched on google.com front page
-
-[[http://golang.org/s/turkey-doodle][golang.org/s/turkey-doodle]]
-
-* Santa Tracker (Dec 2012)
-
-.html highperf/santaembed.html
-
-- Nearly 5000 queries per second
-- Did not make any children cry
-
-.image highperf/santagraph.png
-
-* Gopher Mart
-
-* Gopher Mart
-
-- Imagine your app is the Gopher Mart, the one-stop-shop for all your gopher needs
-
-.image highperf/gophermart.png
-
-* Gopher Mart
-
-- Each checkout gopher is an app instance
-- Each shopping gopher is a user request
-- The scheduler directs requests to instances
-- A checkout gopher can deal with one customer at a time
-- Checkout gophers (instances) can be hired/fired, but there's overhead
-
-.image highperf/gophermart2.png
-
-* Gopher Mart
-
-- Gophers waiting in queues get grumpy
-- Let's make it fast
-
-* Finding performance bottlenecks
-
-- _Understand_why_your_checkout_gophers_might_work_slowly_
-- Measure first
-
-.image highperf/gopherrulespanner.png
-
-- Measure periodically; performance characteristics changes over time
-- Go 1.1 brings lots of performance improvements
-
-* Appstats
-
-- Appstats traces API RPCs, shows timeline
-- [[http://github.com/mjibson/appstats][github.com/mjibson/appstats]]
-
-- Gopher Mart baseline:
-.image highperf/appstats1.png
-
-* Performance Techniques
-
-* Defer work
-
-- Not all work needs to be done during the request
-- Use `appengine/taskqueue` or `appengine/delay` to move non-critical work outside the request scope
-- _Gopher_Mart_can_replace_slow_ `mail.Send` _with_quick_ `taskqueue.Add`
-
-* Defer work II
-
-Import `"appengine/delay"` and transform
-
-.code highperf/mart/1/mart.go /sendReceipt/
-.code highperf/mart/1/mart.go /func sendReceipt/
-
-into
-
-.code highperf/mart/2/mart.go /sendReceipt/
-.code highperf/mart/2/mart.go /var sendReceipt/
-
-.image highperf/appstats2.png
-
-* Batching
-
-- _Buying_10_boxes_of_Gopher_Flakes_is_easier_than_buying_a_single_box_10_times_
-- _Calling_for_a_price_check_on_three_items_is_faster_than_three_separate_price_checks_
-- Use `GetMulti` instead of `Get`, `PutMulti` instead of `Put`, etc.
-
-.code highperf/mart/2/mart.go /Dumb load/+1,/Print items/-1
-
-* Batching II
-
-.code highperf/mart/3/mart.go /Batch get/+1,/}/
-
-.image highperf/appstats3.png
-
-* Caching
-
-- _Checkout_gophers_can_make_notes_and_memorize_things_
-- Using datastore is fine, but it can be slow
-- Using memcache is good (shared among instances), but remember it can disappear
-- Using local memory is okay too, but it can disappear as well
-
-.html highperf/cachingembed.html
-
-* Concurrency
-
-- _A_price_check_may_delay_dealing_with_a_shopping_gopher_
-- RPC-bound requests are very common, and often least-cacheable
-- _Get_your_checkout_gopher_doing_something_else_while_waiting_
-
-* Concurrency II
-
-.code highperf/concurrency.go.notouch /func serial/+1,/^}/-1
-
-* Concurrency III
-
-- Run queries concurrently
-- Easy way to speed up RPC-bound requests
-
-.code highperf/concurrency.go.notouch /func parallel/+1,/^}/-1
-
-- Visit Sameer Ajmani's talk (today, 4:25PM, Room 7)
-
-* Control variance
-
-- _Some_shopping_gophers_can_take_much_longer_than_others_
-- Variance in request processing is very common (e.g. 99% take 10ms, 1% take 100ms)
-- Some requests are harder than others
-- Infrastructure is reliable, but not perfect
-
-* Control variance II
-
-- Effects of variance can cascade
-- Variable requests make scheduling harder, requires more instances (billed)
-- We want to control variance
-
-[[http://cacm.acm.org/magazines/2013/2/160173-the-tail-at-scale/fulltext]["The Tail at Scale", Dean, Barroso; Commun. ACM 56, 2]]
-
-* Control variance III
-
-- For example, storing in memcache is usually an optimisation, and thus optional
-- Bound time spent on optional work
-
-- First approach: save to memcache asynchronously
-
-.code highperf/longtail.go /long_tail_memcache_bad/+1,/^}/
-
-- Problem: Response will be returned to user as soon as handler returns, and outstanding API calls will be canceled
-
-* Control variance IV
-
-- Solution: Use Go's concurrency primitives to timeout waiting
-
-.code highperf/longtail.go /long_tail_memcache_good/+1,/^}/
-
-* Before and After
-
-Baseline:
-
-.image highperf/appstats1.png
-
-Defer work:
-
-.image highperf/appstats2.png
-
-Batching:
-
-.image highperf/appstats3.png
-
-* Summary
-
-- Finding performance bottlenecks
-- Defer work
-- Batching
-- Caching
-- Concurrency
-- Control variance
-
-* Finally...
-
-- [[http://golang.org][golang.org]]
-- [[http://developers.google.com/appengine/docs/go/][developers.google.com/appengine/docs/go/]]
-- [[http://golang.org/s/io13-ae-talk][golang.org/s/io13-ae-talk]] (this talk, plus gophermart app)
-- [[http://github.com/mjibson/appstats][github.com/mjibson/appstats]]
-
-More Go things:
-
-- _Go_in_Production_ (_office_hours_), 3:30PM-4:15PM, Cloud Sandbox
-- _Advanced_Go_Concurrency_Patterns_, 4:25PM, Room 7
-- _Fireside_Chat_with_the_Go_Team_, 5:20PM, Room 2
-- _Go_App_Engine_ (_office_hours_), 1:45PM-2:30PM *tomorrow*, Cloud Sandbox
diff --git a/content/2013/highperf/aegopher.jpg b/content/2013/highperf/aegopher.jpg
deleted file mode 100644
index f0c0bda..0000000
--- a/content/2013/highperf/aegopher.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2013/highperf/appenginegophercolor.jpg b/content/2013/highperf/appenginegophercolor.jpg
deleted file mode 100644
index 68795a9..0000000
--- a/content/2013/highperf/appenginegophercolor.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2013/highperf/appstats1.png b/content/2013/highperf/appstats1.png
deleted file mode 100644
index fe6d759..0000000
--- a/content/2013/highperf/appstats1.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/highperf/appstats2.png b/content/2013/highperf/appstats2.png
deleted file mode 100644
index d5eda22..0000000
--- a/content/2013/highperf/appstats2.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/highperf/appstats3.png b/content/2013/highperf/appstats3.png
deleted file mode 100644
index 1f6e553..0000000
--- a/content/2013/highperf/appstats3.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/highperf/art/gophercart.png b/content/2013/highperf/art/gophercart.png
deleted file mode 100644
index 7813cd4..0000000
--- a/content/2013/highperf/art/gophercart.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/highperf/art/gophercheckout.png b/content/2013/highperf/art/gophercheckout.png
deleted file mode 100644
index 4fadb30..0000000
--- a/content/2013/highperf/art/gophercheckout.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/highperf/art/gophermegaphone.png b/content/2013/highperf/art/gophermegaphone.png
deleted file mode 100644
index e06d65b..0000000
--- a/content/2013/highperf/art/gophermegaphone.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/highperf/cachingembed.html b/content/2013/highperf/cachingembed.html
deleted file mode 100644
index 50d1b33..0000000
--- a/content/2013/highperf/cachingembed.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<table style="width: 50%;">
-  <caption>Small reads</caption>
-  <tr>
-    <td><tt>datastore.Get</tt></td>
-    <td>O(20ms)</td>
-  </tr>
-  <tr>
-    <td><tt>memcache.Get</tt></td>
-    <td>O(1ms)</td>
-  </tr>
-  <tr>
-    <td><tt>RAM</tt></td>
-    <td>O(1µs)</td>
-  </tr>
-</table>
diff --git a/content/2013/highperf/concurrency.go.notouch b/content/2013/highperf/concurrency.go.notouch
deleted file mode 100644
index 0ac5d81..0000000
--- a/content/2013/highperf/concurrency.go.notouch
+++ /dev/null
@@ -1,30 +0,0 @@
-// +build ignore
-
-package pkg
-
-func serial() {
-	var lists []List
-	var items []Item
-	_, err := datastore.NewQuery("List").GetAll(c, &lists)
-	if err != nil { /* ... */ }
-	_, err := datastore.NewQuery("Item").GetAll(c, &items)
-	if err != nil { /* ... */ }
-	// write response
-}
-
-func parallel() {
-	var lists []List
-	var items []Item
-	errc := make(chan error)	// HL
-	go func() {	// HL
-		_, err := datastore.NewQuery("List").GetAll(c, &lists)
-		errc <- err
-	}()	// HL
-	go func() {	// HL
-		_, err := datastore.NewQuery("Item").GetAll(c, &items)
-		errc <- err
-	}()	// HL
-	err1, err2 := <-errc, <-errc	// HL
-	if err1 != nil || err2 != nil { /* ... */ }
-	// write response
-}
diff --git a/content/2013/highperf/gophermart.png b/content/2013/highperf/gophermart.png
deleted file mode 100644
index 72ae11c..0000000
--- a/content/2013/highperf/gophermart.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/highperf/gophermart2.png b/content/2013/highperf/gophermart2.png
deleted file mode 100644
index 9ff5f0e..0000000
--- a/content/2013/highperf/gophermart2.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/highperf/gopherrulespanner.png b/content/2013/highperf/gopherrulespanner.png
deleted file mode 100644
index 24603f3..0000000
--- a/content/2013/highperf/gopherrulespanner.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/highperf/longtail.go b/content/2013/highperf/longtail.go
deleted file mode 100644
index c097d6c..0000000
--- a/content/2013/highperf/longtail.go
+++ /dev/null
@@ -1,38 +0,0 @@
-// +build ignore,OMIT
-
-package pkg
-
-// long_tail_memcache_bad
-func myHandler(w http.ResponseWriter, r *http.Request) {
-	c := appengine.NewContext(r)
-	// ...
-	// regular request handling
-	// ...
-
-	go memcache.Set(c, &memcache.Item{
-		Key:   key,
-		Value: data,
-	})
-}
-
-// long_tail_memcache_good
-func myHandler(w http.ResponseWriter, r *http.Request) {
-	c := appengine.NewContext(r)
-	// ...
-	// regular request handling
-	// ...
-
-	// Save to memcache, but only wait up to 3ms.
-	done := make(chan bool, 1) // NB: buffered
-	go func() {
-		memcache.Set(c, &memcache.Item{
-			Key:   key,
-			Value: data,
-		})
-		done <- true
-	}()
-	select { // HL
-	case <-done: // HL
-	case <-time.After(3 * time.Millisecond): // HL
-	} // HL
-}
diff --git a/content/2013/highperf/mart/1/app.yaml b/content/2013/highperf/mart/1/app.yaml
deleted file mode 100644
index 04e0df7..0000000
--- a/content/2013/highperf/mart/1/app.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-application: gophermart
-version: 1
-runtime: go
-api_version: go1
-
-handlers:
-- url: /admin/.*
-  script: _go_app
-  login: admin
-- url: /.*
-  script: _go_app
-  login: required
diff --git a/content/2013/highperf/mart/1/mart.go b/content/2013/highperf/mart/1/mart.go
deleted file mode 100644
index 51d39c5..0000000
--- a/content/2013/highperf/mart/1/mart.go
+++ /dev/null
@@ -1,134 +0,0 @@
-// +build ignore,OMIT
-
-package mart
-
-import (
-	"bytes"
-	"fmt"
-	"math/rand"
-	"net/http"
-	"strconv"
-	"strings"
-
-	"appengine"
-	"appengine/datastore"
-	"appengine/mail"
-	"appengine/user"
-
-	"github.com/mjibson/appstats"
-)
-
-func init() {
-	http.HandleFunc("/", front)
-	http.Handle("/checkout", appstats.NewHandler(checkout))
-	http.HandleFunc("/admin/populate", adminPopulate)
-}
-
-func front(w http.ResponseWriter, r *http.Request) {
-	if r.URL.Path != "/" {
-		http.NotFound(w, r)
-		return
-	}
-	fmt.Fprintf(w, "Hello, welcome to Gopher Mart!")
-}
-
-const (
-	numItems = 100 // number of different items for sale
-
-	appAdmin = "noreply@google.com" // an admin of this app, for sending mail
-)
-
-// Item represents an item for sale in Gopher Mart.
-type Item struct {
-	Name  string
-	Price float64
-}
-
-func itemKey(c appengine.Context, i int) *datastore.Key {
-	return datastore.NewKey(c, "Item", fmt.Sprintf("item%04d", i), 0, nil)
-}
-
-func checkout(c appengine.Context, w http.ResponseWriter, r *http.Request) {
-	w.Header().Set("Content-Type", "text/plain; charset=utf-8")
-	num, err := strconv.Atoi(r.FormValue("num"))
-	if err == nil && (num < 1 || num > 30) {
-		err = fmt.Errorf("%d out of range [1,30]", num)
-	}
-	if err != nil {
-		http.Error(w, fmt.Sprintf("bad number of items: %v", err), http.StatusBadRequest)
-		return
-	}
-
-	// Pick random items.
-	keys := make([]*datastore.Key, num)
-	for i := range keys {
-		keys[i] = itemKey(c, rand.Intn(numItems))
-	}
-
-	// Dumb load.
-	var items []*Item
-	for _, key := range keys {
-		item := new(Item)
-		if err := datastore.Get(c, key, item); err != nil {
-			http.Error(w, fmt.Sprintf("datastore.Get: %v", err), http.StatusBadRequest)
-			return
-		}
-		items = append(items, item)
-	}
-
-	// Print items.
-	var b bytes.Buffer
-	fmt.Fprintf(&b, "Here's what you bought:\n")
-	var sum float64
-	for _, item := range items {
-		fmt.Fprintf(&b, "\t%s", item.Name)
-		fmt.Fprint(&b, strings.Repeat("\t", (40-len(item.Name)+7)/8))
-		fmt.Fprintf(&b, "$%5.2f\n", item.Price)
-		sum += item.Price
-	}
-	fmt.Fprintln(&b, strings.Repeat("-", 55))
-	fmt.Fprintf(&b, "\tTotal:\t\t\t\t\t$%.2f\n", sum)
-
-	w.Write(b.Bytes())
-
-	sendReceipt(c, user.Current(c).Email, b.String())
-}
-
-func sendReceipt(c appengine.Context, dst, body string) {
-	msg := &mail.Message{
-		Sender:  appAdmin,
-		To:      []string{dst},
-		Subject: "Your Gopher Mart receipt",
-		Body:    body,
-	}
-	if err := mail.Send(c, msg); err != nil {
-		c.Errorf("mail.Send: %v", err)
-	}
-}
-
-func adminPopulate(w http.ResponseWriter, r *http.Request) {
-	c := appengine.NewContext(r)
-	for i := range [numItems]struct{}{} { // r hates this. tee hee.
-		key := itemKey(c, i)
-		good := goods[rand.Intn(len(goods))]
-		item := &Item{
-			// TODO: vary names more
-			Name:  fmt.Sprintf("%s %dg", good.name, i+1),
-			Price: float64(rand.Intn(1999)+1) / 100,
-		}
-		if _, err := datastore.Put(c, key, item); err != nil {
-			http.Error(w, err.Error(), 500)
-			return
-		}
-	}
-	fmt.Fprintf(w, "ok. %d items populated.", numItems)
-}
-
-var goods = [...]struct {
-	name string
-}{
-	{"Gopher Bran"},
-	{"Gopher Flakes"},
-	{"Gopher Grease"},
-	{"Gopher Litter"},
-}
diff --git a/content/2013/highperf/mart/2/app.yaml b/content/2013/highperf/mart/2/app.yaml
deleted file mode 100644
index a620f68..0000000
--- a/content/2013/highperf/mart/2/app.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-application: gophermart
-version: 2
-runtime: go
-api_version: go1
-
-handlers:
-- url: /admin/.*
-  script: _go_app
-  login: admin
-- url: /_ah/(stats|queue).*
-  script: _go_app
-  login: admin
-- url: /.*
-  script: _go_app
-  login: required
diff --git a/content/2013/highperf/mart/2/mart.go b/content/2013/highperf/mart/2/mart.go
deleted file mode 100644
index 6c10c59..0000000
--- a/content/2013/highperf/mart/2/mart.go
+++ /dev/null
@@ -1,136 +0,0 @@
-// +build ignore,OMIT
-
-package mart
-
-import (
-	"bytes"
-	"fmt"
-	"math/rand"
-	"net/http"
-	"strconv"
-	"strings"
-
-	"appengine"
-	"appengine/datastore"
-	"appengine/delay"
-	"appengine/mail"
-	"appengine/user"
-
-	"github.com/mjibson/appstats"
-)
-
-func init() {
-	http.HandleFunc("/", front)
-	http.Handle("/checkout", appstats.NewHandler(checkout))
-	http.HandleFunc("/admin/populate", adminPopulate)
-}
-
-func front(w http.ResponseWriter, r *http.Request) {
-	if r.URL.Path != "/" {
-		http.NotFound(w, r)
-		return
-	}
-	fmt.Fprintf(w, "Hello, welcome to Gopher Mart!")
-}
-
-const (
-	numItems = 100 // number of different items for sale
-
-	appAdmin = "noreply@google.com" // an admin of this app, for sending mail
-)
-
-// Item represents an item for sale in Gopher Mart.
-type Item struct {
-	Name  string
-	Price float64
-}
-
-func itemKey(c appengine.Context, i int) *datastore.Key {
-	return datastore.NewKey(c, "Item", fmt.Sprintf("item%04d", i), 0, nil)
-}
-
-func checkout(c appengine.Context, w http.ResponseWriter, r *http.Request) {
-	w.Header().Set("Content-Type", "text/plain; charset=utf-8")
-	num, err := strconv.Atoi(r.FormValue("num"))
-	if err == nil && (num < 1 || num > 30) {
-		err = fmt.Errorf("%d out of range [1,30]", num)
-	}
-	if err != nil {
-		http.Error(w, fmt.Sprintf("bad number of items: %v", err), http.StatusBadRequest)
-		return
-	}
-
-	// Pick random items.
-	keys := make([]*datastore.Key, num)
-	for i := range keys {
-		keys[i] = itemKey(c, rand.Intn(numItems))
-	}
-
-	// Dumb load.
-	var items []*Item
-	for _, key := range keys {
-		item := new(Item)
-		if err := datastore.Get(c, key, item); err != nil {
-			// ...
-			http.Error(w, fmt.Sprintf("datastore.Get: %v", err), http.StatusBadRequest) // OMIT
-			return                                                                      // OMIT
-		}
-		items = append(items, item)
-	}
-
-	// Print items.
-	var b bytes.Buffer
-	fmt.Fprintf(&b, "Here's what you bought:\n")
-	var sum float64
-	for _, item := range items {
-		fmt.Fprintf(&b, "\t%s", item.Name)
-		fmt.Fprint(&b, strings.Repeat("\t", (40-len(item.Name)+7)/8))
-		fmt.Fprintf(&b, "$%5.2f\n", item.Price)
-		sum += item.Price
-	}
-	fmt.Fprintln(&b, strings.Repeat("-", 55))
-	fmt.Fprintf(&b, "\tTotal:\t\t\t\t\t$%.2f\n", sum)
-
-	w.Write(b.Bytes())
-
-	sendReceipt.Call(c, user.Current(c).Email, b.String())
-}
-
-var sendReceipt = delay.Func("send-receipt", func(c appengine.Context, dst, body string) {
-	msg := &mail.Message{
-		Sender:  appAdmin,
-		To:      []string{dst},
-		Subject: "Your Gopher Mart receipt",
-		Body:    body,
-	}
-	if err := mail.Send(c, msg); err != nil {
-		c.Errorf("mail.Send: %v", err)
-	}
-})
-
-func adminPopulate(w http.ResponseWriter, r *http.Request) {
-	c := appengine.NewContext(r)
-	for i := range [numItems]struct{}{} { // r hates this. tee hee.
-		key := itemKey(c, i)
-		good := goods[rand.Intn(len(goods))]
-		item := &Item{
-			// TODO: vary names more
-			Name:  fmt.Sprintf("%s %dg", good.name, i+1),
-			Price: float64(rand.Intn(1999)+1) / 100,
-		}
-		if _, err := datastore.Put(c, key, item); err != nil {
-			http.Error(w, err.Error(), 500)
-			return
-		}
-	}
-	fmt.Fprintf(w, "ok. %d items populated.", numItems)
-}
-
-var goods = [...]struct {
-	name string
-}{
-	{"Gopher Bran"},
-	{"Gopher Flakes"},
-	{"Gopher Grease"},
-	{"Gopher Litter"},
-}
diff --git a/content/2013/highperf/mart/3/app.yaml b/content/2013/highperf/mart/3/app.yaml
deleted file mode 100644
index 3e3c223..0000000
--- a/content/2013/highperf/mart/3/app.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-application: gophermart
-version: 3
-runtime: go
-api_version: go1
-
-handlers:
-- url: /admin/.*
-  script: _go_app
-  login: admin
-- url: /.*
-  script: _go_app
-  login: required
diff --git a/content/2013/highperf/mart/3/mart.go b/content/2013/highperf/mart/3/mart.go
deleted file mode 100644
index 49c341a..0000000
--- a/content/2013/highperf/mart/3/mart.go
+++ /dev/null
@@ -1,132 +0,0 @@
-// +build ignore,OMIT
-
-package mart
-
-import (
-	"bytes"
-	"fmt"
-	"math/rand"
-	"net/http"
-	"strconv"
-	"strings"
-
-	"appengine"
-	"appengine/datastore"
-	"appengine/delay"
-	"appengine/mail"
-	"appengine/user"
-
-	"github.com/mjibson/appstats"
-)
-
-func init() {
-	http.HandleFunc("/", front)
-	http.Handle("/checkout", appstats.NewHandler(checkout))
-	http.HandleFunc("/admin/populate", adminPopulate)
-}
-
-func front(w http.ResponseWriter, r *http.Request) {
-	if r.URL.Path != "/" {
-		http.NotFound(w, r)
-		return
-	}
-	fmt.Fprintf(w, "Hello, welcome to Gopher Mart!")
-}
-
-const (
-	numItems = 100 // number of different items for sale
-
-	appAdmin = "noreply@google.com" // an admin of this app, for sending mail
-)
-
-// Item represents an item for sale in Gopher Mart.
-type Item struct {
-	Name  string
-	Price float64
-}
-
-func itemKey(c appengine.Context, i int) *datastore.Key {
-	return datastore.NewKey(c, "Item", fmt.Sprintf("item%04d", i), 0, nil)
-}
-
-func checkout(c appengine.Context, w http.ResponseWriter, r *http.Request) {
-	w.Header().Set("Content-Type", "text/plain; charset=utf-8")
-	num, err := strconv.Atoi(r.FormValue("num"))
-	if err == nil && (num < 1 || num > 30) {
-		err = fmt.Errorf("%d out of range [1,30]", num)
-	}
-	if err != nil {
-		http.Error(w, fmt.Sprintf("bad number of items: %v", err), http.StatusBadRequest)
-		return
-	}
-
-	// Pick random items.
-	keys := make([]*datastore.Key, num)
-	for i := range keys {
-		keys[i] = itemKey(c, rand.Intn(numItems))
-	}
-
-	// Batch get
-	items := make([]Item, len(keys))
-	if err := datastore.GetMulti(c, keys, items); err != nil {
-		// ...
-		http.Error(w, fmt.Sprintf("datastore.GetMulti: %v", err), http.StatusBadRequest) // OMIT
-		return                                                                           // OMIT
-	}
-
-	// Print items.
-	var b bytes.Buffer
-	fmt.Fprintf(&b, "Here's what you bought:\n")
-	var sum float64
-	for _, item := range items {
-		fmt.Fprintf(&b, "\t%s", item.Name)
-		fmt.Fprint(&b, strings.Repeat("\t", (40-len(item.Name)+7)/8))
-		fmt.Fprintf(&b, "$%5.2f\n", item.Price)
-		sum += item.Price
-	}
-	fmt.Fprintln(&b, strings.Repeat("-", 55))
-	fmt.Fprintf(&b, "\tTotal:\t\t\t\t\t$%.2f\n", sum)
-
-	w.Write(b.Bytes())
-
-	sendReceipt.Call(c, user.Current(c).Email, b.String())
-}
-
-var sendReceipt = delay.Func("send-receipt", func(c appengine.Context, dst, body string) {
-	msg := &mail.Message{
-		Sender:  appAdmin,
-		To:      []string{dst},
-		Subject: "Your Gopher Mart receipt",
-		Body:    body,
-	}
-	if err := mail.Send(c, msg); err != nil {
-		c.Errorf("mail.Send: %v", err)
-	}
-})
-
-func adminPopulate(w http.ResponseWriter, r *http.Request) {
-	c := appengine.NewContext(r)
-	for i := range [numItems]struct{}{} { // r hates this. tee hee.
-		key := itemKey(c, i)
-		good := goods[rand.Intn(len(goods))]
-		item := &Item{
-			// TODO: vary names more
-			Name:  fmt.Sprintf("%s %dg", good.name, i+1),
-			Price: float64(rand.Intn(1999)+1) / 100,
-		}
-		if _, err := datastore.Put(c, key, item); err != nil {
-			http.Error(w, err.Error(), 500)
-			return
-		}
-	}
-	fmt.Fprintf(w, "ok. %d items populated.", numItems)
-}
-
-var goods = [...]struct {
-	name string
-}{
-	{"Gopher Bran"},
-	{"Gopher Flakes"},
-	{"Gopher Grease"},
-	{"Gopher Litter"},
-}
diff --git a/content/2013/highperf/mart/README b/content/2013/highperf/mart/README
deleted file mode 100644
index e4c90be..0000000
--- a/content/2013/highperf/mart/README
+++ /dev/null
@@ -1,5 +0,0 @@
-This is a little demonstration app called Gopher Mart.
-
-1/ is the simple, trivial, stupid, slow version.
-2/ defers work (mail).
-3/ uses batching.
diff --git a/content/2013/highperf/santa.png b/content/2013/highperf/santa.png
deleted file mode 100644
index 4409e9d..0000000
--- a/content/2013/highperf/santa.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/highperf/santaembed.html b/content/2013/highperf/santaembed.html
deleted file mode 100644
index 746c75c..0000000
--- a/content/2013/highperf/santaembed.html
+++ /dev/null
@@ -1 +0,0 @@
-<img src="highperf/santa.png" style="float: right; margin-right: 10em;" />
diff --git a/content/2013/highperf/santagraph.png b/content/2013/highperf/santagraph.png
deleted file mode 100644
index 906aa8b..0000000
--- a/content/2013/highperf/santagraph.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/highperf/turkey.png b/content/2013/highperf/turkey.png
deleted file mode 100644
index d84e976..0000000
--- a/content/2013/highperf/turkey.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/oscon-dl.slide b/content/2013/oscon-dl.slide
deleted file mode 100644
index d4a8a2e..0000000
--- a/content/2013/oscon-dl.slide
+++ /dev/null
@@ -1,436 +0,0 @@
-dl.google.com: Powered by Go
-10:00 26 Jul 2013
-Tags: download, oscon, port, c++, google, groupcache, caching
-
-Brad Fitzpatrick
-Gopher, Google
-@bradfitz
-bradfitz@golang.org
-http://bradfitz.com/
-http://golang.org/
-https://github.com/golang/groupcache/
-
-* Overview / tl;dw:
-
-- dl.google.com serves Google downloads
-- Was written in C++
-- Now in Go
-- Now much better
-- Extensive, idiomatic use of Go's standard library
-- ... which is all open source
-- composition of interfaces is fun
-- _groupcache_, now Open Source, handles group-aware caching and cache-filling
-
-* too long...
-
-* me
-
-- Brad Fitzpatrick
-- bradfitz.com
-- @bradfitz
-- past: LiveJournal, memcached, OpenID, Perl stuff...
-- nowadays: Go, Go, Camlistore, Go, anything & everything written in Go ...
-
-* I love Go
-
-- this isn't a talk about Go, sorry.
-- but check it out.
-- simple, powerful, fast, liberating, refreshing
-- great mix of low- and high- level
-- light on the page
-- static binaries, easy to deploy
-- not perfect, but my favorite language yet
-
-* dl.google.com
-
-* dl.google.com
-
-- HTTP download server
-- serves Chrome, Android SDK, Earth, much more
-- Some huge, some tiny (e.g. WebGL white/blacklist JSON)
-- behind an edge cache; still high traffic
-- lots of datacenters, lots of bandwidth
-
-* Why port?
-
-* reason 0
-
-$ apt-get update
-
-.image oscon-dl/slow.png
-
-- embarassing
-- Google can't serve a 1,238 byte file?
-- Hanging?
-- 207 B/s?!
-
-* Yeah, embarassing, for years...
-
-.image oscon-dl/crbug.png
-
-* ... which led to:
-
-- complaining on corp G+. Me: "We suck. This sucks."
-- primary SRE owning it: "Yup, it sucks. And is unmaintained."
-- "I'll rewrite it for you!"
-- "Hah."
-- "No, serious. That's kinda our job. But I get to do it in Go."
-- (Go team's loan-out-a-Gopher program...)
-
-* How hard can this be?
-
-* dl.google.com: few tricks
-
-each "payload" (~URL) described by a protobuf:
-
-- paths/patterns for its URL(s)
-- go-live reveal date
-- ACLs (geo, network, user, user type, ...)
-- dynamic zip files
-- custom HTTP headers
-- custom caching
-
-* dl.google.com: how it was
-
-.image oscon-dl/before.png
-
-* Aside: Why good code goes bad
-
-* Why good code goes bad
-
-- Premise: people don't suck
-- Premise: code was once beautiful
-- code tends towards complexity (gets worse)
-- environment changes
-- scale changes
-
-* code complexity
-
-- without regular love, code grows warts over time
-- localized fixes and additions are easy & quick, but globally crappy
-- features, hacks and workarounds added without docs or tests
-- maintainers come & go,
-- ... or just go.
-
-* changing environment
-
-- Google's infrastructure (hardware & software), like anybody's, is always changing
-- properties of networks, storage
-- design assumptions no longer make sense
-- scale changes (design for 10x growth, rethink at 100x)
-- new internal services (beta or non-existent then, dependable now)
-- once-modern home-grown invented wheels might now look archaic 
-
-* so why did it suck?
-
-.image oscon-dl/slow.png
-
-- stalling its single-threaded event loop, blocking when it shouldn't
-- maxed out at one CPU, but couldn't even use a fraction of a single CPU.
-
-* but why?
-
-- code was too complicated
-- future maintainers slowly violated unwritten rules
-- or knowingly violated them, assuming it couldn't be too bad?
-- C++ single-threaded event-based callback spaghetti
-- hard to know when/where code was running, or what "blocking" meant
-
-* Old code
-
-- served from local disk
-- single-threaded event loop
-- used sendfile(2) "for performance"
-- tried to be clever and steal the fd from the "SelectServer" sometimes to manually call sendfile
-- while also trying to do HTTP chunking,
-- ... and HTTP range requests,
-- ... and dynamic zip files,
-- lots of duplicated copy/paste code paths
-- many wrong/incomplete in different ways
-
-* Mitigation solution?
-
-- more complexity!
-- ad hoc addition of more threads
-- ... not really defined which threads did what,
-- ... or what the ownership or locking rules were,
-- no surprise: random crashes
-
-* Summary of 5-year old code in 2012
-
-- incomplete docs, tests
-- stalling event loop
-- ad-hoc threads...
-- ... stalling event loops
-- ... races
-- ... crashes
-- copy/paste code
-- ... incomplete code
-- two processes in the container
-- ... different languages
-
-* Environment changes
-
-- Remember: on start, we had to copy all payloads to local disk
-- in 2007, using local disk wasn't restricted
-- in 2007, sum(payload size) was much smaller
-- in 2012, containers get tiny % of local disk spindle time
-- ... why aren't you using the cluster file systems like everybody else?
-- ... cluster file systems own disk time on your machine, not you.
-- in 2007, it started up quickly.
-- in 2012, it started in 12-24 hours (!!!)
-- ... hope we don't crash! (oh, whoops)
-
-* Copying N bytes from A to B in event loop environments (node.js, this C++, etc)
-
-- Can *A* read?
-- Read up to _n_ bytes from A.
-- What'd we get? _rn_
-- _n_ -= _rn_
-- Store those.
-- Note we want to want to write to *B* now.
-- Can *B* write?
-- Try to write _rn_ bytes to *B*. Got _wn_.
-- buffered -= _wn_
-- while (blah blah blah) { ... blah blah blah ... }
-
-* Thought that sucked? Try to mix in other state / logic, and then write it in C++.
-
-*  
-
-.image oscon-dl/cpp-write.png
-
-*  
-
-.image oscon-dl/cpp-writeerr.png
-
-*   
-
-.image oscon-dl/cpp-toggle.png
-
-* Or in JavaScript...
-
-- [[https://github.com/nodejitsu/node-http-proxy/blob/master/lib/node-http-proxy/http-proxy.js]]
-- Or Python gevent, Twisted, ...
-- Or Perl AnyEvent, etc.
-- Unreadable, discontiguous code.
-
-* Copying N bytes from A to B in Go:
-
-.code oscon-dl/copy.go /START OMIT/,/END OMIT/
-
-- dst is an _io.Writer_ (an interface type)
-- src is an _io.Reader_ (an interface type)
-- synchronous (blocks)
-- Go runtime deals with making blocking efficient
-- goroutines, epoll, user-space scheduler, ...
-- easier to reason about
-- fewer, easier, compatible APIs
-- concurrency is a _language_ (not _library_) feature
-
-* Where to start?
-
-- baby steps, not changing everything at once
-- only port the `payload_server`, not the `payload_fetcher`
-- read lots of old design docs
-- read lots of C++ code
-- port all command-line flags
-- serve from local disk
-- try to run integration tests
-- while (fail) { debug, port, swear, ...}
-
-* Notable stages
-
-- pass integration tests
-- run in a lightly-loaded datacenter
-- audit mode
-- ... mirror traffic to old & new servers; compare responses.
-- drop all SWIG dependencies on C++ libraries
-- ... use IP-to-geo lookup service, not static file + library
-
-* Notable stages
-
-- fetch blobs directly from blobstore, falling back to local disk on any errors,
-- relying entirely on blobstore, but `payload_fetcher` still running
-- disable `payload_fetcher` entirely; fast start-up time.
-
-* Using Go's Standard Library
-
-* Using Go's Standard Library
-
-- dl.google.com mostly just uses the standard library
-
-* Go's Standard Library
-
-- net/http
-- io
-- [[http://golang.org/pkg/net/http/#ServeContent][http.ServeContent]]
-
-* Hello World
-
-.play oscon-dl/server-hello.go
-
-* File Server
-
-.play oscon-dl/server-fs.go
-
-* http.ServeContent
-
-.image oscon-dl/servecontent.png
-
-* io.Reader, io.Seeker
-
-.image oscon-dl/readseeker.png
-.image oscon-dl/reader.png
-.image oscon-dl/seeker.png
-
-* http.ServeContent
-
-$ curl -H "Range: bytes=5-" http://localhost:8080
-
-.play oscon-dl/server-content.go
-
-* groupcache
-
-* groupcache
-
-- memcached alternative / replacement
-- [[http://github.com/golang/groupcache]]
-- _library_ that is both a client & server
-- connects to its peers
-- coordinated cache filling (no thundering herds on miss)
-- replication of hot items
-
-* Using groupcache
-
-Declare who you are and who your peers are.
-
-.code oscon-dl/groupcache.go /STARTINIT/,/ENDINIT/
-
-This peer interface is pluggable. (e.g. inside Google it's automatic.)
-
-* Using groupcache
-
-Declare a group. (group of keys, shared between group of peers)
-
-.code oscon-dl/groupcache.go /STARTGROUP/,/ENDGROUP/
-
-- group name "thumbnail" must be globally unique
-- 64 MB max per-node memory usage
-- Sink is an interface with SetString, SetBytes, SetProto
-
-* Using groupcache
-
-Request keys
-
-.code oscon-dl/groupcache.go /STARTUSE/,/ENDUSE/
-
-- might come from local memory cache
-- might come from peer's memory cache
-- might be computed locally
-- might be computed remotely
-- of all threads on all machines, only one thumbnail is made, then fanned out in-process and across-network to all waiters
-
-* dl.google.com and groupcache
-
-- Keys are "<blobref>-<chunk_offset>"
-- Chunks are 2MB
-- Chunks cached from local memory (for self-owned and hot items),
-- Chunks cached remotely, or
-- Chunks fetched from Google storage systems
-
-* dl.google.com interface composition
-
-.code oscon-dl/sizereaderat.go /START_1/,/END_1/
-
-* io.SectionReader
-
-.image oscon-dl/sectionreader.png
-
-* chunk-aligned ReaderAt
-
-.code oscon-dl/chunkaligned.go /START_DOC/,/END_DOC/
-
-- Caller can do ReadAt calls of any size and any offset
-- `r` only sees ReadAt calls on 2MB offset boundaries, of size 2MB (unless final chunk)
-
-* Composing all this
-
-- http.ServeContent wants a ReadSeeker
-- io.SectionReader(ReaderAt + size) -> ReadSeeker
-- Download server payloads are a type "content" with Size and ReadAt, implemented with calls to groupcache.
-- Wrapped in a chunk-aligned ReaderAt
-- ... concatenate parts of with MultiReaderAt
-
-.play oscon-dl/server-compose.go /START/,/END/
-
-* Things we get for free from net/http
-
-- Last-Modified
-- ETag
-- Range requests (w/ its paranoia)
-- HTTP/1.1 chunking, etc.
-- ... old server tried to do all this itself
-- ... incorrectly
-- ... incompletely
-- ... in a dozen different copies
-
-* Overall simplification
-
-- deleted C++ payload_server & Python payload_fetcher
-- 39 files (14,032 lines) deleted
-- one binary now (just Go `payload_server`, no `payload_fetcher`)
-- starts immediately, no huge start-up delay
-- server is just "business logic" now, not HTTP logic
-
-* From this...
-
-.image oscon-dl/before.png
-
-* ... to this.
-
-.image oscon-dl/after.png
-
-* And from page and pages of this...
-
-.image oscon-dl/cpp-writeerr.png
-
-* ... to this
-
-.image oscon-dl/after-code.png
-
-* So how does it compare to C++?
-
-- less than half the code
-- more testable, tests
-- same CPU usage for same bandwidth
-- ... but can do much more bandwidth
-- ... and more than one CPU
-- less memory (!)
-- no disk
-- starts up instantly (not 24 hours)
-- doesn't crash
-- handles hot download spikes
-
-* Could we have just rewritten it in new C++?
-
-- Sure.
-- But why?
-
-* Could I have just fixed the bugs in the C++ version?
-
-- Sure, if I could find them.
-- Then have to own it ("You touched it last...")
-- And I already maintain an HTTP server library. Don't want to maintain a bad one too.
-- It's much more maintainable. (and 3+ other people now do)
-
-* How much of dl.google.com is closed-source?
-
-- Very little.
-- ... ACL policies
-- ... RPCs to Google storage services.
-- Most is open source:
-- ... code.google.com/p/google-api-go-client/storage/v1beta1
-- ... net/http and rest of Go standard library
-- ... `groupcache`, now open source ([[https://github.com/golang/groupcache][github.com/golang/groupcache]])
-
diff --git a/content/2013/oscon-dl/after-code.png b/content/2013/oscon-dl/after-code.png
deleted file mode 100644
index 672ed03..0000000
--- a/content/2013/oscon-dl/after-code.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/oscon-dl/after.go b/content/2013/oscon-dl/after.go
deleted file mode 100644
index 021a487..0000000
--- a/content/2013/oscon-dl/after.go
+++ /dev/null
@@ -1,27 +0,0 @@
-// +build ignore,OMIT
-
-package download
-
-func (s *Server) handleDownload(w http.ResponseWriter, r *http.Request) {
-	s.addActiveDownloadTotal(1)
-	defer s.addActiveDownloadTotal(-1)
-	if !isGetOrHead(w, r) {
-		return
-	}
-	uctx, err := s.newUserContext(r)
-	// ...
-	pl, cacheable, err := s.chooseValidPayloadToDownload(uctx)
-	// ...
-	content, err := pl.content()
-	// ...
-	defer content.Close()
-	w.Header().Set("Content-Type", pl.mimeType())
-	if etag := pl.etag(); etag != "" {
-		w.Header().Set("Etag", strconv.Quote(etag))
-	}
-	if cacheable {
-		w.Header().Set("Expires", pl.expirationTime())
-	}
-	readSeeker := io.NewSectionReader(content, 0, content.Size())
-	http.ServeContent(w, r, "", pl.lastModifiedTime(), readSeeker)
-}
diff --git a/content/2013/oscon-dl/after.png b/content/2013/oscon-dl/after.png
deleted file mode 100644
index e009726..0000000
--- a/content/2013/oscon-dl/after.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/oscon-dl/before.png b/content/2013/oscon-dl/before.png
deleted file mode 100644
index d82ef07..0000000
--- a/content/2013/oscon-dl/before.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/oscon-dl/chunkaligned.go b/content/2013/oscon-dl/chunkaligned.go
deleted file mode 100644
index d5c0ace..0000000
--- a/content/2013/oscon-dl/chunkaligned.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "io"
-
-type SizeReaderAt interface {
-	io.ReaderAt
-	Size() int64
-}
-
-// START_DOC OMIT
-// NewChunkAlignedReaderAt returns a ReaderAt wrapper that is backed
-// by a ReaderAt r of size totalSize where the wrapper guarantees that
-// all ReadAt calls are aligned to chunkSize boundaries and of size
-// chunkSize (except for the final chunk, which may be shorter).
-//
-// A chunk-aligned reader is good for caching, letting upper layers have
-// any access pattern, but guarantees that the wrapped ReaderAt sees
-// only nicely-cacheable access patterns & sizes.
-func NewChunkAlignedReaderAt(r SizeReaderAt, chunkSize int) SizeReaderAt {
-	// ...
-	return nil // OMIT
-}
-
-// END_DOC OMIT
diff --git a/content/2013/oscon-dl/copy.go b/content/2013/oscon-dl/copy.go
deleted file mode 100644
index e778543..0000000
--- a/content/2013/oscon-dl/copy.go
+++ /dev/null
@@ -1,17 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"io"
-)
-
-func main() {
-	var dst io.Writer
-	var src io.Reader
-	// START OMIT
-	n, err := io.Copy(dst, src)
-	// END OMIT
-	_ = n
-	_ = err
-}
diff --git a/content/2013/oscon-dl/cpp-toggle.png b/content/2013/oscon-dl/cpp-toggle.png
deleted file mode 100644
index 6e867de..0000000
--- a/content/2013/oscon-dl/cpp-toggle.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/oscon-dl/cpp-write.png b/content/2013/oscon-dl/cpp-write.png
deleted file mode 100644
index 411edf2..0000000
--- a/content/2013/oscon-dl/cpp-write.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/oscon-dl/cpp-writeerr.png b/content/2013/oscon-dl/cpp-writeerr.png
deleted file mode 100644
index 3ff2218..0000000
--- a/content/2013/oscon-dl/cpp-writeerr.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/oscon-dl/crbug.png b/content/2013/oscon-dl/crbug.png
deleted file mode 100644
index 53df1f5..0000000
--- a/content/2013/oscon-dl/crbug.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/oscon-dl/groupcache.go b/content/2013/oscon-dl/groupcache.go
deleted file mode 100644
index ee18e7c..0000000
--- a/content/2013/oscon-dl/groupcache.go
+++ /dev/null
@@ -1,49 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bytes"
-	"net/http"
-	"time"
-
-	"github.com/golang/groupcache"
-)
-
-func main() {
-	// STARTINIT OMIT
-	me := "http://10.0.0.1"
-	peers := groupcache.NewHTTPPool(me)
-
-	// Whenever peers change:
-	peers.Set("http://10.0.0.1", "http://10.0.0.2", "http://10.0.0.3")
-	// ENDINIT OMIT
-
-	// STARTGROUP OMIT
-	var thumbNails = groupcache.NewGroup("thumbnail", 64<<20, groupcache.GetterFunc(
-		func(ctx groupcache.Context, key string, dest groupcache.Sink) error {
-			fileName := key
-			dest.SetBytes(generateThumbnail(fileName))
-			return nil
-		}))
-	// ENDGROUP OMIT
-
-	var ctx groupcache.Context
-	var w http.ResponseWriter
-	var r *http.Request
-
-	// STARTUSE OMIT
-	var data []byte
-	err := thumbNails.Get(ctx, "big-file.jpg",
-		groupcache.AllocatingByteSliceSink(&data))
-	// ...
-	_ = err               // OMIT
-	var modTime time.Time // OMIT
-	http.ServeContent(w, r, "big-file-thumb.jpg", modTime, bytes.NewReader(data))
-	// ENDUSE OMIT
-}
-
-func generateThumbnail(filename string) []byte {
-	// ...
-	return nil
-}
diff --git a/content/2013/oscon-dl/reader.png b/content/2013/oscon-dl/reader.png
deleted file mode 100644
index d556fe7..0000000
--- a/content/2013/oscon-dl/reader.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/oscon-dl/readseeker.png b/content/2013/oscon-dl/readseeker.png
deleted file mode 100644
index d48928b..0000000
--- a/content/2013/oscon-dl/readseeker.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/oscon-dl/sectionreader.png b/content/2013/oscon-dl/sectionreader.png
deleted file mode 100644
index 5f2e537..0000000
--- a/content/2013/oscon-dl/sectionreader.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/oscon-dl/seeker.png b/content/2013/oscon-dl/seeker.png
deleted file mode 100644
index d27fb68..0000000
--- a/content/2013/oscon-dl/seeker.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/oscon-dl/servecontent.png b/content/2013/oscon-dl/servecontent.png
deleted file mode 100644
index 6bc738a..0000000
--- a/content/2013/oscon-dl/servecontent.png
+++ /dev/null
Binary files differ
diff --git a/content/2013/oscon-dl/server-compose.go b/content/2013/oscon-dl/server-compose.go
deleted file mode 100644
index 7865b83..0000000
--- a/content/2013/oscon-dl/server-compose.go
+++ /dev/null
@@ -1,116 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"io"
-	"log"
-	"net/http"
-	"sort"
-	"strings"
-	"time"
-)
-
-var modTime = time.Unix(1374708739, 0)
-
-// START OMIT
-func part(s string) SizeReaderAt {
-	return io.NewSectionReader(strings.NewReader(s), 0, int64(len(s)))
-}
-
-func handler(w http.ResponseWriter, r *http.Request) {
-	sra := NewMultiReaderAt(
-		part("Hello, "), part(" world! "),
-		part("You requested "+r.URL.Path+"\n"),
-	)
-	rs := io.NewSectionReader(sra, 0, sra.Size())
-	http.ServeContent(w, r, "foo.txt", modTime, rs)
-}
-
-//END OMIT
-
-func main() {
-	log.Printf("Running...")
-	http.HandleFunc("/", handler)
-	log.Fatal(http.ListenAndServe("127.0.0.1:8080", nil))
-}
-
-// START_1 OMIT
-// A SizeReaderAt is a ReaderAt with a Size method.
-//
-// An io.SectionReader implements SizeReaderAt.
-type SizeReaderAt interface {
-	Size() int64
-	io.ReaderAt
-}
-
-// NewMultiReaderAt is like io.MultiReader but produces a ReaderAt
-// (and Size), instead of just a reader.
-func NewMultiReaderAt(parts ...SizeReaderAt) SizeReaderAt {
-	m := &multi{
-		parts: make([]offsetAndSource, 0, len(parts)),
-	}
-	var off int64
-	for _, p := range parts {
-		m.parts = append(m.parts, offsetAndSource{off, p})
-		off += p.Size()
-	}
-	m.size = off
-	return m
-}
-
-// END_1 OMIT
-
-type offsetAndSource struct {
-	off int64
-	SizeReaderAt
-}
-
-type multi struct {
-	parts []offsetAndSource
-	size  int64
-}
-
-func (m *multi) Size() int64 { return m.size }
-
-func (m *multi) ReadAt(p []byte, off int64) (n int, err error) {
-	wantN := len(p)
-
-	// Skip past the requested offset.
-	skipParts := sort.Search(len(m.parts), func(i int) bool {
-		// This function returns whether parts[i] will
-		// contribute any bytes to our output.
-		part := m.parts[i]
-		return part.off+part.Size() > off
-	})
-	parts := m.parts[skipParts:]
-
-	// How far to skip in the first part.
-	needSkip := off
-	if len(parts) > 0 {
-		needSkip -= parts[0].off
-	}
-
-	for len(parts) > 0 && len(p) > 0 {
-		readP := p
-		partSize := parts[0].Size()
-		if int64(len(readP)) > partSize-needSkip {
-			readP = readP[:partSize-needSkip]
-		}
-		pn, err0 := parts[0].ReadAt(readP, needSkip)
-		if err0 != nil {
-			return n, err0
-		}
-		n += pn
-		p = p[pn:]
-		if int64(pn)+needSkip == partSize {
-			parts = parts[1:]
-		}
-		needSkip = 0
-	}
-
-	if n != wantN {
-		err = io.ErrUnexpectedEOF
-	}
-	return
-}
diff --git a/content/2013/oscon-dl/server-content.go b/content/2013/oscon-dl/server-content.go
deleted file mode 100644
index 92aa0ab..0000000
--- a/content/2013/oscon-dl/server-content.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"log"
-	"net/http"
-	"strings"
-	"time"
-)
-
-func main() {
-	log.Printf("Running...")
-	err := http.ListenAndServe("127.0.0.1:8080", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
-		http.ServeContent(w, r, "foo.txt", time.Now(),
-			strings.NewReader("I am some content.\n"))
-	}))
-	log.Fatal(err)
-}
diff --git a/content/2013/oscon-dl/server-fs.go b/content/2013/oscon-dl/server-fs.go
deleted file mode 100644
index 8a09f55..0000000
--- a/content/2013/oscon-dl/server-fs.go
+++ /dev/null
@@ -1,18 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"log"
-	"net/http"
-	"os"
-	"path/filepath"
-)
-
-func main() {
-	log.Printf("Running...")
-	log.Fatal(http.ListenAndServe(
-		"127.0.0.1:8080",
-		http.FileServer(http.Dir(
-			filepath.Join(os.Getenv("HOME"), "go", "doc")))))
-}
diff --git a/content/2013/oscon-dl/server-hello.go b/content/2013/oscon-dl/server-hello.go
deleted file mode 100644
index dc846a7..0000000
--- a/content/2013/oscon-dl/server-hello.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"log"
-	"net/http"
-	"os"
-)
-
-func handler(w http.ResponseWriter, r *http.Request) {
-	fmt.Fprintf(os.Stdout, "%s details: %+v\n", r.URL.Path, r)
-	fmt.Fprintf(w, "Hello, world! at %s\n", r.URL.Path)
-}
-
-func main() {
-	log.Printf("Running...")
-	log.Fatal(http.ListenAndServe("127.0.0.1:8080", http.HandlerFunc(handler)))
-}
diff --git a/content/2013/oscon-dl/server.go b/content/2013/oscon-dl/server.go
deleted file mode 100644
index 39655d7..0000000
--- a/content/2013/oscon-dl/server.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "net/http"
-
-func main() {
-	http.ListenAndServe(":8080", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
-		http.ServeContent(w, r, "foo.txt", time.Now(),
-			strings.NewReader("I am some content.\n"))
-	}))
-}
diff --git a/content/2013/oscon-dl/sizereaderat.go b/content/2013/oscon-dl/sizereaderat.go
deleted file mode 100644
index 383577c..0000000
--- a/content/2013/oscon-dl/sizereaderat.go
+++ /dev/null
@@ -1,88 +0,0 @@
-// +build ignore,OMIT
-
-package sizereaderat
-
-import (
-	"io"
-	"sort"
-)
-
-// START_1 OMIT
-// A SizeReaderAt is a ReaderAt with a Size method.
-//
-// An io.SectionReader implements SizeReaderAt.
-type SizeReaderAt interface {
-	Size() int64
-	io.ReaderAt
-}
-
-// NewMultiReaderAt is like io.MultiReader but produces a ReaderAt
-// (and Size), instead of just a reader.
-func NewMultiReaderAt(parts ...SizeReaderAt) SizeReaderAt {
-	m := &multi{
-		parts: make([]offsetAndSource, 0, len(parts)),
-	}
-	var off int64
-	for _, p := range parts {
-		m.parts = append(m.parts, offsetAndSource{off, p})
-		off += p.Size()
-	}
-	m.size = off
-	return m
-}
-
-// END_1 OMIT
-
-type offsetAndSource struct {
-	off int64
-	SizeReaderAt
-}
-
-type multi struct {
-	parts []offsetAndSource
-	size  int64
-}
-
-func (m *multi) Size() int64 { return m.size }
-
-func (m *multi) ReadAt(p []byte, off int64) (n int, err error) {
-	wantN := len(p)
-
-	// Skip past the requested offset.
-	skipParts := sort.Search(len(m.parts), func(i int) bool {
-		// This function returns whether parts[i] will
-		// contribute any bytes to our output.
-		part := m.parts[i]
-		return part.off+part.Size() > off
-	})
-	parts := m.parts[skipParts:]
-
-	// How far to skip in the first part.
-	needSkip := off
-	if len(parts) > 0 {
-		needSkip -= parts[0].off
-	}
-
-	for len(parts) > 0 && len(p) > 0 {
-		readP := p
-		partSize := parts[0].Size()
-		if int64(len(readP)) > partSize-needSkip {
-			readP = readP[:partSize-needSkip]
-		}
-		pn, err0 := parts[0].ReadAt(readP, needSkip)
-		if err0 != nil {
-			return n, err0
-		}
-		n += pn
-		p = p[pn:]
-		if int64(pn)+needSkip == partSize {
-			parts = parts[1:]
-		}
-		needSkip = 0
-	}
-
-	if n != wantN {
-		err = io.ErrUnexpectedEOF
-	}
-	return
-}
diff --git a/content/2013/oscon-dl/slow.png b/content/2013/oscon-dl/slow.png
deleted file mode 100644
index f684cfe..0000000
--- a/content/2013/oscon-dl/slow.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/c2go.slide b/content/2014/c2go.slide
deleted file mode 100644
index 9f38b9a..0000000
--- a/content/2014/c2go.slide
+++ /dev/null
@@ -1,541 +0,0 @@
-Go, from C to Go
-
-GopherCon
-25 Apr 2014
-
-Russ Cox
-Google
-
-http://golang.org/
-
-
-* Video
-
-A video of this talk was recorded at GopherCon in Denver.
-
-.link https://www.youtube.com/watch?v=QIE5nV5fDwA Watch the talk on YouTube
-
-
-* Go Compiler
-
-* Go Compiler
-
-80,000+ lines of C.
-
-* Problem
-
-Programming in Go is fun.
-
-Programming in C is not.
-
-* Problem
-
-Writing a Go compiler requires Go expertise.
-
-Writing any program in C requires C expertise.
-
-Writing a Go compiler in C requires Go and C expertise.
-
-* Solution
-
-Write the Go compiler in Go.
-
-* Past
-
-Why not write the Go compiler in Go on day one?
-
-- Go did not exist.
-
-- Go was unstable.
-
-- Go is not targeting compiler writers.
-
-* Present
-
-Why do it today?
-
-- Go does exist.
-
-- Go is stable.
-
-- Go is a great general purpose language.
-
-* How?
-
-Crazy idea: mechanical conversion.
-
-“One big gofix.”
-
-* C
-
-* C
-
-- First creative burst in 1972 at Bell Labs
-
-- Ritchie, [[http://cm.bell-labs.com/who/dmr/chist.html][The Development of the C Language]], HOPL 1993
-
-- “C is quirky, flawed, and an enormous success...”
-
-* C Data Model
-
-- Original target: PDP-11 with 24 kB of memory.
-
-- Programmer is in charge of memory.
-
-- “Off-stack, dynamically-allocated storage is provided only by a library routine and the burden of managing it is placed on the programmer: C is hostile to automatic garbage collection.”
-
-- Types are there to help but not enforced.
-
-* C Control Flow
-
-- `do...while`, `for`, `switch`, `while`
-
-- the much maligned `goto`
-
-* C Program Model
-
-- Per-file compilation.
-
-- Headers vs code.
-
-- `#define`, `#include`
-
-* Conversion
-
-* Challenges for Converting C to Go
-
-- minor: unions, #define, comments
-
-- goto
-
-- type mapping
-
-* Goal
-
-Automated conversion of our C code to Go.
-
-Target: _our_ C code, not _all_ C code.
-
-- Want generated code to be maintainable.
-- Want automatic translation for 99%+ of the code.
-- No need to solve general problem for tiny number of cases.
-- Special cases in converter are okay.
-- Annotations in source code are okay.
-
-* Warmups
-
-* Unions
-
-go/src/cmd/gc/go.h
-
-	struct  Val
-	{
-	    short   ctype;
-	    union
-	    {
-	        short   reg;        // OREGISTER
-	        short   bval;       // bool value CTBOOL
-	        Mpint*  xval;       // int CTINT, rune CTRUNE
-	        Mpflt*  fval;       // float CTFLT
-	        Mpcplx* cval;       // float CTCPLX
-	        Strlit* sval;       // string CTSTR
-	    } u;
-	};
-
-* Unions
-
-go/include/link.h
-
-	struct  Addr
-	{
-	    short type;
-	    union
-	    {
-	        char    sval[8];
-	        float64 dval;
-	        Prog*   branch; // for 5g, 6g, 8g
-	    } u;
-	    
-	    ...
-	};
-
-* Unions
-
-`#define` `struct` `union` `/*` `Great` `space` `saver` `*/`
-
-* Unions
-
-`#define` `union` `struct` `/*` `legal` `in` `C!` `*/`
-
-And anyway, there are only two.
-
-* #define
-
-Can't just expand during parsing.
-
-* #define
-
-Not many. 
-
-	/*
-	 * defined macros
-	 *    you need super-gopher-guru privilege
-	 *    to add this list.
-	 */
-	#define nelem(x)    (sizeof(x)/sizeof((x)[0]))
-	#define nil         ((void*)0)
-	...
-
-Extend parser to recognize special cases.
-
-* #define
-
-Annotate some.
-
-	#define	BOM	0xFEFF
-	/*c2go enum { BOM = 0xFEFF }; */
-
-Rewrite others.
-
-	enum {
-	    BOM = 0xFEFF,
-	};
-
-* Comments
-
-Can't just discard during parsing.
-
-	/*
-	 * If the new process paused because it was
-	 * swapped out, set the stack level to the last call
-	 * to savu(u_ssav).  This means that the return
-	 * which is executed immediately after the call to aretu
-	 * actually returns from the last routine which did
-	 * the savu.
-	 *
-	 * You are not expected to understand this.
-	 */
-	if(rp->p_flag&SSWAP) {
-	    rp->p_flag =& ~SSWAP;
-	    aretu(u.u_ssav);
-	}
-
-* Comments
-
-Record precise source locations.
-
-	case OMAPLIT:
-	    n->esc = EscNone;  // until proven otherwise
-	    e->noesc = list(e->noesc, n);
-	    n->escloopdepth = e->loopdepth;
-
-	    // Keys and values make it to memory, lose track.
-	    for(ll=n->list; ll; ll=ll->next) {
-	        escassign(e, &e->theSink, ll->n->left);
-	        escassign(e, &e->theSink, ll->n->right);
-	    }
-	    break;
-
-Whole-line comments attach to syntax immediately following (or EOF).
-
-Suffix comments attach to syntax immediately before.
-
-Syntax carries comments if it moves.
-
-* Goto
-
-* C Goto
-
-“27. Horrors! goto’s and labels
-
-C has a goto statement and labels, so you can branch about the way you used to. But most of the time goto’s aren’t needed... The code can almost always be more clearly expressed by for/while, if/else, and compound statements.
-
-* C Goto
-
-One use of goto’s with some legitimacy is in a program which contains a long loop, where a while(1) would be too extended. Then you might write
-
-	mainloop:
-		...
-		goto mainloop;
-
-Another use is to implement a break out of more than one level of for or while. goto’s can only branch to labels within the same function.”
-
-— Kernighan, [[http://cm.bell-labs.com/who/dmr/ctut.pdf][Programming in C – A Tutorial]]
-
-* Go Goto Restrictions
-
-- Cannot jump over a variable declaration in target scope.
-
-	.   if x {
-	        goto Done
-	    }
-	    
-	    y := f()
-	    print(y)
-	
-	Done:
-	    close(c)
-	    return
-
-* Go Goto Restrictions
-
-- Cannot jump over a variable declaration in target scope.
-
-	.   var y int
-
-	    if x {
-	        goto Done
-	    }
-	    
-	    y = f()
-	    print(y)
-	
-	Done:
-	    close(c)
-	    return
-
-* Go Goto Restrictions
-
-- Cannot jump into a new scope (into a { } block).
-
-	if bad {
-	Bad:
-	    printError()
-	    return err
-	}
-	
-	...
-	
-	if other bad thing {
-	    goto Bad
-	}
-
-* Go Goto Restrictions
-
-- Cannot jump into a new scope (into a { } block or switch case).
-
-	switch x {
-	case 1:
-	    F()
-	    goto Common;
-	case 2:
-	    G()
-	    goto Common
-	case 3:
-	Common:
-	    H()
-	}
-
-* Goto in Go compiler
-
-1032 goto statements
-241 labels
-
-* Goto in Go compiler
-
-35 indented labels
-
-18 switch case
-6 multilevel break/continue
-5 ‘else’ statement
-4 cleanup/error labels
-1 loop
-1 difficult to explain
-
-* Refactor switch case goto
-
-	switch(r->op) {
-	case OINDEXMAP:
-	    n->op = OAS2MAPR;
-	    goto common;
-	case ORECV:
-	    n->op = OAS2RECV;
-	    goto common;
-	case ODOTTYPE:
-	    n->op = OAS2DOTTYPE;
-	    r->op = ODOTTYPE2;
-	common:
-	    ...
-	}
-	
-* Refactor switch case goto
-
-	switch r.op {
-	case OINDEXMAP, ORECV, ODOTTYPE:
-	    switch r.op {
-	    case OINDEXMAP:
-	        n.op = OAS2MAPR
-	    case ORECV:
-	    	n.op = OAS2RECV
-	    case ODOTTYPE:
-	    	n.op = OAS2DOTTYPE
-	    	r.op = ODOTTYPE2
-	    }
-	    ...
-	}
-
-* General solution
-
-Baker, [[http://dl.acm.org/citation.cfm?id=321999][An Algorithm for Structuring Flowgraphs]], JACM 1977
-
-But we don't need it.
-
-Handle trivial rewrites in converter.
-Rewrite problematic gotos by hand.
-
-* Type Mapping
-
-* Type Mapping
-
-General question: what type to use in the Go translation?
-
-- C allows implicit conversion between int, long, char and so on. Go must use one consistently.
-
-- C uses pointers for what Go calls pointers _and_ slices.
-
-* Type Mapping
-
-Build graph of “assigned” value flow and extract clusters.
-
-	x = y;
-	
-	int f(void) {
-	    return x;
-	}
-	w = f();
-	
-	void g(int z);
-	g(x);
-	g(y);
-
-Apply to entire compiler (all files). Exclude some functions.
-
-* Type Mapping
-
-	int
-	islvalue(Node *n)
-	{
-	    switch(n->op) {
-	    case OINDEX:
-	        if(isfixedarray(n->left->type))
-	            return islvalue(n->left);
-	        if(n->left->type != T && n->left->type->etype == TSTRING)
-	            return 0;
-	        // fall through
-	    case OIND:
-	    case ODOTPTR:
-	    case OCLOSUREVAR:
-	        return 1;
-	    case ODOT:
-	        return islvalue(n->left);
-	    case ONAME:
-	        if(n->class == PFUNC)
-	            return 0;
-	        return 1;
-	    }
-	    return 0;
-	}
-
-* Type Mapping
-
-	int
-	islvalue(Node *n)
-	{
-	    ...
-	    return islvalue(n->left);
-	    ...
-	    return 0;
-	    ...
-	    return 1;
-	    ...
-	    return islvalue(n->left);
-	    ...
-	    return 0;
-	    ...
-	    return 1;
-	    ...
-	    return 0;
-	}
-
-* Type Mapping
-
-	cluster
-	    types: int
-	    values:
-	        return from islvalue
-	        0
-	        1
-	        islvalue(n)
-	        islvalue(n->left)
-	        islvalue(n->right)
-	    contexts:
-	        bool condition
-	        /* if(islvalue(n)), if(!islvalue(n)), ... */
-
-Translation: bool.
-
-* Type Mapping
-
-	cluster
-	    types: int
-	    values:
-	        return from checksliceconst
-	        0
-	        -1
-	    contexts:
-	        checksliceconst(lo, hi) < 0
-	        checksliceconst(lo, mid) < 0
-	        checksliceconst(mid, hi) < 0
-
-Translation: bool or error.
-
-* Type Mapping
-
-	cluster
-	    types: Val*
-	    values:
-	        var Val *v
-	        va_arg(fp->args, Val*)
-	    contexts:
-	        v->ctype
-	        v->u
-
-Translation: pointer.
-
-* Type Mapping
-
-	cluster
-	    types: long*
-	    values:
-	        var long* a1
-	        &a->a[0]
-	    contexts:
-	        *a1
-	        a1++
-
-Translation: slice.
-
-* Type Mapping
-
-Cluster statistics
-
-- 1,703 clusters in Go compiler
-- median cluster size 4 values
-- max cluster size 16,592 values
-
-Clustering does not rely on C type information at all.
-
-* Conversion status
-
-- Still prototyping, but looks good.
-- Aiming at Go 1.4, but no promises.
-
-By the way, please try the Go 1.3 beta!
-
-* Go from C to Go!
-
-- Practical
-- Applicable to other code bases?
-- Applicable to other languages?
-- Applicable to program understanding tools?
-
diff --git a/content/2014/camlistore.slide b/content/2014/camlistore.slide
deleted file mode 100644
index 897dd69..0000000
--- a/content/2014/camlistore.slide
+++ /dev/null
@@ -1,207 +0,0 @@
-Camlistore: Android, ARM, App Engine, anywhere.
-
-25 June 2014
-Tags: camlistore
-
-Brad Fitzpatrick
-Gopher, Google
-@bradfitz
-bradfitz@golang.org
-http://bradfitz.com/
-http://camlistore.org/
-
-* Me
-
-- bradfitz
-- LiveJournal, memcached, OpenID, ...
-- Google
-- Go Standard Library, etc
-- Camlistore
-
-* Camlistore
-
-* Camlistore
-
-- "Your personal storage system for life"
-- 4 year+ open source project:
-.link http://camlistore.org
-- All in Go.
-- Early user of Go's standard library. Helped shape it.
-
-* Camlistore
-
-- stores, indexes, searches, syncs, shares content
-- can optionally model POSIX filesystems
-- lightweight object storage model, stores all mutations
-
-Stores on:
-
-- local disk, S3, Google Cloud Storage
-- MySQL, Postgres, SQLite, LevelDB,
-- MongoDB, App Engine,
-- itself,
-- encrypted, sharded, replicated, load balanced,
-- ...
-
-* Camlistore screenshots
-
-* Web UI
-
-.image camlistore/cam-mix-types.png _ 1000
-
-* Location search
-
-.image camlistore/cam-moscow.png 580 _
-
-* Panos
-
-.image camlistore/cam-pano.png _ 1000
-
-* Paris + Portrait
-
-.image camlistore/cam-paris-portrait.png _ 1000
-
-* Non-images
-
-.image camlistore/cam-other.png _ 1000
-
-* FUSE
-
-.image camlistore/cam-fuse.png _ 1000
-
-* Android
-
-.image camlistore/cam-android.png 600 _
-
-* Camlistore Demo
-
-* Camlistore does much, in many places
-
-* Camlistore
-
-does:
-
-- a web & API server
-- a FUSE filesystem (OS X, Linux)
-- command-line tools
-
-on:
-
-- desktops, personal servers
-- Raspberry Pi, etc (ARM)
-- Android
-- App Engine
-- Cloud (EC2, GCE)
-
-* Desktops, personal servers
-
-- Linux, FreeBSD, Mac, Windows, ...
-
-  $ go {get,build,install,test} camlistore.org/{cmd,pkg,server}/...
-
-- Occasional use of +build windows, etc.
-- Nothing fancy.
-
-* Raspberry Pi
-
-- Most ARM devices are very slow
-- Cross compile from any OS, architecture on a fast machine:
-
-  $ GOARCH=arm GOOS=linux go build camlistore.org/server/camlistored
-
-- ... then copy binary to the slow ARM device.
-- Popular helper tool:
-
-.link https://github.com/davecheney/golang-crosscompile
-
-- For debugging: ChromeOS + crouton is nice, pretty fast
-
-* App Engine
-
-- Just upload the code.
-- App Engine APIs require context plumbing.
-- Ugly hacks avoid context plumbing, but don't.
-.link https://developers.google.com/appengine/docs/go/reference#Context
-.link http://godoc.org/camlistore.org/pkg/context
-.link http://godoc.org/code.google.com/p/go.net/context
-- Restructure code to not assume long-running goroutines; handlers only
-- No unsafe, syscall, etc: use build tags on files:
-
-  // +build !appengine
-
-* Cloud
-
-- Same as desktop.
-- Static binaries make deployment easy
-- Even easier: 
-- Embed resources (CSS, JS, HTML, images) with fileembed
-- Camlistore has: camlistore.org/pkg/fileembed + genfileembed
-
-* fileembed
-
-Definition:
-
-  package fileembed
-  func (f *Files) Open(filename string) (http.File, error)
-
-Use in Camlistore:
-
-  package server
-  uistatic.Files = &fileembed.Files{
-      DirFallback: ui.uiDir,
-      Listable:    true,
-      // In dev_appserver, allow edit-and-reload without
-      // restarting. In production, though, it's faster to just
-      // slurp it in.
-      SlurpToMemory: uistatic.IsProdAppEngine,
-  }
-
-- Just reload in dev; embedded in binary in production.
-
-* Camlistore's genfileembed
-
-  $ genfileembed ./path/to/dir
-
-- generates zindex.html.go
-
-* Embedding resources
-
-- Many options in the Go community
-- Coming to Go 1.4 built-in
-
-* Web server
-
-- Obvious
-- net/http is great: no need for Apache, nginx, etc
-- WebSockets support is great and easy
-
-* FUSE
-
-- Native filesystem on OS X & Linux
-- hanwen/gofuse (then only Linux) -> rsc/fuse (then only Mac) -> Camlistore fork (both) -> bazil.org (community maintained)
-- Easy to write fast filesystems in Go
-
-* Android
-
-- child process
-- on Application start, unzip arm binary to Unix (not media) filesystem 
-.link https://camlistore.googlesource.com/camlistore/+/master/clients/android/src/org/camlistore/UploadApplication.java UploadApplication.java
-.link https://camlistore.googlesource.com/camlistore/+/master/clients/android/src/org/camlistore/UploadThread.java UploadThread.java
-- build with Docker (demo)
-.link https://camlistore.googlesource.com/camlistore/+/master/clients/android/devenv/Dockerfile Dockerfile
-.link https://camlistore.googlesource.com/camlistore/+/master/clients/android/Makefile Makefile
-.link https://camlistore.googlesource.com/camlistore/+/master/clients/android/build-in-docker.pl build-in-docker.pl
-
-* Command-line tools
-
-  $ cmdtool [--global=foo] subcmd [--subcommand opts]
-
-.link http://camlistore.org/pkg/cmdmain/
-.link https://camlistore.googlesource.com/camlistore/+/master/cmd/camtool/describe.go camtool's describe.go
-.link https://github.com/codegangsta/cli Popular: codegangsta/cli
-
-* In summary
-
-Go is awesome and runs lots of places, easily.
-
-- Web, CLI, FUSE, x86, ARM, Android, App Engine
diff --git a/content/2014/camlistore/cam-android.png b/content/2014/camlistore/cam-android.png
deleted file mode 100644
index e56804a..0000000
--- a/content/2014/camlistore/cam-android.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/camlistore/cam-boot.png b/content/2014/camlistore/cam-boot.png
deleted file mode 100644
index 3c7726e..0000000
--- a/content/2014/camlistore/cam-boot.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/camlistore/cam-checkins.png b/content/2014/camlistore/cam-checkins.png
deleted file mode 100644
index 29a9a81..0000000
--- a/content/2014/camlistore/cam-checkins.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/camlistore/cam-fuse.png b/content/2014/camlistore/cam-fuse.png
deleted file mode 100644
index 77334f0..0000000
--- a/content/2014/camlistore/cam-fuse.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/camlistore/cam-mix-types.png b/content/2014/camlistore/cam-mix-types.png
deleted file mode 100644
index c53603a..0000000
--- a/content/2014/camlistore/cam-mix-types.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/camlistore/cam-moscow.png b/content/2014/camlistore/cam-moscow.png
deleted file mode 100644
index 9f2a62c..0000000
--- a/content/2014/camlistore/cam-moscow.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/camlistore/cam-other.png b/content/2014/camlistore/cam-other.png
deleted file mode 100644
index 246b72a..0000000
--- a/content/2014/camlistore/cam-other.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/camlistore/cam-pano.png b/content/2014/camlistore/cam-pano.png
deleted file mode 100644
index 3d0e4dc..0000000
--- a/content/2014/camlistore/cam-pano.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/camlistore/cam-paris-portrait.png b/content/2014/camlistore/cam-paris-portrait.png
deleted file mode 100644
index 583535c..0000000
--- a/content/2014/camlistore/cam-paris-portrait.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/compiling.slide b/content/2014/compiling.slide
deleted file mode 100644
index cf19a8c..0000000
--- a/content/2014/compiling.slide
+++ /dev/null
@@ -1,145 +0,0 @@
-Go: Easy to Read, Hard to Compile
-Corner cases when compiling Go
-
-Ian Lance Taylor
-Google
-iant@golang.org
-
-* Introduction
-
-- To really learn a language, write a compiler for it
-- Compiler bugs imply language complexity
-- Or, compiler bugs imply differences from C/C++
-- Sometimes simpler for users is harder for compilers
-- Fortunately Go is much simpler to compile than C++ or even C
-
-This talk is based on Go compiler bugs encountered over the years.
-
-* Recursive Types
-
-Names in Go packages are defined in the entire package, so Go types
-can refer to themselves recursively.
-
-.code compiling/rtype1.go /1 START OMIT/,/1 END OMIT/
-
-This is not permitted in C/C++, except for the special case of a
-struct/union/class field which is a pointer/reference.
-
-All Go compiler code that walks over types has to be careful to avoid
-endless loops.
-
-* Recursive Types
-
-What good is a recursive pointer type?  It can only be nil or a
-pointer to itself.  That's enough for Peano arithmetic.
-
-.code compiling/rtype1.go /2 START OMIT/,/2 END OMIT/
-
-* Recursive Types
-
-Actually, a recursive pointer can have a bit more information: it can
-have a finalizer.
-
-.play compiling/rtype1.go /3 START OMIT/,/3 END OMIT/
-
-* Recursive Types
-
-Recursive function types are actually useful: they can implement a
-state machine.
-
-.code compiling/rtype2.go /1 START OMIT/,/1 END OMIT/
-
-* Recursive types
-
-.play compiling/rtype2.go /2 START OMIT/,/2 END OMIT/
-
-* Recursive Types
-
-Simple rule: all names at package scope are visible in the entire
-package.
-
-Complex consequence: compiler must handle recursive types (also
-recursive initializers).
-
-* Constants
-
-Go has both typed and untyped constants.  They follow the same rules,
-except that a typed constant must be representable in its type.
-
-This is reasonably clear for integers, less so for floats.
-
-.play compiling/const1.go /1 START OMIT/,/1 END OMIT/
-
-* Constants
-
-Go's floating point variables follow IEEE-754 rules.
-
-Constants do not.
-
-.play compiling/const2.go /1 START OMIT/,/1 END OMIT/
-
-* Constants
-
-The special unsafe.Sizeof function returns a constant.
-
-.play compiling/const3.go /1 START OMIT/,/1 END OMIT/
-
-* Constants
-
-Simple rule: constants are untyped; they are mathematically exact and
-do not require type conversions.
-
-Complex consequence: exact floating point behavior depends on the
-type.
-
-* Name Lookup
-
-Name lookup in a Go compiler is simple compared to many languages.
-For every name the scope in which to look it up is obvious.  This
-makes parsing Go quite simple.
-
-With one exception.  What is the scope for i?
-
-.code compiling/name1.go /1 START OMIT/,/1 END OMIT/
-
-* Name Lookup
-
-One possibility.
-
-.play compiling/name1.go /2 START OMIT/,/2 END OMIT/
-
-* Name Lookup
-
-Another possibility.
-
-.play compiling/name2.go /2 START OMIT/,/2 END OMIT/
-
-* Name Lookup
-
-Simple rule: in a struct composite literal you can use field names as
-keys.
-
-Complex consequence: if you don't know the type of the composite
-literal, the lookup scope of names used as keys is unclear when
-parsing.
-
-* Methods
-
-Any named type can have methods.  Any struct type can inherit methods
-from an embedded field.  It follows that you can sometimes call
-methods on a variable even if it has an unnamed type.
-
-.play compiling/var1.go /1 START OMIT/,/1 END OMIT/
-
-* Methods
-
-Simple rules: named types can have methods; structs can have embedded
-fields.
-
-Complex consequence: unnamed types can have methods.
-
-* Conclusion
-
-- Go is simpler to compile than most languages
-- There are still complexities for the compiler
-- Most complexities stem from making Go easier to write
diff --git a/content/2014/compiling/const1.go b/content/2014/compiling/const1.go
deleted file mode 100644
index 6b18693..0000000
--- a/content/2014/compiling/const1.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore
-
-package main
-
-import "fmt"
-
-// 1 START OMIT
-const C1 = 1e-323
-
-const C2 = C1 / 100
-const C3 = C2 * 100
-
-const C4 float64 = C1 / 100
-const C5 = C4 * 100
-
-func main() {
-	fmt.Println(C3, C5)
-}
-
-// 1 END OMIT
diff --git a/content/2014/compiling/const2.go b/content/2014/compiling/const2.go
deleted file mode 100644
index 762252f..0000000
--- a/content/2014/compiling/const2.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore
-
-package main
-
-import "fmt"
-
-// 1 START OMIT
-const C1 = 1e+308
-const C2 = C1 * 10
-const C3 = C2 / 10
-
-var V1 = C1
-var V2 = V1 * 10
-var V3 = V2 / 10
-
-func main() {
-	fmt.Println(C3, V3)
-}
-
-// 1 END OMIT
diff --git a/content/2014/compiling/const3.go b/content/2014/compiling/const3.go
deleted file mode 100644
index 59d3f16..0000000
--- a/content/2014/compiling/const3.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"fmt"
-	"unsafe"
-)
-
-// 1 START OMIT
-var V1 = 0x01020304
-var V2 [unsafe.Sizeof(V1)]byte
-
-func main() {
-	*(*int)(unsafe.Pointer(&V2)) = V1
-	fmt.Println(V2)
-}
-
-// 1 END OMIT
diff --git a/content/2014/compiling/name1.go b/content/2014/compiling/name1.go
deleted file mode 100644
index 9a82f24..0000000
--- a/content/2014/compiling/name1.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore
-
-package main
-
-import "fmt"
-
-// 2 START OMIT
-// 1 START OMIT
-func main() {
-	i := 1
-	f := func() T {
-		return T{
-			i: 1, // HL
-		}
-	}
-	fmt.Println(i, f())
-}
-
-// 1 END OMIT
-
-type T map[int]int
-
-// 2 END OMIT
diff --git a/content/2014/compiling/name2.go b/content/2014/compiling/name2.go
deleted file mode 100644
index 9a8a7fb..0000000
--- a/content/2014/compiling/name2.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore
-
-package main
-
-import "fmt"
-
-// 2 START OMIT
-// 1 START OMIT
-func main() {
-	i := 1
-	f := func() T {
-		return T{
-			i: 1, // HL
-		}
-	}
-	fmt.Println(i, f())
-}
-
-// 1 END OMIT
-
-type T struct{ i int }
-
-// 2 END OMIT
diff --git a/content/2014/compiling/rtype1.go b/content/2014/compiling/rtype1.go
deleted file mode 100644
index af62df9..0000000
--- a/content/2014/compiling/rtype1.go
+++ /dev/null
@@ -1,60 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"fmt"
-	"runtime"
-)
-
-// 1 START OMIT
-type P *P
-type S []S
-type C chan C
-type M map[int]M
-
-// 1 END OMIT
-
-// 2 START OMIT
-func Val(p *P) int {
-	if p == nil {
-		return 0
-	} else {
-		return 1 + Val(*p)
-	}
-}
-
-func Add(a, b *P) *P {
-	if b == nil {
-		return a
-	} else {
-		a1 := new(P)
-		*a1 = a // a1 == a + 1
-		return Add(a1, *b) // a + b == Add(a+1, b-1)
-	}
-}
-
-// 2 END OMIT
-
-// 3 START OMIT
-
-func Print(p *P) {
-	fmt.Println(Val(p))
-}
-
-func Allocate() {
-	p := new(P); *p = new(P); **p = new(P)
-	runtime.SetFinalizer(p, Print)
-	runtime.SetFinalizer(*p, Print)
-	runtime.SetFinalizer(**p, Print)
-}
-
-func main() {
-	Allocate()
-	for i := 0; i < 5; i++ {
-		runtime.GC()
-		runtime.Gosched()
-	}
-}
-
-// 3 END OMIT
diff --git a/content/2014/compiling/rtype2.go b/content/2014/compiling/rtype2.go
deleted file mode 100644
index a341061..0000000
--- a/content/2014/compiling/rtype2.go
+++ /dev/null
@@ -1,40 +0,0 @@
-// +build ignore
-
-package main
-
-import "fmt"
-
-// 1 START OMIT
-type F func(*State) F
-
-type State int
-
-func Begin(s *State) F {
-	*s = 1
-	return Middle
-}
-
-func Middle(s *State) F {
-	*s++
-	if *s >= 10 {
-		return End
-	}
-	return Middle
-}
-// 1 END OMIT
-
-// 2 START OMIT
-func End(s *State) F {
-	fmt.Println(*s)
-	return nil
-}
-
-func main() {
-	var f F = Begin
-	var s State
-	for f != nil {
-		f = f(&s)
-	}
-}
-
-// 2 END OMIT
diff --git a/content/2014/compiling/var1.go b/content/2014/compiling/var1.go
deleted file mode 100644
index 9a5cac3..0000000
--- a/content/2014/compiling/var1.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"fmt"
-	"os"
-)
-
-// 1 START OMIT
-var V = struct {
-	name string
-	os.FileMode
-}{
-	name: "hello.go",
-}
-
-func main() {
-	fmt.Println(V)
-}
-// 1 END OMIT
diff --git a/content/2014/droidcon.slide b/content/2014/droidcon.slide
deleted file mode 100644
index 7cc701d..0000000
--- a/content/2014/droidcon.slide
+++ /dev/null
@@ -1,204 +0,0 @@
-Go on Android
-A preview
-
-DroidCon
-20 Sep 2014
-
-David Crawshaw
-Google
-@davidcrawshaw
-
-* A brief introduction to Go
-
-* What is Go
-
-Go is a general purpose programming language.
-
-Born out of frustration with C++ and Java:
-- Slow builds
-- Too much complexity
-
-Go is fast and simple.
-
-More at: [[https://talks.golang.org/2012/splash.article]]
-
-* Five years later
-
-Go is not driven by a platform.
-Sinks or swims on its own merits.
-
-.image droidcon/gopherswim.jpg
-
-Many users, e.g.
-SoundCloud, Docker, Secret, The New York Times
-
-"The cloud programming language."
-
-* Beyond Cloud
-
-Go has found other uses.
-
-Popular on embedded linux systems.
-PayPal's Beacon hardware is powered by Go.
-
-Large-scale data analysis.
-
-For many of us, it replaces python/perl/ruby.
-
-Where else can we use Go?
-What about phones and tablets?
-
-* Go on Android
-
-Android UI programming needs lots of Java APIs.
-My first experiment was using these from Go.
-
-It did not work.
-Using Java APIs in Go is writing Java using Go syntax.
-
-"You can write FORTRAN in any language"
-
-So does it ever make sense to use Go on Android?
-Yes, for portability.
-
-* Portability
-
-Lots of apps are written for more than just Android.
-Some apps start elsewhere and never make it to Android.
-
-:-(
-
-Today, developers solve platform portability with C++.
-We can do better.
-
-* Two ways to use Go
-
-1. Write libraries in Go, use them from Java apps. Or Objective-C/Swift apps.
-
-2. Write apps entirely in Go, restricted to a set of common APIs across platforms.
-
-.image droidcon/gopherswrench.jpg
-
-* Go libraries for apps
-
-* Cross language interfaces
-
-Java is a silo.
-
-To use another language, you need JNI.
-JNI is tricky, buggy, painful.
-It keeps Java programmers away from many good things.
-
-So, no JNI.
-
-Instead, we have a tool for that: `gobind`
-It generates Java interfaces for you.
-
-[[http://golang.org/s/gobind]]
-
-* gobind basics
-
-	package hi
-
-	import "fmt"
-
-	func Hello(name string) {
-		fmt.Println("Hello, %s!\n", name)
-	}
-
-Use `gobind` on package `hi` to generate Go helper code and a Java interface:
-
-
-	package go;
-
-	public abstract class Hi {
-		public static final void Hello(String name) { .. }
-	}
-
-Invoke from Java:
-
-	Hi.Hello("DroidCon")
-
-* gobind features
-
-Today, gobind supports many basic Go types, structs, and callbacks.
-
-When finished, `gobind` will support *all* Go types.
-
-Go's simplicity makes language bindings simple.
-For C++, SWIG has many hard-to-use features.
-
-With Go we get configuration-free language bindings.
-SWIG without the .swig files.
-
-* All-Go apps
-
-* NDK-style interfaces
-
-Go will have common libraries:
-
-- Touch events
-- OpenGL
-- Basic app management
-
-In general: if it works on the NDK and iOS, it works in Go.
-
-* Games
-
-The primary target for pure Go apps is games.
-
-Better control over over allocation means fewer
-garbage collector problems.
-
-Unlikely language for high-budget 3D engines.
-But lots of games can be written in Go.
-
-But we are building a 2D sprite package.
-
-* Status: 2014
-
-Android OS support will be built into the Go runtime in the December 1.4 release.
-
-First version available from the `go.mobile` subrepository of
-
-- `gobind`
-- OpenGL ES 2 bindings
-- touch events package
-- limited android build integration
-
-Sprite library will be in early testing.
-
-Setup will still be a little trickier than I want, but it will work.
-
-* Demo
-
-* Roadmap: mid-2015
-
-The plan is iOS support will be in the Go runtime July 1.5 release.
-
-The same OpenGL bindings and touch events package will work. The `gobind` tool will generate Objective-C/Swift bindings.
-
-Sprite will be ready for 2D games.
-
-* Questions
-
-* Backup slides
-
-* Go compared to Java
-
-- pointers
-- generate less garbage
-
-	type Point struct {
-		X float64
-		Y float64
-	}
-
-	type Points []Point
-
-- `map[int]int` is efficient like `android.os.SparseIntArray`
-- `map[int]float32` is efficient like `android.os.?`
-- focus on functions, simplicity
-- native binaries
-
-More at: [[https://talks.golang.org/2014/go4java.slide]]
diff --git a/content/2014/droidcon/gopherswim.jpg b/content/2014/droidcon/gopherswim.jpg
deleted file mode 100644
index 8f80192..0000000
--- a/content/2014/droidcon/gopherswim.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/droidcon/gopherswrench.jpg b/content/2014/droidcon/gopherswrench.jpg
deleted file mode 100644
index 690fdb0..0000000
--- a/content/2014/droidcon/gopherswrench.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/go1.3.slide b/content/2014/go1.3.slide
deleted file mode 100644
index 21c5720..0000000
--- a/content/2014/go1.3.slide
+++ /dev/null
@@ -1,323 +0,0 @@
-Toward Go 1.3
-(and beyond)
-
-Andrew Gerrand
-Gopher
-@enneff
-http://golang.org
-
-
-* Go 1.3
-
-Code freeze is March 1, 2014.
-
-Release is June 1, 2014.
-
-(Six months after Go 1.2, released December 1, 2013.)
-
-
-* A to-do list
-
-After Go 1.2 the Go contributors compiled a to-do list:
-
-.link http://golang.org/s/go13todo
-
-The list is aspirational; not all of it will get done.
-
-This talk is based on that list.
-
-
-* 100% precise GC
-
-Finally!
-
-
-* Copying stacks (1/2)
-
-.link http://golang.org/s/contigstacks
-
-Go 1.2's stack split mechanism has a "hot split" problem.
-
-Copying (or "contiguous") stacks are grown by reallocation and copying.
-Resolves the "hot split" problem.
-Makes smaller initial stacks practical - more goroutines in the same space.
-
-* Copying stacks (2/2)
-
-.image go1.3/json.png
-
-
-* Dmitry's bag of performance tricks
-
-Runtime changes:
-
-- increase page size to 8K (~10% GC less pause time)
-- do not collect GC roots explicitly (~6% GC less pause time)
-- prefetch next block in mallocgc (~2% less CPU)
-- smarter slice grow (2-20% less CPU)
-- combine small NoScan allocations (10% faster json benchmark)
-- do not zero terminate strings (1% fewer allocs json benchmark)
-- remove locks from netpoll hotpaths (~5% faster TCP)
-- allocate goroutine ids in batches (8-66% faster goroutine creation)
-- use lock-free ring for work queues (5-40% faster goroutine scheduling)
-- per-P defer pool (memory savings for programs with many goroutines)
-
-And many more to come...
-
-
-* Channel rewrite
-
-.link http://golang.org/s/go13chan
-
-Goals:
-
-- make single-threaded (non-contended) channel operations faster
-- make contended buffered (producer/consumer) channel operations faster
-- make non-blocking failing operations (e.g. checking of "stop" channel) faster
-- make chan semaphores (chan struct{}) faster
-- make select statements faster
-
-Non-goals:
-
-- make channels completely lock-free (this would significantly complicate implementation and make it slower for common cases)
-- make contended synchronous channel operations faster
-
-
-* sync.Pool (1/2)
-
-Many Go libraries include custom thread-safe free lists, like this:
-
-	var objPool = make(chan *Object, 10)
-
-	func obj() *Object {
-		select {
-		case p := <-objPool:
-			return p
-		default:
-		}
-		return NewObject()
-	}
-
-	func objPut(p *Object) {
-		select {
-		case objPool <- p:
-		default:
-		}
-	}
-  
-	p := obj()
-	// use p
-	objPut(p)
-
-* sync.Pool (2/2)
-
-The `sync.Pool` type provides a general thread-safe global free list.
-
-It allows the runtime to reclaim entries when appropriate
-(for example, during garbage collection).
-
-	var objPool = sync.Pool{
-		New: func() interface{} {
-			return NewObject()
-		},
-	}
-  
-	p := objPool.Get().(*Object)
-	// use p
-	objPool.Put(p)
-
-This is an experimental type and might not be released.
-
-
-* Native Client port
-
-.link http://golang.org/s/go13nacl
-
-Native Client (NaCl) is a restricted execution environment for x86 binaries.
-
-Notably used to run compiled binaries inside Google Chrome.
-NaCl also provides a tool for executing command-line binaries
-
-Go 1.3 targets that command-line tool for 32-bit and 64-bit x86 architectures.
-(NaCl supports 32-bit ARM, but we have no plans to support it.)
-
-The [[http://play.golang.org][Go Playground]] uses the NaCl tool chain to safely execute untrusted programs.
-
-The NaCl tool chain includes the fake time, network, and file system capabilities of the playground.
-
-
-* OS ports
-
-Solaris: work in progress, on track for Go 1.3.
-
-DragonflyBSD: work is done, looking for a maintainer.
-
-Plan 9: still not finished.
-
-darwin/arm, android/arm: a contributor is working on these, some way to go.
-
-
-* The go command and fsnotify
-
-.link http://golang.org/s/go13fsnotify
-
-In Go 1.2, `go` `build` stats every dependent source file to see whether they have changed.
-
-This is a big chunk of total build time.
-
-The proposed "go background" command starts a daemon that watches source files for changes.
-
-When building, the `go` commands can ask the daemon which files have changed.
-
-A new `os/fsnotify` package will be added to the standard library to support the `go` command.
-
-A proposed interface is discussed here:
-
-.link http://golang.org/cl/48310043
-
-
-* Support for linking against Objective C code
-
-The Go 1.2 tool chain can link against C++ code using `cgo` (but you need to write a small C bridge into the C++ code).
-
-The same can be done for Objective C code, with some modifications to the go tool.
-
-This will make it easier to write native OS X applications.
-
-
-* Address binary bloat
-
-.link http://golang.org/issue/6853
-
-Go binaries are getting pretty big. Rob ran an experiment:
-
-	As an experiment, I built "hello, world" at the release points for go 1.0. 1.1, and 1.2.
-	Here are the binary's sizes:
-
-	% ls -l x.1.?
-	-rwxr-xr-x  1 r  staff  1191952 Nov 30 10:25 x.1.0
-	-rwxr-xr-x  1 r  staff  1525936 Nov 30 10:20 x.1.1
-	-rwxr-xr-x  1 r  staff  2188576 Nov 30 10:18 x.1.2
-
-Go binaries contain several sets of debugging symbols (for gdb, profilers, reflection, etc).
-
-We intend to rationalize these as part of some work on the linker.
-Speaking of which...
-
-
-* Linker overhaul (1/3)
-
-.link http://golang.org/s/go13linker
-
-The `gc` tool chain is a bit unconventional.
-
-The compilers don't emit machine code but an intermediate assembly language.
-
-The linker translates it into machine code.
-
-The packages can be compiled in parallel by independent runs of the compiler,
-but the linking must be done by a single linker process after compilation is complete.
-
-The `gc` linker has become a bottleneck in building programs
-because it does more work than a typical linker.
-
-* Linker overhaul (2/3)
-
-The Go 1.2 linker's job can be split into two parts:
-
-- translate an input stream of pseudo-instructions into executable code, data blocks, and a list of relocations,
-- delete dead code, merge what's left, resolve relocations, and generate a few whole-program data structures.
-
-.image go1.3/liblink1.png
-
-* Linker overhaul (3/3)
-
-In Go 1.3, much of the old linker is moved to a `liblink` library that is then used by assemblers and compilers (`6a`, `6c`, `6g`, etc). This allows more work to be done in parallel.
-
-.image go1.3/liblink2.png
-
-And because the linker is much simpler now, we can rewrite it in Go.
-
-
-* Compiler overhaul
-
-.link http://golang.org/s/go13compiler
-
-The "gc" tool chain is based on the Plan 9 C compilers.
-
-The assemblers, C compilers, and linkers were lifted wholesale.
-
-The Go compilers are new C programs that fit into that tool chain.
-
-Wouldn't it be nice to have a Go compiler written in Go?
-
-* Compiler overhaul: why C then?
-
-Many benefits to writing the compiler in C:
-
-- Go did not exist
-- Once Go did exist, it changed often
-
-Today, Go does exist and is stable as of Go 1.
-These benefits not as relevant now.
-
-* Compiler overhaul: why Go now?
-
-The benefits of a Go-based compiler:
-
-- Go code is easier to write and debug
-- Go has better support for modularity, automated rewriting, unit testing, and profiling
-- Go programmers are more likely to work on a compiler written in Go
-- Go code is easier to parallelize
-- Go is more fun!
-
-* Compiler overhaul: the plan
-
-Not a rewrite.
-
-Translate the C compilers to Go.
-
-Write and use an automatic translator to do this.
-
-Start the process with Go 1.3 and continue in future releases.
-
-* Compiler overhaul: five phases
-
-- Develop and debug the translator.
-- Translate the C to Go and delete the C code.
-- Clean up and document the code, add unit tests. (Target Go 1.4)
-- Profile and optimize the compiler and split it into packages.
-- Replace the front end with `go/parser` and `go/types`. (Maybe with new versions of those packages.)
-
-* Compiler overhaul: bootstrapping
-
-Must have a way to build the compiler from scratch.
-
-Our plan is that the Go 1.3 compiler must compile using Go 1.2, and Go 1.4 must compile with Go 1.3, and so on.
-
-Write a shell script to do this automatically. Bootstrap once per machine.
-
-This scales poorly over time, so we might write a back end for the compiler that generates C code, and keep the C version of the compiler sources checked in.
-
-* Compiler overhaul: alternatives
-
-Write new compilers from scratch?
-
-- The existing compilers are well-tested and handle many subtle cases well; would be foolish to throw away 10 man-years of effort.
-
-Translate the compiler manually?
-
-- Translation is tedious and error-prone, mistakes are subtle and hard to find. Can continue to work on existing compilers while writing the translator.
-
-Translate just the back ends and connect to `go/parser` and `go/types` immediately?
-
-- The existing APIs are very different; too much work to undertake at once.
-
-Discard the current compilers and use gccgo (or `go/parser` and `go/types` and LLVM)?
-
-- The current compilers are a large part of our flexibility. Tying Go to large C/C++ projects like GCC or LLVM hurts that flexibility.
-
-
-* Lots of small things
-
-As with previous releases, we'll see a long tail of small fixes and changes.
diff --git a/content/2014/go1.3/json.png b/content/2014/go1.3/json.png
deleted file mode 100644
index ab542e1..0000000
--- a/content/2014/go1.3/json.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/go1.3/liblink.graffle b/content/2014/go1.3/liblink.graffle
deleted file mode 100644
index d193382..0000000
--- a/content/2014/go1.3/liblink.graffle
+++ /dev/null
@@ -1,1268 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>ActiveLayerIndex</key>
-	<integer>0</integer>
-	<key>ApplicationVersion</key>
-	<array>
-		<string>com.omnigroup.OmniGraffle6</string>
-		<string>156.2.0.196174</string>
-	</array>
-	<key>AutoAdjust</key>
-	<true/>
-	<key>BackgroundGraphic</key>
-	<dict>
-		<key>Bounds</key>
-		<string>{{0, 0}, {576, 733}}</string>
-		<key>Class</key>
-		<string>SolidGraphic</string>
-		<key>ID</key>
-		<integer>2</integer>
-		<key>Style</key>
-		<dict>
-			<key>stroke</key>
-			<dict>
-				<key>Draws</key>
-				<string>NO</string>
-			</dict>
-		</dict>
-	</dict>
-	<key>BaseZoom</key>
-	<integer>0</integer>
-	<key>CanvasOrigin</key>
-	<string>{0, 0}</string>
-	<key>ColumnAlign</key>
-	<integer>1</integer>
-	<key>ColumnSpacing</key>
-	<real>36</real>
-	<key>CreationDate</key>
-	<string>2014-01-30 08:33:48 +0000</string>
-	<key>Creator</key>
-	<string>Andrew Gerrand</string>
-	<key>DisplayScale</key>
-	<string>1 in = 1 in</string>
-	<key>GraphDocumentVersion</key>
-	<integer>11</integer>
-	<key>GraphicsList</key>
-	<array>
-		<dict>
-			<key>Class</key>
-			<string>LineGraphic</string>
-			<key>Head</key>
-			<dict>
-				<key>ID</key>
-				<integer>62</integer>
-			</dict>
-			<key>ID</key>
-			<integer>67</integer>
-			<key>Points</key>
-			<array>
-				<string>{373.75, 417.03887110316862}</string>
-				<string>{416, 417.03887110316862}</string>
-			</array>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>HeadArrow</key>
-					<string>FilledArrow</string>
-					<key>Legacy</key>
-					<true/>
-					<key>LineType</key>
-					<integer>1</integer>
-					<key>TailArrow</key>
-					<string>0</string>
-				</dict>
-			</dict>
-			<key>Tail</key>
-			<dict>
-				<key>ID</key>
-				<integer>64</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>LineGraphic</string>
-			<key>Head</key>
-			<dict>
-				<key>ID</key>
-				<integer>64</integer>
-			</dict>
-			<key>ID</key>
-			<integer>66</integer>
-			<key>Points</key>
-			<array>
-				<string>{255.6875, 417.03886858470719}</string>
-				<string>{289.75, 417.03886858470719}</string>
-			</array>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>HeadArrow</key>
-					<string>FilledArrow</string>
-					<key>Legacy</key>
-					<true/>
-					<key>LineType</key>
-					<integer>1</integer>
-					<key>TailArrow</key>
-					<string>0</string>
-				</dict>
-			</dict>
-			<key>Tail</key>
-			<dict>
-				<key>ID</key>
-				<integer>46</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{296.75, 401.95199012756348}, {70, 64.751556396484375}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>ID</key>
-			<integer>65</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 Delete dead code, link binary}</string>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{290.25, 361.53887748718262}, {83, 111}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>ID</key>
-			<integer>64</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict/>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 Linker\
-(6l, 8l, etc)}</string>
-			</dict>
-			<key>TextPlacement</key>
-			<integer>0</integer>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{416, 403.03887939453125}, {60, 28}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>FitText</key>
-			<string>YES</string>
-			<key>Flow</key>
-			<string>Resize</string>
-			<key>ID</key>
-			<integer>62</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>fill</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>shadow</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>stroke</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>Pad</key>
-				<integer>0</integer>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 Executable\
-binary}</string>
-				<key>VerticalPad</key>
-				<integer>0</integer>
-			</dict>
-			<key>Wrap</key>
-			<string>NO</string>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>LineGraphic</string>
-			<key>Head</key>
-			<dict>
-				<key>ID</key>
-				<integer>60</integer>
-			</dict>
-			<key>ID</key>
-			<integer>61</integer>
-			<key>Points</key>
-			<array>
-				<string>{451.49999999999966, 108.99990395818676}</string>
-				<string>{484, 108.99986518354167}</string>
-			</array>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>HeadArrow</key>
-					<string>FilledArrow</string>
-					<key>Legacy</key>
-					<true/>
-					<key>LineType</key>
-					<integer>1</integer>
-					<key>TailArrow</key>
-					<string>0</string>
-				</dict>
-			</dict>
-			<key>Tail</key>
-			<dict>
-				<key>ID</key>
-				<integer>28</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{484, 95}, {60, 28}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>FitText</key>
-			<string>YES</string>
-			<key>Flow</key>
-			<string>Resize</string>
-			<key>ID</key>
-			<integer>60</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>fill</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>shadow</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>stroke</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>Pad</key>
-				<integer>0</integer>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 Executable\
-binary}</string>
-				<key>VerticalPad</key>
-				<integer>0</integer>
-			</dict>
-			<key>Wrap</key>
-			<string>NO</string>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>LineGraphic</string>
-			<key>Head</key>
-			<dict>
-				<key>ID</key>
-				<integer>58</integer>
-			</dict>
-			<key>ID</key>
-			<integer>59</integer>
-			<key>Points</key>
-			<array>
-				<string>{331.75000961041695, 157.75155258178711}</string>
-				<string>{331.75000961041695, 193}</string>
-			</array>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>Color</key>
-					<dict>
-						<key>b</key>
-						<string>0.088643</string>
-						<key>g</key>
-						<string>0</string>
-						<key>r</key>
-						<string>0.838867</string>
-					</dict>
-					<key>HeadArrow</key>
-					<string>0</string>
-					<key>Legacy</key>
-					<true/>
-					<key>LineType</key>
-					<integer>1</integer>
-					<key>TailArrow</key>
-					<string>0</string>
-				</dict>
-			</dict>
-			<key>Tail</key>
-			<dict>
-				<key>ID</key>
-				<integer>38</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{233.75, 193}, {196, 14}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>FitText</key>
-			<string>YES</string>
-			<key>Flow</key>
-			<string>Resize</string>
-			<key>FontInfo</key>
-			<dict>
-				<key>Color</key>
-				<dict>
-					<key>b</key>
-					<string>0</string>
-					<key>g</key>
-					<string>0.00579522</string>
-					<key>r</key>
-					<string>0.491593</string>
-				</dict>
-			</dict>
-			<key>ID</key>
-			<integer>58</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>fill</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>shadow</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>stroke</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>Pad</key>
-				<integer>0</integer>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;\red125\green1\blue0;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf2 To be extracted as the "liblink" library}</string>
-				<key>VerticalPad</key>
-				<integer>0</integer>
-			</dict>
-			<key>Wrap</key>
-			<string>NO</string>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{80.875, 511.23331069946312}, {51.5, 28}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>FontInfo</key>
-			<dict>
-				<key>Color</key>
-				<dict>
-					<key>b</key>
-					<string>0.0128754</string>
-					<key>g</key>
-					<string>0</string>
-					<key>r</key>
-					<string>0.546174</string>
-				</dict>
-			</dict>
-			<key>ID</key>
-			<integer>55</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>Color</key>
-					<dict>
-						<key>b</key>
-						<string>0.088643</string>
-						<key>g</key>
-						<string>0</string>
-						<key>r</key>
-						<string>0.838867</string>
-					</dict>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;\red139\green0\blue3;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf2 liblink}</string>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{80.875, 420.32775878906273}, {51.5, 28}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>FontInfo</key>
-			<dict>
-				<key>Color</key>
-				<dict>
-					<key>b</key>
-					<string>0.0128754</string>
-					<key>g</key>
-					<string>0</string>
-					<key>r</key>
-					<string>0.546174</string>
-				</dict>
-			</dict>
-			<key>ID</key>
-			<integer>54</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>Color</key>
-					<dict>
-						<key>b</key>
-						<string>0.088643</string>
-						<key>g</key>
-						<string>0</string>
-						<key>r</key>
-						<string>0.838867</string>
-					</dict>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;\red139\green0\blue3;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf2 liblink}</string>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{80.875, 330.42222595214866}, {51.5, 28}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>FontInfo</key>
-			<dict>
-				<key>Color</key>
-				<dict>
-					<key>b</key>
-					<string>0.0128754</string>
-					<key>g</key>
-					<string>0</string>
-					<key>r</key>
-					<string>0.546174</string>
-				</dict>
-			</dict>
-			<key>ID</key>
-			<integer>53</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>Color</key>
-					<dict>
-						<key>b</key>
-						<string>0.088643</string>
-						<key>g</key>
-						<string>0</string>
-						<key>r</key>
-						<string>0.838867</string>
-					</dict>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;\red139\green0\blue3;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf2 liblink}</string>
-			</dict>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>LineGraphic</string>
-			<key>Head</key>
-			<dict>
-				<key>ID</key>
-				<integer>46</integer>
-			</dict>
-			<key>ID</key>
-			<integer>49</integer>
-			<key>Points</key>
-			<array>
-				<string>{145.39051649876458, 477.29317686027639}</string>
-				<string>{194.484839127947, 438.03887939453148}</string>
-			</array>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>HeadArrow</key>
-					<string>FilledArrow</string>
-					<key>Legacy</key>
-					<true/>
-					<key>LineType</key>
-					<integer>1</integer>
-					<key>TailArrow</key>
-					<string>0</string>
-				</dict>
-			</dict>
-			<key>Tail</key>
-			<dict>
-				<key>ID</key>
-				<integer>45</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>LineGraphic</string>
-			<key>Head</key>
-			<dict>
-				<key>ID</key>
-				<integer>46</integer>
-			</dict>
-			<key>ID</key>
-			<integer>48</integer>
-			<key>Points</key>
-			<array>
-				<string>{145.49999978479559, 417.07494773054538}</string>
-				<string>{185.6875, 417.11223380821349}</string>
-			</array>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>HeadArrow</key>
-					<string>FilledArrow</string>
-					<key>Legacy</key>
-					<true/>
-					<key>LineType</key>
-					<integer>1</integer>
-					<key>TailArrow</key>
-					<string>0</string>
-				</dict>
-			</dict>
-			<key>Tail</key>
-			<dict>
-				<key>ID</key>
-				<integer>44</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>LineGraphic</string>
-			<key>Head</key>
-			<dict>
-				<key>ID</key>
-				<integer>46</integer>
-			</dict>
-			<key>ID</key>
-			<integer>47</integer>
-			<key>Points</key>
-			<array>
-				<string>{145.39034728595772, 356.81889972495077}</string>
-				<string>{194.38730511726388, 396.03887939453148}</string>
-			</array>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>HeadArrow</key>
-					<string>FilledArrow</string>
-					<key>Legacy</key>
-					<true/>
-					<key>LineType</key>
-					<integer>1</integer>
-					<key>TailArrow</key>
-					<string>0</string>
-				</dict>
-			</dict>
-			<key>Tail</key>
-			<dict>
-				<key>ID</key>
-				<integer>43</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{185.6875, 396.03887939453148}, {70, 42}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>FitText</key>
-			<string>YES</string>
-			<key>Flow</key>
-			<string>Resize</string>
-			<key>ID</key>
-			<integer>46</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>fill</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>shadow</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>stroke</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>Pad</key>
-				<integer>0</integer>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 Intermediate\
-binary\
-object format}</string>
-				<key>VerticalPad</key>
-				<integer>0</integer>
-			</dict>
-			<key>Wrap</key>
-			<string>NO</string>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{68.25, 470.4999924553764}, {76.75, 75.57777777777784}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>ID</key>
-			<integer>45</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict/>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 Assembler\
-(6a, 8a, etc)}</string>
-			</dict>
-			<key>TextPlacement</key>
-			<integer>0</integer>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{68.25, 379.24999050564259}, {76.75, 75.57777777777784}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>ID</key>
-			<integer>44</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict/>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 C compiler\
-(6c, 8c, etc)}</string>
-			</dict>
-			<key>TextPlacement</key>
-			<integer>0</integer>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{68.25, 288}, {76.75, 75.57777777777784}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>ID</key>
-			<integer>43</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict/>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 Go compiler\
-(6g, 8g, etc)}</string>
-			</dict>
-			<key>TextPlacement</key>
-			<integer>0</integer>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{296.75, 92.499996185302734}, {70, 64.751556396484375}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>FontInfo</key>
-			<dict>
-				<key>Color</key>
-				<dict>
-					<key>b</key>
-					<string>0</string>
-					<key>g</key>
-					<string>0.00579522</string>
-					<key>r</key>
-					<string>0.491593</string>
-				</dict>
-			</dict>
-			<key>ID</key>
-			<integer>38</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>Color</key>
-					<dict>
-						<key>b</key>
-						<string>0</string>
-						<key>g</key>
-						<string>0.0937715</string>
-						<key>r</key>
-						<string>0.799423</string>
-					</dict>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;\red125\green1\blue0;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf2 Generate machine code}</string>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{375.25, 92.499996185302734}, {70, 64.751556396484375}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>ID</key>
-			<integer>37</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 Delete dead code, link binary}</string>
-			</dict>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>LineGraphic</string>
-			<key>Head</key>
-			<dict>
-				<key>ID</key>
-				<integer>28</integer>
-			</dict>
-			<key>ID</key>
-			<integer>36</integer>
-			<key>Points</key>
-			<array>
-				<string>{253, 108.97154672022278}</string>
-				<string>{290.50000013401478, 108.94106106320966}</string>
-			</array>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>HeadArrow</key>
-					<string>FilledArrow</string>
-					<key>Legacy</key>
-					<true/>
-					<key>LineType</key>
-					<integer>1</integer>
-					<key>TailArrow</key>
-					<string>0</string>
-				</dict>
-			</dict>
-			<key>Tail</key>
-			<dict>
-				<key>ID</key>
-				<integer>32</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>LineGraphic</string>
-			<key>Head</key>
-			<dict>
-				<key>ID</key>
-				<integer>32</integer>
-			</dict>
-			<key>ID</key>
-			<integer>35</integer>
-			<key>Points</key>
-			<array>
-				<string>{136.83462814836014, 160.73111971569412}</string>
-				<string>{185.01468248965995, 130}</string>
-			</array>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>HeadArrow</key>
-					<string>FilledArrow</string>
-					<key>Legacy</key>
-					<true/>
-					<key>LineType</key>
-					<integer>1</integer>
-					<key>TailArrow</key>
-					<string>0</string>
-				</dict>
-			</dict>
-			<key>Tail</key>
-			<dict>
-				<key>ID</key>
-				<integer>31</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>LineGraphic</string>
-			<key>Head</key>
-			<dict>
-				<key>ID</key>
-				<integer>32</integer>
-			</dict>
-			<key>ID</key>
-			<integer>34</integer>
-			<key>Points</key>
-			<array>
-				<string>{145.49999986651093, 108.97159313228745}</string>
-				<string>{183, 108.94419100890042}</string>
-			</array>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>HeadArrow</key>
-					<string>FilledArrow</string>
-					<key>Legacy</key>
-					<true/>
-					<key>LineType</key>
-					<integer>1</integer>
-					<key>TailArrow</key>
-					<string>0</string>
-				</dict>
-			</dict>
-			<key>Tail</key>
-			<dict>
-				<key>ID</key>
-				<integer>30</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>LineGraphic</string>
-			<key>Head</key>
-			<dict>
-				<key>ID</key>
-				<integer>32</integer>
-			</dict>
-			<key>ID</key>
-			<integer>33</integer>
-			<key>Points</key>
-			<array>
-				<string>{136.86818770762332, 57.268665975045344}</string>
-				<string>{185.10263759772207, 88}</string>
-			</array>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>HeadArrow</key>
-					<string>FilledArrow</string>
-					<key>Legacy</key>
-					<true/>
-					<key>LineType</key>
-					<integer>1</integer>
-					<key>TailArrow</key>
-					<string>0</string>
-				</dict>
-			</dict>
-			<key>Tail</key>
-			<dict>
-				<key>ID</key>
-				<integer>29</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{183, 88}, {70, 42}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>FitText</key>
-			<string>YES</string>
-			<key>Flow</key>
-			<string>Resize</string>
-			<key>ID</key>
-			<integer>32</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>fill</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>shadow</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>stroke</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>Pad</key>
-				<integer>0</integer>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 Intermediate\
-assembly\
-object format}</string>
-				<key>VerticalPad</key>
-				<integer>0</integer>
-			</dict>
-			<key>Wrap</key>
-			<string>NO</string>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{68.25, 161}, {76.75, 38}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>ID</key>
-			<integer>31</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 Assembler\
-(6a, 8a, etc)}</string>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{68.25, 90}, {76.75, 38}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>ID</key>
-			<integer>30</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 C compiler\
-(6c, 8c, etc)}</string>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{68.25, 19}, {76.75, 38}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>ID</key>
-			<integer>29</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 Go compiler\
-(6g, 8g, etc)}</string>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{291, 53.5}, {160, 111}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>ID</key>
-			<integer>28</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict/>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf1265
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
-
-\f0\fs24 \cf0 Linker\
-(6l, 8l, etc)}</string>
-			</dict>
-			<key>TextPlacement</key>
-			<integer>0</integer>
-		</dict>
-	</array>
-	<key>GridInfo</key>
-	<dict/>
-	<key>GuidesLocked</key>
-	<string>NO</string>
-	<key>GuidesVisible</key>
-	<string>YES</string>
-	<key>HPages</key>
-	<integer>1</integer>
-	<key>ImageCounter</key>
-	<integer>1</integer>
-	<key>KeepToScale</key>
-	<false/>
-	<key>Layers</key>
-	<array>
-		<dict>
-			<key>Lock</key>
-			<string>NO</string>
-			<key>Name</key>
-			<string>Layer 1</string>
-			<key>Print</key>
-			<string>YES</string>
-			<key>View</key>
-			<string>YES</string>
-		</dict>
-	</array>
-	<key>LayoutInfo</key>
-	<dict>
-		<key>Animate</key>
-		<string>NO</string>
-		<key>circoMinDist</key>
-		<real>18</real>
-		<key>circoSeparation</key>
-		<real>0.0</real>
-		<key>layoutEngine</key>
-		<string>dot</string>
-		<key>neatoLineLength</key>
-		<real>0.20000000298023224</real>
-		<key>neatoSeparation</key>
-		<real>0.0</real>
-		<key>twopiSeparation</key>
-		<real>0.0</real>
-	</dict>
-	<key>LinksVisible</key>
-	<string>NO</string>
-	<key>MagnetsVisible</key>
-	<string>NO</string>
-	<key>MasterSheets</key>
-	<array/>
-	<key>ModificationDate</key>
-	<string>2014-01-30 09:04:24 +0000</string>
-	<key>Modifier</key>
-	<string>Andrew Gerrand</string>
-	<key>NotesVisible</key>
-	<string>NO</string>
-	<key>Orientation</key>
-	<integer>2</integer>
-	<key>OriginVisible</key>
-	<string>NO</string>
-	<key>PageBreaks</key>
-	<string>YES</string>
-	<key>PrintInfo</key>
-	<dict>
-		<key>NSBottomMargin</key>
-		<array>
-			<string>float</string>
-			<string>41</string>
-		</array>
-		<key>NSHorizonalPagination</key>
-		<array>
-			<string>coded</string>
-			<string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string>
-		</array>
-		<key>NSLeftMargin</key>
-		<array>
-			<string>float</string>
-			<string>18</string>
-		</array>
-		<key>NSPaperSize</key>
-		<array>
-			<string>size</string>
-			<string>{612, 792}</string>
-		</array>
-		<key>NSPrintReverseOrientation</key>
-		<array>
-			<string>coded</string>
-			<string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string>
-		</array>
-		<key>NSRightMargin</key>
-		<array>
-			<string>float</string>
-			<string>18</string>
-		</array>
-		<key>NSTopMargin</key>
-		<array>
-			<string>float</string>
-			<string>18</string>
-		</array>
-	</dict>
-	<key>PrintOnePage</key>
-	<false/>
-	<key>ReadOnly</key>
-	<string>NO</string>
-	<key>RowAlign</key>
-	<integer>1</integer>
-	<key>RowSpacing</key>
-	<real>36</real>
-	<key>SheetTitle</key>
-	<string>Canvas 1</string>
-	<key>SmartAlignmentGuidesActive</key>
-	<string>YES</string>
-	<key>SmartDistanceGuidesActive</key>
-	<string>YES</string>
-	<key>UniqueID</key>
-	<integer>1</integer>
-	<key>UseEntirePage</key>
-	<false/>
-	<key>VPages</key>
-	<integer>1</integer>
-	<key>WindowInfo</key>
-	<dict>
-		<key>BottomSlabHeight</key>
-		<real>398</real>
-		<key>CurrentSheet</key>
-		<integer>0</integer>
-		<key>Expanded_Canvases</key>
-		<array/>
-		<key>Frame</key>
-		<string>{{122, 4}, {1121, 742}}</string>
-		<key>ShowInfo</key>
-		<true/>
-		<key>ShowRuler</key>
-		<true/>
-		<key>Sidebar</key>
-		<true/>
-		<key>SidebarWidth</key>
-		<integer>230</integer>
-		<key>VisibleRegion</key>
-		<string>{{0, 0}, {574, 600}}</string>
-		<key>Zoom</key>
-		<real>1</real>
-		<key>ZoomValues</key>
-		<array>
-			<array>
-				<string>Canvas 1</string>
-				<real>1</real>
-				<real>1</real>
-			</array>
-		</array>
-	</dict>
-</dict>
-</plist>
diff --git a/content/2014/go1.3/liblink1.png b/content/2014/go1.3/liblink1.png
deleted file mode 100644
index fd62cdb..0000000
--- a/content/2014/go1.3/liblink1.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/go1.3/liblink2.png b/content/2014/go1.3/liblink2.png
deleted file mode 100644
index 614861c..0000000
--- a/content/2014/go1.3/liblink2.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4gophers.slide b/content/2014/go4gophers.slide
deleted file mode 100644
index f840d83..0000000
--- a/content/2014/go4gophers.slide
+++ /dev/null
@@ -1,836 +0,0 @@
-Go for gophers
-GopherCon closing keynote
-25 Apr 2014
-
-Andrew Gerrand
-Google, Inc.
-@enneff
-adg@golang.org
-
-
-* Video
-
-A video of this talk was recorded at GopherCon in Denver.
-
-.link https://www.youtube.com/watch?v=dKGmK_Z1Zl0 Watch the talk on YouTube
-
-
-* About me
-
-.image go4gophers/gopherswim.jpg
-
-I joined Google and the Go team in February 2010.
-
-Had to re-think some of my preconceptions about programming.
-
-Let me share what I have learned since.
-
-
-* Interfaces
-
-
-* Interfaces: first impressions
-
-I used to think about classes and types.
-
-Go resists this:
-
-- No inheritance.
-- No subtype polymorphism.
-- No generics.
-
-It instead emphasizes _interfaces_.
-
-
-* Interfaces: the Go way
-
-Go interfaces are small.
-
-	type Stringer interface {
-		String() string
-	}
-
-A `Stringer` can pretty print itself.
-Anything that implements `String` is a `Stringer`.
-
-
-* An interface example
-
-An `io.Reader` value emits a stream of binary data.
-
-	type Reader interface {
-		Read([]byte) (int, error)
-	}
-
-Like a UNIX pipe.
-
-
-* Implementing interfaces
-
-.code go4gophers/reader.go /ByteReader/,/^}/
-
-
-* Wrapping interfaces
-
-.code go4gophers/reader.go /LogReader/,/STOP/
-
-Wrapping a `ByteReader` with a `LogReader`:
-
-.play go4gophers/reader.go /START/,/STOP/
-
-By wrapping we compose interface _values_.
-
-
-* Chaining interfaces
-
-Wrapping wrappers to build chains:
-
-.code go4gophers/chain.go /START/,/STOP/
-
-More succinctly:
-
-.play go4gophers/chain.go /LogReader{io/
-
-Implement complex behavior by composing small pieces.
-
-
-* Programming with interfaces
-
-Interfaces separate data from behavior.
-
-With interfaces, functions can operate on _behavior:_
-
-	// Copy copies from src to dst until either EOF is reached
-	// on src or an error occurs.  It returns the number of bytes
-	// copied and the first error encountered while copying, if any.
-	func Copy(dst Writer, src Reader) (written int64, err error) {
-
-.play go4gophers/chain.go /LogReader{io/
-
-`Copy` can't know about the underlying data structures.
-
-
-* A larger interface
-
-`sort.Interface` describes the operations required to sort a collection:
-
-	type Interface interface {
-	    Len() int
-	    Less(i, j int) bool
-	    Swap(i, j int)
-	}
-
-`IntSlice` can sort a slice of ints:
-
-	type IntSlice []int
-
-	func (p IntSlice) Len() int           { return len(p) }
-	func (p IntSlice) Less(i, j int) bool { return p[i] < p[j] }
-	func (p IntSlice) Swap(i, j int)      { p[i], p[j] = p[j], p[i] }
-
-`sort.Sort` uses can sort a `[]int` with `IntSlice`:
-
-.play go4gophers/sort.go /START/,/STOP/
-
-
-* Another interface example
-
-The `Organ` type describes a body part and can print itself:
-
-.play go4gophers/organs.go /type Organ/,$
-
-
-* Sorting organs
-
-The `Organs` type knows how to describe and mutate a slice of organs:
-
-.code go4gophers/organs2.go /PART1/,/PART2/
-
-The `ByName` and `ByWeight` types embed `Organs` to sort by different fields:
-
-.code go4gophers/organs2.go /PART2/,/PART3/
-
-With embedding we compose _types_.
-
-
-* Sorting organs (continued)
-
-To sort a `[]*Organ`, wrap it with `ByName` or `ByWeight` and pass it to `sort.Sort`:
-
-.play go4gophers/organs2.go /START/,/STOP/
-
-
-* Another wrapper
-
-The `Reverse` function takes a `sort.Interface` and
-returns a `sort.Interface` with an inverted `Less` method:
-
-.code go4gophers/organs3.go /func Reverse/,$
-
-To sort the organs in descending order, compose our sort types with `Reverse`:
-
-.play go4gophers/organs3.go /START/,/STOP/
-
-
-* Interfaces: why they work
-
-These are not just cool tricks.
-
-This is how we structure programs in Go.
-
-
-* Interfaces: Sigourney
-
-Sigourney is a modular audio synthesizer I wrote in Go.
-
-.image go4gophers/sigourney.png
-
-Audio is generated by a chain of `Processors`:
-
-	type Processor interface {
-		Process(buffer []Sample)
-	}
-
-([[https://github.com/nf/sigourney][github.com/nf/sigourney]])
-
-
-* Interfaces: Roshi
-
-Roshi is a time-series event store written by Peter Bourgon. It provides this API:
-	
-	Insert(key, timestamp, value)
-	Delete(key, timestamp, value)
-	Select(key, offset, limit) []TimestampValue
-
-The same API is implemented by the `farm` and `cluster` parts of the system.
-
-.image go4gophers/roshi.png
-
-An elegant design that exhibits composition.
-([[https://github.com/soundcloud/roshi][github.com/soundcloud/roshi]])
-
-
-* Interfaces: why they work (continued)
-
-Interfaces are _the_ generic programming mechanism.
-
-This gives all Go code a familiar shape.
-
-Less is more.
-
-
-* Interfaces: why they work (continued)
-
-It's all about composition.
-
-Interfaces—by design and convention—encourage us to write composable code.
-
-
-* Interfaces: why they work (continued)
-
-Interfaces types are just types
-and interface values are just values.
-
-They are orthogonal to the rest of the language.
-
-
-* Interfaces: why they work (continued)
-
-Interfaces separate data from behavior. (Classes conflate them.)
-
-	type HandlerFunc func(ResponseWriter, *Request)
-
-	func (f HandlerFunc) ServeHTTP(w ResponseWriter, r *Request) {
-		f(w, r)
-	}
-
-
-* Interfaces: what I learned
-
-Think about composition.
-
-Better to have many small simple things than one big complex thing.
-
-Also: what I thought of as small is pretty big.
-
-Some repetition in the small is okay when it benefits "the large".
-
-
-* Concurrency
-
-
-* Concurrency: first impressions
-
-My first exposure to concurrency was in C, Java, and Python.
-Later: event-driven models in Python and JavaScript.
-
-When I saw Go I saw:
-
-"The performance of an event-driven model without callback hell."
-
-But I had questions: "Why can't I wait on or kill a goroutine?"
-
-
-* Concurrency: the Go way
-
-Goroutines provide concurrent execution.
-
-Channels express the communication and synchronization of independent processes.
-
-Select enables computation on channel operations.
-
-.image go4gophers/gopherflag.png
-
-
-* A concurrency example
-
-The binary tree comparison exercise from the Go Tour.
-
-"Implement a function
-
-        func Same(t1, t2 *tree.Tree) bool
-
-that compares the contents of two binary trees."
-
-.image go4gophers/tree.png
-
-
-* Walking a tree
-
-	type Tree struct {
-		Left, Right *Tree
-		Value int
-	}
-
-A simple depth-first tree traversal:
-
-.play go4gophers/tree-walk.go /func Walk/,$
-
-
-* Comparing trees (1/2)
-
-A concurrent walker:
-
-.code go4gophers/tree-thread.go /func Walk/,/STOP/
-
-
-* Comparing trees (2/2)
-
-Walking two trees concurrently:
-
-.play go4gophers/tree-thread.go /func Same/,$
-
-
-* Comparing trees without channels (1/3)
-
-.code go4gophers/tree-nothread.go /func Same/,/^}/
-
-The `Walk` function has nearly the same signature:
-
-.code go4gophers/tree-nothread.go /func Walk/
-.code go4gophers/tree-nothread.go /func.+Next/
-
-(We call `Next` instead of the channel receive.)
-
-
-* Comparing trees without channels (2/3)
-
-But the implementation is much more complex:
-
-.code go4gophers/tree-nothread.go /func Walk/,/CUT/
-
-
-* Comparing trees without channels (3/3)
-
-.code go4gophers/tree-nothread.go /CUT/,/STOP/
-
-
-* Another look at the channel version
-
-.code go4gophers/tree-thread.go /func Walk/,/STOP/
-
-But there's a problem: when an inequality is found,
-a goroutine might be left blocked sending to `ch`.
-
-
-* Stopping early
-
-Add a `quit` channel to the walker so we can stop it mid-stride.
-
-.code go4gophers/tree-select.go /func Walk/,/STOP/
-
-
-* Stopping early (continued)
-
-Create a `quit` channel and pass it to each walker.
-By closing `quit` when the `Same` exits, any running walkers are terminated.
-
-.code go4gophers/tree-select.go /func Same/,/^}/
-
-
-* Why not just kill the goroutines?
-
-Goroutines are invisible to Go code. They can't be killed or waited on.
-
-You have to build that yourself.
-
-There's a reason:
-
-As soon as Go code knows in which thread it runs you get thread-locality.
-
-Thread-locality defeats the concurrency model.
-
-
-* Concurrency: why it works
-
-The model makes concurrent code easy to read and write.
-(Makes concurrency is *accessible*.)
-
-This encourages the decomposition of independent computations.
-
-
-* Concurrency: why it works (continued)
-
-The simplicity of the concurrency model makes it flexible.
-
-Channels are just values; they fit right into the type system.
-
-Goroutines are invisible to Go code; this gives you concurrency anywhere.
-
-Less is more.
-
-
-* Concurrency: what I learned
-
-Concurrency is not just for doing more things faster.
-
-It's for writing better code.
-
-
-* Syntax
-
-
-* Syntax: first impressions
-
-At first, Go syntax felt a bit inflexible and verbose.
-
-It affords few of the conveniences to which I was accustomed.
-
-For instance:
-
-- No getters/setters on fields.
-- No map/filter/reduce/zip.
-- No optional arguments.
-
-
-* Syntax: the Go way
-
-Favor readability above all.
-
-Offer enough sugar to be productive, but not too much.
-
-
-* Getters and setters (or "properties")
-
-Getters and setters turn assignments and reads into function calls.
-This leads to surprising hidden behavior.
-
-In Go, just write (and call) the methods.
-
-The control flow cannot be obscured.
-
-
-* Map/filter/reduce/zip
-
-Map/filter/reduce/zip are useful  in Python.
-
-	a = [1, 2, 3, 4]
-	b = map(lambda x: x+1, a)
-
-In Go, you just write the loops.
-
-	a := []int{1, 2, 3, 4}
-	b := make([]int, len(a))
-	for i, x := range a {
-		b[i] = x+1
-	}
-
-This is a little more verbose,
-but makes the performance characteristics obvious.
-
-It's easy code to write, and you get more control.
-
-
-* Optional arguments
-
-Go functions can't have optional arguments.
-
-Instead, use variations of the function:
-
-	func NewWriter(w io.Writer) *Writer
-	func NewWriterLevel(w io.Writer, level int) (*Writer, error)
-
-Or an options struct:
-
-	func New(o *Options) (*Jar, error)
-
-	type Options struct {
-		PublicSuffixList PublicSuffixList
-	}
-
-Or a variadic list of options.
-
-Create many small simple things, not one big complex thing.
-
-
-* Syntax: why it works
-
-The language resists convoluted code.
-
-With obvious control flow, it's easy to navigate unfamiliar code.
-
-Instead we create more small things that are easy to document and understand.
-
-So Go code is easy to read.
-
-(And with gofmt, it's easy to write readable code.)
-
-
-* Syntax: what I learned
-
-I was often too clever for my own good.
-
-I appreciate the consistency, clarity, and _transparency_ of Go code.
-
-I sometimes miss the conveniences, but rarely.
-
-
-* Error handling
-
-
-* Error handling: first impressions
-
-I had previously used exceptions to handle errors.
-
-Go's error handling model felt verbose by comparison.
-
-I was immediately tired of typing this:
-
-	if err != nil {
-		return err
-	}
-
-
-* Error handling: the Go way
-
-Go codifies errors with the built-in `error` interface:
-
-	type error interface {
-		Error() string
-	}
-
-Error values are used just like any other value.
-
-	func doSomething() error
-
-	err := doSomething()
-	if err != nil {
-		log.Println("An error occurred:", err)
-	}
-
-Error handling code is just code.
-
-(Started as a convention (`os.Error`). We made it built in for Go 1.)
-
-
-* Error handling: why it works
-
-Error handling is important.
-
-Go makes error handling as important as any other code.
-
-
-* Error handling: why it works (continued)
-
-Errors are just values; they fit easily into the rest of the language
-(interfaces, channels, and so on).
-
-Result: Go code handles errors correctly and elegantly.
-
-
-* Error handling: why it works (continued)
-
-We use the same language for errors as everything else.
-
-Lack of hidden control flow (throw/try/catch/finally) improves readability.
-
-Less is more.
-
-
-
-* Error handling: what I learned
-
-To write good code we must think about errors.
-
-Exceptions make it easy to avoid thinking about errors.
-(Errors shouldn't be "exceptional!")
-
-Go encourages us to consider every error condition.
-
-My Go programs are far more robust than my programs in other languages.
-
-I don't miss exceptions at all.
-
-
-* Packages
-
-
-* Packages: first impressions
-
-I found the capital-letter-visibility rule weird;
-"Let me use my own naming scheme!"
-
-I didn't like "package per directory";
-"Let me use my own structure!"
-
-I was disappointed by lack of monkey patching.
-
-
-* Packages: the Go way
-
-Go packages are a name space for types, functions, variables, and constants.
-
-
-* Visibility
-
-Visibility is at the package level.
-Names are "exported" when they begin with a capital letter.
-
-	package zip
-
-	func NewReader(r io.ReaderAt, size int64) (*Reader, error) // exported
-
-	type Reader struct {    // exported
-		File    []*File     // exported
-		Comment string      // exported
-		r       io.ReaderAt // unexported
-	}
-
-	func (f *File) Open() (rc io.ReadCloser, err error)   // exported
-
-	func (f *File) findBodyOffset() (int64, error)        // unexported
-
-	func readDirectoryHeader(f *File, r io.Reader) error  // unexported
-
-Good for readability: easy to see whether a name is part of the public interface.
-Good for design: couples naming decisions with interface decisions.
-
-
-* Package structure
-
-Packages can be spread across multiple files.
-
-Permits shared private implementation and informal code organization.
-
-Packages files must live in a directory unique to the package.
-
-The path to that directory determines the package's import path.
-
-The build system locates dependencies from the source alone.
-
-
-* "Monkey patching"
-
-Go forbids modifying package declarations from outside the package.
-
-But we can get similar behavior using global variables:
-
-	package flag
-
-	var Usage = func() {
-		fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0])
-		PrintDefaults()
-	}
-
-Or registration functions:
-
-	package http
-
-	func Handle(pattern string, handler Handler)
-
-This gives the flexibility of monkey patching but on the package author's terms.
-
-(This depends on Go's initialization semantics.)
-
-
-* Packages: why they work
-
-The loose organization of packages lets us write and refactor code quickly.
-
-But packages encourage the programmer to consider the public interface.
-
-This leads to good names and simpler interfaces.
-
-With the source as the single source of truth,
-there are no makefiles to get out of sync.
-
-(This design enables great tools like [[http://godoc.org][godoc.org]] and goimports.)
-
-Predictable semantics make packages easy to read, understand, and use.
-
-
-* Packages: what I learned
-
-Go's package system taught me to prioritize the consumer of my code.
-(Even if that consumer is me.)
-
-It also stopped me from doing gross stuff.
-
-Packages are rigid where it matters, and loose where it doesn't.
-It just feels right.
-
-Probably my favorite part of the language.
-
-
-* Documentation
-
-
-* Documentation: first impressions
-
-Godoc reads documentation from Go source code, like `pydoc` or `javadoc`.
-
-But unlike those two, it doesn't support complex formatting or other meta data.
-Why?
-
-
-* Documentation: the Go way
-
-Godoc comments precede the declaration of an exported identifier:
-
-	// Join concatenates the elements of a to create a single string.
-	// The separator string sep is placed between elements in the resulting string.
-	func Join(a []string, sep string) string {
-
-It extracts the comments and presents them:
-
-	$ godoc strings Join
-	func Join(a []string, sep string) string
-	    Join concatenates the elements of a to create a single string. The
-	    separator string sep is placed between elements in the resulting string.
-
-Also integrated with the testing framework to provide testable example functions.
-
-	func ExampleJoin() {
-		s := []string{"foo", "bar", "baz"}
-		fmt.Println(strings.Join(s, ", "))
-		// Output: foo, bar, baz
-	}
-
-
-* Documentation: the Go way (continued)
-
-.image go4gophers/godoc.png
-
-
-* Documentation: why it works
-
-Godoc wants you to write good comments, so the source looks great:
-
-	// ValidMove reports whether the specified move is valid.
-	func ValidMove(from, to Position) bool
-
-Javadoc just wants to produce pretty documentation, so the source is hideous:
-
-	/**
-	 * Validates a chess move.
-	 *
-	 * @param fromPos  position from which a piece is being moved
-	 * @param toPos    position to which a piece is being moved
-	 * @return         true if the move is valid, otherwise false
-	 */
-	boolean isValidMove(Position fromPos, Position toPos)
-
-(Also a grep for `"ValidMove"` will return the first line of documentation.)
-
-
-* Documentation: what I learned
-
-Godoc taught me to write documentation _as_I_code._
-
-Writing documentation _improves_the_code_ I write.
-
-
-* More
-
-There are many more examples.
-
-The overriding theme:
-
-- At first, something seemed weird or lacking.
-- I realized it was a design decision.
-
-Those decisions make the language—and Go code—better.
-
-Sometimes you have to live with the language a while to see it.
-
-
-* Lessons
-
-
-* Code is communication
-
-Be articulate:
-
-- Choose good names.
-- Design simple interfaces.
-- Write precise documentation.
-- Don't be too clever.
-
-
-* Less is exponentially more
-
-New features can weaken existing features.
-
-Features multiply complexity.
-
-Complexity defeats orthogonality.
-
-Orthogonality is vital: it enables composition.
-
-
-* Composition is key
-
-Don't solve problems by building _a_ thing.
-
-Instead, combine simple tools and compose them.
-
-
-* Design good interfaces
-
-.image go4gophers/gophertraining.png
-
-.html go4gophers/gophertraining.html
-
-
-* Simplicity is hard
-
-Invest the time to find the simple solution.
-
-
-* Go's effect on me
-
-These lessons were all things I already "knew".
-
-Go helped me internalize them.
-
-.image go4gophers/gopherhat.jpg
-
-Go made me a better programmer.
-
-
-* A message for gophers everywhere
-
-Let's build small, simple, and beautiful things together.
-
-.image go4gophers/gopherswrench.jpg
-
diff --git a/content/2014/go4gophers/chain.go b/content/2014/go4gophers/chain.go
deleted file mode 100644
index f1bde43..0000000
--- a/content/2014/go4gophers/chain.go
+++ /dev/null
@@ -1,41 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"io"
-	"io/ioutil"
-	"log"
-)
-
-// ByteReader implements an io.Reader that emits a stream of its byte value.
-type ByteReader byte
-
-func (b ByteReader) Read(buf []byte) (int, error) {
-	for i := range buf {
-		buf[i] = byte(b)
-	}
-	return len(buf), nil
-}
-
-type LogReader struct {
-	io.Reader
-}
-
-func (r LogReader) Read(b []byte) (int, error) {
-	n, err := r.Reader.Read(b)
-	log.Printf("read %d bytes, error: %v", n, err)
-	return n, err
-}
-
-func main() {
-	// START OMIT
-	var r io.Reader = ByteReader('A')
-	r = io.LimitReader(r, 1e6)
-	r = LogReader{r}
-	io.Copy(ioutil.Discard, r)
-	// STOP OMIT
-
-	return
-	io.Copy(ioutil.Discard, LogReader{io.LimitReader(ByteReader('A'), 1e6)})
-}
diff --git a/content/2014/go4gophers/godoc.png b/content/2014/go4gophers/godoc.png
deleted file mode 100644
index 3ef664e..0000000
--- a/content/2014/go4gophers/godoc.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4gophers/gopherflag.png b/content/2014/go4gophers/gopherflag.png
deleted file mode 100644
index 230628c..0000000
--- a/content/2014/go4gophers/gopherflag.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4gophers/gopherhat.jpg b/content/2014/go4gophers/gopherhat.jpg
deleted file mode 100644
index ad770d9..0000000
--- a/content/2014/go4gophers/gopherhat.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4gophers/gopherswim.jpg b/content/2014/go4gophers/gopherswim.jpg
deleted file mode 100644
index 8f80192..0000000
--- a/content/2014/go4gophers/gopherswim.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4gophers/gopherswrench.jpg b/content/2014/go4gophers/gopherswrench.jpg
deleted file mode 100644
index 690fdb0..0000000
--- a/content/2014/go4gophers/gopherswrench.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4gophers/gophertraining.html b/content/2014/go4gophers/gophertraining.html
deleted file mode 100644
index 42d1bc5..0000000
--- a/content/2014/go4gophers/gophertraining.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<div style="width: 700px; margin-left: 50%; left: -350px; position: relative">
-<div style="float:left">Don't over-specify.</div>
-<div style="float:right">Don't under-specify.</div>
-<div style="clear:both; text-align: center"><br>Find the sweet spot.</div>
-</div>
diff --git a/content/2014/go4gophers/gophertraining.png b/content/2014/go4gophers/gophertraining.png
deleted file mode 100644
index b4d4538..0000000
--- a/content/2014/go4gophers/gophertraining.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4gophers/organs.go b/content/2014/go4gophers/organs.go
deleted file mode 100644
index 60c1092..0000000
--- a/content/2014/go4gophers/organs.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-type Organ struct {
-	Name   string
-	Weight Grams
-}
-
-func (o *Organ) String() string { return fmt.Sprintf("%v (%v)", o.Name, o.Weight) }
-
-type Grams int
-
-func (g Grams) String() string { return fmt.Sprintf("%dg", int(g)) }
-
-func main() {
-	s := []*Organ{{"brain", 1340}, {"heart", 290},
-		{"liver", 1494}, {"pancreas", 131}, {"spleen", 162}}
-
-	for _, o := range s {
-		fmt.Println(o)
-	}
-}
diff --git a/content/2014/go4gophers/organs2.go b/content/2014/go4gophers/organs2.go
deleted file mode 100644
index 50c13e4..0000000
--- a/content/2014/go4gophers/organs2.go
+++ /dev/null
@@ -1,63 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"sort"
-)
-
-type Organ struct {
-	Name   string
-	Weight Grams
-}
-
-func (o *Organ) String() string { return fmt.Sprintf("%v (%v)", o.Name, o.Weight) }
-
-type Grams int
-
-func (g Grams) String() string { return fmt.Sprintf("%dg", int(g)) }
-
-// PART1 OMIT
-
-type Organs []*Organ
-
-func (s Organs) Len() int      { return len(s) }
-func (s Organs) Swap(i, j int) { s[i], s[j] = s[j], s[i] }
-
-// PART2 OMIT
-
-type ByName struct{ Organs }
-
-func (s ByName) Less(i, j int) bool { return s.Organs[i].Name < s.Organs[j].Name }
-
-type ByWeight struct{ Organs }
-
-func (s ByWeight) Less(i, j int) bool { return s.Organs[i].Weight < s.Organs[j].Weight }
-
-// PART3 OMIT
-
-func main() {
-	// START OMIT
-	s := []*Organ{
-		{"brain", 1340},
-		{"heart", 290},
-		{"liver", 1494},
-		{"pancreas", 131},
-		{"spleen", 162},
-	}
-
-	sort.Sort(ByWeight{s}) // HL
-	printOrgans("Organs by weight", s)
-
-	sort.Sort(ByName{s}) // HL
-	printOrgans("Organs by name", s)
-	// STOP OMIT
-}
-
-func printOrgans(t string, s []*Organ) {
-	fmt.Printf("%s:\n", t)
-	for _, o := range s {
-		fmt.Printf("  %v\n", o)
-	}
-}
diff --git a/content/2014/go4gophers/organs3.go b/content/2014/go4gophers/organs3.go
deleted file mode 100644
index 3a0b116..0000000
--- a/content/2014/go4gophers/organs3.go
+++ /dev/null
@@ -1,67 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"sort"
-)
-
-type Organ struct {
-	Name   string
-	Weight Grams
-}
-
-func (o *Organ) String() string { return fmt.Sprintf("%v (%v)", o.Name, o.Weight) }
-
-type Grams int
-
-func (g Grams) String() string { return fmt.Sprintf("%dg", int(g)) }
-
-type Organs []*Organ
-
-func (s Organs) Len() int      { return len(s) }
-func (s Organs) Swap(i, j int) { s[i], s[j] = s[j], s[i] }
-
-type ByName struct{ Organs }
-
-func (s ByName) Less(i, j int) bool { return s.Organs[i].Name < s.Organs[j].Name }
-
-type ByWeight struct{ Organs }
-
-func (s ByWeight) Less(i, j int) bool { return s.Organs[i].Weight < s.Organs[j].Weight }
-
-func main() {
-	s := []*Organ{
-		{"brain", 1340},
-		{"heart", 290},
-		{"liver", 1494},
-		{"pancreas", 131},
-		{"spleen", 162},
-	}
-
-	// START OMIT
-	sort.Sort(Reverse(ByWeight{s})) // HL
-	printOrgans("Organs by weight (descending)", s)
-
-	sort.Sort(Reverse(ByName{s})) // HL
-	printOrgans("Organs by name (descending)", s)
-	// STOP OMIT
-}
-
-func printOrgans(t string, s []*Organ) {
-	fmt.Printf("%s:\n", t)
-	for _, o := range s {
-		fmt.Printf("  %v\n", o)
-	}
-}
-
-func Reverse(data sort.Interface) sort.Interface {
-	return &reverse{data}
-}
-
-type reverse struct{ sort.Interface }
-
-func (r reverse) Less(i, j int) bool {
-	return r.Interface.Less(j, i) // HL
-}
diff --git a/content/2014/go4gophers/reader.go b/content/2014/go4gophers/reader.go
deleted file mode 100644
index fa13028..0000000
--- a/content/2014/go4gophers/reader.go
+++ /dev/null
@@ -1,40 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"io"
-	"log"
-)
-
-// ByteReader implements an io.Reader that emits a stream of its byte value.
-type ByteReader byte
-
-func (b ByteReader) Read(buf []byte) (int, error) {
-	for i := range buf {
-		buf[i] = byte(b)
-	}
-	return len(buf), nil
-}
-
-type LogReader struct {
-	io.Reader
-}
-
-func (r LogReader) Read(b []byte) (int, error) {
-	n, err := r.Reader.Read(b)
-	log.Printf("read %d bytes, error: %v", n, err)
-	return n, err
-}
-
-// STOP OMIT
-
-func main() {
-	// START OMIT
-	r := LogReader{ByteReader('A')}
-	b := make([]byte, 10)
-	r.Read(b)
-	fmt.Printf("b: %q", b)
-	// STOP OMIT
-}
diff --git a/content/2014/go4gophers/roshi.png b/content/2014/go4gophers/roshi.png
deleted file mode 100644
index 3bfbf5f..0000000
--- a/content/2014/go4gophers/roshi.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4gophers/sigourney.png b/content/2014/go4gophers/sigourney.png
deleted file mode 100644
index 5bd8403..0000000
--- a/content/2014/go4gophers/sigourney.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4gophers/sort.go b/content/2014/go4gophers/sort.go
deleted file mode 100644
index 35b5c27..0000000
--- a/content/2014/go4gophers/sort.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"sort"
-)
-
-type IntSlice []int
-
-func (p IntSlice) Len() int           { return len(p) }
-func (p IntSlice) Less(i, j int) bool { return p[i] < p[j] }
-func (p IntSlice) Swap(i, j int)      { p[i], p[j] = p[j], p[i] }
-
-func main() {
-	// START OMIT
-	s := []int{7, 5, 3, 11, 2}
-	sort.Sort(IntSlice(s))
-	fmt.Println(s)
-	// STOP OMIT
-}
diff --git a/content/2014/go4gophers/tree-nothread.go b/content/2014/go4gophers/tree-nothread.go
deleted file mode 100644
index 3b5c199..0000000
--- a/content/2014/go4gophers/tree-nothread.go
+++ /dev/null
@@ -1,73 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-
-	"code.google.com/p/go-tour/tree"
-)
-
-func Walk(root *tree.Tree) *Walker {
-	return &Walker{stack: []*frame{{t: root}}}
-}
-
-type Walker struct {
-	stack []*frame
-}
-
-type frame struct {
-	t  *tree.Tree
-	pc int
-}
-
-func (w *Walker) Next() (int, bool) {
-	if len(w.stack) == 0 {
-		return 0, false
-	}
-
-	// continued next slide ...
-	// CUT OMIT
-	f := w.stack[len(w.stack)-1]
-	if f.pc == 0 {
-		f.pc++
-		if l := f.t.Left; l != nil {
-			w.stack = append(w.stack, &frame{t: l})
-			return w.Next()
-		}
-	}
-	if f.pc == 1 {
-		f.pc++
-		return f.t.Value, true
-	}
-	if f.pc == 2 {
-		f.pc++
-		if r := f.t.Right; r != nil {
-			w.stack = append(w.stack, &frame{t: r})
-			return w.Next()
-		}
-	}
-	w.stack = w.stack[:len(w.stack)-1]
-	return w.Next()
-}
-
-// STOP OMIT
-
-func Same(t1, t2 *tree.Tree) bool {
-	w1, w2 := Walk(t1), Walk(t2)
-	for {
-		v1, ok1 := w1.Next()
-		v2, ok2 := w2.Next()
-		if v1 != v2 || ok1 != ok2 {
-			return false
-		}
-		if !ok1 {
-			return true
-		}
-	}
-}
-
-func main() {
-	fmt.Println(Same(tree.New(3), tree.New(3)))
-	fmt.Println(Same(tree.New(1), tree.New(2)))
-}
diff --git a/content/2014/go4gophers/tree-select.go b/content/2014/go4gophers/tree-select.go
deleted file mode 100644
index de8cad5..0000000
--- a/content/2014/go4gophers/tree-select.go
+++ /dev/null
@@ -1,55 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-
-	"code.google.com/p/go-tour/tree"
-)
-
-func Walk(root *tree.Tree, quit chan struct{}) chan int {
-	ch := make(chan int)
-	go func() {
-		walk(root, ch, quit)
-		close(ch)
-	}()
-	return ch
-}
-
-func walk(t *tree.Tree, ch chan int, quit chan struct{}) {
-	if t.Left != nil {
-		walk(t.Left, ch, quit)
-	}
-	select { // HL
-	case ch <- t.Value: // HL
-	case <-quit: // HL
-		return // HL
-	} // HL
-	if t.Right != nil {
-		walk(t.Right, ch, quit)
-	}
-}
-
-// STOP OMIT
-
-func Same(t1, t2 *tree.Tree) bool {
-	quit := make(chan struct{}) // HL
-	defer close(quit)           // HL
-	w1, w2 := Walk(t1, quit), Walk(t2, quit)
-	for {
-		v1, ok1 := <-w1
-		v2, ok2 := <-w2
-		if v1 != v2 || ok1 != ok2 {
-			return false
-		}
-		if !ok1 {
-			return true
-		}
-	}
-}
-
-func main() {
-	fmt.Println(Same(tree.New(3), tree.New(3)))
-	fmt.Println(Same(tree.New(1), tree.New(2)))
-}
diff --git a/content/2014/go4gophers/tree-thread.go b/content/2014/go4gophers/tree-thread.go
deleted file mode 100644
index 3895044..0000000
--- a/content/2014/go4gophers/tree-thread.go
+++ /dev/null
@@ -1,49 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-
-	"code.google.com/p/go-tour/tree"
-)
-
-func Walk(root *tree.Tree) chan int {
-	ch := make(chan int)
-	go func() {
-		walk(root, ch)
-		close(ch)
-	}()
-	return ch
-}
-
-func walk(t *tree.Tree, ch chan int) {
-	if t.Left != nil {
-		walk(t.Left, ch)
-	}
-	ch <- t.Value
-	if t.Right != nil {
-		walk(t.Right, ch)
-	}
-}
-
-// STOP OMIT
-
-func Same(t1, t2 *tree.Tree) bool {
-	w1, w2 := Walk(t1), Walk(t2)
-	for {
-		v1, ok1 := <-w1
-		v2, ok2 := <-w2
-		if v1 != v2 || ok1 != ok2 {
-			return false
-		}
-		if !ok1 {
-			return true
-		}
-	}
-}
-
-func main() {
-	fmt.Println(Same(tree.New(3), tree.New(3)))
-	fmt.Println(Same(tree.New(1), tree.New(2)))
-}
diff --git a/content/2014/go4gophers/tree-walk.go b/content/2014/go4gophers/tree-walk.go
deleted file mode 100644
index c43c0e7..0000000
--- a/content/2014/go4gophers/tree-walk.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-
-	"code.google.com/p/go-tour/tree"
-)
-
-func Walk(t *tree.Tree) {
-	if t.Left != nil {
-		Walk(t.Left)
-	}
-	fmt.Println(t.Value)
-	if t.Right != nil {
-		Walk(t.Right)
-	}
-}
-
-func main() {
-	Walk(tree.New(1))
-}
diff --git a/content/2014/go4gophers/tree.png b/content/2014/go4gophers/tree.png
deleted file mode 100644
index a140421..0000000
--- a/content/2014/go4gophers/tree.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4java.slide b/content/2014/go4java.slide
deleted file mode 100644
index 57def5f..0000000
--- a/content/2014/go4java.slide
+++ /dev/null
@@ -1,667 +0,0 @@
-Go for Javaneros (Javaïstes?)
- #go4java
-
-Francesc Campoy
-Gopher and Developer Advocate
-Google
-@francesc
-campoy@golang.org
-
-* What is Go?
-
-Go is an open-source programming language
-
-- created at Google,
-- to solve Google-scale problems.
-
-.image go4java/img/gopher.jpg 450 _
-
-* Who uses Go?
-
-Google:
-
-- YouTube
-- dl.google.com
-
-Others:
-
-- dotCloud (Docker)
-- SoundCloud
-- Canonical
-- CloudFlare
-- Mozilla
-- ...
-
-[[http://golang.org/wiki/GoUsers][golang.org/wiki/GoUsers]]
-
-* Who uses Go?
-
-.image go4java/img/trends.png _ 800
-
-.caption Google Trends for [[http://www.google.com/trends/explore#q=golang][golang]]
-
-* Why Go?
-
-* Simplicity
-
-Minimal design
-
-.image go4java/img/perfection.jpg
-
-* Consistency
-
-Orthogonal features
-
-.image go4java/img/lego.jpg 400 _
-
-.caption By Kenny Louie from Vancouver, Canada [[http://creativecommons.org/licenses/by/2.0][CC-BY-2.0]], via Wikimedia Commons
-
-* Readability
-
-“The ratio of time spent reading (code) versus writing is well over 10 to 1 ... (therefore) making it easy to read makes it easier to write.”
-― Robert C. Martin
-
-.image go4java/img/piet.png 500 600 
-
-* Safety
-
-Type safety, no buffer overflows, no pointer arithmetic.
-
-.image go4java/img/baby.jpg 500 500
-
-* Built-in concurrency features
-
-“In a concurrent world, imperative is the wrong default!” - Tim Sweeney
-
-Communicating Sequential Processes - Hoare (1978)
-
-.image go4java/img/conc.jpg _ 1000
-
-* Speed
-
-.image go4java/img/fast.jpg 500 _
-
-* Let's dive in
-
-* Go and Java common aspects
-
-Go and Java are
-
-- object oriented
-
-- garbage collected
-
-- statically typed
-
-- part of the C family
-
-* Object oriented flavors
-
-Go is Object Oriented, but doesn't have the keywords:
-
-- `class`,
-- `extends`, or
-- `implements`.
-
-* All types are created equal
-
-* Go types
-
-- primitive types
-
-	int, uint, int8, uint8, ...
-	bool, string
-	float32, float64
-	complex64, complex128
-
-- structs
-
-	struct {
-		Name string
-		Age  int
-	}
-
-- slices and arrays
-	
-	[]int, [3]string, []struct{ Name string }
-
-- maps
-
-	map[string]int
-
-* Kinds of types (continued)
-
-- pointers
-
-	*int, *Person
-
-- functions
-
-	func(int, int) int
-
-- channels
-
-	chan bool
-
-- interfaces
-
-	interface {
-		Start()
-		Stop()
-	}
-
-* Type declarations
-
-	type [name] [specification]
-
-`Person` is a `struct` type.
-
-	type Person struct {
-		name string
-		age  int
-	}
-
-`Celsius` is a `float64` type.
-
-	type Celsius float64
-
-* Function declarations
-
-	func [name] ([params]) [return value]
-	func [name] ([params]) ([return values])
-
-A sum function:
-
-	func sum(a int, b int) int {
-		return a + b
-	}
-
-A function with multiple returned values:
-
-	func div(a, b int) (int, int)
-		return a / b, a % b
-	}
-
-Made clearer by naming the return values:
-
-	func div(den, div int) (q, rem int)
-		return a / b, a % b
-	}
-
-* Method declarations
-
-	func ([receiver]) [name] ([params]) ([return values])
-
-A method on a struct:
-
-	func (p Person) Major() bool {
-		return p.age >= 18
-	}
-
-But also a method on a `float64`:
-
-	func (c Celsius) Freezing() bool {
-		return c <= 0
-	}
-
-_Constraint:_ Methods can be defined *only* on types declared in the same package.
-
-	// This won't compile
-	func (s string) Length() int { return len(s) }
-
-* Wait, pointers?
-
-Use `&` to obtain the address of a variable.
-
-	a := "hello"
-	p := &a
-
-Use `*` to dereference the pointer.
-
-	fmt.Print(*p + ", world")
-
-No pointer arithmetic, no pointers to unsafe memory.
-
-	a := "hello"
-	p := &a
-
-	p += 4  // no, you can't
-
-* Why pointers?
-
-Control what you pass to functions.
-
-- passing values, no side-effects:
-
-	func double(x int) {
-		x *= 2
-	}
-
-- passing pointers: side-effects possible:
-
-	func double(x *int) {
-		*x *= 2
-	}
-
-Control your memory layout.
-
-- compare []Person and []*Person
-
-* Method declarations on pointers
-
-Receivers behave like any other argument.
-
-Pointers allow modifying the pointed receiver:
-
-	func (p *Person) IncAge() {
-		p.age++
-	}
-
-The method receiver is a copy of a pointer (pointing to the same address).
-
-Method calls on nil receivers are perfectly valid (and useful!).
-
-	func (p *Person) Name() string {
-		if p == nil {
-			return "anonymous"
-		}
-		return p.name
-	}
-
-* Interfaces
-
-* Interfaces
-
-An interface is a set of methods.
-
-In Java:
-
-	interface Switch {
-		void open();
-		void close();
-	}
-
-In Go:
-
-	type OpenCloser interface {
-		Open()
-		Close()
-	}
-
-* It's all about satisfaction
-
-Java interfaces are satisfied *explicitly*.
-
-Go interfaces are satisfied *implicitly*.
-
-.image //upload.wikimedia.org/wikipedia/commons/thumb/2/29/Rolling_Stones_09.jpg/512px-Rolling_Stones_09.jpg _ 512
-
-.caption Picture by Gorupdebesanez [[http://creativecommons.org/licenses/by-sa/3.0][CC-BY-SA-3.0]], via [[http://commons.wikimedia.org/wiki/File%3ARolling_Stones_09.jpg][Wikimedia Commons]]
-
-* Go: implicit satisfaction
-
-_If_a_type_defines_all_the_methods_of_an_interface,_the_type_satisfies_that_interface._
-
-Benefits:
-
-- fewer dependencies
-- no type hierarchy
-- organic composition
-
-* Structural subtyping
-
-Think static duck typing, verified at compile time.
-
-.image go4java/img/duck.jpg 500 500
-
-* FuncDraw: an example on interfaces
-
-.image go4java/img/funcdraw.png 500 700
-
-* FuncDraw: package parser
-
-Package `parse` provides a parser of strings into functions.
-
-	func Parse(text string) (*Func, error) { ... }
-
-`Func` is a struct type, with an `Eval` method.
-
-	type Func struct { ... }
-
-	func (p *Func) Eval(x float64) float64 { ... }
-
-* FuncDraw: package draw
-
-Package draw generates images given a function.
-
-	func Draw(f *parser.Func) image.Image {
-		for x := start; x < end; x += inc {
-			y := f.Eval(x)
-			...
-		}
-	}
-
-`draw` depends on `parser`
-
-- makes testing hard
-
-Let's use an interface instead
-
-	type Evaluable interface {
-		Eval(float64) float64
-	}
-
-	func Draw(f Evaluable) image.Image { ... }
-
-* Inheritance vs composition
-
-* Inheritance vs composition
-
-Lots of articles have been written about the topic.
-
-In general, composition is preferred to inheritance.
-
-Lets see why.
-
-* Runner
-
-.code go4java/BadInheritance.java /START_RUNNER/,/END_RUNNER/
-
-* RunCounter is-a Runner that counts
-
-.code go4java/BadInheritance.java /START_COUNTING/,/END_COUNTING/
-
-* Let's run and count
-
-What will this code print?
-
-.code go4java/BadInheritance.java /START_MAIN/,/END_MAIN/
-
-Of course, this prints:
-
-	running one
-	running two
-	running three
-	my runner ran 6 tasks
-
-Wait! How many?
-
-* My runner ran 6 tasks? Six?
-
-Inheritance causes:
-
-- weak encapsulation,
-- tight coupling,
-- surprising bugs.
-
-.image go4java/img/badinheritance.png
-
-* Solution: use composition
-
-.code go4java/Composition.java /START_COUNTING/,/BREAK_COUNTING/
-
-* Solution: use composition (continued)
-
-.code go4java/Composition.java /BREAK_COUNTING/,/END_COUNTING/
-
-* Solution: use composition (continued)
-
-*Pros*
-
-- The bug is gone!
-- `Runner` is completely independent of `RunCounter`.
-- The creation of the `Runner` can be delayed until (and if) needed.
-
-*Cons*
-
-- We need to explicitly define the `Runner` methods on `RunCounter`:
-
-	public String getName() { return runner.getName(); }
-
-- This can cause lots of repetition, and eventually bugs.
-
-* There's no inheritance in Go
-
-* There's no inheritance in Go
-
-Let's use composition directly:
-
-# .code go4java/runner/runner.go /type Task/,/END_TASK/
-
-.code go4java/runner/runner.go /type Runner/,/END_RUNNER/
-
-All very similar to the Java version.
-
-* RunCounter
-
-`RunCounter` has a `Runner` field.
-
-.code go4java/runner/runner.go /type RunCounter/,
-
-* Composition in Go
-
-Same pros and cons as the composition version in Java.
-
-We also have the boilerplate to proxy methods from `Runner`.
-
-.code go4java/runner/runner.go /runner.Name/
-
-But we can remove it!
-
-* Struct embedding
-
-Expressed in Go as unnamed fields in a struct.
-
-It is still *composition*.
-
-The fields and methods of the embedded type are defined on the embedding type.
-
-Similar to inheritance, but the embedded type doesn't know it's embedded.
-
-* Example of struct embedding
-
-Given a type `Person`:
-
-.code go4java/embedsample.go /Person/,/Hi/
-
-We can define a type `Employee` embedding `Person`:
-
-.code go4java/embedsample.go /Employee/,/}/
-
-All fields and methods from `Person` are available on `Employee`:
-
-.code go4java/embedsample.go /var/,/Introduce/
-
-* Struct embedding
-
-.code go4java/runner/embed.go /type RunCounter2/,
-
-* Is struct embedding like inheritance?
-
-No, it is better!
-
-It is composition.
-
-- You can't reach into another type and change the way it works.
-
-- Method dispatching is explicit.
-
-It is more general.
-
-- Struct embedding of interfaces.
-
-* Is struct embedding like inheritance?
-
-Struct embedding is selective.
-
-.code go4java/writecounter.go /WriteCounter/,/MAIN/
-
-WriteCounter can be used with any `io.ReadWriter`.
-
-.play go4java/writecounter.go /func main/,/^}/
-
-* Easy mocking
-
-What if we wanted to fake a part of a `net.Conn`?
-
-	type Conn interface {
-	        Read(b []byte) (n int, err error)
-	        Write(b []byte) (n int, err error)
-	        Close() error
-	        LocalAddr() Addr
-	        RemoteAddr() Addr
-	        SetDeadline(t time.Time) error
-	        SetReadDeadline(t time.Time) error
-	        SetWriteDeadline(t time.Time) error
-	}
-
-I want to test `handleCon`:
-
-.code go4java/loopback.go /handleCon/
-
-- We could create a `fakeConn` and define all the methods of `Conn` on it.
-
-- But that's a lot of boring code.
-
-* Struct embedding of interfaces
-
-_WARNING_:_Cool_stuff_
-
-If a type T has an embedded field of a type E, all the methods of E will be defined on T.
-
-Therefore, if E is an interface T satisfies E.
-
-* Struct embedding of interfaces (continued)
-
-We can test `handleCon` with the `loopBack` type.
-
-.code go4java/loopback.go /loopBack/,/^}/
-
-Any calls to the methods of `net.Conn` will fail, since the field is nil.
-
-We redefine the operations we support:
-
-.code go4java/loopback.go /Read/,
-
-* Concurrency
-
-* Concurrency
-
-It is part of the language, not a library.
-
-Based on two concepts:
-
-- goroutines: lightweight threads
-- channels: typed pipes used to communicate and synchronize between goroutines
-
-So cheap you can use them whenever you want.
-
-.image go4java/img/funnelin.jpg 300 700
-
-* Sleep and talk
-
-.code go4java/conc1.go /sleepAndTalk/,/^}/
-
-We want a message per second.
-
-.play go4java/conc1.go /func main/,/^}/
-
-What if we started all the `sleepAndTalk` concurrently?
-
-Just add `go`!
-
-* Concurrent sleep and talk
-
-.play go4java/conc2.go /func main/,/^}/
-
-That was fast ...
-
-When the `main` goroutine ends, the program ends.
-
-* Concurrent sleep and talk with more sleeping
-
-.play go4java/conc3.go /func main/,/^}/
-
-But synchronizing with `Sleep` is a bad idea.
-
-* Communicating through channels
-
-`sleepAndTalk` sends the string into the channel instead of printing it.
-
-.code go4java/chan.go /sleepAndTalk/,/^}/
-
-We create the channel and pass it to `sleepAndTalk`, then wait for the values to be sent.
-
-.play go4java/chan.go /func main/,/^}/
-
-* Let's count on the web
-
-We receive the next id from a channel.
-
-.code go4java/goodcounter.go /nextID/,/^}/
-
-We need a goroutine sending ids into the channel.
-
-.play go4java/goodcounter.go /func main/,/^}/
-
-[[http://localhost:8080/next]]
-
-* Let's fight!
-
-`select` allows us to chose among multiple channel operations.
-
-.play go4java/battle.go /battle/,/^}/
-
-Go - [[http://localhost:8080/fight?usr=go]]
-Java - [[http://localhost:8080/fight?usr=java]]
-
-* Chain of gophers
-
-.image go4java/img/chain.jpg
-
-Ok, I'm just bragging here
-
-* Chain of gophers
-
-.play go4java/goroutines.go /func f/,
-
-* Concurrency is very powerful
-
-And there's lots to learn!
-
-- [[http://talks.golang.org/2012/concurrency.slide#1][Go Concurrency Patterns]], by Rob Pike
-- [[http://talks.golang.org/2013/advconc.slide#1][Advanced Concurrency Patterns]], by Sameer Ajmani
-- [[http://talks.golang.org/2012/waza.slide#1][Concurrency is not Parellelism]], by Rob Pike
-
-.image go4java/img/busy.jpg
-
-* In conclusion
-
-Go is simple, consistent, readable, and fun.
-
-All types are equal
-
-- methods on any type
-
-Implicit interfaces
-
-- Structural typing
-- Less dependencies
-- Code testable and reusable
-
-Use composition instead of inheritance
-
-- Struct embedding to remove boilerplate.
-- Struct embedding of interfaces to satisfy them fast.
-
-Concurrency is awesome, and you should check it out.
-
-* What to do next?
-
-Learn Go on your browser with [[http://tour.golang.org][tour.golang.org]]
-
-Find more about Go on [[http://golang.org][golang.org]]
-
-Join the community at [[https://groups.google.com/forum/#!forum/Golang-nuts][golang-nuts]]
-
-Link to the slides [[http://talks.golang.org/2014/go4java.slide]]
diff --git a/content/2014/go4java/BadInheritance.java b/content/2014/go4java/BadInheritance.java
deleted file mode 100644
index 8388418..0000000
--- a/content/2014/go4java/BadInheritance.java
+++ /dev/null
@@ -1,82 +0,0 @@
-import java.util.Collection;
-import java.util.ArrayList;
-
-class BadInheritance {
-    // START_TASK OMIT
-    class Task {
-        private String message;
-
-        public Task(String message) {
-            this.message = message;
-        }
-
-        public void run() {
-            System.out.println("running " + this.message);
-        }
-    }
-    // END_TASK OMIT
-
-    // START_RUNNER OMIT
-    class Runner {
-        private String name;
-
-        public Runner(String name) {
-            this.name = name;
-        }
-
-        public String getName() {
-            return this.name;
-        }
-
-        public void run(Task task) { // HL
-            task.run();
-        }
-
-        public void runAll(Task[] tasks) { // HL
-            for (Task task : tasks) {
-                run(task);
-            }
-        }
-    }
-    // END_RUNNER OMIT
-
-    // START_COUNTING OMIT
-    class RunCounter extends Runner {
-        private int count;
-
-        public RunCounter(String message) {
-            super(message);
-            this.count = 0;
-        }
-
-        @Override public void run(Task task) {
-            count++; // HL
-            super.run(task);
-        }
-
-        @Override public void runAll(Task[] tasks) {
-            count += tasks.length; // HL
-            super.runAll(tasks);
-        }
-
-        public int getCount() {
-            return count;
-        }
-    }
-    // END_COUNTING OMIT
-
-    public void test() {
-        // START_MAIN OMIT
-        RunCounter runner = new RunCounter("my runner");
-
-        Task[] tasks = { new Task("one"), new Task("two"), new Task("three")};
-        runner.runAll(tasks);
-
-        System.out.printf("%s ran %d tasks\n", runner.getName(), runner.getCount());
-        // END_MAIN OMIT
-    }
-
-    public static void main(String[] args) {
-        new BadInheritance().test();
-    }
-}
\ No newline at end of file
diff --git a/content/2014/go4java/Composition.java b/content/2014/go4java/Composition.java
deleted file mode 100644
index 345450a..0000000
--- a/content/2014/go4java/Composition.java
+++ /dev/null
@@ -1,86 +0,0 @@
-import java.util.Collection;
-import java.util.ArrayList;
-
-class Composition {
-    class Task {
-        private String message;
-
-        public Task(String message) {
-            this.message = message;
-        }
-
-        public void run() {
-            System.out.println("running " + this.message);
-        }
-    }
-
-    class Runner {
-        private String name;
-
-        public Runner(String name) {
-            this.name = name;
-        }
-
-        public String getName() {
-            return this.name;
-        }
-
-        public void run(Task task) {
-            task.run();
-        }
-
-        public void runAll(Task[] tasks) {
-            for (Task task : tasks) {
-                run(task);
-            }
-        }
-    }
-
-    // START_COUNTING OMIT
-    class RunCounter {
-        private Runner runner; // HL
-        private int count;
-
-        public RunCounter(String message) {
-            this.runner = new Runner(message);
-            this.count = 0;
-        }
-
-        public void run(Task task) {
-            count++;
-            runner.run(task);
-        }
-
-        public void runAll(Task[] tasks) {
-            count += tasks.length;
-            runner.runAll(tasks);
-        }
-
-        // continued on next slide ...
-
-        // BREAK_COUNTING OMIT
-        public int getCount() {
-            return count;
-        }
-
-        public String getName() {
-            return runner.getName();
-        }
-    }
-    // END_COUNTING OMIT
-
-    public void test() {
-        // START_MAIN OMIT
-        RunCounter runner = new RunCounter("my runner");
-
-        Task[] tasks = { new Task("one"), new Task("two"), new Task("three")};
-        runner.runAll(tasks);
-
-        System.out.printf("%s ran %d tasks\n", runner.getName(), runner.getCount());
-        // END_MAIN OMIT
-    }
-
-    public static void main(String[] args) {
-        new Composition().test();
-    }
-}
diff --git a/content/2014/go4java/battle.go b/content/2014/go4java/battle.go
deleted file mode 100644
index fde600c..0000000
--- a/content/2014/go4java/battle.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"net/http"
-)
-
-var battle = make(chan string)
-
-func handler(w http.ResponseWriter, q *http.Request) {
-	select {
-	case battle <- q.FormValue("usr"):
-		fmt.Fprintf(w, "You won!")
-	case won := <-battle:
-		fmt.Fprintf(w, "You lost, %v is better than you", won)
-	}
-}
-
-func main() {
-	http.HandleFunc("/fight", handler)
-	http.ListenAndServe("localhost:8080", nil)
-}
diff --git a/content/2014/go4java/chan.go b/content/2014/go4java/chan.go
deleted file mode 100644
index 424fa73..0000000
--- a/content/2014/go4java/chan.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func sleepAndTalk(secs time.Duration, msg string, c chan string) {
-	time.Sleep(secs * time.Second)
-	c <- msg
-}
-
-func main() {
-	c := make(chan string)
-
-	go sleepAndTalk(0, "Hello", c)
-	go sleepAndTalk(1, "Gophers!", c)
-	go sleepAndTalk(2, "What's", c)
-	go sleepAndTalk(3, "up?", c)
-
-	for i := 0; i < 4; i++ {
-		fmt.Printf("%v ", <-c)
-	}
-}
diff --git a/content/2014/go4java/conc1.go b/content/2014/go4java/conc1.go
deleted file mode 100644
index b1a599d..0000000
--- a/content/2014/go4java/conc1.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func sleepAndTalk(t time.Duration, msg string) {
-	time.Sleep(t)
-	fmt.Printf("%v ", msg)
-}
-
-func main() {
-	sleepAndTalk(0*time.Second, "Hello")
-	sleepAndTalk(1*time.Second, "Gophers!")
-	sleepAndTalk(2*time.Second, "What's")
-	sleepAndTalk(3*time.Second, "up?")
-}
diff --git a/content/2014/go4java/conc2.go b/content/2014/go4java/conc2.go
deleted file mode 100644
index 129854e..0000000
--- a/content/2014/go4java/conc2.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func sleepAndTalk(t time.Duration, msg string) {
-	time.Sleep(t)
-	fmt.Printf("%v ", msg)
-}
-
-func main() {
-	go sleepAndTalk(0*time.Second, "Hello")
-	go sleepAndTalk(1*time.Second, "Gophers!")
-	go sleepAndTalk(2*time.Second, "What's")
-	go sleepAndTalk(3*time.Second, "up?")
-}
diff --git a/content/2014/go4java/conc3.go b/content/2014/go4java/conc3.go
deleted file mode 100644
index 1fe09cf..0000000
--- a/content/2014/go4java/conc3.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func sleepAndTalk(t time.Duration, msg string) {
-	time.Sleep(t)
-	fmt.Printf("%v ", msg)
-}
-
-func main() {
-	go sleepAndTalk(0*time.Second, "Hello")
-	go sleepAndTalk(1*time.Second, "Gophers!")
-	go sleepAndTalk(2*time.Second, "What's")
-	go sleepAndTalk(3*time.Second, "up?")
-	time.Sleep(4 * time.Second)
-}
diff --git a/content/2014/go4java/embedsample.go b/content/2014/go4java/embedsample.go
deleted file mode 100644
index 48cc267..0000000
--- a/content/2014/go4java/embedsample.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-type Person struct{ Name string }
-
-func (p Person) Introduce() { fmt.Println("Hi, I'm", p.Name) }
-
-type Employee struct {
-	Person
-	EmployeeID int
-}
-
-func ExampleEmployee() {
-	var e Employee
-	e.Name = "Peter"
-	e.EmployeeID = 1234
-
-	e.Introduce()
-}
diff --git a/content/2014/go4java/goodcounter.go b/content/2014/go4java/goodcounter.go
deleted file mode 100644
index e839a94..0000000
--- a/content/2014/go4java/goodcounter.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"net/http"
-)
-
-var nextID = make(chan int)
-
-func handler(w http.ResponseWriter, q *http.Request) {
-	fmt.Fprintf(w, "<h1>You got %v<h1>", <-nextID)
-}
-
-func main() {
-	http.HandleFunc("/next", handler)
-	go func() {
-		for i := 0; ; i++ {
-			nextID <- i
-		}
-	}()
-	http.ListenAndServe("localhost:8080", nil)
-}
diff --git a/content/2014/go4java/goroutines.go b/content/2014/go4java/goroutines.go
deleted file mode 100644
index cdcdb85..0000000
--- a/content/2014/go4java/goroutines.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func f(left, right chan int) {
-	left <- 1 + <-right
-}
-
-func main() {
-	start := time.Now()
-	const n = 1000
-	leftmost := make(chan int)
-
-	right := leftmost
-	left := leftmost
-	for i := 0; i < n; i++ {
-		right = make(chan int)
-		go f(left, right)
-		left = right
-	}
-
-	go func(c chan int) { c <- 0 }(right)
-
-	fmt.Println(<-leftmost, time.Since(start))
-}
diff --git a/content/2014/go4java/img/baby.jpg b/content/2014/go4java/img/baby.jpg
deleted file mode 100644
index 2f32877..0000000
--- a/content/2014/go4java/img/baby.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4java/img/badinheritance.png b/content/2014/go4java/img/badinheritance.png
deleted file mode 100644
index 91e4070..0000000
--- a/content/2014/go4java/img/badinheritance.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4java/img/busy.jpg b/content/2014/go4java/img/busy.jpg
deleted file mode 100644
index 35ce9f4..0000000
--- a/content/2014/go4java/img/busy.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4java/img/chain.jpg b/content/2014/go4java/img/chain.jpg
deleted file mode 100644
index 87f8571..0000000
--- a/content/2014/go4java/img/chain.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4java/img/conc.jpg b/content/2014/go4java/img/conc.jpg
deleted file mode 100644
index 5813956..0000000
--- a/content/2014/go4java/img/conc.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4java/img/duck.jpg b/content/2014/go4java/img/duck.jpg
deleted file mode 100644
index 344b31e..0000000
--- a/content/2014/go4java/img/duck.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4java/img/fast.jpg b/content/2014/go4java/img/fast.jpg
deleted file mode 100644
index 9b56e23..0000000
--- a/content/2014/go4java/img/fast.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4java/img/funcdraw.png b/content/2014/go4java/img/funcdraw.png
deleted file mode 100644
index 374ea2e..0000000
--- a/content/2014/go4java/img/funcdraw.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4java/img/funnelin.jpg b/content/2014/go4java/img/funnelin.jpg
deleted file mode 100644
index 2bf6873..0000000
--- a/content/2014/go4java/img/funnelin.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4java/img/gopher.jpg b/content/2014/go4java/img/gopher.jpg
deleted file mode 100644
index 68795a9..0000000
--- a/content/2014/go4java/img/gopher.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4java/img/lego.jpg b/content/2014/go4java/img/lego.jpg
deleted file mode 100644
index 7c77051..0000000
--- a/content/2014/go4java/img/lego.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4java/img/perfection.jpg b/content/2014/go4java/img/perfection.jpg
deleted file mode 100644
index ba57eea..0000000
--- a/content/2014/go4java/img/perfection.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4java/img/piet.png b/content/2014/go4java/img/piet.png
deleted file mode 100644
index f4856e1..0000000
--- a/content/2014/go4java/img/piet.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4java/img/trends.png b/content/2014/go4java/img/trends.png
deleted file mode 100644
index 08dc1cf..0000000
--- a/content/2014/go4java/img/trends.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/go4java/loopback.go b/content/2014/go4java/loopback.go
deleted file mode 100644
index 8f7646b..0000000
--- a/content/2014/go4java/loopback.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bytes"
-	"net"
-)
-
-func handleConn(conn net.Conn) {
-	// does something that should be tested.
-}
-
-type loopBack struct {
-	net.Conn
-	buf bytes.Buffer
-}
-
-func (c *loopBack) Read(b []byte) (int, error) {
-	return c.buf.Read(b)
-}
-
-func (c *loopBack) Write(b []byte) (int, error) {
-	return c.buf.Write(b)
-}
diff --git a/content/2014/go4java/runner/embed.go b/content/2014/go4java/runner/embed.go
deleted file mode 100644
index aef71d7..0000000
--- a/content/2014/go4java/runner/embed.go
+++ /dev/null
@@ -1,25 +0,0 @@
-package runner
-
-// RunCounter2 is completely equivalent to RunCounter,
-// but uses struct embedding to avoid the boilerplate of redeclaring
-// the Name method.
-type RunCounter2 struct {
-	Runner // HL
-	count  int
-}
-
-func NewRunCounter2(name string) *RunCounter2 {
-	return &RunCounter2{Runner{name}, 0}
-}
-
-func (r *RunCounter2) Run(t Task) {
-	r.count++
-	r.Runner.Run(t) // HL
-}
-
-func (r *RunCounter2) RunAll(ts []Task) {
-	r.count += len(ts)
-	r.Runner.RunAll(ts) // HL
-}
-
-func (r *RunCounter2) Count() int { return r.count }
diff --git a/content/2014/go4java/runner/runner.go b/content/2014/go4java/runner/runner.go
deleted file mode 100644
index 1d01467..0000000
--- a/content/2014/go4java/runner/runner.go
+++ /dev/null
@@ -1,55 +0,0 @@
-// Package runner provides a Runner type that is used to define both RunCounter
-// and EmbeddedRunCounter to show examples of how to use composition in Go.
-package runner
-
-import "fmt"
-
-// A Task is a simple task that prints a message when run.
-type Task struct{ Msg string }
-
-func (t Task) Run() {
-	fmt.Println("running", t.Msg)
-}
-
-// END_TASK OMIT
-
-// A Runner provides a way of running tasks.
-type Runner struct{ name string }
-
-func (r *Runner) Name() string { return r.name }
-
-func (r *Runner) Run(t Task) {
-	t.Run()
-}
-
-func (r *Runner) RunAll(ts []Task) {
-	for _, t := range ts {
-		r.Run(t)
-	}
-}
-
-// END_RUNNER OMIT
-
-// A RunCounter is a Runner that keeps a counter of the run tasks.
-type RunCounter struct {
-	runner Runner // HL
-	count  int
-}
-
-func NewRunCounter(name string) *RunCounter {
-	return &RunCounter{runner: Runner{name}}
-}
-
-func (r *RunCounter) Run(t Task) {
-	r.count++
-	r.runner.Run(t) // HL
-}
-
-func (r *RunCounter) RunAll(ts []Task) {
-	r.count += len(ts)
-	r.runner.RunAll(ts) // HL
-}
-
-func (r *RunCounter) Count() int { return r.count }
-
-func (r *RunCounter) Name() string { return r.runner.Name() }
diff --git a/content/2014/go4java/writecounter.go b/content/2014/go4java/writecounter.go
deleted file mode 100644
index e100140..0000000
--- a/content/2014/go4java/writecounter.go
+++ /dev/null
@@ -1,35 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bytes"
-	"fmt"
-	"io"
-	"os"
-)
-
-var (
-	_ = bytes.Buffer{}
-	_ = os.Stdout
-)
-
-// WriteCounter tracks the total number of bytes written.
-type WriteCounter struct {
-	io.ReadWriter
-	count int
-}
-
-func (w *WriteCounter) Write(b []byte) (int, error) {
-	w.count += len(b)
-	return w.ReadWriter.Write(b)
-}
-
-// MAIN OMIT
-func main() {
-	buf := &bytes.Buffer{}
-	w := &WriteCounter{ReadWriter: buf}
-
-	fmt.Fprintf(w, "Hello, gophers!\n")
-	fmt.Printf("Printed %v bytes", w.count)
-}
diff --git a/content/2014/gocon-tokyo.slide b/content/2014/gocon-tokyo.slide
deleted file mode 100644
index 0aacc3b..0000000
--- a/content/2014/gocon-tokyo.slide
+++ /dev/null
@@ -1,376 +0,0 @@
-Go: 90% Perfect, 100% of the time.
-"GoCon Tokyo"
-31 May 2014
-Tags: go, gocon
-
-Brad Fitzpatrick
-@bradfitz
-bradfitz@golang.org
-http://bradfitz.com
-http://camlistore.org
-
-* Hello!
-
-* "60% of the time, it works every time...."
-
-.image gocon-tokyo/60p.jpg
-
-* "That makes no sense"
-
-* Starting a new project, picking a language...
-
-* Disclaimer
-
-- Personal experience only
-- My opinions
-- Fake, fun numbers (e.g. "90% Perfect, 100% of the time.")
-- Maybe it's 91%.
-- All languages are both wonderful and terrible
-- <3
-
-* 2010
-
-* Idea: Camlistore
-
-- All my life's data from everywhere,
-- Import, backup, serve, browse, search, share, index
-- Designed to last 100+ years
-- Don't trust any company
-- In 2010: an idea
-- In 2014: busy, fun, active project
-
-* Which language to use for Camlistore?
-
-* Before Go
-
-- Starting a new project from 1994 ~ 2010...
-- Perl or C?
-- Rarely but occasionally Java.
-
-* Perl: The Good
-
-- Fun
-- Expressive
-- Get things done, quickly
-
-* Python, Ruby, Javascript: The Good
-
-- Same
-
-* Perl: The Bad
-
-- Not fast like C
-- Sometimes need to write in C
-- ... or write in XS (Perl-C glue language)
-- Perl-C, C-Perl calls are slow
-- Single-threaded, single-core, callback hell
-
-* Python, Ruby, Javascript: The Bad
-
-- Same, but even slower :)
-- JavaScript is faster now, but not as fast as C
-
-* Summary
-
-- Perlythonubyscript: slow for computer, fast & fun for human
-- C: slow for human, fast for computer
-- C++: little more fun than C, but more complexity
-- Java: tedious (verbose), slow start-up, easy to find programmers
-- PHP: if somebody's paying you enough, maybe
-
-* Fun vs. fast
-
-.image gocon-tokyo/funfast-nogo.svg
-
-* Maybe mix of two languages?
-
-- Fun, slow parts in Perlythonubyscript?
-- Important, fast parts in C?
-
-* But...
-
-- You'll want to share code.
-- Calling from C to X or X to C is slow.
-- The C-X glue language is the least fun language
-- You'll be lazy, and write in the fun language
-- Or be lazy and waste time, and write too much stuff in C++ (like Google)
-
-* Server? Threads or events?
-
-* Threads
-
-- C, C++, Java, ...
-- Threads? Heavy. Lots of memory per thread for stacks. Be careful!
-  Executor pool = new ScheduledThreadPoolExecutor(/* ???? guess a number */);
-
-* Events
-
-- Perlythonubyscript: events. no choice. Callback hell.
-- C, C++: libevent, etc. Callback hell.
-
-.image gocon-tokyo/spaghetti.jpg
-
-- C#: await async await async await async await async noise
-
-* Concurrency and performance
-
-.image gocon-tokyo/concurrency0.svg
-
-* It's really hard to pick a language!
-
-* 2010. Let's try Go!
-
-* Go: 90% Perfect, 100% of the time.
-
-* Go: 90% Perfect, 100% of the time.
-
-- Go is very good at lots of things
-- High-level code when you want
-- Low-level code when you want
-- Start high, profile, go low-level when needed
-- Static typing without too much keyboard typing
-
-* Before Go
-
-.image gocon-tokyo/funfast-nogo.svg
-
-* After Go
-
-.image gocon-tokyo/funfast.svg
-
-* Go's Concurrency
-
-- Built-in! Lightweight threads, no callback hell
-- Readable, top-down code
-- So easy to write servers
-
-  for {
-    conn, err := listener.Accept()
-    // check err
-    go serve(conn)
-  }
-
-- Goroutine-per-request can scale
-
-* Concurrency before Go
-
-.image gocon-tokyo/concurrency0.svg
-
-* After Go
-
-.image gocon-tokyo/concurrency.svg
-
-* Go is showing up for all sorts of tasks
-
-* Web frameworks
-
-- Typically a job for scripting languages: Node.js, Python, Ruby, Perl, PHP, etc.
-- net/http in the standard library
-- Other http frameworks on top: gorilla, martini, Revel etc...
-- No need for nginx: standard library's http server scales
-
-* Image processing
-
-- no libpng, imagemagick, etc
-- pure Go PNG, JPEG, GIF encoding & decoding in the standard library
-- slower, but safer
-- getting faster
-
-* Crypto
-
-- no OpenSSL, no GnuTLS
-- pure Go AES, TLS (SSL), OpenPGP, etc
-- slower, but safer
-- getting faster
-
-* Replacing shell scripts
-
-- Instead of little Perl & shell scripts, I now write in Go
-- os/exec package & goroutines makes subprocess management easier than shell
-
-* Camlistore
-
-- web handlers
-- using third-party web APIs
-- image thumbnails: decode, resize, encode
-- EXIF, ID3 parsing
-- database drivers
-- crypto, image decoding/resizing/encoding
-- search, indexing: tight memory layout control
-- WebSockets, HTTPS
-- all pure Go!
-
-* Controlling flying drones
-
-.link http://www.godrone.io
-- "Isn’t Go unsuitable for real-time applications like this?"
-- "However, for all practical purposes the GC just needs to keep up with the stabilization loop which runs at 200 Hz. This means that GC pauses below 5ms have no impact on performance. Longer pauses will degrade stabilization performance, but the tolerance threshold may be up to a second ..." (small heap)
-
-.image gocon-tokyo/drone.png
-
-* Emulators
-
-.link http://dave.cheney.net/2013/01/09/go-the-language-for-emulators Go: The Language For Emulators
-
-.image gocon-tokyo/trs.png
-
-* Disassembler, linker, compiler.
-
-- llgo compiler (Go -> LLVM IR -> ...)
-- Go 1.3's disassembler
-- Go 1.4's linker
-- Go 1.4 or Go 1.5's compiler
-
-* Mobile
-
-- Go runs on ARM
-- minux's iOS port of Go
-- Camlistore child process, goandroid
-
-.image gocon-tokyo/goandroid.png
-
-* Audio synthesis
-
-- https://github.com/nf/sigourney
-
-.image gocon-tokyo/sigourney.png
-
-* Cloud infrastructure
-
-.link http://redmonk.com/dberkholz/2014/03/18/go-the-emerging-language-of-cloud-infrastructure/ Go: the emerging language of cloud infrastructure
-
-- Docker, Packer
-- CoreOS’s etcd and fleet
-- Ubuntu Juju, Mozilla Heka, Apcera’s NATS, gnatsd
-
-.image gocon-tokyo/docker.png
-
-* Load balancers & servers
-
-- YouTube's vitess: MySQL
-- net/http/httputil.ReverseProxy
-- dl.google.com
-- etc
-
-* Raspberry Pi GPIO
-
-.link https://github.com/davecheney/gpio
-.link https://github.com/stianeikeland/go-rpio
-.link https://github.com/luismesas/goPi
-
-.image gocon-tokyo/gpio.gif
-
-* What other language is used for all these?
-
-- web apps
-- scripts
-- system administration
-- image processing
-- load balancers, servers
-- crypto
-- hardware
-
-Go!
-
-* And even better...
-
-* Go built-in tools
-
-- testing
-- benchmarking
-- profiling (CPU, memory, blocking)
-- huge standard library
-- "go get"
-- godoc
-- gofmt, goimports
-- race detector
-- static binaries
-
-* So why isn't Go perfect?
-
-* Generics
-
-- No generics
-- It sucks sometimes, but rarely
-- Use maps, slices, interfaces
-- Occasionally a gross interface{}
-- No algorithms in stdlib
-- No great proposal yet
-
-* No generics (Simon Peyton Jones: "Haskell is useless")
-
-.image gocon-tokyo/generics.svg
-
-* Data races can happen
-
-- shared, mutable state is possible
-- use channels
-- be careful
-- conventions and documentation help
-- runtime race detector helps too
-  $ go test -race
-* Code generation
-
-- The default Go compiler often generates pretty dumb code
-- Especially on ARM
-- But getting better
-- In Go 1.4, 1.5+: Go compiler in Go, refactor, add SSA, more optimizations
-
-* gccgo
-
-- gccgo generates very good code
-- ... but lacks escape analysis: kills performance with many small allocs + garbage
-- ... GC isn't precise. Bad for 32-bit.
-
-* Compiling to JavaScript isn't yet great
-
-- Would be nice to write frontend & backend in the same language, share code
-- go/types + go/ssa enables many things:
-.link http://tardisgo.github.io/ TARDIS Go Compiler
-.image gocon-tokyo/tardis.png
-
-* Limited Mobile Support
-
-- No built-in Android support (but goandroid, child processes...)
-- No built-in iOS support (but unmerged port...)
-
-* Embedding Go in C/C++/Java/etc
-
-- Can't embed Go in other languages, environments.
-- e.g. Android, iOS, C/C++ programs
-- problems with memory setup, GC, signals, ...
-- need embedding API design
-- In Go 1.4?
-
-* Shared libraries
-
-- no shared libraries
-- can't load Go code at runtime
-
-* Garbage collector
-
-- Pauses: faster each release, good people working on it.
-- Precision: heap in 1.2, most stacks in 1.3, more in 1.4.
-- 4 versions of memcached: Perl, C, C++, Go
-
-* Hot stack splits
-
-- Almost entirely fixed in Go 1.3's contiguous stacks
-- Rest should be in Go 1.4.
-
-.image gocon-tokyo/contig-stack.png
-
-* But...
-
-- Problems are fixable.
-- It all keeps getting better with each release.
-
-* Go for everything
-
-- Since mid-2010, I prefer 90%-perfect Go for all my hacking:
-.image gocon-tokyo/changestats.png
-- Go is flexible, fun, readable
-- Go is fast (for computers & humans)
-- Go is good for working with others
-- Go for everything!
-
diff --git a/content/2014/gocon-tokyo/60p.jpg b/content/2014/gocon-tokyo/60p.jpg
deleted file mode 100755
index 63997c2..0000000
--- a/content/2014/gocon-tokyo/60p.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/gocon-tokyo/changestats.png b/content/2014/gocon-tokyo/changestats.png
deleted file mode 100644
index 3e19877..0000000
--- a/content/2014/gocon-tokyo/changestats.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/gocon-tokyo/concurrency.svg b/content/2014/gocon-tokyo/concurrency.svg
deleted file mode 100644
index 0623b67..0000000
--- a/content/2014/gocon-tokyo/concurrency.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-
-<svg version="1.1" viewBox="0.0 0.0 750.0 446.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l750.0 0l0 446.0l-750.0 0l0 -446.0z" clip-rule="nonzero"></path></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l750.96063 0l0 446.43045l-750.96063 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m7.88189 431.28348l735.33856 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m7.88189 431.28348l723.33856 0" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m731.22046 434.58694l9.076233 -3.3034668l-9.076233 -3.3034668z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m7.88189 431.28348l0 -427.43307" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m7.88189 431.28348l0 -415.43307" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m11.185354 15.850393l-3.3034644 -9.076195l-3.303465 9.076195z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m198.65747 381.08594l330.80316 0l0 37.385834l-330.80316 0z" fill-rule="nonzero"></path><path fill="#000000" d="m270.55606 408.00595l0 -13.59375l5.109375 0q1.546875 0 2.484375 0.40625q0.953125 0.40625 1.484375 1.265625q0.53125 0.859375 0.53125 1.796875q0 0.875 -0.46875 1.65625q-0.46875 0.765625 -1.4375 1.234375q1.234375 0.359375 1.890625 1.234375q0.671875 0.875 0.671875 2.0625q0 0.953125 -0.40625 1.78125q-0.390625 0.8125 -0.984375 1.265625q-0.59375 0.4375 -1.5 0.671875q-0.890625 0.21875 -2.1875 0.21875l-5.1875 0zm1.796875 -7.890625l2.9375 0q1.203125 0 1.71875 -0.15625q0.6875 -0.203125 1.03125 -0.671875q0.359375 -0.46875 0.359375 -1.1875q0 -0.671875 -0.328125 -1.1875q-0.328125 -0.515625 -0.9375 -0.703125q-0.59375 -0.203125 -2.0625 -0.203125l-2.71875 0l0 4.109375zm0 6.28125l3.390625 0q0.875 0 1.21875 -0.0625q0.625 -0.109375 1.046875 -0.359375q0.421875 -0.265625 0.6875 -0.765625q0.265625 -0.5 0.265625 -1.140625q0 -0.765625 -0.390625 -1.328125q-0.390625 -0.5625 -1.078125 -0.78125q-0.6875 -0.234375 -1.984375 -0.234375l-3.15625 0l0 4.671875zm17.256073 -1.5625l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm15.547577 4.65625q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm10.531982 4.9375l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm7.578827 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm1.5426941 -10.1875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm4.535431 0l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm11.230194 0l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm3.891327 0l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm4.6135864 0l0 -1.90625l1.90625 0l0 1.90625q0 1.046875 -0.375 1.6875q-0.375 0.65625 -1.171875 1.0l-0.46875 -0.71875q0.53125 -0.21875 0.78125 -0.671875q0.25 -0.453125 0.28125 -1.296875l-0.953125 0zm9.257233 -2.9375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm13.65625 1.4375l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm1.5114136 1.5l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm12.665802 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.0944824 -6.75l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm3.832306 0.8125l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.265625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875zm9.297607 5.109375l0 -13.59375l1.671875 0l0 4.875q1.171875 -1.359375 2.953125 -1.359375q1.09375 0 1.890625 0.4375q0.8125 0.421875 1.15625 1.1875q0.359375 0.765625 0.359375 2.203125l0 6.25l-1.671875 0l0 -6.25q0 -1.25 -0.546875 -1.8125q-0.546875 -0.578125 -1.53125 -0.578125q-0.75 0 -1.40625 0.390625q-0.640625 0.375 -0.921875 1.046875q-0.28125 0.65625 -0.28125 1.8125l0 5.390625l-1.671875 0zm14.031952 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm13.147858 -2.109375l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.265625 -1.3125q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm15.672607 4.921875l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm16.016327 1.75l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m7.8825555 368.01315l0 -299.0551l41.322834 0l0 299.0551z" fill-rule="nonzero"></path><path fill="#000000" d="m34.802555 303.5668l-13.593752 0l0 -9.84375l1.59375 0l0 8.046875l4.171875 0l0 -7.53125l1.59375 0l0 7.53125l4.625002 0l0 -8.359375l1.609375 0l0 10.15625zm0 -12.599823l-8.546877 0l0 1.484375l-1.3125 0l0 -1.484375l-1.046875 0q-0.984375 0 -1.46875 -0.171875q-0.65625 -0.234375 -1.046875 -0.84375q-0.40625 -0.609375 -0.40625 -1.703125q0 -0.703125 0.15625 -1.5625l1.46875 0.25q-0.09375 0.515625 -0.09375 0.984375q0 0.765625 0.328125 1.078125q0.3125 0.3125 1.203125 0.3125l0.90625 0l0 -1.921875l1.3125 0l0 1.921875l8.546877 0l0 1.65625zm0 -5.1832886l-8.546877 0l0 1.484375l-1.3125 0l0 -1.484375l-1.046875 0q-0.984375 0 -1.46875 -0.171875q-0.65625 -0.234375 -1.046875 -0.84375q-0.40625 -0.609375 -0.40625 -1.703125q0 -0.703125 0.15625 -1.5625l1.46875 0.25q-0.09375 0.515625 -0.09375 0.984375q0 0.765625 0.328125 1.078125q0.3125 0.3125 1.203125 0.3125l0.90625 0l0 -1.921875l1.3125 0l0 1.921875l8.546877 0l0 1.65625zm-11.687502 -4.792694l-1.90625 0l0 -1.671875l1.90625 0l0 1.671875zm11.687502 0l-9.859377 0l0 -1.671875l9.859377 0l0 1.671875zm-3.609377 -10.566681l0.21875 -1.640625q1.6875019 0.265625 2.656252 1.375q0.953125 1.109375 0.953125 2.734375q0 2.015625 -1.3125 3.25q-1.328125 1.21875 -3.796877 1.21875q-1.59375 0 -2.78125 -0.515625q-1.203125 -0.53125 -1.796875 -1.609375q-0.609375 -1.09375 -0.609375 -2.359375q0 -1.609375 0.8125 -2.625q0.8125 -1.015625 2.3125 -1.3125l0.25 1.625q-1.0 0.234375 -1.5 0.828125q-0.5 0.59375 -0.5 1.421875q0 1.265625 0.90625 2.0625q0.90625 0.78125 2.859375 0.78125q1.984375 0 2.890627 -0.765625q0.890625 -0.765625 0.890625 -1.984375q0 -0.984375 -0.59375 -1.640625q-0.609375 -0.65625 -1.8593769 -0.84375zm-8.078125 -2.90625l-1.90625 0l0 -1.671875l1.90625 0l0 1.671875zm11.687502 0l-9.859377 0l0 -1.671875l9.859377 0l0 1.671875zm-3.171877 -10.879211l0.21875 -1.71875q1.5000019 0.40625 2.343752 1.515625q0.828125 1.09375 0.828125 2.8125q0 2.15625 -1.328125 3.421875q-1.328125 1.265625 -3.734377 1.265625q-2.484375 0 -3.859375 -1.265625q-1.375 -1.28125 -1.375 -3.328125q0 -1.984375 1.34375 -3.234375q1.34375 -1.25 3.796875 -1.25q0.140625 0 0.4375 0.015625l0 7.34375q1.625 -0.09375 2.484377 -0.921875q0.859375 -0.828125 0.859375 -2.0625q0 -0.90625 -0.46875 -1.546875q-0.484375 -0.65625 -1.5468769 -1.046875zm-2.703125 5.484375l0 -5.5q-1.234375 0.109375 -1.859375 0.625q-0.96875 0.796875 -0.96875 2.078125q0 1.140625 0.78125 1.9375q0.765625 0.78125 2.046875 0.859375zm5.875002 -9.110092l-9.859377 0l0 -1.5l1.40625 0q-1.625 -1.09375 -1.625 -3.140625q0 -0.890625 0.328125 -1.640625q0.3125 -0.75 0.84375 -1.109375q0.515625 -0.375 1.21875 -0.53125q0.46875 -0.09375 1.625 -0.09375l6.062502 0l0 1.671875l-6.000002 0q-1.015625 0 -1.515625 0.203125q-0.515625 0.1875 -0.8125 0.6875q-0.296875 0.5 -0.296875 1.171875q0 1.0625 0.671875 1.84375q0.671875 0.765625 2.578125 0.765625l5.375002 0l0 1.671875zm-1.5 -14.031967l1.484375 -0.234375q0.140625 0.703125 0.140625 1.265625q0 0.90625 -0.28125 1.40625q-0.296875 0.5 -0.75 0.703125q-0.46875 0.203125 -1.9843769 0.203125l-5.65625 0l0 1.234375l-1.3125 0l0 -1.234375l-2.4375 0l-1.0 -1.65625l3.4375 0l0 -1.6875l1.3125 0l0 1.6875l5.750002 0q0.71875 0 0.921875 -0.078125q0.203125 -0.09375 0.328125 -0.296875q0.125 -0.203125 0.125 -0.578125q0 -0.265625 -0.078125 -0.734375zm-2.109377 -13.147858l0.21875 -1.640625q1.6875019 0.265625 2.656252 1.375q0.953125 1.109375 0.953125 2.734375q0 2.015625 -1.3125 3.25q-1.328125 1.21875 -3.796877 1.21875q-1.59375 0 -2.78125 -0.515625q-1.203125 -0.53125 -1.796875 -1.609375q-0.609375 -1.09375 -0.609375 -2.359375q0 -1.609375 0.8125 -2.625q0.8125 -1.015625 2.3125 -1.3125l0.25 1.625q-1.0 0.234375 -1.5 0.828125q-0.5 0.59375 -0.5 1.421875q0 1.265625 0.90625 2.0625q0.90625 0.78125 2.859375 0.78125q1.984375 0 2.890627 -0.765625q0.890625 -0.765625 0.890625 -1.984375q0 -0.984375 -0.59375 -1.640625q-0.609375 -0.65625 -1.8593769 -0.84375zm-1.3125 -2.265625q-2.734375 0 -4.0625 -1.53125q-1.09375 -1.265625 -1.09375 -3.09375q0 -2.03125 1.34375 -3.3125q1.328125 -1.296875 3.671875 -1.296875q1.90625 0 3.000002 0.578125q1.078125 0.5625 1.6875 1.65625q0.59375 1.078125 0.59375 2.375q0 2.0625 -1.328125 3.34375q-1.328125 1.28125 -3.812502 1.28125zm0 -1.71875q1.890625 0 2.828127 -0.828125q0.9375 -0.828125 0.9375 -2.078125q0 -1.25 -0.9375 -2.0625q-0.9531269 -0.828125 -2.890627 -0.828125q-1.828125 0 -2.765625 0.828125q-0.9375 0.828125 -0.9375 2.0625q0 1.25 0.9375 2.078125q0.9375 0.828125 2.828125 0.828125zm4.921877 -9.281952l-9.859377 0l0 -1.5l1.40625 0q-1.625 -1.09375 -1.625 -3.140625q0 -0.890625 0.328125 -1.640625q0.3125 -0.75 0.84375 -1.109375q0.515625 -0.375 1.21875 -0.53125q0.46875 -0.09375 1.625 -0.09375l6.062502 0l0 1.671875l-6.000002 0q-1.015625 0 -1.515625 0.203125q-0.515625 0.1875 -0.8125 0.6875q-0.296875 0.5 -0.296875 1.171875q0 1.0625 0.671875 1.84375q0.671875 0.765625 2.578125 0.765625l5.375002 0l0 1.671875zm-3.609377 -16.813232l0.21875 -1.640625q1.6875019 0.265625 2.656252 1.375q0.953125 1.109375 0.953125 2.734375q0 2.015625 -1.3125 3.25q-1.328125 1.21875 -3.796877 1.21875q-1.59375 0 -2.78125 -0.515625q-1.203125 -0.53125 -1.796875 -1.609375q-0.609375 -1.09375 -0.609375 -2.359375q0 -1.609375 0.8125 -2.625q0.8125 -1.015625 2.3125 -1.3125l0.25 1.625q-1.0 0.234375 -1.5 0.828125q-0.5 0.59375 -0.5 1.421875q0 1.265625 0.90625 2.0625q0.90625 0.78125 2.859375 0.78125q1.984375 0 2.890627 -0.765625q0.890625 -0.765625 0.890625 -1.984375q0 -0.984375 -0.59375 -1.640625q-0.609375 -0.65625 -1.8593769 -0.84375zm3.609377 -9.34375l-1.453125 0q1.671875 1.140625 1.671875 3.125q0 0.859375 -0.328125 1.625q-0.34375 0.75 -0.84375 1.125q-0.5 0.359375 -1.234375 0.515625q-0.5 0.09375 -1.5625019 0.09375l-6.109375 0l0 -1.671875l5.46875 0q1.3125 0 1.7656269 -0.09375q0.65625 -0.15625 1.03125 -0.671875q0.375 -0.515625 0.375 -1.265625q0 -0.75 -0.375 -1.40625q-0.390625 -0.65625 -1.046875 -0.921875q-0.6718769 -0.28125 -1.9375019 -0.28125l-5.28125 0l0 -1.671875l9.859377 0l0 1.5zm0 -3.906952l-9.859377 0l0 -1.5l1.5 0q-1.046875 -0.578125 -1.375 -1.0625q-0.34375 -0.484375 -0.34375 -1.078125q0 -0.84375 0.546875 -1.71875l1.546875 0.578125q-0.359375 0.609375 -0.359375 1.234375q0 0.546875 0.328125 0.984375q0.328125 0.421875 0.90625 0.609375q0.890625 0.28125 1.953125 0.28125l5.156252 0l0 1.671875zm0 -6.212677l-9.859377 0l0 -1.5l1.5 0q-1.046875 -0.578125 -1.375 -1.0625q-0.34375 -0.484375 -0.34375 -1.078125q0 -0.84375 0.546875 -1.71875l1.546875 0.578125q-0.359375 0.609375 -0.359375 1.234375q0 0.546875 0.328125 0.984375q0.328125 0.421875 0.90625 0.609375q0.890625 0.28125 1.953125 0.28125l5.156252 0l0 1.671875zm-3.171877 -12.978302l0.21875 -1.71875q1.5000019 0.40625 2.343752 1.515625q0.828125 1.09375 0.828125 2.8125q0 2.15625 -1.328125 3.421875q-1.328125 1.265625 -3.734377 1.265625q-2.484375 0 -3.859375 -1.265625q-1.375 -1.28125 -1.375 -3.328125q0 -1.984375 1.34375 -3.234375q1.34375 -1.25 3.796875 -1.25q0.140625 0 0.4375 0.015625l0 7.34375q1.625 -0.09375 2.484377 -0.921875q0.859375 -0.828125 0.859375 -2.0625q0 -0.90625 -0.46875 -1.546875q-0.484375 -0.65625 -1.5468769 -1.046875zm-2.703125 5.484375l0 -5.5q-1.234375 0.109375 -1.859375 0.625q-0.96875 0.796875 -0.96875 2.078125q0 1.140625 0.78125 1.9375q0.765625 0.78125 2.046875 0.859375zm5.875002 -9.110107l-9.859377 0l0 -1.5l1.40625 0q-1.625 -1.09375 -1.625 -3.140625q0 -0.890625 0.328125 -1.640625q0.3125 -0.75 0.84375 -1.109375q0.515625 -0.375 1.21875 -0.53125q0.46875 -0.09375 1.625 -0.09375l6.062502 0l0 1.671875l-6.000002 0q-1.015625 0 -1.515625 0.203125q-0.515625 0.1875 -0.8125 0.6875q-0.296875 0.5 -0.296875 1.171875q0 1.0625 0.671875 1.84375q0.671875 0.765625 2.578125 0.765625l5.375002 0l0 1.671875zm-3.609377 -16.813202l0.21875 -1.640625q1.6875019 0.265625 2.656252 1.375q0.953125 1.109375 0.953125 2.734375q0 2.015625 -1.3125 3.25q-1.328125 1.21875 -3.796877 1.21875q-1.59375 0 -2.78125 -0.515625q-1.203125 -0.53125 -1.796875 -1.609375q-0.609375 -1.09375 -0.609375 -2.359375q0 -1.609375 0.8125 -2.625q0.8125 -1.015625 2.3125 -1.3125l0.25 1.625q-1.0 0.234375 -1.5 0.828125q-0.5 0.59375 -0.5 1.421875q0 1.265625 0.90625 2.0625q0.90625 0.78125 2.859375 0.78125q1.984375 0 2.890627 -0.765625q0.890625 -0.765625 0.890625 -1.984375q0 -0.984375 -0.59375 -1.640625q-0.609375 -0.65625 -1.8593769 -0.84375zm7.406252 -2.8125l-1.5625 0.171875q0.140625 -0.546875 0.140625 -0.953125q0 -0.546875 -0.1875 -0.875q-0.1875 -0.34375 -0.515625 -0.5625q-0.25 -0.15625 -1.25 -0.5q-0.140625 -0.046875 -0.40625 -0.15625l-9.875002 3.734375l0 -1.796875l5.71875 -2.046875q1.078125 -0.40625 2.281252 -0.71875q-1.1562519 -0.28125 -2.250002 -0.6875l-5.75 -2.09375l0 -1.671875l10.031252 3.75q1.625 0.59375 2.234375 0.9375q0.828125 0.4375 1.203125 1.015625q0.390625 0.578125 0.390625 1.375q0 0.484375 -0.203125 1.078125z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m11.692741 31.321877l0 0c0 -11.854553 14.016661 -21.464567 31.307087 -21.464567l0 0c17.290424 0 31.307087 9.610014 31.307087 21.464567l0 0c0 11.854553 -14.016663 21.464565 -31.307087 21.464565l0 0c-17.290426 0 -31.307087 -9.610012 -31.307087 -21.464565z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m11.692741 31.321877l0 0c0 -11.854553 14.016661 -21.464567 31.307087 -21.464567l0 0c17.290424 0 31.307087 9.610014 31.307087 21.464567l0 0c0 11.854553 -14.016663 21.464565 -31.307087 21.464565l0 0c-17.290426 0 -31.307087 -9.610012 -31.307087 -21.464565z" fill-rule="nonzero"></path><path fill="#000000" d="m46.52019 32.63625l1.421875 0.359375q-0.4375 1.75 -1.609375 2.671875q-1.15625 0.921875 -2.828125 0.921875q-1.734375 0 -2.828125 -0.703125q-1.09375 -0.71875 -1.65625 -2.046875q-0.5625 -1.34375 -0.5625 -2.890623q0 -1.671875 0.640625 -2.921875q0.640625 -1.25 1.8125 -1.890625q1.1875 -0.65625 2.609375 -0.65625q1.609375 0 2.703125 0.828125q1.109375 0.8125 1.546875 2.296875l-1.40625 0.328125q-0.375 -1.171875 -1.09375 -1.703125q-0.703125 -0.53125 -1.78125 -0.53125q-1.234375 0 -2.0625 0.59375q-0.828125 0.59375 -1.171875 1.59375q-0.328125 1.0 -0.328125 2.0625q0 1.3593731 0.390625 2.390623q0.40625 1.015625 1.234375 1.53125q0.84375 0.5 1.828125 0.5q1.203125 0 2.03125 -0.6875q0.828125 -0.6875 1.109375 -2.046875z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m62.79527 31.322834l0 0c0 -11.854553 15.715862 -21.464565 35.10236 -21.464565l0 0c19.386505 0 35.10237 9.610013 35.10237 21.464565l0 0c0 11.854553 -15.715866 21.46457 -35.10237 21.46457l0 0c-19.386497 0 -35.10236 -9.610016 -35.10236 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m62.79527 31.322834l0 0c0 -11.854553 15.715862 -21.464565 35.10236 -21.464565l0 0c19.386505 0 35.10237 9.610013 35.10237 21.464565l0 0c0 11.854553 -15.715866 21.46457 -35.10237 21.46457l0 0c-19.386497 0 -35.10236 -9.610016 -35.10236 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m92.85897 32.637207l1.421875 0.359375q-0.4375 1.75 -1.609375 2.671875q-1.15625 0.921875 -2.828125 0.921875q-1.734375 0 -2.828125 -0.703125q-1.09375 -0.71875 -1.65625 -2.046875q-0.5625 -1.34375 -0.5625 -2.890623q0 -1.671875 0.640625 -2.921875q0.640625 -1.25 1.8125 -1.890625q1.1875 -0.65625 2.609375 -0.65625q1.609375 0 2.703125 0.828125q1.109375 0.8125 1.546875 2.296875l-1.40625 0.328125q-0.375 -1.171875 -1.09375 -1.703125q-0.703125 -0.53125 -1.78125 -0.53125q-1.234375 0 -2.0625 0.59375q-0.828125 0.59375 -1.171875 1.59375q-0.328125 1.0 -0.328125 2.0625q0 1.3593731 0.390625 2.390623q0.40625 1.015625 1.234375 1.53125q0.84375 0.5 1.828125 0.5q1.203125 0 2.03125 -0.6875q0.828125 -0.6875 1.109375 -2.046875zm5.5217743 2.03125l0 -2.953123l-2.921875 0l0 -1.21875l2.921875 0l0 -2.921875l1.25 0l0 2.921875l2.921875 0l0 1.21875l-2.921875 0l0 2.953123l-1.25 0zm8.559021 0l0 -2.953123l-2.921875 0l0 -1.21875l2.921875 0l0 -2.921875l1.25 0l0 2.921875l2.921875 0l0 1.21875l-2.921875 0l0 2.953123l-1.25 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m42.879677 405.65063l0 0c0 -11.854553 18.00732 -21.46457 40.220474 -21.46457l0 0c22.21315 0 40.220474 9.610016 40.220474 21.46457l0 0c0 11.854553 -18.007324 21.46457 -40.220474 21.46457l0 0c-22.213154 0 -40.220474 -9.610016 -40.220474 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m42.879677 405.65063l0 0c0 -11.854553 18.00732 -21.46457 40.220474 -21.46457l0 0c22.21315 0 40.220474 9.610016 40.220474 21.46457l0 0c0 11.854553 -18.007324 21.46457 -40.220474 21.46457l0 0c-22.213154 0 -40.220474 -9.610016 -40.220474 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m67.16472 410.73065l0 -10.734375l4.765625 0q1.4375 0 2.1875 0.296875q0.75 0.28125 1.1875 1.015625q0.453125 0.734375 0.453125 1.609375q0 1.140625 -0.75 1.9375q-0.734375 0.78125 -2.28125 0.984375q0.5625 0.28125 0.859375 0.546875q0.625 0.5625 1.1875 1.421875l1.859375 2.921875l-1.78125 0l-1.421875 -2.234375q-0.625 -0.96875 -1.03125 -1.46875q-0.40625 -0.515625 -0.71875 -0.71875q-0.3125 -0.21875 -0.640625 -0.296875q-0.25 -0.046875 -0.796875 -0.046875l-1.65625 0l0 4.765625l-1.421875 0zm1.421875 -6.0l3.0625 0q0.96875 0 1.515625 -0.203125q0.5625 -0.203125 0.84375 -0.640625q0.28125 -0.4375 0.28125 -0.96875q0 -0.75 -0.5625 -1.234375q-0.546875 -0.5 -1.734375 -0.5l-3.40625 0l0 3.546875zm14.084274 6.0l0 -1.140625q-0.921875 1.3125 -2.46875 1.3125q-0.6875 0 -1.296875 -0.265625q-0.59375 -0.265625 -0.890625 -0.65625q-0.28125 -0.40625 -0.390625 -0.984375q-0.09375 -0.375 -0.09375 -1.21875l0 -4.828125l1.328125 0l0 4.3125q0 1.03125 0.078125 1.390625q0.125 0.53125 0.515625 0.828125q0.40625 0.296875 1.0 0.296875q0.59375 0 1.109375 -0.296875q0.53125 -0.3125 0.75 -0.828125q0.21875 -0.53125 0.21875 -1.53125l0 -4.171875l1.3125 0l0 7.78125l-1.171875 0zm4.260483 0l-1.21875 0l0 -10.734375l1.3125 0l0 3.828125q0.84375 -1.046875 2.140625 -1.046875q0.71875 0 1.359375 0.296875q0.640625 0.28125 1.046875 0.8125q0.421875 0.515625 0.65625 1.265625q0.234375 0.734375 0.234375 1.578125q0 2.0 -1.0 3.09375q-0.984375 1.078125 -2.375 1.078125q-1.375 0 -2.15625 -1.140625l0 0.96875zm-0.015625 -3.953125q0 1.40625 0.390625 2.03125q0.609375 1.015625 1.671875 1.015625q0.875 0 1.5 -0.75q0.625 -0.75 0.625 -2.234375q0 -1.53125 -0.609375 -2.25q-0.59375 -0.734375 -1.453125 -0.734375q-0.859375 0 -1.5 0.75q-0.625 0.75 -0.625 2.171875zm6.901108 6.953125l-0.15625 -1.234375q0.4375 0.109375 0.75 0.109375q0.453125 0 0.703125 -0.15625q0.265625 -0.140625 0.4375 -0.40625q0.125 -0.1875 0.40625 -0.96875q0.03125 -0.109375 0.109375 -0.328125l-2.953125 -7.796875l1.421875 0l1.625 4.5q0.3125 0.859375 0.5625 1.8125q0.234375 -0.90625 0.546875 -1.78125l1.65625 -4.53125l1.328125 0l-2.96875 7.90625q-0.46875 1.28125 -0.734375 1.765625q-0.359375 0.65625 -0.8125 0.953125q-0.453125 0.3125 -1.078125 0.3125q-0.375 0 -0.84375 -0.15625z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m62.79522 366.1942l0 0c0 -11.854553 21.299965 -21.46457 47.5748 -21.46457l0 0c26.274834 0 47.574806 9.610016 47.574806 21.46457l0 0c0 11.854553 -21.299973 21.46457 -47.574806 21.46457l0 0c-26.274834 0 -47.5748 -9.610016 -47.5748 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m62.79522 366.1942l0 0c0 -11.854553 21.299965 -21.46457 47.5748 -21.46457l0 0c26.274834 0 47.574806 9.610016 47.574806 21.46457l0 0c0 11.854553 -21.299973 21.46457 -47.574806 21.46457l0 0c-26.274834 0 -47.5748 -9.610016 -47.5748 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m88.711754 371.27423l0 -10.734375l4.046875 0q1.078125 0 1.640625 0.09375q0.78125 0.140625 1.3125 0.515625q0.546875 0.359375 0.875 1.03125q0.328125 0.65625 0.328125 1.46875q0 1.359375 -0.875 2.3125q-0.875 0.953125 -3.15625 0.953125l-2.75 0l0 4.359375l-1.421875 0zm1.421875 -5.625l2.78125 0q1.375 0 1.953125 -0.515625q0.578125 -0.515625 0.578125 -1.453125q0 -0.671875 -0.34375 -1.140625q-0.34375 -0.484375 -0.890625 -0.640625q-0.359375 -0.09375 -1.328125 -0.09375l-2.75 0l0 3.84375zm8.134979 8.625l-0.15625 -1.234375q0.4375 0.109375 0.75 0.109375q0.453125 0 0.703125 -0.15625q0.265625 -0.140625 0.4375 -0.40625q0.125 -0.1875 0.40625 -0.96875q0.03125 -0.109375 0.109375 -0.328125l-2.953125 -7.796875l1.421875 0l1.625 4.5q0.3125 0.859375 0.5625 1.8125q0.234375 -0.90625 0.546875 -1.78125l1.65625 -4.53125l1.328125 0l-2.96875 7.90625q-0.46875 1.28125 -0.734375 1.765625q-0.359375 0.65625 -0.8125 0.953125q-0.453125 0.3125 -1.078125 0.3125q-0.375 0 -0.84375 -0.15625zm10.265625 -4.171875l0.1875 1.15625q-0.5625 0.125 -1.0 0.125q-0.71875 0 -1.125 -0.234375q-0.390625 -0.234375 -0.546875 -0.59375q-0.15625 -0.375 -0.15625 -1.5625l0 -4.46875l-0.96875 0l0 -1.03125l0.96875 0l0 -1.921875l1.3125 -0.796875l0 2.71875l1.328125 0l0 1.03125l-1.328125 0l0 4.546875q0 0.5625 0.0625 0.734375q0.078125 0.15625 0.234375 0.25q0.15625 0.09375 0.4375 0.09375q0.234375 0 0.59375 -0.046875zm1.1813507 1.171875l0 -10.734375l1.328125 0l0 3.84375q0.921875 -1.0625 2.328125 -1.0625q0.859375 0 1.5 0.34375q0.640625 0.34375 0.90625 0.9375q0.28125 0.59375 0.28125 1.75l0 4.921875l-1.328125 0l0 -4.921875q0 -1.0 -0.421875 -1.4375q-0.421875 -0.453125 -1.21875 -0.453125q-0.578125 0 -1.09375 0.296875q-0.515625 0.296875 -0.734375 0.828125q-0.21875 0.515625 -0.21875 1.4375l0 4.25l-1.328125 0zm7.666733 -3.890625q0 -2.15625 1.203125 -3.203125q1.0 -0.859375 2.4375 -0.859375q1.609375 0 2.625 1.046875q1.015625 1.046875 1.015625 2.90625q0 1.5 -0.453125 2.359375q-0.4375 0.859375 -1.3125 1.34375q-0.859375 0.46875 -1.875 0.46875q-1.625 0 -2.640625 -1.046875q-1.0 -1.046875 -1.0 -3.015625zm1.359375 0q0 1.5 0.640625 2.25q0.65625 0.734375 1.640625 0.734375q0.984375 0 1.640625 -0.75q0.65625 -0.75 0.65625 -2.28125q0 -1.4375 -0.65625 -2.171875q-0.65625 -0.75 -1.640625 -0.75q-0.984375 0 -1.640625 0.734375q-0.640625 0.734375 -0.640625 2.234375zm7.276108 3.890625l0 -7.78125l1.1875 0l0 1.109375q0.8593826 -1.28125 2.4843826 -1.28125q0.703125 0 1.28125 0.25q0.59375 0.25 0.890625 0.671875q0.296875 0.40625 0.40625 0.96875q0.078125 0.359375 0.078125 1.28125l0 4.78125l-1.328125 0l0 -4.734375q0 -0.796875 -0.15625 -1.1875q-0.140625 -0.40625 -0.53125 -0.640625q-0.390625 -0.25 -0.921875 -0.25q-0.84375 0 -1.4531326 0.53125q-0.609375 0.53125 -0.609375 2.03125l0 4.25l-1.328125 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m12.472783 340.2766l0 0c0 -11.854553 18.007317 -21.464539 40.220474 -21.464539l0 0c22.213154 0 40.22047 9.609985 40.22047 21.464539l0 0c0 11.854553 -18.007317 21.46457 -40.22047 21.46457l0 0c-22.213156 0 -40.220474 -9.610016 -40.220474 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m12.472783 340.2766l0 0c0 -11.854553 18.007317 -21.464539 40.220474 -21.464539l0 0c22.213154 0 40.22047 9.609985 40.22047 21.464539l0 0c0 11.854553 -18.007317 21.46457 -40.22047 21.46457l0 0c-22.213156 0 -40.220474 -9.610016 -40.220474 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m44.57889 342.30975l1.28125 -0.171875q0.046875 1.21875 0.453125 1.6875q0.40625 0.453125 1.140625 0.453125q0.53125 0 0.921875 -0.25q0.390625 -0.25 0.53125 -0.671875q0.15625 -0.421875 0.15625 -1.34375l0 -7.390625l1.40625 0l0 7.3125q0 1.34375 -0.328125 2.09375q-0.3125 0.734375 -1.03125 1.125q-0.703125 0.390625 -1.65625 0.390625q-1.40625 0 -2.15625 -0.8125q-0.75 -0.8125 -0.71875 -2.421875zm7.5625 -0.40625l1.34375 -0.109375q0.09375 0.796875 0.4375 1.3125q0.359375 0.515625 1.078125 0.84375q0.734375 0.3125 1.65625 0.3125q0.8125 0 1.4375 -0.234375q0.625 -0.25 0.921875 -0.671875q0.3125 -0.421875 0.3125 -0.921875q0 -0.5 -0.296875 -0.875q-0.296875 -0.375 -0.96875 -0.640625q-0.4375 -0.15625 -1.921875 -0.515625q-1.46875 -0.359375 -2.0625 -0.671875q-0.765625 -0.40625 -1.15625 -1.0q-0.375 -0.59375 -0.375 -1.34375q0 -0.8125 0.453125 -1.515625q0.46875 -0.703125 1.359375 -1.0625q0.890625 -0.375 1.96875 -0.375q1.203125 0 2.109375 0.390625q0.90625 0.375 1.390625 1.125q0.5 0.75 0.546875 1.6875l-1.375 0.109375q-0.109375 -1.015625 -0.75 -1.53125q-0.625 -0.53125 -1.859375 -0.53125q-1.28125 0 -1.875 0.484375q-0.59375 0.46875 -0.59375 1.125q0 0.578125 0.421875 0.953125q0.40625 0.375 2.140625 0.765625q1.734375 0.390625 2.375 0.6875q0.9375 0.4375 1.375 1.109375q0.453125 0.65625 0.453125 1.515625q0 0.859375 -0.5 1.625q-0.484375 0.75 -1.40625 1.171875q-0.90625 0.421875 -2.0625 0.421875q-1.453125 0 -2.4375 -0.421875q-0.984375 -0.4375 -1.546875 -1.28125q-0.5625 -0.859375 -0.59375 -1.9375z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m28.561682 62.385826l0 0c0 -11.854553 16.710005 -21.464565 37.32283 -21.464565l0 0c20.612839 0 37.322838 9.610012 37.322838 21.464565l0 0c0 11.854553 -16.71 21.46457 -37.322838 21.46457l0 0c-20.612827 0 -37.32283 -9.610016 -37.32283 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m28.561682 62.385826l0 0c0 -11.854553 16.710005 -21.464565 37.32283 -21.464565l0 0c20.612839 0 37.322838 9.610012 37.322838 21.464565l0 0c0 11.854553 -16.71 21.46457 -37.322838 21.46457l0 0c-20.612827 0 -37.32283 -9.610016 -37.32283 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m50.842785 64.41895l1.28125 -0.171875q0.046875 1.21875 0.453125 1.6875q0.40625 0.453125 1.140625 0.453125q0.53125 0 0.921875 -0.25q0.390625 -0.25 0.53125 -0.671875q0.15625 -0.421875 0.15625 -1.34375l0 -7.390629l1.40625 0l0 7.312504q0 1.34375 -0.328125 2.09375q-0.3125 0.734375 -1.03125 1.125q-0.703125 0.390625 -1.65625 0.390625q-1.40625 0 -2.15625 -0.8125q-0.75 -0.8125 -0.71875 -2.421875zm12.953125 2.09375q-0.734375 0.609375 -1.40625 0.875q-0.671875 0.25 -1.453125 0.25q-1.28125 0 -1.96875 -0.625q-0.6875 -0.625 -0.6875 -1.59375q0 -0.578125 0.25 -1.046875q0.265625 -0.4687538 0.6875 -0.7500038q0.421875 -0.296875 0.953125 -0.4375q0.375 -0.109375 1.171875 -0.203125q1.59375 -0.1875 2.34375 -0.453125q0.015625 -0.265625 0.015625 -0.34375q0 -0.8125 -0.375 -1.140625q-0.515625 -0.4375 -1.5 -0.4375q-0.9375 0 -1.390625 0.328125q-0.4375 0.3125 -0.640625 1.140625l-1.296875 -0.171875q0.171875 -0.828125 0.578125 -1.328125q0.40625 -0.515625 1.171875 -0.78125q0.765625 -0.28125 1.765625 -0.28125q1.0 0 1.609375 0.234375q0.6249962 0.234375 0.9218712 0.59375q0.296875 0.34375 0.40625 0.890625q0.0625 0.34375 0.0625 1.21875l0 1.7500038q0 1.84375 0.078125 2.328125q0.09375 0.484375 0.34375 0.9375l-1.375 0q-0.20312119 -0.40625 -0.2656212 -0.953125zm-0.109375 -2.9531288q-0.71875 0.296875 -2.15625 0.5000038q-0.8125 0.125 -1.15625 0.265625q-0.328125 0.140625 -0.515625 0.421875q-0.171875 0.28125 -0.171875 0.625q0 0.53125 0.390625 0.890625q0.40625 0.34375 1.171875 0.34375q0.765625 0 1.359375 -0.328125q0.59375 -0.34375 0.875 -0.921875q0.203125 -0.4375 0.203125 -1.3125l0 -0.4843788zm5.354229 3.9062538l-2.96875 -7.781254l1.390625 0l1.671875 4.656254q0.265625 0.765625 0.5 1.578125q0.171875 -0.625 0.484375 -1.484375l1.734375 -4.750004l1.359375 0l-2.953125 7.781254l-1.21875 0zm10.234375 -0.953125q-0.734375 0.609375 -1.40625 0.875q-0.671875 0.25 -1.453125 0.25q-1.28125 0 -1.96875 -0.625q-0.6875 -0.625 -0.6875 -1.59375q0 -0.578125 0.25 -1.046875q0.265625 -0.4687538 0.6875 -0.7500038q0.421875 -0.296875 0.953125 -0.4375q0.375 -0.109375 1.171875 -0.203125q1.59375 -0.1875 2.34375 -0.453125q0.015625 -0.265625 0.015625 -0.34375q0 -0.8125 -0.375 -1.140625q-0.515625 -0.4375 -1.5 -0.4375q-0.9375 0 -1.390625 0.328125q-0.4375 0.3125 -0.640625 1.140625l-1.296875 -0.171875q0.171875 -0.828125 0.578125 -1.328125q0.40625 -0.515625 1.171875 -0.78125q0.765625 -0.28125 1.765625 -0.28125q1.0 0 1.609375 0.234375q0.625 0.234375 0.921875 0.59375q0.296875 0.34375 0.40625 0.890625q0.0625 0.34375 0.0625 1.21875l0 1.7500038q0 1.84375 0.078125 2.328125q0.09375 0.484375 0.34375 0.9375l-1.375 0q-0.203125 -0.40625 -0.265625 -0.953125zm-0.109375 -2.9531288q-0.71875 0.296875 -2.15625 0.5000038q-0.8125 0.125 -1.15625 0.265625q-0.328125 0.140625 -0.515625 0.421875q-0.171875 0.28125 -0.171875 0.625q0 0.53125 0.390625 0.890625q0.40625 0.34375 1.171875 0.34375q0.765625 0 1.359375 -0.328125q0.59375 -0.34375 0.875 -0.921875q0.203125 -0.4375 0.203125 -1.3125l0 -0.4843788z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m7.8828444 376.3685l0 0c0 -11.854553 18.007318 -21.46457 40.220474 -21.46457l0 0c22.21315 0 40.220474 9.610016 40.220474 21.46457l0 0c0 11.854553 -18.007324 21.46457 -40.220474 21.46457l0 0c-22.213154 0 -40.220474 -9.610016 -40.220474 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m7.8828444 376.3685l0 0c0 -11.854553 18.007318 -21.46457 40.220474 -21.46457l0 0c22.21315 0 40.220474 9.610016 40.220474 21.46457l0 0c0 11.854553 -18.007324 21.46457 -40.220474 21.46457l0 0c-22.213154 0 -40.220474 -9.610016 -40.220474 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m36.227814 381.4485l0 -10.734375l4.046875 0q1.078125 0 1.640625 0.09375q0.78125 0.140625 1.3125 0.515625q0.546875 0.359375 0.875 1.03125q0.328125 0.65625 0.328125 1.46875q0 1.359375 -0.875 2.3125q-0.875 0.953125 -3.15625 0.953125l-2.75 0l0 4.359375l-1.421875 0zm1.421875 -5.625l2.78125 0q1.375 0 1.953125 -0.515625q0.578125 -0.515625 0.578125 -1.453125q0 -0.671875 -0.34375 -1.140625q-0.34375 -0.484375 -0.890625 -0.640625q-0.359375 -0.09375 -1.328125 -0.09375l-2.75 0l0 3.84375zm13.509979 3.125l1.359375 0.15625q-0.3125 1.203125 -1.1875 1.859375q-0.875 0.65625 -2.234375 0.65625q-1.703125 0 -2.703125 -1.046875q-1.0 -1.046875 -1.0 -2.953125q0 -1.953125 1.015625 -3.03125q1.015625 -1.09375 2.625 -1.09375q1.5625 0 2.546875 1.0625q0.984375 1.0625 0.984375 2.984375q0 0.125 0 0.359375l-5.8125 0q0.078125 1.28125 0.71875 1.96875q0.65625 0.671875 1.640625 0.671875q0.71875 0 1.234375 -0.375q0.515625 -0.390625 0.8125 -1.21875zm-4.328125 -2.140625l4.34375 0q-0.09375 -0.984375 -0.5 -1.46875q-0.625 -0.765625 -1.625 -0.765625q-0.921875 0 -1.546875 0.609375q-0.609375 0.609375 -0.671875 1.625zm7.135483 4.640625l0 -7.78125l1.1875 0l0 1.1875q0.453125 -0.828125 0.84375 -1.09375q0.390625 -0.265625 0.84375 -0.265625q0.671875 0 1.359375 0.421875l-0.453125 1.21875q-0.484375 -0.28125 -0.96875 -0.28125q-0.4375 0 -0.78125 0.265625q-0.34375 0.25 -0.484375 0.71875q-0.21875 0.703125 -0.21875 1.53125l0 4.078125l-1.328125 0zm4.8650208 0l0 -10.734375l1.328125 0l0 10.734375l-1.328125 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m325.13385 62.385826l0 0c0 -11.854553 15.715851 -21.464565 35.102356 -21.464565l0 0c19.386505 0 35.102356 9.610012 35.102356 21.464565l0 0c0 11.854553 -15.715851 21.46457 -35.102356 21.46457l0 0c-19.386505 0 -35.102356 -9.610016 -35.102356 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m325.13385 62.385826l0 0c0 -11.854553 15.715851 -21.464565 35.102356 -21.464565l0 0c19.386505 0 35.102356 9.610012 35.102356 21.464565l0 0c0 11.854553 -15.715851 21.46457 -35.102356 21.46457l0 0c-19.386505 0 -35.102356 -9.610016 -35.102356 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m359.68103 63.7002l1.421875 0.3593788q-0.4375 1.75 -1.609375 2.671875q-1.15625 0.921875 -2.828125 0.921875q-1.734375 0 -2.828125 -0.703125q-1.09375 -0.71875 -1.65625 -2.046875q-0.5625 -1.3437538 -0.5625 -2.8906288q0 -1.671875 0.640625 -2.921875q0.640625 -1.25 1.8125 -1.890625q1.1875 -0.65625 2.609375 -0.65625q1.609375 0 2.703125 0.828125q1.109375 0.8125 1.546875 2.296875l-1.40625 0.328125q-0.375 -1.171875 -1.09375 -1.703125q-0.703125 -0.53125 -1.78125 -0.53125q-1.234375 0 -2.0625 0.59375q-0.828125 0.59375 -1.171875 1.59375q-0.328125 1.0 -0.328125 2.0625q0 1.359375 0.390625 2.3906288q0.40625 1.015625 1.234375 1.53125q0.84375 0.5 1.828125 0.5q1.203125 0 2.03125 -0.6875q0.828125 -0.6875 1.109375 -2.0468788zm2.521759 3.9531288l0.640625 -3.125l-1.234375 0l0 -1.0937538l1.453125 0l0.546875 -2.65625l-2.0 0l0 -1.09375l2.21875 0l0.640625 -3.140625l1.09375 0l-0.640625 3.140625l2.3125 0l0.640625 -3.140625l1.09375 0l-0.625 3.140625l1.265625 0l0 1.09375l-1.484375 0l-0.5625 2.65625l2.046875 0l0 1.0937538l-2.265625 0l-0.625 3.125l-1.109375 0l0.640625 -3.125l-2.3125 0l-0.625 3.125l-1.109375 0zm1.953125 -4.218754l2.3125 0l0.546875 -2.65625l-2.3125 0l-0.546875 2.65625z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m477.6299 62.385826l0 0c0 -11.854553 21.299988 -21.464565 47.5748 -21.464565l0 0c26.274841 0 47.57483 9.610012 47.57483 21.464565l0 0c0 11.854553 -21.299988 21.46457 -47.57483 21.46457l0 0c-26.27481 0 -47.5748 -9.610016 -47.5748 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m477.6299 62.385826l0 0c0 -11.854553 21.299988 -21.464565 47.5748 -21.464565l0 0c26.274841 0 47.57483 9.610012 47.57483 21.464565l0 0c0 11.854553 -21.299988 21.46457 -47.57483 21.46457l0 0c-26.27481 0 -47.5748 -9.610016 -47.5748 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m510.80194 63.7002l1.421875 0.3593788q-0.4375 1.75 -1.609375 2.671875q-1.15625 0.921875 -2.828125 0.921875q-1.734375 0 -2.828125 -0.703125q-1.09375 -0.71875 -1.65625 -2.046875q-0.5625 -1.3437538 -0.5625 -2.8906288q0 -1.671875 0.640625 -2.921875q0.640625 -1.25 1.8125 -1.890625q1.1875 -0.65625 2.609375 -0.65625q1.609375 0 2.703125 0.828125q1.109375 0.8125 1.546875 2.296875l-1.40625 0.328125q-0.375 -1.171875 -1.09375 -1.703125q-0.703125 -0.53125 -1.78125 -0.53125q-1.234375 0 -2.0625 0.59375q-0.828125 0.59375 -1.171875 1.59375q-0.328125 1.0 -0.328125 2.0625q0 1.359375 0.390625 2.3906288q0.40625 1.015625 1.234375 1.53125q0.84375 0.5 1.828125 0.5q1.203125 0 2.03125 -0.6875q0.828125 -0.6875 1.109375 -2.0468788zm2.7249146 3.7656288l0 -10.734379l1.328125 0l0 10.734379l-1.328125 0zm2.8030396 -3.8906288q0 -2.15625 1.203125 -3.203125q1.0 -0.859375 2.4375 -0.859375q1.609375 0 2.625 1.046875q1.015625 1.046875 1.015625 2.90625q0 1.5000038 -0.453125 2.3593788q-0.4375 0.859375 -1.3125 1.34375q-0.859375 0.46875 -1.875 0.46875q-1.625 0 -2.640625 -1.046875q-1.0 -1.046875 -1.0 -3.0156288zm1.359375 0q0 1.5000038 0.640625 2.2500038q0.65625 0.734375 1.640625 0.734375q0.984375 0 1.640625 -0.75q0.65625 -0.75 0.65625 -2.2812538q0 -1.4375 -0.65625 -2.171875q-0.65625 -0.75 -1.640625 -0.75q-0.984375 0 -1.640625 0.734375q-0.640625 0.734375 -0.640625 2.234375zm7.276062 -5.3125l0 -1.53125l1.3125 0l0 1.53125l-1.3125 0zm-1.671875 12.218754l0.25 -1.125q0.390625 0.109375 0.625 0.109375q0.40625 0 0.59375 -0.265625q0.203125 -0.265625 0.203125 -1.34375l0 -8.171879l1.3125 0l0 8.203129q0 1.4375 -0.375 2.0q-0.46875 0.734375 -1.578125 0.734375q-0.53125 0 -1.03125 -0.140625zm10.037415 -3.015625l0 -1.140625q-0.921875 1.3125 -2.46875 1.3125q-0.6875 0 -1.296875 -0.265625q-0.59375 -0.265625 -0.890625 -0.65625q-0.28125 -0.40625 -0.390625 -0.984375q-0.09375 -0.375 -0.09375 -1.21875l0 -4.828129l1.328125 0l0 4.3125q0 1.0312538 0.078125 1.3906288q0.125 0.53125 0.515625 0.828125q0.40625 0.296875 1.0 0.296875q0.59375 0 1.109375 -0.296875q0.53125 -0.3125 0.75 -0.828125q0.21875 -0.53125 0.21875 -1.5312538l0 -4.171875l1.3125 0l0 7.781254l-1.171875 0zm3.026123 0l0 -7.781254l1.1875 0l0 1.1875q0.453125 -0.828125 0.84375 -1.09375q0.390625 -0.265625 0.84375 -0.265625q0.671875 0 1.359375 0.421875l-0.453125 1.21875q-0.484375 -0.28125 -0.96875 -0.28125q-0.4375 0 -0.78125 0.265625q-0.34375 0.25 -0.484375 0.71875q-0.21875 0.703125 -0.21875 1.53125l0 4.078129l-1.328125 0zm10.224365 -2.5l1.359375 0.15625q-0.3125 1.203125 -1.1875 1.859375q-0.875 0.65625 -2.234375 0.65625q-1.703125 0 -2.703125 -1.046875q-1.0 -1.046875 -1.0 -2.9531288q0 -1.953125 1.015625 -3.03125q1.015625 -1.09375 2.625 -1.09375q1.5625 0 2.546875 1.0625q0.984375 1.0625 0.984375 2.984375q0 0.125 0 0.359375l-5.8125 0q0.078125 1.2812538 0.71875 1.9687538q0.65625 0.671875 1.640625 0.671875q0.71875 0 1.234375 -0.375q0.515625 -0.390625 0.8125 -1.21875zm-4.328125 -2.1406288l4.34375 0q-0.09375 -0.984375 -0.5 -1.46875q-0.625 -0.765625 -1.625 -0.765625q-0.921875 0 -1.546875 0.609375q-0.609375 0.609375 -0.671875 1.625z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m655.07086 42.73491l0 0c0 -11.854553 16.710022 -21.464567 37.322815 -21.464567l0 0c20.612854 0 37.322876 9.610014 37.322876 21.464567l0 0c0 11.854553 -16.710022 21.46457 -37.322876 21.46457l0 0c-20.612793 0 -37.322815 -9.610016 -37.322815 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m655.07086 42.73491l0 0c0 -11.854553 16.710022 -21.464567 37.322815 -21.464567l0 0c20.612854 0 37.322876 9.610014 37.322876 21.464567l0 0c0 11.854553 -16.710022 21.46457 -37.322876 21.46457l0 0c-20.612793 0 -37.322815 -9.610016 -37.322815 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m688.8056 43.596157l0 -1.25l4.546875 -0.015625l0 3.984375q-1.046875 0.84375 -2.171875 1.265625q-1.109375 0.421875 -2.28125 0.421875q-1.578125 0 -2.875 -0.671875q-1.296875 -0.6875 -1.953125 -1.96875q-0.65625 -1.28125 -0.65625 -2.859375q0 -1.578125 0.65625 -2.9375q0.65625 -1.359375 1.890625 -2.015625q1.234375 -0.65625 2.828125 -0.65625q1.171875 0 2.109375 0.375q0.9375 0.375 1.46875 1.0625q0.546875 0.671875 0.8125 1.75l-1.28125 0.34375q-0.234375 -0.8125 -0.59375 -1.28125q-0.359375 -0.46875 -1.03125 -0.75q-0.65625 -0.28125 -1.46875 -0.28125q-0.984375 0 -1.703125 0.296875q-0.703125 0.296875 -1.140625 0.78125q-0.421875 0.484375 -0.671875 1.0625q-0.40625 1.0 -0.40625 2.15625q0 1.4375 0.484375 2.40625q0.5 0.96875 1.4375 1.4375q0.953125 0.46875 2.015625 0.46875q0.921875 0 1.796875 -0.359375q0.890625 -0.359375 1.34375 -0.765625l0 -2.0l-3.15625 0zm5.7125854 0.328125q0 -2.15625 1.203125 -3.203125q1.0 -0.859375 2.4375 -0.859375q1.609375 0 2.625 1.046875q1.015625 1.046875 1.015625 2.90625q0 1.5 -0.453125 2.359375q-0.4375 0.859375 -1.3125 1.34375q-0.859375 0.46875 -1.875 0.46875q-1.625 0 -2.640625 -1.046875q-1.0 -1.046875 -1.0 -3.015625zm1.359375 0q0 1.5 0.640625 2.25q0.65625 0.734375 1.640625 0.734375q0.984375 0 1.640625 -0.75q0.65625 -0.75 0.65625 -2.28125q0 -1.4375 -0.65625 -2.171875q-0.65625 -0.75 -1.640625 -0.75q-0.984375 0 -1.640625 0.734375q-0.640625 0.734375 -0.640625 2.234375z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m634.56696 230.72966l0 0c0 -11.854553 21.299927 -21.46457 47.574768 -21.46457l0 0c26.274841 0 47.57483 9.610016 47.57483 21.46457l0 0c0 11.854553 -21.299988 21.46457 -47.57483 21.46457l0 0c-26.274841 0 -47.574768 -9.610016 -47.574768 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m634.56696 230.72966l0 0c0 -11.854553 21.299927 -21.46457 47.574768 -21.46457l0 0c26.274841 0 47.57483 9.610016 47.57483 21.46457l0 0c0 11.854553 -21.299988 21.46457 -47.57483 21.46457l0 0c-26.274841 0 -47.574768 -9.610016 -47.574768 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m662.14636 235.80966l0 -10.734375l7.765625 0l0 1.265625l-6.34375 0l0 3.28125l5.9375 0l0 1.265625l-5.9375 0l0 3.65625l6.59375 0l0 1.265625l-8.015625 0zm9.556885 0l0 -7.78125l1.1875 0l0 1.1875q0.453125 -0.828125 0.84375 -1.09375q0.390625 -0.265625 0.84375 -0.265625q0.671875 0 1.359375 0.421875l-0.453125 1.21875q-0.484375 -0.28125 -0.96875 -0.28125q-0.4375 0 -0.78125 0.265625q-0.34375 0.25 -0.484375 0.71875q-0.21875 0.703125 -0.21875 1.53125l0 4.078125l-1.328125 0zm4.86499 0l0 -10.734375l1.328125 0l0 10.734375l-1.328125 0zm8.36554 -0.953125q-0.734375 0.609375 -1.40625 0.875q-0.671875 0.25 -1.453125 0.25q-1.28125 0 -1.96875 -0.625q-0.6875 -0.625 -0.6875 -1.59375q0 -0.578125 0.25 -1.046875q0.265625 -0.46875 0.6875 -0.75q0.421875 -0.296875 0.953125 -0.4375q0.375 -0.109375 1.171875 -0.203125q1.59375 -0.1875 2.34375 -0.453125q0.015625 -0.265625 0.015625 -0.34375q0 -0.8125 -0.375 -1.140625q-0.515625 -0.4375 -1.5 -0.4375q-0.9375 0 -1.390625 0.328125q-0.4375 0.3125 -0.640625 1.140625l-1.296875 -0.171875q0.171875 -0.828125 0.578125 -1.328125q0.40625 -0.515625 1.171875 -0.78125q0.765625 -0.28125 1.765625 -0.28125q1.0 0 1.609375 0.234375q0.625 0.234375 0.921875 0.59375q0.296875 0.34375 0.40625 0.890625q0.0625 0.34375 0.0625 1.21875l0 1.75q0 1.84375 0.078125 2.328125q0.09375 0.484375 0.34375 0.9375l-1.375 0q-0.203125 -0.40625 -0.265625 -0.953125zm-0.109375 -2.953125q-0.71875 0.296875 -2.15625 0.5q-0.8125 0.125 -1.15625 0.265625q-0.328125 0.140625 -0.515625 0.421875q-0.171875 0.28125 -0.171875 0.625q0 0.53125 0.390625 0.890625q0.40625 0.34375 1.171875 0.34375q0.765625 0 1.359375 -0.328125q0.59375 -0.34375 0.875 -0.921875q0.203125 -0.4375 0.203125 -1.3125l0 -0.484375zm3.182373 3.90625l0 -7.78125l1.1875 0l0 1.109375q0.859375 -1.28125 2.484375 -1.28125q0.703125 0 1.28125 0.25q0.59375 0.25 0.890625 0.671875q0.296875 0.40625 0.40625 0.96875q0.078125 0.359375 0.078125 1.28125l0 4.78125l-1.328125 0l0 -4.734375q0 -0.796875 -0.15625 -1.1875q-0.140625 -0.40625 -0.53125 -0.640625q-0.390625 -0.25 -0.921875 -0.25q-0.84375 0 -1.453125 0.53125q-0.609375 0.53125 -0.609375 2.03125l0 4.25l-1.328125 0zm7.916687 0.640625l1.28125 0.1875q0.078125 0.59375 0.4375 0.875q0.5 0.359375 1.34375 0.359375q0.921875 0 1.421875 -0.375q0.5 -0.359375 0.671875 -1.015625q0.09375 -0.40625 0.09375 -1.6875q-0.859375 1.015625 -2.15625 1.015625q-1.609375 0 -2.484375 -1.15625q-0.875 -1.15625 -0.875 -2.78125q0 -1.109375 0.40625 -2.046875q0.40625 -0.9375 1.15625 -1.453125q0.765625 -0.515625 1.8125 -0.515625q1.375 0 2.265625 1.109375l0 -0.9375l1.21875 0l0 6.71875q0 1.828125 -0.375 2.578125q-0.375 0.765625 -1.171875 1.203125q-0.796875 0.4375 -1.96875 0.4375q-1.390625 0 -2.25 -0.625q-0.859375 -0.625 -0.828125 -1.890625zm1.09375 -4.671875q0 1.53125 0.59375 2.234375q0.609375 0.703125 1.53125 0.703125q0.90625 0 1.515625 -0.6875q0.625 -0.703125 0.625 -2.203125q0 -1.421875 -0.640625 -2.140625q-0.625 -0.734375 -1.515625 -0.734375q-0.890625 0 -1.5 0.71875q-0.609375 0.703125 -0.609375 2.109375z" fill-rule="nonzero"></path></g></svg>
-
diff --git a/content/2014/gocon-tokyo/concurrency0.svg b/content/2014/gocon-tokyo/concurrency0.svg
deleted file mode 100644
index 1cab5d7..0000000
--- a/content/2014/gocon-tokyo/concurrency0.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-
-<svg version="1.1" viewBox="0.0 0.0 750.0 446.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l750.0 0l0 446.0l-750.0 0l0 -446.0z" clip-rule="nonzero"></path></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l750.96063 0l0 446.43045l-750.96063 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m7.88189 431.28348l735.33856 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m7.88189 431.28348l723.33856 0" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m731.22046 434.58694l9.076233 -3.3034668l-9.076233 -3.3034668z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m7.88189 431.28348l0 -427.43307" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m7.88189 431.28348l0 -415.43307" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m11.185354 15.850393l-3.3034644 -9.076195l-3.303465 9.076195z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m198.65747 381.08594l330.80316 0l0 37.385834l-330.80316 0z" fill-rule="nonzero"></path><path fill="#000000" d="m270.55606 408.00595l0 -13.59375l5.109375 0q1.546875 0 2.484375 0.40625q0.953125 0.40625 1.484375 1.265625q0.53125 0.859375 0.53125 1.796875q0 0.875 -0.46875 1.65625q-0.46875 0.765625 -1.4375 1.234375q1.234375 0.359375 1.890625 1.234375q0.671875 0.875 0.671875 2.0625q0 0.953125 -0.40625 1.78125q-0.390625 0.8125 -0.984375 1.265625q-0.59375 0.4375 -1.5 0.671875q-0.890625 0.21875 -2.1875 0.21875l-5.1875 0zm1.796875 -7.890625l2.9375 0q1.203125 0 1.71875 -0.15625q0.6875 -0.203125 1.03125 -0.671875q0.359375 -0.46875 0.359375 -1.1875q0 -0.671875 -0.328125 -1.1875q-0.328125 -0.515625 -0.9375 -0.703125q-0.59375 -0.203125 -2.0625 -0.203125l-2.71875 0l0 4.109375zm0 6.28125l3.390625 0q0.875 0 1.21875 -0.0625q0.625 -0.109375 1.046875 -0.359375q0.421875 -0.265625 0.6875 -0.765625q0.265625 -0.5 0.265625 -1.140625q0 -0.765625 -0.390625 -1.328125q-0.390625 -0.5625 -1.078125 -0.78125q-0.6875 -0.234375 -1.984375 -0.234375l-3.15625 0l0 4.671875zm17.256073 -1.5625l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm15.547577 4.65625q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm10.531982 4.9375l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm7.578827 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm1.5426941 -10.1875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm4.535431 0l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm11.230194 0l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm3.891327 0l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm4.6135864 0l0 -1.90625l1.90625 0l0 1.90625q0 1.046875 -0.375 1.6875q-0.375 0.65625 -1.171875 1.0l-0.46875 -0.71875q0.53125 -0.21875 0.78125 -0.671875q0.25 -0.453125 0.28125 -1.296875l-0.953125 0zm9.257233 -2.9375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm13.65625 1.4375l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm1.5114136 1.5l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm12.665802 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.0944824 -6.75l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm3.832306 0.8125l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.265625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875zm9.297607 5.109375l0 -13.59375l1.671875 0l0 4.875q1.171875 -1.359375 2.953125 -1.359375q1.09375 0 1.890625 0.4375q0.8125 0.421875 1.15625 1.1875q0.359375 0.765625 0.359375 2.203125l0 6.25l-1.671875 0l0 -6.25q0 -1.25 -0.546875 -1.8125q-0.546875 -0.578125 -1.53125 -0.578125q-0.75 0 -1.40625 0.390625q-0.640625 0.375 -0.921875 1.046875q-0.28125 0.65625 -0.28125 1.8125l0 5.390625l-1.671875 0zm14.031952 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm13.147858 -2.109375l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.265625 -1.3125q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm15.672607 4.921875l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm16.016327 1.75l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m7.8825555 368.01315l0 -299.0551l41.322834 0l0 299.0551z" fill-rule="nonzero"></path><path fill="#000000" d="m34.802555 303.5668l-13.593752 0l0 -9.84375l1.59375 0l0 8.046875l4.171875 0l0 -7.53125l1.59375 0l0 7.53125l4.625002 0l0 -8.359375l1.609375 0l0 10.15625zm0 -12.599823l-8.546877 0l0 1.484375l-1.3125 0l0 -1.484375l-1.046875 0q-0.984375 0 -1.46875 -0.171875q-0.65625 -0.234375 -1.046875 -0.84375q-0.40625 -0.609375 -0.40625 -1.703125q0 -0.703125 0.15625 -1.5625l1.46875 0.25q-0.09375 0.515625 -0.09375 0.984375q0 0.765625 0.328125 1.078125q0.3125 0.3125 1.203125 0.3125l0.90625 0l0 -1.921875l1.3125 0l0 1.921875l8.546877 0l0 1.65625zm0 -5.1832886l-8.546877 0l0 1.484375l-1.3125 0l0 -1.484375l-1.046875 0q-0.984375 0 -1.46875 -0.171875q-0.65625 -0.234375 -1.046875 -0.84375q-0.40625 -0.609375 -0.40625 -1.703125q0 -0.703125 0.15625 -1.5625l1.46875 0.25q-0.09375 0.515625 -0.09375 0.984375q0 0.765625 0.328125 1.078125q0.3125 0.3125 1.203125 0.3125l0.90625 0l0 -1.921875l1.3125 0l0 1.921875l8.546877 0l0 1.65625zm-11.687502 -4.792694l-1.90625 0l0 -1.671875l1.90625 0l0 1.671875zm11.687502 0l-9.859377 0l0 -1.671875l9.859377 0l0 1.671875zm-3.609377 -10.566681l0.21875 -1.640625q1.6875019 0.265625 2.656252 1.375q0.953125 1.109375 0.953125 2.734375q0 2.015625 -1.3125 3.25q-1.328125 1.21875 -3.796877 1.21875q-1.59375 0 -2.78125 -0.515625q-1.203125 -0.53125 -1.796875 -1.609375q-0.609375 -1.09375 -0.609375 -2.359375q0 -1.609375 0.8125 -2.625q0.8125 -1.015625 2.3125 -1.3125l0.25 1.625q-1.0 0.234375 -1.5 0.828125q-0.5 0.59375 -0.5 1.421875q0 1.265625 0.90625 2.0625q0.90625 0.78125 2.859375 0.78125q1.984375 0 2.890627 -0.765625q0.890625 -0.765625 0.890625 -1.984375q0 -0.984375 -0.59375 -1.640625q-0.609375 -0.65625 -1.8593769 -0.84375zm-8.078125 -2.90625l-1.90625 0l0 -1.671875l1.90625 0l0 1.671875zm11.687502 0l-9.859377 0l0 -1.671875l9.859377 0l0 1.671875zm-3.171877 -10.879211l0.21875 -1.71875q1.5000019 0.40625 2.343752 1.515625q0.828125 1.09375 0.828125 2.8125q0 2.15625 -1.328125 3.421875q-1.328125 1.265625 -3.734377 1.265625q-2.484375 0 -3.859375 -1.265625q-1.375 -1.28125 -1.375 -3.328125q0 -1.984375 1.34375 -3.234375q1.34375 -1.25 3.796875 -1.25q0.140625 0 0.4375 0.015625l0 7.34375q1.625 -0.09375 2.484377 -0.921875q0.859375 -0.828125 0.859375 -2.0625q0 -0.90625 -0.46875 -1.546875q-0.484375 -0.65625 -1.5468769 -1.046875zm-2.703125 5.484375l0 -5.5q-1.234375 0.109375 -1.859375 0.625q-0.96875 0.796875 -0.96875 2.078125q0 1.140625 0.78125 1.9375q0.765625 0.78125 2.046875 0.859375zm5.875002 -9.110092l-9.859377 0l0 -1.5l1.40625 0q-1.625 -1.09375 -1.625 -3.140625q0 -0.890625 0.328125 -1.640625q0.3125 -0.75 0.84375 -1.109375q0.515625 -0.375 1.21875 -0.53125q0.46875 -0.09375 1.625 -0.09375l6.062502 0l0 1.671875l-6.000002 0q-1.015625 0 -1.515625 0.203125q-0.515625 0.1875 -0.8125 0.6875q-0.296875 0.5 -0.296875 1.171875q0 1.0625 0.671875 1.84375q0.671875 0.765625 2.578125 0.765625l5.375002 0l0 1.671875zm-1.5 -14.031967l1.484375 -0.234375q0.140625 0.703125 0.140625 1.265625q0 0.90625 -0.28125 1.40625q-0.296875 0.5 -0.75 0.703125q-0.46875 0.203125 -1.9843769 0.203125l-5.65625 0l0 1.234375l-1.3125 0l0 -1.234375l-2.4375 0l-1.0 -1.65625l3.4375 0l0 -1.6875l1.3125 0l0 1.6875l5.750002 0q0.71875 0 0.921875 -0.078125q0.203125 -0.09375 0.328125 -0.296875q0.125 -0.203125 0.125 -0.578125q0 -0.265625 -0.078125 -0.734375zm-2.109377 -13.147858l0.21875 -1.640625q1.6875019 0.265625 2.656252 1.375q0.953125 1.109375 0.953125 2.734375q0 2.015625 -1.3125 3.25q-1.328125 1.21875 -3.796877 1.21875q-1.59375 0 -2.78125 -0.515625q-1.203125 -0.53125 -1.796875 -1.609375q-0.609375 -1.09375 -0.609375 -2.359375q0 -1.609375 0.8125 -2.625q0.8125 -1.015625 2.3125 -1.3125l0.25 1.625q-1.0 0.234375 -1.5 0.828125q-0.5 0.59375 -0.5 1.421875q0 1.265625 0.90625 2.0625q0.90625 0.78125 2.859375 0.78125q1.984375 0 2.890627 -0.765625q0.890625 -0.765625 0.890625 -1.984375q0 -0.984375 -0.59375 -1.640625q-0.609375 -0.65625 -1.8593769 -0.84375zm-1.3125 -2.265625q-2.734375 0 -4.0625 -1.53125q-1.09375 -1.265625 -1.09375 -3.09375q0 -2.03125 1.34375 -3.3125q1.328125 -1.296875 3.671875 -1.296875q1.90625 0 3.000002 0.578125q1.078125 0.5625 1.6875 1.65625q0.59375 1.078125 0.59375 2.375q0 2.0625 -1.328125 3.34375q-1.328125 1.28125 -3.812502 1.28125zm0 -1.71875q1.890625 0 2.828127 -0.828125q0.9375 -0.828125 0.9375 -2.078125q0 -1.25 -0.9375 -2.0625q-0.9531269 -0.828125 -2.890627 -0.828125q-1.828125 0 -2.765625 0.828125q-0.9375 0.828125 -0.9375 2.0625q0 1.25 0.9375 2.078125q0.9375 0.828125 2.828125 0.828125zm4.921877 -9.281952l-9.859377 0l0 -1.5l1.40625 0q-1.625 -1.09375 -1.625 -3.140625q0 -0.890625 0.328125 -1.640625q0.3125 -0.75 0.84375 -1.109375q0.515625 -0.375 1.21875 -0.53125q0.46875 -0.09375 1.625 -0.09375l6.062502 0l0 1.671875l-6.000002 0q-1.015625 0 -1.515625 0.203125q-0.515625 0.1875 -0.8125 0.6875q-0.296875 0.5 -0.296875 1.171875q0 1.0625 0.671875 1.84375q0.671875 0.765625 2.578125 0.765625l5.375002 0l0 1.671875zm-3.609377 -16.813232l0.21875 -1.640625q1.6875019 0.265625 2.656252 1.375q0.953125 1.109375 0.953125 2.734375q0 2.015625 -1.3125 3.25q-1.328125 1.21875 -3.796877 1.21875q-1.59375 0 -2.78125 -0.515625q-1.203125 -0.53125 -1.796875 -1.609375q-0.609375 -1.09375 -0.609375 -2.359375q0 -1.609375 0.8125 -2.625q0.8125 -1.015625 2.3125 -1.3125l0.25 1.625q-1.0 0.234375 -1.5 0.828125q-0.5 0.59375 -0.5 1.421875q0 1.265625 0.90625 2.0625q0.90625 0.78125 2.859375 0.78125q1.984375 0 2.890627 -0.765625q0.890625 -0.765625 0.890625 -1.984375q0 -0.984375 -0.59375 -1.640625q-0.609375 -0.65625 -1.8593769 -0.84375zm3.609377 -9.34375l-1.453125 0q1.671875 1.140625 1.671875 3.125q0 0.859375 -0.328125 1.625q-0.34375 0.75 -0.84375 1.125q-0.5 0.359375 -1.234375 0.515625q-0.5 0.09375 -1.5625019 0.09375l-6.109375 0l0 -1.671875l5.46875 0q1.3125 0 1.7656269 -0.09375q0.65625 -0.15625 1.03125 -0.671875q0.375 -0.515625 0.375 -1.265625q0 -0.75 -0.375 -1.40625q-0.390625 -0.65625 -1.046875 -0.921875q-0.6718769 -0.28125 -1.9375019 -0.28125l-5.28125 0l0 -1.671875l9.859377 0l0 1.5zm0 -3.906952l-9.859377 0l0 -1.5l1.5 0q-1.046875 -0.578125 -1.375 -1.0625q-0.34375 -0.484375 -0.34375 -1.078125q0 -0.84375 0.546875 -1.71875l1.546875 0.578125q-0.359375 0.609375 -0.359375 1.234375q0 0.546875 0.328125 0.984375q0.328125 0.421875 0.90625 0.609375q0.890625 0.28125 1.953125 0.28125l5.156252 0l0 1.671875zm0 -6.212677l-9.859377 0l0 -1.5l1.5 0q-1.046875 -0.578125 -1.375 -1.0625q-0.34375 -0.484375 -0.34375 -1.078125q0 -0.84375 0.546875 -1.71875l1.546875 0.578125q-0.359375 0.609375 -0.359375 1.234375q0 0.546875 0.328125 0.984375q0.328125 0.421875 0.90625 0.609375q0.890625 0.28125 1.953125 0.28125l5.156252 0l0 1.671875zm-3.171877 -12.978302l0.21875 -1.71875q1.5000019 0.40625 2.343752 1.515625q0.828125 1.09375 0.828125 2.8125q0 2.15625 -1.328125 3.421875q-1.328125 1.265625 -3.734377 1.265625q-2.484375 0 -3.859375 -1.265625q-1.375 -1.28125 -1.375 -3.328125q0 -1.984375 1.34375 -3.234375q1.34375 -1.25 3.796875 -1.25q0.140625 0 0.4375 0.015625l0 7.34375q1.625 -0.09375 2.484377 -0.921875q0.859375 -0.828125 0.859375 -2.0625q0 -0.90625 -0.46875 -1.546875q-0.484375 -0.65625 -1.5468769 -1.046875zm-2.703125 5.484375l0 -5.5q-1.234375 0.109375 -1.859375 0.625q-0.96875 0.796875 -0.96875 2.078125q0 1.140625 0.78125 1.9375q0.765625 0.78125 2.046875 0.859375zm5.875002 -9.110107l-9.859377 0l0 -1.5l1.40625 0q-1.625 -1.09375 -1.625 -3.140625q0 -0.890625 0.328125 -1.640625q0.3125 -0.75 0.84375 -1.109375q0.515625 -0.375 1.21875 -0.53125q0.46875 -0.09375 1.625 -0.09375l6.062502 0l0 1.671875l-6.000002 0q-1.015625 0 -1.515625 0.203125q-0.515625 0.1875 -0.8125 0.6875q-0.296875 0.5 -0.296875 1.171875q0 1.0625 0.671875 1.84375q0.671875 0.765625 2.578125 0.765625l5.375002 0l0 1.671875zm-3.609377 -16.813202l0.21875 -1.640625q1.6875019 0.265625 2.656252 1.375q0.953125 1.109375 0.953125 2.734375q0 2.015625 -1.3125 3.25q-1.328125 1.21875 -3.796877 1.21875q-1.59375 0 -2.78125 -0.515625q-1.203125 -0.53125 -1.796875 -1.609375q-0.609375 -1.09375 -0.609375 -2.359375q0 -1.609375 0.8125 -2.625q0.8125 -1.015625 2.3125 -1.3125l0.25 1.625q-1.0 0.234375 -1.5 0.828125q-0.5 0.59375 -0.5 1.421875q0 1.265625 0.90625 2.0625q0.90625 0.78125 2.859375 0.78125q1.984375 0 2.890627 -0.765625q0.890625 -0.765625 0.890625 -1.984375q0 -0.984375 -0.59375 -1.640625q-0.609375 -0.65625 -1.8593769 -0.84375zm7.406252 -2.8125l-1.5625 0.171875q0.140625 -0.546875 0.140625 -0.953125q0 -0.546875 -0.1875 -0.875q-0.1875 -0.34375 -0.515625 -0.5625q-0.25 -0.15625 -1.25 -0.5q-0.140625 -0.046875 -0.40625 -0.15625l-9.875002 3.734375l0 -1.796875l5.71875 -2.046875q1.078125 -0.40625 2.281252 -0.71875q-1.1562519 -0.28125 -2.250002 -0.6875l-5.75 -2.09375l0 -1.671875l10.031252 3.75q1.625 0.59375 2.234375 0.9375q0.828125 0.4375 1.203125 1.015625q0.390625 0.578125 0.390625 1.375q0 0.484375 -0.203125 1.078125z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m11.692741 31.321877l0 0c0 -11.854553 14.016661 -21.464567 31.307087 -21.464567l0 0c17.290424 0 31.307087 9.610014 31.307087 21.464567l0 0c0 11.854553 -14.016663 21.464565 -31.307087 21.464565l0 0c-17.290426 0 -31.307087 -9.610012 -31.307087 -21.464565z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m11.692741 31.321877l0 0c0 -11.854553 14.016661 -21.464567 31.307087 -21.464567l0 0c17.290424 0 31.307087 9.610014 31.307087 21.464567l0 0c0 11.854553 -14.016663 21.464565 -31.307087 21.464565l0 0c-17.290426 0 -31.307087 -9.610012 -31.307087 -21.464565z" fill-rule="nonzero"></path><path fill="#000000" d="m46.52019 32.63625l1.421875 0.359375q-0.4375 1.75 -1.609375 2.671875q-1.15625 0.921875 -2.828125 0.921875q-1.734375 0 -2.828125 -0.703125q-1.09375 -0.71875 -1.65625 -2.046875q-0.5625 -1.34375 -0.5625 -2.890623q0 -1.671875 0.640625 -2.921875q0.640625 -1.25 1.8125 -1.890625q1.1875 -0.65625 2.609375 -0.65625q1.609375 0 2.703125 0.828125q1.109375 0.8125 1.546875 2.296875l-1.40625 0.328125q-0.375 -1.171875 -1.09375 -1.703125q-0.703125 -0.53125 -1.78125 -0.53125q-1.234375 0 -2.0625 0.59375q-0.828125 0.59375 -1.171875 1.59375q-0.328125 1.0 -0.328125 2.0625q0 1.3593731 0.390625 2.390623q0.40625 1.015625 1.234375 1.53125q0.84375 0.5 1.828125 0.5q1.203125 0 2.03125 -0.6875q0.828125 -0.6875 1.109375 -2.046875z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m62.79527 31.322834l0 0c0 -11.854553 15.715862 -21.464565 35.10236 -21.464565l0 0c19.386505 0 35.10237 9.610013 35.10237 21.464565l0 0c0 11.854553 -15.715866 21.46457 -35.10237 21.46457l0 0c-19.386497 0 -35.10236 -9.610016 -35.10236 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m62.79527 31.322834l0 0c0 -11.854553 15.715862 -21.464565 35.10236 -21.464565l0 0c19.386505 0 35.10237 9.610013 35.10237 21.464565l0 0c0 11.854553 -15.715866 21.46457 -35.10237 21.46457l0 0c-19.386497 0 -35.10236 -9.610016 -35.10236 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m92.85897 32.637207l1.421875 0.359375q-0.4375 1.75 -1.609375 2.671875q-1.15625 0.921875 -2.828125 0.921875q-1.734375 0 -2.828125 -0.703125q-1.09375 -0.71875 -1.65625 -2.046875q-0.5625 -1.34375 -0.5625 -2.890623q0 -1.671875 0.640625 -2.921875q0.640625 -1.25 1.8125 -1.890625q1.1875 -0.65625 2.609375 -0.65625q1.609375 0 2.703125 0.828125q1.109375 0.8125 1.546875 2.296875l-1.40625 0.328125q-0.375 -1.171875 -1.09375 -1.703125q-0.703125 -0.53125 -1.78125 -0.53125q-1.234375 0 -2.0625 0.59375q-0.828125 0.59375 -1.171875 1.59375q-0.328125 1.0 -0.328125 2.0625q0 1.3593731 0.390625 2.390623q0.40625 1.015625 1.234375 1.53125q0.84375 0.5 1.828125 0.5q1.203125 0 2.03125 -0.6875q0.828125 -0.6875 1.109375 -2.046875zm5.5217743 2.03125l0 -2.953123l-2.921875 0l0 -1.21875l2.921875 0l0 -2.921875l1.25 0l0 2.921875l2.921875 0l0 1.21875l-2.921875 0l0 2.953123l-1.25 0zm8.559021 0l0 -2.953123l-2.921875 0l0 -1.21875l2.921875 0l0 -2.921875l1.25 0l0 2.921875l2.921875 0l0 1.21875l-2.921875 0l0 2.953123l-1.25 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m42.879677 405.65063l0 0c0 -11.854553 18.00732 -21.46457 40.220474 -21.46457l0 0c22.21315 0 40.220474 9.610016 40.220474 21.46457l0 0c0 11.854553 -18.007324 21.46457 -40.220474 21.46457l0 0c-22.213154 0 -40.220474 -9.610016 -40.220474 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m42.879677 405.65063l0 0c0 -11.854553 18.00732 -21.46457 40.220474 -21.46457l0 0c22.21315 0 40.220474 9.610016 40.220474 21.46457l0 0c0 11.854553 -18.007324 21.46457 -40.220474 21.46457l0 0c-22.213154 0 -40.220474 -9.610016 -40.220474 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m67.16472 410.73065l0 -10.734375l4.765625 0q1.4375 0 2.1875 0.296875q0.75 0.28125 1.1875 1.015625q0.453125 0.734375 0.453125 1.609375q0 1.140625 -0.75 1.9375q-0.734375 0.78125 -2.28125 0.984375q0.5625 0.28125 0.859375 0.546875q0.625 0.5625 1.1875 1.421875l1.859375 2.921875l-1.78125 0l-1.421875 -2.234375q-0.625 -0.96875 -1.03125 -1.46875q-0.40625 -0.515625 -0.71875 -0.71875q-0.3125 -0.21875 -0.640625 -0.296875q-0.25 -0.046875 -0.796875 -0.046875l-1.65625 0l0 4.765625l-1.421875 0zm1.421875 -6.0l3.0625 0q0.96875 0 1.515625 -0.203125q0.5625 -0.203125 0.84375 -0.640625q0.28125 -0.4375 0.28125 -0.96875q0 -0.75 -0.5625 -1.234375q-0.546875 -0.5 -1.734375 -0.5l-3.40625 0l0 3.546875zm14.084274 6.0l0 -1.140625q-0.921875 1.3125 -2.46875 1.3125q-0.6875 0 -1.296875 -0.265625q-0.59375 -0.265625 -0.890625 -0.65625q-0.28125 -0.40625 -0.390625 -0.984375q-0.09375 -0.375 -0.09375 -1.21875l0 -4.828125l1.328125 0l0 4.3125q0 1.03125 0.078125 1.390625q0.125 0.53125 0.515625 0.828125q0.40625 0.296875 1.0 0.296875q0.59375 0 1.109375 -0.296875q0.53125 -0.3125 0.75 -0.828125q0.21875 -0.53125 0.21875 -1.53125l0 -4.171875l1.3125 0l0 7.78125l-1.171875 0zm4.260483 0l-1.21875 0l0 -10.734375l1.3125 0l0 3.828125q0.84375 -1.046875 2.140625 -1.046875q0.71875 0 1.359375 0.296875q0.640625 0.28125 1.046875 0.8125q0.421875 0.515625 0.65625 1.265625q0.234375 0.734375 0.234375 1.578125q0 2.0 -1.0 3.09375q-0.984375 1.078125 -2.375 1.078125q-1.375 0 -2.15625 -1.140625l0 0.96875zm-0.015625 -3.953125q0 1.40625 0.390625 2.03125q0.609375 1.015625 1.671875 1.015625q0.875 0 1.5 -0.75q0.625 -0.75 0.625 -2.234375q0 -1.53125 -0.609375 -2.25q-0.59375 -0.734375 -1.453125 -0.734375q-0.859375 0 -1.5 0.75q-0.625 0.75 -0.625 2.171875zm6.901108 6.953125l-0.15625 -1.234375q0.4375 0.109375 0.75 0.109375q0.453125 0 0.703125 -0.15625q0.265625 -0.140625 0.4375 -0.40625q0.125 -0.1875 0.40625 -0.96875q0.03125 -0.109375 0.109375 -0.328125l-2.953125 -7.796875l1.421875 0l1.625 4.5q0.3125 0.859375 0.5625 1.8125q0.234375 -0.90625 0.546875 -1.78125l1.65625 -4.53125l1.328125 0l-2.96875 7.90625q-0.46875 1.28125 -0.734375 1.765625q-0.359375 0.65625 -0.8125 0.953125q-0.453125 0.3125 -1.078125 0.3125q-0.375 0 -0.84375 -0.15625z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m62.79522 366.1942l0 0c0 -11.854553 21.299965 -21.46457 47.5748 -21.46457l0 0c26.274834 0 47.574806 9.610016 47.574806 21.46457l0 0c0 11.854553 -21.299973 21.46457 -47.574806 21.46457l0 0c-26.274834 0 -47.5748 -9.610016 -47.5748 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m62.79522 366.1942l0 0c0 -11.854553 21.299965 -21.46457 47.5748 -21.46457l0 0c26.274834 0 47.574806 9.610016 47.574806 21.46457l0 0c0 11.854553 -21.299973 21.46457 -47.574806 21.46457l0 0c-26.274834 0 -47.5748 -9.610016 -47.5748 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m88.711754 371.27423l0 -10.734375l4.046875 0q1.078125 0 1.640625 0.09375q0.78125 0.140625 1.3125 0.515625q0.546875 0.359375 0.875 1.03125q0.328125 0.65625 0.328125 1.46875q0 1.359375 -0.875 2.3125q-0.875 0.953125 -3.15625 0.953125l-2.75 0l0 4.359375l-1.421875 0zm1.421875 -5.625l2.78125 0q1.375 0 1.953125 -0.515625q0.578125 -0.515625 0.578125 -1.453125q0 -0.671875 -0.34375 -1.140625q-0.34375 -0.484375 -0.890625 -0.640625q-0.359375 -0.09375 -1.328125 -0.09375l-2.75 0l0 3.84375zm8.134979 8.625l-0.15625 -1.234375q0.4375 0.109375 0.75 0.109375q0.453125 0 0.703125 -0.15625q0.265625 -0.140625 0.4375 -0.40625q0.125 -0.1875 0.40625 -0.96875q0.03125 -0.109375 0.109375 -0.328125l-2.953125 -7.796875l1.421875 0l1.625 4.5q0.3125 0.859375 0.5625 1.8125q0.234375 -0.90625 0.546875 -1.78125l1.65625 -4.53125l1.328125 0l-2.96875 7.90625q-0.46875 1.28125 -0.734375 1.765625q-0.359375 0.65625 -0.8125 0.953125q-0.453125 0.3125 -1.078125 0.3125q-0.375 0 -0.84375 -0.15625zm10.265625 -4.171875l0.1875 1.15625q-0.5625 0.125 -1.0 0.125q-0.71875 0 -1.125 -0.234375q-0.390625 -0.234375 -0.546875 -0.59375q-0.15625 -0.375 -0.15625 -1.5625l0 -4.46875l-0.96875 0l0 -1.03125l0.96875 0l0 -1.921875l1.3125 -0.796875l0 2.71875l1.328125 0l0 1.03125l-1.328125 0l0 4.546875q0 0.5625 0.0625 0.734375q0.078125 0.15625 0.234375 0.25q0.15625 0.09375 0.4375 0.09375q0.234375 0 0.59375 -0.046875zm1.1813507 1.171875l0 -10.734375l1.328125 0l0 3.84375q0.921875 -1.0625 2.328125 -1.0625q0.859375 0 1.5 0.34375q0.640625 0.34375 0.90625 0.9375q0.28125 0.59375 0.28125 1.75l0 4.921875l-1.328125 0l0 -4.921875q0 -1.0 -0.421875 -1.4375q-0.421875 -0.453125 -1.21875 -0.453125q-0.578125 0 -1.09375 0.296875q-0.515625 0.296875 -0.734375 0.828125q-0.21875 0.515625 -0.21875 1.4375l0 4.25l-1.328125 0zm7.666733 -3.890625q0 -2.15625 1.203125 -3.203125q1.0 -0.859375 2.4375 -0.859375q1.609375 0 2.625 1.046875q1.015625 1.046875 1.015625 2.90625q0 1.5 -0.453125 2.359375q-0.4375 0.859375 -1.3125 1.34375q-0.859375 0.46875 -1.875 0.46875q-1.625 0 -2.640625 -1.046875q-1.0 -1.046875 -1.0 -3.015625zm1.359375 0q0 1.5 0.640625 2.25q0.65625 0.734375 1.640625 0.734375q0.984375 0 1.640625 -0.75q0.65625 -0.75 0.65625 -2.28125q0 -1.4375 -0.65625 -2.171875q-0.65625 -0.75 -1.640625 -0.75q-0.984375 0 -1.640625 0.734375q-0.640625 0.734375 -0.640625 2.234375zm7.276108 3.890625l0 -7.78125l1.1875 0l0 1.109375q0.8593826 -1.28125 2.4843826 -1.28125q0.703125 0 1.28125 0.25q0.59375 0.25 0.890625 0.671875q0.296875 0.40625 0.40625 0.96875q0.078125 0.359375 0.078125 1.28125l0 4.78125l-1.328125 0l0 -4.734375q0 -0.796875 -0.15625 -1.1875q-0.140625 -0.40625 -0.53125 -0.640625q-0.390625 -0.25 -0.921875 -0.25q-0.84375 0 -1.4531326 0.53125q-0.609375 0.53125 -0.609375 2.03125l0 4.25l-1.328125 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m12.472783 340.2766l0 0c0 -11.854553 18.007317 -21.464539 40.220474 -21.464539l0 0c22.213154 0 40.22047 9.609985 40.22047 21.464539l0 0c0 11.854553 -18.007317 21.46457 -40.22047 21.46457l0 0c-22.213156 0 -40.220474 -9.610016 -40.220474 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m12.472783 340.2766l0 0c0 -11.854553 18.007317 -21.464539 40.220474 -21.464539l0 0c22.213154 0 40.22047 9.609985 40.22047 21.464539l0 0c0 11.854553 -18.007317 21.46457 -40.22047 21.46457l0 0c-22.213156 0 -40.220474 -9.610016 -40.220474 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m44.57889 342.30975l1.28125 -0.171875q0.046875 1.21875 0.453125 1.6875q0.40625 0.453125 1.140625 0.453125q0.53125 0 0.921875 -0.25q0.390625 -0.25 0.53125 -0.671875q0.15625 -0.421875 0.15625 -1.34375l0 -7.390625l1.40625 0l0 7.3125q0 1.34375 -0.328125 2.09375q-0.3125 0.734375 -1.03125 1.125q-0.703125 0.390625 -1.65625 0.390625q-1.40625 0 -2.15625 -0.8125q-0.75 -0.8125 -0.71875 -2.421875zm7.5625 -0.40625l1.34375 -0.109375q0.09375 0.796875 0.4375 1.3125q0.359375 0.515625 1.078125 0.84375q0.734375 0.3125 1.65625 0.3125q0.8125 0 1.4375 -0.234375q0.625 -0.25 0.921875 -0.671875q0.3125 -0.421875 0.3125 -0.921875q0 -0.5 -0.296875 -0.875q-0.296875 -0.375 -0.96875 -0.640625q-0.4375 -0.15625 -1.921875 -0.515625q-1.46875 -0.359375 -2.0625 -0.671875q-0.765625 -0.40625 -1.15625 -1.0q-0.375 -0.59375 -0.375 -1.34375q0 -0.8125 0.453125 -1.515625q0.46875 -0.703125 1.359375 -1.0625q0.890625 -0.375 1.96875 -0.375q1.203125 0 2.109375 0.390625q0.90625 0.375 1.390625 1.125q0.5 0.75 0.546875 1.6875l-1.375 0.109375q-0.109375 -1.015625 -0.75 -1.53125q-0.625 -0.53125 -1.859375 -0.53125q-1.28125 0 -1.875 0.484375q-0.59375 0.46875 -0.59375 1.125q0 0.578125 0.421875 0.953125q0.40625 0.375 2.140625 0.765625q1.734375 0.390625 2.375 0.6875q0.9375 0.4375 1.375 1.109375q0.453125 0.65625 0.453125 1.515625q0 0.859375 -0.5 1.625q-0.484375 0.75 -1.40625 1.171875q-0.90625 0.421875 -2.0625 0.421875q-1.453125 0 -2.4375 -0.421875q-0.984375 -0.4375 -1.546875 -1.28125q-0.5625 -0.859375 -0.59375 -1.9375z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m28.561682 62.385826l0 0c0 -11.854553 16.710005 -21.464565 37.32283 -21.464565l0 0c20.612839 0 37.322838 9.610012 37.322838 21.464565l0 0c0 11.854553 -16.71 21.46457 -37.322838 21.46457l0 0c-20.612827 0 -37.32283 -9.610016 -37.32283 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m28.561682 62.385826l0 0c0 -11.854553 16.710005 -21.464565 37.32283 -21.464565l0 0c20.612839 0 37.322838 9.610012 37.322838 21.464565l0 0c0 11.854553 -16.71 21.46457 -37.322838 21.46457l0 0c-20.612827 0 -37.32283 -9.610016 -37.32283 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m50.842785 64.41895l1.28125 -0.171875q0.046875 1.21875 0.453125 1.6875q0.40625 0.453125 1.140625 0.453125q0.53125 0 0.921875 -0.25q0.390625 -0.25 0.53125 -0.671875q0.15625 -0.421875 0.15625 -1.34375l0 -7.390629l1.40625 0l0 7.312504q0 1.34375 -0.328125 2.09375q-0.3125 0.734375 -1.03125 1.125q-0.703125 0.390625 -1.65625 0.390625q-1.40625 0 -2.15625 -0.8125q-0.75 -0.8125 -0.71875 -2.421875zm12.953125 2.09375q-0.734375 0.609375 -1.40625 0.875q-0.671875 0.25 -1.453125 0.25q-1.28125 0 -1.96875 -0.625q-0.6875 -0.625 -0.6875 -1.59375q0 -0.578125 0.25 -1.046875q0.265625 -0.4687538 0.6875 -0.7500038q0.421875 -0.296875 0.953125 -0.4375q0.375 -0.109375 1.171875 -0.203125q1.59375 -0.1875 2.34375 -0.453125q0.015625 -0.265625 0.015625 -0.34375q0 -0.8125 -0.375 -1.140625q-0.515625 -0.4375 -1.5 -0.4375q-0.9375 0 -1.390625 0.328125q-0.4375 0.3125 -0.640625 1.140625l-1.296875 -0.171875q0.171875 -0.828125 0.578125 -1.328125q0.40625 -0.515625 1.171875 -0.78125q0.765625 -0.28125 1.765625 -0.28125q1.0 0 1.609375 0.234375q0.6249962 0.234375 0.9218712 0.59375q0.296875 0.34375 0.40625 0.890625q0.0625 0.34375 0.0625 1.21875l0 1.7500038q0 1.84375 0.078125 2.328125q0.09375 0.484375 0.34375 0.9375l-1.375 0q-0.20312119 -0.40625 -0.2656212 -0.953125zm-0.109375 -2.9531288q-0.71875 0.296875 -2.15625 0.5000038q-0.8125 0.125 -1.15625 0.265625q-0.328125 0.140625 -0.515625 0.421875q-0.171875 0.28125 -0.171875 0.625q0 0.53125 0.390625 0.890625q0.40625 0.34375 1.171875 0.34375q0.765625 0 1.359375 -0.328125q0.59375 -0.34375 0.875 -0.921875q0.203125 -0.4375 0.203125 -1.3125l0 -0.4843788zm5.354229 3.9062538l-2.96875 -7.781254l1.390625 0l1.671875 4.656254q0.265625 0.765625 0.5 1.578125q0.171875 -0.625 0.484375 -1.484375l1.734375 -4.750004l1.359375 0l-2.953125 7.781254l-1.21875 0zm10.234375 -0.953125q-0.734375 0.609375 -1.40625 0.875q-0.671875 0.25 -1.453125 0.25q-1.28125 0 -1.96875 -0.625q-0.6875 -0.625 -0.6875 -1.59375q0 -0.578125 0.25 -1.046875q0.265625 -0.4687538 0.6875 -0.7500038q0.421875 -0.296875 0.953125 -0.4375q0.375 -0.109375 1.171875 -0.203125q1.59375 -0.1875 2.34375 -0.453125q0.015625 -0.265625 0.015625 -0.34375q0 -0.8125 -0.375 -1.140625q-0.515625 -0.4375 -1.5 -0.4375q-0.9375 0 -1.390625 0.328125q-0.4375 0.3125 -0.640625 1.140625l-1.296875 -0.171875q0.171875 -0.828125 0.578125 -1.328125q0.40625 -0.515625 1.171875 -0.78125q0.765625 -0.28125 1.765625 -0.28125q1.0 0 1.609375 0.234375q0.625 0.234375 0.921875 0.59375q0.296875 0.34375 0.40625 0.890625q0.0625 0.34375 0.0625 1.21875l0 1.7500038q0 1.84375 0.078125 2.328125q0.09375 0.484375 0.34375 0.9375l-1.375 0q-0.203125 -0.40625 -0.265625 -0.953125zm-0.109375 -2.9531288q-0.71875 0.296875 -2.15625 0.5000038q-0.8125 0.125 -1.15625 0.265625q-0.328125 0.140625 -0.515625 0.421875q-0.171875 0.28125 -0.171875 0.625q0 0.53125 0.390625 0.890625q0.40625 0.34375 1.171875 0.34375q0.765625 0 1.359375 -0.328125q0.59375 -0.34375 0.875 -0.921875q0.203125 -0.4375 0.203125 -1.3125l0 -0.4843788z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m7.8828444 376.3685l0 0c0 -11.854553 18.007318 -21.46457 40.220474 -21.46457l0 0c22.21315 0 40.220474 9.610016 40.220474 21.46457l0 0c0 11.854553 -18.007324 21.46457 -40.220474 21.46457l0 0c-22.213154 0 -40.220474 -9.610016 -40.220474 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m7.8828444 376.3685l0 0c0 -11.854553 18.007318 -21.46457 40.220474 -21.46457l0 0c22.21315 0 40.220474 9.610016 40.220474 21.46457l0 0c0 11.854553 -18.007324 21.46457 -40.220474 21.46457l0 0c-22.213154 0 -40.220474 -9.610016 -40.220474 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m36.227814 381.4485l0 -10.734375l4.046875 0q1.078125 0 1.640625 0.09375q0.78125 0.140625 1.3125 0.515625q0.546875 0.359375 0.875 1.03125q0.328125 0.65625 0.328125 1.46875q0 1.359375 -0.875 2.3125q-0.875 0.953125 -3.15625 0.953125l-2.75 0l0 4.359375l-1.421875 0zm1.421875 -5.625l2.78125 0q1.375 0 1.953125 -0.515625q0.578125 -0.515625 0.578125 -1.453125q0 -0.671875 -0.34375 -1.140625q-0.34375 -0.484375 -0.890625 -0.640625q-0.359375 -0.09375 -1.328125 -0.09375l-2.75 0l0 3.84375zm13.509979 3.125l1.359375 0.15625q-0.3125 1.203125 -1.1875 1.859375q-0.875 0.65625 -2.234375 0.65625q-1.703125 0 -2.703125 -1.046875q-1.0 -1.046875 -1.0 -2.953125q0 -1.953125 1.015625 -3.03125q1.015625 -1.09375 2.625 -1.09375q1.5625 0 2.546875 1.0625q0.984375 1.0625 0.984375 2.984375q0 0.125 0 0.359375l-5.8125 0q0.078125 1.28125 0.71875 1.96875q0.65625 0.671875 1.640625 0.671875q0.71875 0 1.234375 -0.375q0.515625 -0.390625 0.8125 -1.21875zm-4.328125 -2.140625l4.34375 0q-0.09375 -0.984375 -0.5 -1.46875q-0.625 -0.765625 -1.625 -0.765625q-0.921875 0 -1.546875 0.609375q-0.609375 0.609375 -0.671875 1.625zm7.135483 4.640625l0 -7.78125l1.1875 0l0 1.1875q0.453125 -0.828125 0.84375 -1.09375q0.390625 -0.265625 0.84375 -0.265625q0.671875 0 1.359375 0.421875l-0.453125 1.21875q-0.484375 -0.28125 -0.96875 -0.28125q-0.4375 0 -0.78125 0.265625q-0.34375 0.25 -0.484375 0.71875q-0.21875 0.703125 -0.21875 1.53125l0 4.078125l-1.328125 0zm4.8650208 0l0 -10.734375l1.328125 0l0 10.734375l-1.328125 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m634.56696 230.72966l0 0c0 -11.854553 21.299927 -21.46457 47.574768 -21.46457l0 0c26.274841 0 47.57483 9.610016 47.57483 21.46457l0 0c0 11.854553 -21.299988 21.46457 -47.57483 21.46457l0 0c-26.274841 0 -47.574768 -9.610016 -47.574768 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m634.56696 230.72966l0 0c0 -11.854553 21.299927 -21.46457 47.574768 -21.46457l0 0c26.274841 0 47.57483 9.610016 47.57483 21.46457l0 0c0 11.854553 -21.299988 21.46457 -47.57483 21.46457l0 0c-26.274841 0 -47.574768 -9.610016 -47.574768 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m662.14636 235.80966l0 -10.734375l7.765625 0l0 1.265625l-6.34375 0l0 3.28125l5.9375 0l0 1.265625l-5.9375 0l0 3.65625l6.59375 0l0 1.265625l-8.015625 0zm9.556885 0l0 -7.78125l1.1875 0l0 1.1875q0.453125 -0.828125 0.84375 -1.09375q0.390625 -0.265625 0.84375 -0.265625q0.671875 0 1.359375 0.421875l-0.453125 1.21875q-0.484375 -0.28125 -0.96875 -0.28125q-0.4375 0 -0.78125 0.265625q-0.34375 0.25 -0.484375 0.71875q-0.21875 0.703125 -0.21875 1.53125l0 4.078125l-1.328125 0zm4.86499 0l0 -10.734375l1.328125 0l0 10.734375l-1.328125 0zm8.36554 -0.953125q-0.734375 0.609375 -1.40625 0.875q-0.671875 0.25 -1.453125 0.25q-1.28125 0 -1.96875 -0.625q-0.6875 -0.625 -0.6875 -1.59375q0 -0.578125 0.25 -1.046875q0.265625 -0.46875 0.6875 -0.75q0.421875 -0.296875 0.953125 -0.4375q0.375 -0.109375 1.171875 -0.203125q1.59375 -0.1875 2.34375 -0.453125q0.015625 -0.265625 0.015625 -0.34375q0 -0.8125 -0.375 -1.140625q-0.515625 -0.4375 -1.5 -0.4375q-0.9375 0 -1.390625 0.328125q-0.4375 0.3125 -0.640625 1.140625l-1.296875 -0.171875q0.171875 -0.828125 0.578125 -1.328125q0.40625 -0.515625 1.171875 -0.78125q0.765625 -0.28125 1.765625 -0.28125q1.0 0 1.609375 0.234375q0.625 0.234375 0.921875 0.59375q0.296875 0.34375 0.40625 0.890625q0.0625 0.34375 0.0625 1.21875l0 1.75q0 1.84375 0.078125 2.328125q0.09375 0.484375 0.34375 0.9375l-1.375 0q-0.203125 -0.40625 -0.265625 -0.953125zm-0.109375 -2.953125q-0.71875 0.296875 -2.15625 0.5q-0.8125 0.125 -1.15625 0.265625q-0.328125 0.140625 -0.515625 0.421875q-0.171875 0.28125 -0.171875 0.625q0 0.53125 0.390625 0.890625q0.40625 0.34375 1.171875 0.34375q0.765625 0 1.359375 -0.328125q0.59375 -0.34375 0.875 -0.921875q0.203125 -0.4375 0.203125 -1.3125l0 -0.484375zm3.182373 3.90625l0 -7.78125l1.1875 0l0 1.109375q0.859375 -1.28125 2.484375 -1.28125q0.703125 0 1.28125 0.25q0.59375 0.25 0.890625 0.671875q0.296875 0.40625 0.40625 0.96875q0.078125 0.359375 0.078125 1.28125l0 4.78125l-1.328125 0l0 -4.734375q0 -0.796875 -0.15625 -1.1875q-0.140625 -0.40625 -0.53125 -0.640625q-0.390625 -0.25 -0.921875 -0.25q-0.84375 0 -1.453125 0.53125q-0.609375 0.53125 -0.609375 2.03125l0 4.25l-1.328125 0zm7.916687 0.640625l1.28125 0.1875q0.078125 0.59375 0.4375 0.875q0.5 0.359375 1.34375 0.359375q0.921875 0 1.421875 -0.375q0.5 -0.359375 0.671875 -1.015625q0.09375 -0.40625 0.09375 -1.6875q-0.859375 1.015625 -2.15625 1.015625q-1.609375 0 -2.484375 -1.15625q-0.875 -1.15625 -0.875 -2.78125q0 -1.109375 0.40625 -2.046875q0.40625 -0.9375 1.15625 -1.453125q0.765625 -0.515625 1.8125 -0.515625q1.375 0 2.265625 1.109375l0 -0.9375l1.21875 0l0 6.71875q0 1.828125 -0.375 2.578125q-0.375 0.765625 -1.171875 1.203125q-0.796875 0.4375 -1.96875 0.4375q-1.390625 0 -2.25 -0.625q-0.859375 -0.625 -0.828125 -1.890625zm1.09375 -4.671875q0 1.53125 0.59375 2.234375q0.609375 0.703125 1.53125 0.703125q0.90625 0 1.515625 -0.6875q0.625 -0.703125 0.625 -2.203125q0 -1.421875 -0.640625 -2.140625q-0.625 -0.734375 -1.515625 -0.734375q-0.890625 0 -1.5 0.71875q-0.609375 0.703125 -0.609375 2.109375z" fill-rule="nonzero"></path></g></svg>
-
diff --git a/content/2014/gocon-tokyo/concurrent.jpg b/content/2014/gocon-tokyo/concurrent.jpg
deleted file mode 100644
index 132d190..0000000
--- a/content/2014/gocon-tokyo/concurrent.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/gocon-tokyo/contig-stack.png b/content/2014/gocon-tokyo/contig-stack.png
deleted file mode 100644
index 04559a4..0000000
--- a/content/2014/gocon-tokyo/contig-stack.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/gocon-tokyo/docker.png b/content/2014/gocon-tokyo/docker.png
deleted file mode 100644
index 9af27aa..0000000
--- a/content/2014/gocon-tokyo/docker.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/gocon-tokyo/drone.png b/content/2014/gocon-tokyo/drone.png
deleted file mode 100644
index 591f830..0000000
--- a/content/2014/gocon-tokyo/drone.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/gocon-tokyo/funfast-nogo.svg b/content/2014/gocon-tokyo/funfast-nogo.svg
deleted file mode 100644
index ca8f7d8..0000000
--- a/content/2014/gocon-tokyo/funfast-nogo.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-
-<svg version="1.1" viewBox="0.0 0.0 750.0 446.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l750.0 0l0 446.0l-750.0 0l0 -446.0z" clip-rule="nonzero"></path></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l750.96063 0l0 446.43045l-750.96063 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m7.88189 431.28348l735.33856 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m7.88189 431.28348l723.33856 0" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m731.22046 434.58694l9.076233 -3.3034668l-9.076233 -3.3034668z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m7.88189 431.28348l0 -427.43307" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m7.88189 431.28348l0 -415.43307" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m11.185354 15.850393l-3.3034644 -9.076195l-3.303465 9.076195z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m198.65747 381.08594l330.80316 0l0 37.385834l-330.80316 0z" fill-rule="nonzero"></path><path fill="#000000" d="m250.53217 408.00595l0 -13.59375l9.171875 0l0 1.59375l-7.375 0l0 4.21875l6.375 0l0 1.609375l-6.375 0l0 6.171875l-1.796875 0zm17.520996 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm3.406952 2.0l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm13.65625 1.4375l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm1.9645691 1.5l0 -1.90625l1.90625 0l0 1.90625q0 1.046875 -0.375 1.6875q-0.375 0.65625 -1.171875 1.0l-0.46875 -0.71875q0.53125 -0.21875 0.78125 -0.671875q0.25 -0.453125 0.28125 -1.296875l-0.953125 0zm16.679108 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.516327 5.875l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm5.183319 0l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.7926636 -11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm10.566711 -3.609375l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.90625 -8.078125l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm10.879181 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110107 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm14.031952 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm7.1166077 1.5l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.152069 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.266327 4.921875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm17.849121 -3.609375l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.265625 -1.3125q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.281952 4.921875l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm15.540802 3.78125l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625zm15.313232 4.875l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm7.578827 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm8.277069 -1.671875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094452 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm5.556427 -2.9375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m17.257883 377.96854l0 -299.0551l41.322838 0l0 299.0551z" fill-rule="nonzero"></path><path fill="#000000" d="m44.177883 312.42575l-13.593752 0l0 -9.171875l1.5937519 0l0 7.375l4.21875 0l0 -6.375l1.609375 0l0 6.375l6.171875 0l0 1.796875zm-1.21875 -17.520966q0.796875 0.9375 1.125 1.796875q0.3125 0.859375 0.3125 1.84375q0 1.609375 -0.78125 2.484375q-0.796875 0.875 -2.03125 0.875q-0.734375 0 -1.328125 -0.328125q-0.59375 -0.328125 -0.953125 -0.859375q-0.359375 -0.53125 -0.546875 -1.203125q-0.140625 -0.5 -0.25 -1.484375q-0.25 -2.03125 -0.578125 -2.984375q-0.34375 0 -0.4375 0q-1.015625 0 -1.4375 0.46875q-0.5625 0.640625 -0.5625 1.90625q0 1.171875 0.40625 1.734375q0.40625 0.5625 1.46875 0.828125l-0.234375 1.640625q-1.046875 -0.234375 -1.6875 -0.734375q-0.640625 -0.515625 -0.984375 -1.46875q-0.359375 -0.96875 -0.359375 -2.25q0 -1.265625 0.296875 -2.046875q0.296875 -0.78125 0.75 -1.15625q0.453125 -0.375 1.140625 -0.515625q0.421875 -0.09375 1.53125 -0.09375l2.234375 0q2.328125 0 2.953125 -0.09375q0.609375 -0.109375 1.171875 -0.4375l0 1.75q-0.515625 0.265625 -1.21875 0.328125zm-3.71875 0.140625q0.359375 0.90625 0.625 2.734375q0.140625 1.03125 0.328125 1.453125q0.1875 0.421875 0.546875 0.65625q0.359375 0.234375 0.796875 0.234375q0.671875 0 1.125 -0.5q0.4375 -0.515625 0.4375 -1.484375q0 -0.96875 -0.421875 -1.71875q-0.4375 -0.75 -1.15625 -1.109375q-0.578125 -0.265625 -1.671875 -0.265625l-0.609375 0zm2.0 -3.4069824l-0.265625 -1.65625q1.0 -0.140625 1.53125 -0.765625q0.515625 -0.640625 0.515625 -1.78125q0 -1.15625 -0.46875 -1.703125q-0.46875 -0.5625 -1.09375 -0.5625q-0.5625 0 -0.890625 0.484375q-0.21875 0.34375 -0.5625 1.703125q-0.46875 1.84375 -0.796875 2.5625q-0.34375 0.703125 -0.9375 1.078125q-0.609375 0.359375 -1.328125 0.359375q-0.65625 0 -1.21875 -0.296875q-0.5625 -0.3125 -0.9375 -0.828125q-0.28125 -0.390625 -0.484375 -1.0625q-0.203125 -0.671875 -0.203125 -1.4375q0 -1.171875 0.34375 -2.046875q0.328125 -0.875 0.90625 -1.28125q0.5625 -0.421875 1.515625 -0.578125l0.21875 1.625q-0.75 0.109375 -1.171875 0.65625q-0.4375 0.53125 -0.4375 1.5q0 1.15625 0.390625 1.640625q0.375 0.484375 0.875 0.484375q0.328125 0 0.59375 -0.203125q0.265625 -0.203125 0.4375 -0.640625q0.09375 -0.25 0.4375 -1.46875q0.46875 -1.765625 0.765625 -2.46875q0.296875 -0.703125 0.875 -1.09375q0.578125 -0.40625 1.4375 -0.40625q0.828125 0 1.578125 0.484375q0.734375 0.484375 1.140625 1.40625q0.390625 0.921875 0.390625 2.078125q0 1.921875 -0.796875 2.9375q-0.796875 1.0 -2.359375 1.28125zm1.4375 -13.65625l1.484375 -0.234375q0.140625 0.703125 0.140625 1.265625q0 0.90625 -0.28125 1.40625q-0.296875 0.5 -0.75 0.703125q-0.46875 0.203125 -1.984375 0.203125l-5.65625 0l0 1.234375l-1.3125 0l0 -1.234375l-2.437502 0l-1.0 -1.65625l3.437502 0l0 -1.6875l1.3125 0l0 1.6875l5.75 0q0.71875 0 0.921875 -0.078125q0.203125 -0.09375 0.328125 -0.296875q0.125 -0.203125 0.125 -0.578125q0 -0.265625 -0.078125 -0.734375zm1.5 -1.9645386l-1.90625 0l0 -1.90625l1.90625 0q1.046875 0 1.6875 0.375q0.65625 0.375 1.0 1.171875l-0.71875 0.46875q-0.21875 -0.53125 -0.671875 -0.78125q-0.453125 -0.25 -1.296875 -0.28125l0 0.953125zm0 -10.335358l-8.546875 0l0 1.484375l-1.3125 0l0 -1.484375l-1.046875 0q-0.984375 0 -1.4687519 -0.171875q-0.65625 -0.234375 -1.046875 -0.84375q-0.40625 -0.609375 -0.40625 -1.703125q0 -0.703125 0.15625 -1.5625l1.46875 0.25q-0.09375 0.515625 -0.09375 0.984375q0 0.765625 0.3281269 1.078125q0.3125 0.3125 1.203125 0.3125l0.90625 0l0 -1.921875l1.3125 0l0 1.921875l8.546875 0l0 1.65625zm0 -11.230179l-1.453125 0q1.671875 1.140625 1.671875 3.1249847q0 0.859375 -0.328125 1.625q-0.34375 0.75 -0.84375 1.125q-0.5 0.359375 -1.234375 0.515625q-0.5 0.09375 -1.5625 0.09375l-6.109375 0l0 -1.671875l5.46875 0q1.3125 0 1.765625 -0.09375q0.65625 -0.15625 1.03125 -0.671875q0.375 -0.515625 0.375 -1.265625q0 -0.75 -0.375 -1.4062347q-0.390625 -0.65625 -1.046875 -0.921875q-0.671875 -0.28125 -1.9375 -0.28125l-5.28125 0l0 -1.671875l9.859375 0l0 1.5zm0 -3.9225922l-9.859375 0l0 -1.5l1.40625 0q-1.625 -1.09375 -1.625 -3.140625q0 -0.890625 0.328125 -1.640625q0.3125 -0.75 0.84375 -1.109375q0.515625 -0.375 1.21875 -0.53125q0.46875 -0.09375 1.625 -0.09375l6.0625 0l0 1.671875l-6.0 0q-1.015625 0 -1.515625 0.203125q-0.515625 0.1875 -0.8125 0.6875q-0.296875 0.5 -0.296875 1.171875q0 1.0625 0.671875 1.84375q0.671875 0.765625 2.578125 0.765625l5.375 0l0 1.671875zm0 -15.965271l-8.546875 0l0 1.484375l-1.3125 0l0 -1.484375l-1.046875 0q-0.984375 0 -1.4687519 -0.171875q-0.65625 -0.234375 -1.046875 -0.84375q-0.40625 -0.609375 -0.40625 -1.703125q0 -0.703125 0.15625 -1.5625l1.46875 0.25q-0.09375 0.515625 -0.09375 0.984375q0 0.765625 0.3281269 1.078125q0.3125 0.3125 1.203125 0.3125l0.90625 0l0 -1.921875l1.3125 0l0 1.921875l8.546875 0l0 1.65625zm-4.921875 -4.152054q-2.734375 0 -4.0625 -1.53125q-1.09375 -1.265625 -1.09375 -3.09375q0 -2.03125 1.34375 -3.3125q1.328125 -1.296875 3.671875 -1.296875q1.90625 0 3.0 0.578125q1.078125 0.5625 1.6875 1.65625q0.59375 1.078125 0.59375 2.375q0 2.0625 -1.328125 3.34375q-1.328125 1.28125 -3.8125 1.28125zm0 -1.71875q1.890625 0 2.828125 -0.828125q0.9375 -0.828125 0.9375 -2.078125q0 -1.25 -0.9375 -2.0625q-0.953125 -0.828125 -2.890625 -0.828125q-1.828125 0 -2.765625 0.828125q-0.9375 0.828125 -0.9375 2.0625q0 1.25 0.9375 2.078125q0.9375 0.828125 2.828125 0.828125zm4.921875 -9.266342l-9.859375 0l0 -1.5l1.5 0q-1.046875 -0.578125 -1.375 -1.0625q-0.34375 -0.484375 -0.34375 -1.078125q0 -0.84375 0.546875 -1.71875l1.546875 0.578125q-0.359375 0.609375 -0.359375 1.234375q0 0.546875 0.328125 0.984375q0.328125 0.421875 0.90625 0.609375q0.890625 0.28125 1.953125 0.28125l5.15625 0l0 1.671875zm0 -11.411606l-13.593752 0l0 -1.671875l4.875002 0q-1.359375 -1.171875 -1.359375 -2.953125q0 -1.09375 0.4375 -1.890625q0.421875 -0.8125 1.1875 -1.15625q0.765625 -0.359375 2.203125 -0.359375l6.25 0l0 1.671875l-6.25 0q-1.25 0 -1.8125 0.546875q-0.578125 0.546875 -0.578125 1.53125q0 0.75 0.390625 1.40625q0.375 0.640625 1.046875 0.921875q0.65625 0.28125 1.8125 0.28125l5.390625 0l0 1.671875zm0 -16.828842l-1.453125 0q1.671875 1.140625 1.671875 3.125q0 0.859375 -0.328125 1.625q-0.34375 0.75 -0.84375 1.125q-0.5 0.359375 -1.234375 0.515625q-0.5 0.09375 -1.5625 0.09375l-6.109375 0l0 -1.671875l5.46875 0q1.3125 0 1.765625 -0.09375q0.65625 -0.15625 1.03125 -0.671875q0.375 -0.515625 0.375 -1.265625q0 -0.75 -0.375 -1.40625q-0.390625 -0.65625 -1.046875 -0.921875q-0.671875 -0.28125 -1.9375 -0.28125l-5.28125 0l0 -1.671875l9.859375 0l0 1.5zm0 -3.9225922l-9.859375 0l0 -1.5l1.390625 0q-0.71875 -0.453125 -1.15625 -1.21875q-0.453125 -0.78125 -0.453125 -1.765625q0 -1.09375 0.453125 -1.796875q0.453125 -0.703125 1.28125 -0.984375q-1.734375 -1.171875 -1.734375 -3.046875q0 -1.46875 0.8125 -2.25q0.8125 -0.796875 2.5 -0.796875l6.765625 0l0 1.671875l-6.203125 0q-1.0 0 -1.4375 0.15625q-0.453125 0.15625 -0.71875 0.59375q-0.265625 0.421875 -0.265625 1.0q0 1.03125 0.6875 1.71875q0.6875 0.6875 2.21875 0.6875l5.71875 0l0 1.671875l-6.40625 0q-1.109375 0 -1.65625 0.40625q-0.5625 0.40625 -0.5625 1.34375q0 0.703125 0.375 1.3125q0.359375 0.59375 1.078125 0.859375q0.71875 0.265625 2.0625 0.265625l5.109375 0l0 1.671875zm-1.21875 -21.978302q0.796875 0.9375 1.125 1.796875q0.3125 0.859375 0.3125 1.84375q0 1.609375 -0.78125 2.484375q-0.796875 0.875 -2.03125 0.875q-0.734375 0 -1.328125 -0.328125q-0.59375 -0.328125 -0.953125 -0.859375q-0.359375 -0.53125 -0.546875 -1.203125q-0.140625 -0.5 -0.25 -1.484375q-0.25 -2.03125 -0.578125 -2.984375q-0.34375 0 -0.4375 0q-1.015625 0 -1.4375 0.46875q-0.5625 0.640625 -0.5625 1.90625q0 1.171875 0.40625 1.734375q0.40625 0.5625 1.46875 0.828125l-0.234375 1.640625q-1.046875 -0.234375 -1.6875 -0.734375q-0.640625 -0.515625 -0.984375 -1.46875q-0.359375 -0.96875 -0.359375 -2.25q0 -1.265625 0.296875 -2.046875q0.296875 -0.78125 0.75 -1.15625q0.453125 -0.375 1.140625 -0.515625q0.421875 -0.09375 1.53125 -0.09375l2.234375 0q2.328125 0 2.953125 -0.09375q0.609375 -0.109375 1.171875 -0.4375l0 1.75q-0.515625 0.265625 -1.21875 0.328125zm-3.71875 0.140625q0.359375 0.90625 0.625 2.734375q0.140625 1.03125 0.328125 1.453125q0.1875 0.421875 0.546875 0.65625q0.359375 0.234375 0.796875 0.234375q0.671875 0 1.125 -0.5q0.4375 -0.515625 0.4375 -1.484375q0 -0.96875 -0.421875 -1.71875q-0.4375 -0.75 -1.15625 -1.109375q-0.578125 -0.265625 -1.671875 -0.265625l-0.609375 0zm4.9375 -4.078842l-9.859375 0l0 -1.5l1.40625 0q-1.625 -1.09375 -1.625 -3.140625q0 -0.890625 0.328125 -1.640625q0.3125 -0.75 0.84375 -1.109375q0.515625 -0.375 1.21875 -0.53125q0.46875 -0.09375 1.625 -0.09375l6.0625 0l0 1.671875l-6.0 0q-1.015625 0 -1.515625 0.203125q-0.515625 0.1875 -0.8125 0.6875q-0.296875 0.5 -0.296875 1.171875q0 1.0625 0.671875 1.84375q0.671875 0.765625 2.578125 0.765625l5.375 0l0 1.671875zm-2.9375 -9.703842l-0.265625 -1.65625q1.0 -0.140625 1.53125 -0.765625q0.515625 -0.640625 0.515625 -1.78125q0 -1.15625 -0.46875 -1.703125q-0.46875 -0.5625 -1.09375 -0.5625q-0.5625 0 -0.890625 0.484375q-0.21875 0.34375 -0.5625 1.703125q-0.46875 1.84375 -0.796875 2.5625q-0.34375 0.703125 -0.9375 1.078125q-0.609375 0.359375 -1.328125 0.359375q-0.65625 0 -1.21875 -0.296875q-0.5625 -0.3125 -0.9375 -0.828125q-0.28125 -0.390625 -0.484375 -1.0625q-0.203125 -0.671875 -0.203125 -1.4375q0 -1.171875 0.34375 -2.046875q0.328125 -0.875 0.90625 -1.28125q0.5625 -0.421875 1.515625 -0.578125l0.21875 1.625q-0.75 0.109375 -1.171875 0.65625q-0.4375 0.53125 -0.4375 1.5q0 1.15625 0.390625 1.640625q0.375 0.484375 0.875 0.484375q0.328125 0 0.59375 -0.203125q0.265625 -0.203125 0.4375 -0.640625q0.09375 -0.25 0.4375 -1.46875q0.46875 -1.765625 0.765625 -2.46875q0.296875 -0.703125 0.875 -1.09375q0.578125 -0.40625 1.4375 -0.40625q0.828125 0 1.578125 0.484375q0.734375 0.484375 1.140625 1.40625q0.390625 0.921875 0.390625 2.078125q0 1.921875 -0.796875 2.9375q-0.796875 1.0 -2.359375 1.28125z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m671.5313 399.77856l0 0c0 -11.854553 14.016663 -21.46457 31.307129 -21.46457l0 0c17.290405 0 31.307068 9.610016 31.307068 21.46457l0 0c0 11.854553 -14.016663 21.46457 -31.307068 21.46457l0 0c-17.290466 0 -31.307129 -9.610016 -31.307129 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m671.5313 399.77856l0 0c0 -11.854553 14.016663 -21.46457 31.307129 -21.46457l0 0c17.290405 0 31.307068 9.610016 31.307068 21.46457l0 0c0 11.854553 -14.016663 21.46457 -31.307068 21.46457l0 0c-17.290466 0 -31.307129 -9.610016 -31.307129 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m706.35876 401.09296l1.421875 0.359375q-0.4375 1.75 -1.609375 2.671875q-1.15625 0.921875 -2.828125 0.921875q-1.734375 0 -2.828125 -0.703125q-1.09375 -0.71875 -1.65625 -2.046875q-0.5625 -1.34375 -0.5625 -2.890625q0 -1.671875 0.640625 -2.921875q0.640625 -1.25 1.8125 -1.890625q1.1875 -0.65625 2.609375 -0.65625q1.609375 0 2.703125 0.828125q1.109375 0.8125 1.546875 2.296875l-1.40625 0.328125q-0.375 -1.171875 -1.09375 -1.703125q-0.703125 -0.53125 -1.78125 -0.53125q-1.234375 0 -2.0625 0.59375q-0.828125 0.59375 -1.171875 1.59375q-0.328125 1.0 -0.328125 2.0625q0 1.359375 0.390625 2.390625q0.40625 1.015625 1.234375 1.53125q0.84375 0.5 1.828125 0.5q1.203125 0 2.03125 -0.6875q0.828125 -0.6875 1.109375 -2.046875z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m653.7063 346.8091l0 0c0 -11.854553 18.007324 -21.46457 40.22046 -21.46457l0 0c22.213196 0 40.22052 9.610016 40.22052 21.46457l0 0c0 11.854553 -18.007324 21.46457 -40.22052 21.46457l0 0c-22.213135 0 -40.22046 -9.610016 -40.22046 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m653.7063 346.8091l0 0c0 -11.854553 18.007324 -21.46457 40.22046 -21.46457l0 0c22.213196 0 40.22052 9.610016 40.22052 21.46457l0 0c0 11.854553 -18.007324 21.46457 -40.22052 21.46457l0 0c-22.213135 0 -40.22046 -9.610016 -40.22046 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m688.8881 348.12347l1.421875 0.359375q-0.4375 1.75 -1.609375 2.671875q-1.15625 0.921875 -2.828125 0.921875q-1.734375 0 -2.828125 -0.703125q-1.09375 -0.71875 -1.65625 -2.046875q-0.5625 -1.34375 -0.5625 -2.890625q0 -1.671875 0.640625 -2.921875q0.640625 -1.25 1.8125 -1.890625q1.1875 -0.65625 2.609375 -0.65625q1.609375 0 2.703125 0.828125q1.109375 0.8125 1.546875 2.296875l-1.40625 0.328125q-0.375 -1.171875 -1.09375 -1.703125q-0.703125 -0.53125 -1.78125 -0.53125q-1.234375 0 -2.0625 0.59375q-0.828125 0.59375 -1.171875 1.59375q-0.328125 1.0 -0.328125 2.0625q0 1.359375 0.390625 2.390625q0.40625 1.015625 1.234375 1.53125q0.84375 0.5 1.828125 0.5q1.203125 0 2.03125 -0.6875q0.828125 -0.6875 1.109375 -2.046875zm5.5217896 2.03125l0 -2.953125l-2.921875 0l0 -1.21875l2.921875 0l0 -2.921875l1.25 0l0 2.921875l2.921875 0l0 1.21875l-2.921875 0l0 2.953125l-1.25 0zm8.559021 0l0 -2.953125l-2.921875 0l0 -1.21875l2.921875 0l0 -2.921875l1.25 0l0 2.921875l2.921875 0l0 1.21875l-2.921875 0l0 2.953125l-1.25 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m23.531908 25.329119l0 0c0 -11.854553 18.007318 -21.464567 40.220474 -21.464567l0 0c22.213158 0 40.220474 9.610014 40.220474 21.464567l0 0c0 11.854551 -18.007317 21.464567 -40.220474 21.464567l0 0c-22.213154 0 -40.220474 -9.610016 -40.220474 -21.464567z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m23.531908 25.329119l0 0c0 -11.854553 18.007318 -21.464567 40.220474 -21.464567l0 0c22.213158 0 40.220474 9.610014 40.220474 21.464567l0 0c0 11.854551 -18.007317 21.464567 -40.220474 21.464567l0 0c-22.213154 0 -40.220474 -9.610016 -40.220474 -21.464567z" fill-rule="nonzero"></path><path fill="#000000" d="m47.816948 30.409119l0 -10.734375l4.765625 0q1.4375 0 2.1875 0.296875q0.75 0.28125 1.1875 1.015625q0.453125 0.734375 0.453125 1.609375q0 1.140625 -0.75 1.9375q-0.734375 0.78125 -2.28125 0.984375q0.5625 0.28125 0.859375 0.546875q0.625 0.5625 1.1875 1.421875l1.859375 2.921875l-1.78125 0l-1.421875 -2.234375q-0.625 -0.96875 -1.03125 -1.46875q-0.40625 -0.515625 -0.71875 -0.71875q-0.3125 -0.21875 -0.640625 -0.296875q-0.25 -0.046875 -0.796875 -0.046875l-1.65625 0l0 4.765625l-1.421875 0zm1.421875 -6.0l3.0625 0q0.96875 0 1.515625 -0.203125q0.5625 -0.203125 0.84375 -0.640625q0.28125 -0.4375 0.28125 -0.96875q0 -0.75 -0.5625 -1.234375q-0.546875 -0.5 -1.734375 -0.5l-3.40625 0l0 3.546875zm14.084274 6.0l0 -1.140625q-0.921875 1.3125 -2.46875 1.3125q-0.6875 0 -1.296875 -0.265625q-0.59375 -0.265625 -0.890625 -0.65625q-0.28125 -0.40625 -0.390625 -0.984375q-0.09375 -0.375 -0.09375 -1.21875l0 -4.828125l1.328125 0l0 4.3125q0 1.03125 0.078125 1.390625q0.125 0.53125 0.515625 0.828125q0.40625 0.296875 1.0 0.296875q0.59375 0 1.109375 -0.296875q0.53125 -0.3125 0.75 -0.828125q0.21875 -0.53125 0.21875 -1.53125l0 -4.171875l1.3125 0l0 7.78125l-1.171875 0zm4.260483 0l-1.21875 0l0 -10.734375l1.3125 0l0 3.828125q0.84375 -1.046875 2.140625 -1.046875q0.71875 0 1.359375 0.296875q0.640625 0.28125 1.046875 0.8125q0.421875 0.515625 0.65625 1.265625q0.234375 0.734375 0.234375 1.578125q0 2.0 -1.0 3.09375q-0.984375 1.078125 -2.375 1.078125q-1.375 0 -2.15625 -1.140625l0 0.96875zm-0.015625 -3.953125q0 1.40625 0.390625 2.03125q0.609375 1.015625 1.671875 1.015625q0.875 0 1.5 -0.75q0.625 -0.75 0.625 -2.234375q0 -1.53125 -0.609375 -2.25q-0.59375 -0.734375 -1.453125 -0.734375q-0.859375 0 -1.5 0.75q-0.625 0.75 -0.625 2.171875zm6.901108 6.953125l-0.15625 -1.234375q0.4375 0.109375 0.75 0.109375q0.453125 0 0.703125 -0.15625q0.265625 -0.140625 0.4375 -0.40625q0.125 -0.1875 0.40625 -0.96875q0.03125 -0.109375 0.109375 -0.328125l-2.953125 -7.796875l1.421875 0l1.625 4.5q0.3125 0.859375 0.5625 1.8125q0.234375 -0.90625 0.546875 -1.78125l1.65625 -4.53125l1.328125 0l-2.96875 7.90625q-0.46875 1.28125 -0.734375 1.765625q-0.359375 0.65625 -0.8125 0.953125q-0.453125 0.3125 -1.078125 0.3125q-0.375 0 -0.84375 -0.15625z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m78.1148 25.329119l0 0c0 -11.854553 23.245941 -21.464567 51.921257 -21.464567l0 0c28.675323 0 51.921265 9.610014 51.921265 21.464567l0 0c0 11.854551 -23.245941 21.464567 -51.921265 21.464567l0 0c-28.675316 0 -51.921257 -9.610016 -51.921257 -21.464567z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m78.1148 25.329119l0 0c0 -11.854553 23.245941 -21.464567 51.921257 -21.464567l0 0c28.675323 0 51.921265 9.610014 51.921265 21.464567l0 0c0 11.854551 -23.245941 21.464567 -51.921265 21.464567l0 0c-28.675316 0 -51.921257 -9.610016 -51.921257 -21.464567z" fill-rule="nonzero"></path><path fill="#000000" d="m108.37779 30.409119l0 -10.734375l4.046875 0q1.078125 0 1.640625 0.09375q0.78125 0.140625 1.3125 0.515625q0.546875 0.359375 0.875 1.03125q0.328125 0.65625 0.328125 1.46875q0 1.359375 -0.875 2.3125q-0.875 0.953125 -3.15625 0.953125l-2.75 0l0 4.359375l-1.421875 0zm1.421875 -5.625l2.78125 0q1.375 0 1.953125 -0.515625q0.578125 -0.515625 0.578125 -1.453125q0 -0.671875 -0.34375 -1.140625q-0.34375 -0.484375 -0.890625 -0.640625q-0.359375 -0.09375 -1.328125 -0.09375l-2.75 0l0 3.84375zm8.134979 8.625l-0.15625 -1.234375q0.4375 0.109375 0.75 0.109375q0.453125 0 0.703125 -0.15625q0.265625 -0.140625 0.4375 -0.40625q0.125 -0.1875 0.40625 -0.96875q0.03125 -0.109375 0.109375 -0.328125l-2.953125 -7.796875l1.421875 0l1.625 4.5q0.3125 0.859375 0.5625 1.8125q0.234375 -0.90625 0.546875 -1.78125l1.65625 -4.53125l1.328125 0l-2.96875 7.90625q-0.46875 1.28125 -0.734375 1.765625q-0.359375 0.65625 -0.8125 0.953125q-0.453125 0.3125 -1.078125 0.3125q-0.375 0 -0.84375 -0.15625zm10.265625 -4.171875l0.1875 1.15625q-0.5625 0.125 -1.0 0.125q-0.71875 0 -1.125 -0.234375q-0.390625 -0.234375 -0.546875 -0.59375q-0.15625 -0.375 -0.15625 -1.5625l0 -4.46875l-0.96875 0l0 -1.03125l0.96875 0l0 -1.921875l1.3125 -0.796875l0 2.71875l1.328125 0l0 1.03125l-1.328125 0l0 4.546875q0 0.5625 0.0625 0.734375q0.078125 0.15625 0.234375 0.25q0.15625 0.09375 0.4375 0.09375q0.234375 0 0.59375 -0.046875zm1.1813507 1.171875l0 -10.734375l1.328125 0l0 3.84375q0.921875 -1.0625 2.328125 -1.0625q0.859375 0 1.5 0.34375q0.640625 0.34375 0.90625 0.9375q0.28125 0.59375 0.28125 1.75l0 4.921875l-1.328125 0l0 -4.921875q0 -1.0 -0.421875 -1.4375q-0.421875 -0.453125 -1.21875 -0.453125q-0.578125 0 -1.09375 0.296875q-0.515625 0.296875 -0.734375 0.828125q-0.21875 0.515625 -0.21875 1.4375l0 4.25l-1.328125 0zm7.666733 -3.890625q0 -2.15625 1.203125 -3.203125q1.0 -0.859375 2.4375 -0.859375q1.609375 0 2.625 1.046875q1.015625 1.046875 1.015625 2.90625q0 1.5 -0.453125 2.359375q-0.4375 0.859375 -1.3125 1.34375q-0.859375 0.46875 -1.875 0.46875q-1.625 0 -2.640625 -1.046875q-1.0 -1.046875 -1.0 -3.015625zm1.359375 0q0 1.5 0.640625 2.25q0.65625 0.734375 1.640625 0.734375q0.984375 0 1.640625 -0.75q0.65625 -0.75 0.65625 -2.28125q0 -1.4375 -0.65625 -2.171875q-0.65625 -0.75 -1.640625 -0.75q-0.984375 0 -1.640625 0.734375q-0.640625 0.734375 -0.640625 2.234375zm7.276108 3.890625l0 -7.78125l1.1875 0l0 1.109375q0.859375 -1.28125 2.484375 -1.28125q0.703125 0 1.28125 0.25q0.59375 0.25 0.890625 0.671875q0.296875 0.40625 0.40625 0.96875q0.078125 0.359375 0.078125 1.28125l0 4.78125l-1.328125 0l0 -4.734375q0 -0.796875 -0.15625 -1.1875q-0.140625 -0.40625 -0.53125 -0.640625q-0.390625 -0.25 -0.921875 -0.25q-0.84375 0 -1.453125 0.53125q-0.609375 0.53125 -0.609375 2.03125l0 4.25l-1.328125 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m275.7274 25.329119l0 0c0 -11.854553 18.007294 -21.464567 40.22046 -21.464567l0 0c22.213165 0 40.22049 9.610014 40.22049 21.464567l0 0c0 11.854551 -18.007324 21.464567 -40.22049 21.464567l0 0c-22.213165 0 -40.22046 -9.610016 -40.22046 -21.464567z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m275.7274 25.329119l0 0c0 -11.854553 18.007294 -21.464567 40.22046 -21.464567l0 0c22.213165 0 40.22049 9.610014 40.22049 21.464567l0 0c0 11.854551 -18.007324 21.464567 -40.22049 21.464567l0 0c-22.213165 0 -40.22046 -9.610016 -40.22046 -21.464567z" fill-rule="nonzero"></path><path fill="#000000" d="m307.8335 27.362244l1.28125 -0.171875q0.046875 1.21875 0.453125 1.6875q0.40625 0.453125 1.140625 0.453125q0.53125 0 0.921875 -0.25q0.390625 -0.25 0.53125 -0.671875q0.15625 -0.421875 0.15625 -1.34375l0 -7.390625l1.40625 0l0 7.3125q0 1.34375 -0.328125 2.09375q-0.3125 0.734375 -1.03125 1.125q-0.703125 0.390625 -1.65625 0.390625q-1.40625 0 -2.15625 -0.8125q-0.75 -0.8125 -0.71875 -2.421875zm7.5625 -0.40625l1.34375 -0.109375q0.09375 0.796875 0.4375 1.3125q0.359375 0.515625 1.078125 0.84375q0.734375 0.3125 1.65625 0.3125q0.8125 0 1.4375 -0.234375q0.625 -0.25 0.921875 -0.671875q0.3125 -0.421875 0.3125 -0.921875q0 -0.5 -0.296875 -0.875q-0.296875 -0.375 -0.96875 -0.640625q-0.4375 -0.15625 -1.921875 -0.515625q-1.46875 -0.359375 -2.0625 -0.671875q-0.765625 -0.40625 -1.15625 -1.0q-0.375 -0.59375 -0.375 -1.34375q0 -0.8125 0.453125 -1.515625q0.46875 -0.703125 1.359375 -1.0625q0.890625 -0.375 1.96875 -0.375q1.203125 0 2.109375 0.390625q0.90625 0.375 1.390625 1.125q0.5 0.75 0.546875 1.6875l-1.375 0.109375q-0.109375 -1.015625 -0.75 -1.53125q-0.625 -0.53125 -1.859375 -0.53125q-1.28125 0 -1.875 0.484375q-0.59375 0.46875 -0.59375 1.125q0 0.578125 0.421875 0.953125q0.40625 0.375 2.140625 0.765625q1.734375 0.390625 2.375 0.6875q0.9375 0.4375 1.375 1.109375q0.453125 0.65625 0.453125 1.515625q0 0.859375 -0.5 1.625q-0.484375 0.75 -1.40625 1.171875q-0.90625 0.421875 -2.0625 0.421875q-1.453125 0 -2.4375 -0.421875q-0.984375 -0.4375 -1.546875 -1.28125q-0.5625 -0.859375 -0.59375 -1.9375z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m541.4957 217.56654l0 0c0 -11.854553 18.007324 -21.46457 40.22046 -21.46457l0 0c22.213196 0 40.22052 9.610016 40.22052 21.46457l0 0c0 11.854553 -18.007324 21.46457 -40.22052 21.46457l0 0c-22.213135 0 -40.22046 -9.610016 -40.22046 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m541.4957 217.56654l0 0c0 -11.854553 18.007324 -21.46457 40.22046 -21.46457l0 0c22.213196 0 40.22052 9.610016 40.22052 21.46457l0 0c0 11.854553 -18.007324 21.46457 -40.22052 21.46457l0 0c-22.213135 0 -40.22046 -9.610016 -40.22046 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m566.6745 219.59967l1.28125 -0.171875q0.046875 1.21875 0.453125 1.6875q0.40625 0.453125 1.140625 0.453125q0.53125 0 0.921875 -0.25q0.390625 -0.25 0.53125 -0.671875q0.15625 -0.421875 0.15625 -1.34375l0 -7.390625l1.40625 0l0 7.3125q0 1.34375 -0.328125 2.09375q-0.3125 0.734375 -1.03125 1.125q-0.703125 0.390625 -1.65625 0.390625q-1.40625 0 -2.15625 -0.8125q-0.75 -0.8125 -0.71875 -2.421875zm12.953125 2.09375q-0.734375 0.609375 -1.40625 0.875q-0.671875 0.25 -1.453125 0.25q-1.28125 0 -1.96875 -0.625q-0.6875 -0.625 -0.6875 -1.59375q0 -0.578125 0.25 -1.046875q0.265625 -0.46875 0.6875 -0.75q0.421875 -0.296875 0.953125 -0.4375q0.375 -0.109375 1.171875 -0.203125q1.59375 -0.1875 2.34375 -0.453125q0.015625 -0.265625 0.015625 -0.34375q0 -0.8125 -0.375 -1.140625q-0.515625 -0.4375 -1.5 -0.4375q-0.9375 0 -1.390625 0.328125q-0.4375 0.3125 -0.640625 1.140625l-1.296875 -0.171875q0.171875 -0.828125 0.578125 -1.328125q0.40625 -0.515625 1.171875 -0.78125q0.765625 -0.28125 1.765625 -0.28125q1.0 0 1.609375 0.234375q0.625 0.234375 0.921875 0.59375q0.296875 0.34375 0.40625 0.890625q0.0625 0.34375 0.0625 1.21875l0 1.75q0 1.84375 0.078125 2.328125q0.09375 0.484375 0.34375 0.9375l-1.375 0q-0.203125 -0.40625 -0.265625 -0.953125zm-0.109375 -2.953125q-0.71875 0.296875 -2.15625 0.5q-0.8125 0.125 -1.15625 0.265625q-0.328125 0.140625 -0.515625 0.421875q-0.171875 0.28125 -0.171875 0.625q0 0.53125 0.390625 0.890625q0.40625 0.34375 1.171875 0.34375q0.765625 0 1.359375 -0.328125q0.59375 -0.34375 0.875 -0.921875q0.203125 -0.4375 0.203125 -1.3125l0 -0.484375zm5.354187 3.90625l-2.96875 -7.78125l1.390625 0l1.671875 4.65625q0.265625 0.765625 0.5 1.578125q0.171875 -0.625 0.484375 -1.484375l1.734375 -4.75l1.359375 0l-2.953125 7.78125l-1.21875 0zm10.234375 -0.953125q-0.734375 0.609375 -1.40625 0.875q-0.671875 0.25 -1.453125 0.25q-1.28125 0 -1.96875 -0.625q-0.6875 -0.625 -0.6875 -1.59375q0 -0.578125 0.25 -1.046875q0.265625 -0.46875 0.6875 -0.75q0.421875 -0.296875 0.953125 -0.4375q0.375 -0.109375 1.171875 -0.203125q1.59375 -0.1875 2.34375 -0.453125q0.015625 -0.265625 0.015625 -0.34375q0 -0.8125 -0.375 -1.140625q-0.515625 -0.4375 -1.5 -0.4375q-0.9375 0 -1.390625 0.328125q-0.4375 0.3125 -0.640625 1.140625l-1.296875 -0.171875q0.171875 -0.828125 0.578125 -1.328125q0.40625 -0.515625 1.171875 -0.78125q0.765625 -0.28125 1.765625 -0.28125q1.0 0 1.609375 0.234375q0.625 0.234375 0.921875 0.59375q0.296875 0.34375 0.40625 0.890625q0.0625 0.34375 0.0625 1.21875l0 1.75q0 1.84375 0.078125 2.328125q0.09375 0.484375 0.34375 0.9375l-1.375 0q-0.203125 -0.40625 -0.265625 -0.953125zm-0.109375 -2.953125q-0.71875 0.296875 -2.15625 0.5q-0.8125 0.125 -1.15625 0.265625q-0.328125 0.140625 -0.515625 0.421875q-0.171875 0.28125 -0.171875 0.625q0 0.53125 0.390625 0.890625q0.40625 0.34375 1.171875 0.34375q0.765625 0 1.359375 -0.328125q0.59375 -0.34375 0.875 -0.921875q0.203125 -0.4375 0.203125 -1.3125l0 -0.484375z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m137.07707 25.329119l0 0c0 -11.854553 18.007324 -21.464567 40.220474 -21.464567l0 0c22.21315 0 40.220474 9.610014 40.220474 21.464567l0 0c0 11.854551 -18.007324 21.464567 -40.220474 21.464567l0 0c-22.21315 0 -40.220474 -9.610016 -40.220474 -21.464567z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m137.07707 25.329119l0 0c0 -11.854553 18.007324 -21.464567 40.220474 -21.464567l0 0c22.21315 0 40.220474 9.610014 40.220474 21.464567l0 0c0 11.854551 -18.007324 21.464567 -40.220474 21.464567l0 0c-22.21315 0 -40.220474 -9.610016 -40.220474 -21.464567z" fill-rule="nonzero"></path><path fill="#000000" d="m165.42204 30.409119l0 -10.734375l4.046875 0q1.078125 0 1.640625 0.09375q0.78125 0.140625 1.3125 0.515625q0.546875 0.359375 0.875 1.03125q0.328125 0.65625 0.328125 1.46875q0 1.359375 -0.875 2.3125q-0.875 0.953125 -3.15625 0.953125l-2.75 0l0 4.359375l-1.421875 0zm1.421875 -5.625l2.78125 0q1.375 0 1.953125 -0.515625q0.578125 -0.515625 0.578125 -1.453125q0 -0.671875 -0.34375 -1.140625q-0.34375 -0.484375 -0.890625 -0.640625q-0.359375 -0.09375 -1.328125 -0.09375l-2.75 0l0 3.84375zm13.509979 3.125l1.359375 0.15625q-0.3125 1.203125 -1.1875 1.859375q-0.875 0.65625 -2.234375 0.65625q-1.703125 0 -2.703125 -1.046875q-1.0 -1.046875 -1.0 -2.953125q0 -1.953125 1.015625 -3.03125q1.015625 -1.09375 2.625 -1.09375q1.5625 0 2.546875 1.0625q0.984375 1.0625 0.984375 2.984375q0 0.125 0 0.359375l-5.8125 0q0.078125 1.28125 0.71875 1.96875q0.65625 0.671875 1.640625 0.671875q0.71875 0 1.234375 -0.375q0.515625 -0.390625 0.8125 -1.21875zm-4.328125 -2.140625l4.34375 0q-0.09375 -0.984375 -0.5 -1.46875q-0.625 -0.765625 -1.625 -0.765625q-0.921875 0 -1.546875 0.609375q-0.609375 0.609375 -0.671875 1.625zm7.135483 4.640625l0 -7.78125l1.1875 0l0 1.1875q0.453125 -0.828125 0.84375 -1.09375q0.390625 -0.265625 0.84375 -0.265625q0.671875 0 1.359375 0.421875l-0.453125 1.21875q-0.484375 -0.28125 -0.96875 -0.28125q-0.4375 0 -0.78125 0.265625q-0.34375 0.25 -0.484375 0.71875q-0.21875 0.703125 -0.21875 1.53125l0 4.078125l-1.328125 0zm4.8650208 0l0 -10.734375l1.328125 0l0 10.734375l-1.328125 0z" fill-rule="nonzero"></path></g></svg>
-
diff --git a/content/2014/gocon-tokyo/funfast.svg b/content/2014/gocon-tokyo/funfast.svg
deleted file mode 100644
index 4e7aad4..0000000
--- a/content/2014/gocon-tokyo/funfast.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-
-<svg version="1.1" viewBox="0.0 0.0 750.0 446.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l750.0 0l0 446.0l-750.0 0l0 -446.0z" clip-rule="nonzero"></path></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l750.96063 0l0 446.43045l-750.96063 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m7.88189 431.28348l735.33856 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m7.88189 431.28348l723.33856 0" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m731.22046 434.58694l9.076233 -3.3034668l-9.076233 -3.3034668z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m7.88189 431.28348l0 -427.43307" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m7.88189 431.28348l0 -415.43307" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m11.185354 15.850393l-3.3034644 -9.076195l-3.303465 9.076195z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m198.65747 381.08594l330.80316 0l0 37.385834l-330.80316 0z" fill-rule="nonzero"></path><path fill="#000000" d="m250.53217 408.00595l0 -13.59375l9.171875 0l0 1.59375l-7.375 0l0 4.21875l6.375 0l0 1.609375l-6.375 0l0 6.171875l-1.796875 0zm17.520996 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm3.406952 2.0l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm13.65625 1.4375l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm1.9645691 1.5l0 -1.90625l1.90625 0l0 1.90625q0 1.046875 -0.375 1.6875q-0.375 0.65625 -1.171875 1.0l-0.46875 -0.71875q0.53125 -0.21875 0.78125 -0.671875q0.25 -0.453125 0.28125 -1.296875l-0.953125 0zm16.679108 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.516327 5.875l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm5.183319 0l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.7926636 -11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm10.566711 -3.609375l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.90625 -8.078125l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm10.879181 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110107 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm14.031952 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm7.1166077 1.5l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.152069 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.266327 4.921875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm17.849121 -3.609375l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.265625 -1.3125q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.281952 4.921875l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm15.540802 3.78125l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625zm15.313232 4.875l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm7.578827 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm8.277069 -1.671875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094452 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm5.556427 -2.9375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m17.257883 377.96854l0 -299.0551l41.322838 0l0 299.0551z" fill-rule="nonzero"></path><path fill="#000000" d="m44.177883 312.42575l-13.593752 0l0 -9.171875l1.5937519 0l0 7.375l4.21875 0l0 -6.375l1.609375 0l0 6.375l6.171875 0l0 1.796875zm-1.21875 -17.520966q0.796875 0.9375 1.125 1.796875q0.3125 0.859375 0.3125 1.84375q0 1.609375 -0.78125 2.484375q-0.796875 0.875 -2.03125 0.875q-0.734375 0 -1.328125 -0.328125q-0.59375 -0.328125 -0.953125 -0.859375q-0.359375 -0.53125 -0.546875 -1.203125q-0.140625 -0.5 -0.25 -1.484375q-0.25 -2.03125 -0.578125 -2.984375q-0.34375 0 -0.4375 0q-1.015625 0 -1.4375 0.46875q-0.5625 0.640625 -0.5625 1.90625q0 1.171875 0.40625 1.734375q0.40625 0.5625 1.46875 0.828125l-0.234375 1.640625q-1.046875 -0.234375 -1.6875 -0.734375q-0.640625 -0.515625 -0.984375 -1.46875q-0.359375 -0.96875 -0.359375 -2.25q0 -1.265625 0.296875 -2.046875q0.296875 -0.78125 0.75 -1.15625q0.453125 -0.375 1.140625 -0.515625q0.421875 -0.09375 1.53125 -0.09375l2.234375 0q2.328125 0 2.953125 -0.09375q0.609375 -0.109375 1.171875 -0.4375l0 1.75q-0.515625 0.265625 -1.21875 0.328125zm-3.71875 0.140625q0.359375 0.90625 0.625 2.734375q0.140625 1.03125 0.328125 1.453125q0.1875 0.421875 0.546875 0.65625q0.359375 0.234375 0.796875 0.234375q0.671875 0 1.125 -0.5q0.4375 -0.515625 0.4375 -1.484375q0 -0.96875 -0.421875 -1.71875q-0.4375 -0.75 -1.15625 -1.109375q-0.578125 -0.265625 -1.671875 -0.265625l-0.609375 0zm2.0 -3.4069824l-0.265625 -1.65625q1.0 -0.140625 1.53125 -0.765625q0.515625 -0.640625 0.515625 -1.78125q0 -1.15625 -0.46875 -1.703125q-0.46875 -0.5625 -1.09375 -0.5625q-0.5625 0 -0.890625 0.484375q-0.21875 0.34375 -0.5625 1.703125q-0.46875 1.84375 -0.796875 2.5625q-0.34375 0.703125 -0.9375 1.078125q-0.609375 0.359375 -1.328125 0.359375q-0.65625 0 -1.21875 -0.296875q-0.5625 -0.3125 -0.9375 -0.828125q-0.28125 -0.390625 -0.484375 -1.0625q-0.203125 -0.671875 -0.203125 -1.4375q0 -1.171875 0.34375 -2.046875q0.328125 -0.875 0.90625 -1.28125q0.5625 -0.421875 1.515625 -0.578125l0.21875 1.625q-0.75 0.109375 -1.171875 0.65625q-0.4375 0.53125 -0.4375 1.5q0 1.15625 0.390625 1.640625q0.375 0.484375 0.875 0.484375q0.328125 0 0.59375 -0.203125q0.265625 -0.203125 0.4375 -0.640625q0.09375 -0.25 0.4375 -1.46875q0.46875 -1.765625 0.765625 -2.46875q0.296875 -0.703125 0.875 -1.09375q0.578125 -0.40625 1.4375 -0.40625q0.828125 0 1.578125 0.484375q0.734375 0.484375 1.140625 1.40625q0.390625 0.921875 0.390625 2.078125q0 1.921875 -0.796875 2.9375q-0.796875 1.0 -2.359375 1.28125zm1.4375 -13.65625l1.484375 -0.234375q0.140625 0.703125 0.140625 1.265625q0 0.90625 -0.28125 1.40625q-0.296875 0.5 -0.75 0.703125q-0.46875 0.203125 -1.984375 0.203125l-5.65625 0l0 1.234375l-1.3125 0l0 -1.234375l-2.437502 0l-1.0 -1.65625l3.437502 0l0 -1.6875l1.3125 0l0 1.6875l5.75 0q0.71875 0 0.921875 -0.078125q0.203125 -0.09375 0.328125 -0.296875q0.125 -0.203125 0.125 -0.578125q0 -0.265625 -0.078125 -0.734375zm1.5 -1.9645386l-1.90625 0l0 -1.90625l1.90625 0q1.046875 0 1.6875 0.375q0.65625 0.375 1.0 1.171875l-0.71875 0.46875q-0.21875 -0.53125 -0.671875 -0.78125q-0.453125 -0.25 -1.296875 -0.28125l0 0.953125zm0 -10.335358l-8.546875 0l0 1.484375l-1.3125 0l0 -1.484375l-1.046875 0q-0.984375 0 -1.4687519 -0.171875q-0.65625 -0.234375 -1.046875 -0.84375q-0.40625 -0.609375 -0.40625 -1.703125q0 -0.703125 0.15625 -1.5625l1.46875 0.25q-0.09375 0.515625 -0.09375 0.984375q0 0.765625 0.3281269 1.078125q0.3125 0.3125 1.203125 0.3125l0.90625 0l0 -1.921875l1.3125 0l0 1.921875l8.546875 0l0 1.65625zm0 -11.230179l-1.453125 0q1.671875 1.140625 1.671875 3.1249847q0 0.859375 -0.328125 1.625q-0.34375 0.75 -0.84375 1.125q-0.5 0.359375 -1.234375 0.515625q-0.5 0.09375 -1.5625 0.09375l-6.109375 0l0 -1.671875l5.46875 0q1.3125 0 1.765625 -0.09375q0.65625 -0.15625 1.03125 -0.671875q0.375 -0.515625 0.375 -1.265625q0 -0.75 -0.375 -1.4062347q-0.390625 -0.65625 -1.046875 -0.921875q-0.671875 -0.28125 -1.9375 -0.28125l-5.28125 0l0 -1.671875l9.859375 0l0 1.5zm0 -3.9225922l-9.859375 0l0 -1.5l1.40625 0q-1.625 -1.09375 -1.625 -3.140625q0 -0.890625 0.328125 -1.640625q0.3125 -0.75 0.84375 -1.109375q0.515625 -0.375 1.21875 -0.53125q0.46875 -0.09375 1.625 -0.09375l6.0625 0l0 1.671875l-6.0 0q-1.015625 0 -1.515625 0.203125q-0.515625 0.1875 -0.8125 0.6875q-0.296875 0.5 -0.296875 1.171875q0 1.0625 0.671875 1.84375q0.671875 0.765625 2.578125 0.765625l5.375 0l0 1.671875zm0 -15.965271l-8.546875 0l0 1.484375l-1.3125 0l0 -1.484375l-1.046875 0q-0.984375 0 -1.4687519 -0.171875q-0.65625 -0.234375 -1.046875 -0.84375q-0.40625 -0.609375 -0.40625 -1.703125q0 -0.703125 0.15625 -1.5625l1.46875 0.25q-0.09375 0.515625 -0.09375 0.984375q0 0.765625 0.3281269 1.078125q0.3125 0.3125 1.203125 0.3125l0.90625 0l0 -1.921875l1.3125 0l0 1.921875l8.546875 0l0 1.65625zm-4.921875 -4.152054q-2.734375 0 -4.0625 -1.53125q-1.09375 -1.265625 -1.09375 -3.09375q0 -2.03125 1.34375 -3.3125q1.328125 -1.296875 3.671875 -1.296875q1.90625 0 3.0 0.578125q1.078125 0.5625 1.6875 1.65625q0.59375 1.078125 0.59375 2.375q0 2.0625 -1.328125 3.34375q-1.328125 1.28125 -3.8125 1.28125zm0 -1.71875q1.890625 0 2.828125 -0.828125q0.9375 -0.828125 0.9375 -2.078125q0 -1.25 -0.9375 -2.0625q-0.953125 -0.828125 -2.890625 -0.828125q-1.828125 0 -2.765625 0.828125q-0.9375 0.828125 -0.9375 2.0625q0 1.25 0.9375 2.078125q0.9375 0.828125 2.828125 0.828125zm4.921875 -9.266342l-9.859375 0l0 -1.5l1.5 0q-1.046875 -0.578125 -1.375 -1.0625q-0.34375 -0.484375 -0.34375 -1.078125q0 -0.84375 0.546875 -1.71875l1.546875 0.578125q-0.359375 0.609375 -0.359375 1.234375q0 0.546875 0.328125 0.984375q0.328125 0.421875 0.90625 0.609375q0.890625 0.28125 1.953125 0.28125l5.15625 0l0 1.671875zm0 -11.411606l-13.593752 0l0 -1.671875l4.875002 0q-1.359375 -1.171875 -1.359375 -2.953125q0 -1.09375 0.4375 -1.890625q0.421875 -0.8125 1.1875 -1.15625q0.765625 -0.359375 2.203125 -0.359375l6.25 0l0 1.671875l-6.25 0q-1.25 0 -1.8125 0.546875q-0.578125 0.546875 -0.578125 1.53125q0 0.75 0.390625 1.40625q0.375 0.640625 1.046875 0.921875q0.65625 0.28125 1.8125 0.28125l5.390625 0l0 1.671875zm0 -16.828842l-1.453125 0q1.671875 1.140625 1.671875 3.125q0 0.859375 -0.328125 1.625q-0.34375 0.75 -0.84375 1.125q-0.5 0.359375 -1.234375 0.515625q-0.5 0.09375 -1.5625 0.09375l-6.109375 0l0 -1.671875l5.46875 0q1.3125 0 1.765625 -0.09375q0.65625 -0.15625 1.03125 -0.671875q0.375 -0.515625 0.375 -1.265625q0 -0.75 -0.375 -1.40625q-0.390625 -0.65625 -1.046875 -0.921875q-0.671875 -0.28125 -1.9375 -0.28125l-5.28125 0l0 -1.671875l9.859375 0l0 1.5zm0 -3.9225922l-9.859375 0l0 -1.5l1.390625 0q-0.71875 -0.453125 -1.15625 -1.21875q-0.453125 -0.78125 -0.453125 -1.765625q0 -1.09375 0.453125 -1.796875q0.453125 -0.703125 1.28125 -0.984375q-1.734375 -1.171875 -1.734375 -3.046875q0 -1.46875 0.8125 -2.25q0.8125 -0.796875 2.5 -0.796875l6.765625 0l0 1.671875l-6.203125 0q-1.0 0 -1.4375 0.15625q-0.453125 0.15625 -0.71875 0.59375q-0.265625 0.421875 -0.265625 1.0q0 1.03125 0.6875 1.71875q0.6875 0.6875 2.21875 0.6875l5.71875 0l0 1.671875l-6.40625 0q-1.109375 0 -1.65625 0.40625q-0.5625 0.40625 -0.5625 1.34375q0 0.703125 0.375 1.3125q0.359375 0.59375 1.078125 0.859375q0.71875 0.265625 2.0625 0.265625l5.109375 0l0 1.671875zm-1.21875 -21.978302q0.796875 0.9375 1.125 1.796875q0.3125 0.859375 0.3125 1.84375q0 1.609375 -0.78125 2.484375q-0.796875 0.875 -2.03125 0.875q-0.734375 0 -1.328125 -0.328125q-0.59375 -0.328125 -0.953125 -0.859375q-0.359375 -0.53125 -0.546875 -1.203125q-0.140625 -0.5 -0.25 -1.484375q-0.25 -2.03125 -0.578125 -2.984375q-0.34375 0 -0.4375 0q-1.015625 0 -1.4375 0.46875q-0.5625 0.640625 -0.5625 1.90625q0 1.171875 0.40625 1.734375q0.40625 0.5625 1.46875 0.828125l-0.234375 1.640625q-1.046875 -0.234375 -1.6875 -0.734375q-0.640625 -0.515625 -0.984375 -1.46875q-0.359375 -0.96875 -0.359375 -2.25q0 -1.265625 0.296875 -2.046875q0.296875 -0.78125 0.75 -1.15625q0.453125 -0.375 1.140625 -0.515625q0.421875 -0.09375 1.53125 -0.09375l2.234375 0q2.328125 0 2.953125 -0.09375q0.609375 -0.109375 1.171875 -0.4375l0 1.75q-0.515625 0.265625 -1.21875 0.328125zm-3.71875 0.140625q0.359375 0.90625 0.625 2.734375q0.140625 1.03125 0.328125 1.453125q0.1875 0.421875 0.546875 0.65625q0.359375 0.234375 0.796875 0.234375q0.671875 0 1.125 -0.5q0.4375 -0.515625 0.4375 -1.484375q0 -0.96875 -0.421875 -1.71875q-0.4375 -0.75 -1.15625 -1.109375q-0.578125 -0.265625 -1.671875 -0.265625l-0.609375 0zm4.9375 -4.078842l-9.859375 0l0 -1.5l1.40625 0q-1.625 -1.09375 -1.625 -3.140625q0 -0.890625 0.328125 -1.640625q0.3125 -0.75 0.84375 -1.109375q0.515625 -0.375 1.21875 -0.53125q0.46875 -0.09375 1.625 -0.09375l6.0625 0l0 1.671875l-6.0 0q-1.015625 0 -1.515625 0.203125q-0.515625 0.1875 -0.8125 0.6875q-0.296875 0.5 -0.296875 1.171875q0 1.0625 0.671875 1.84375q0.671875 0.765625 2.578125 0.765625l5.375 0l0 1.671875zm-2.9375 -9.703842l-0.265625 -1.65625q1.0 -0.140625 1.53125 -0.765625q0.515625 -0.640625 0.515625 -1.78125q0 -1.15625 -0.46875 -1.703125q-0.46875 -0.5625 -1.09375 -0.5625q-0.5625 0 -0.890625 0.484375q-0.21875 0.34375 -0.5625 1.703125q-0.46875 1.84375 -0.796875 2.5625q-0.34375 0.703125 -0.9375 1.078125q-0.609375 0.359375 -1.328125 0.359375q-0.65625 0 -1.21875 -0.296875q-0.5625 -0.3125 -0.9375 -0.828125q-0.28125 -0.390625 -0.484375 -1.0625q-0.203125 -0.671875 -0.203125 -1.4375q0 -1.171875 0.34375 -2.046875q0.328125 -0.875 0.90625 -1.28125q0.5625 -0.421875 1.515625 -0.578125l0.21875 1.625q-0.75 0.109375 -1.171875 0.65625q-0.4375 0.53125 -0.4375 1.5q0 1.15625 0.390625 1.640625q0.375 0.484375 0.875 0.484375q0.328125 0 0.59375 -0.203125q0.265625 -0.203125 0.4375 -0.640625q0.09375 -0.25 0.4375 -1.46875q0.46875 -1.765625 0.765625 -2.46875q0.296875 -0.703125 0.875 -1.09375q0.578125 -0.40625 1.4375 -0.40625q0.828125 0 1.578125 0.484375q0.734375 0.484375 1.140625 1.40625q0.390625 0.921875 0.390625 2.078125q0 1.921875 -0.796875 2.9375q-0.796875 1.0 -2.359375 1.28125z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m671.5313 399.77856l0 0c0 -11.854553 14.016663 -21.46457 31.307129 -21.46457l0 0c17.290405 0 31.307068 9.610016 31.307068 21.46457l0 0c0 11.854553 -14.016663 21.46457 -31.307068 21.46457l0 0c-17.290466 0 -31.307129 -9.610016 -31.307129 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m671.5313 399.77856l0 0c0 -11.854553 14.016663 -21.46457 31.307129 -21.46457l0 0c17.290405 0 31.307068 9.610016 31.307068 21.46457l0 0c0 11.854553 -14.016663 21.46457 -31.307068 21.46457l0 0c-17.290466 0 -31.307129 -9.610016 -31.307129 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m706.35876 401.09296l1.421875 0.359375q-0.4375 1.75 -1.609375 2.671875q-1.15625 0.921875 -2.828125 0.921875q-1.734375 0 -2.828125 -0.703125q-1.09375 -0.71875 -1.65625 -2.046875q-0.5625 -1.34375 -0.5625 -2.890625q0 -1.671875 0.640625 -2.921875q0.640625 -1.25 1.8125 -1.890625q1.1875 -0.65625 2.609375 -0.65625q1.609375 0 2.703125 0.828125q1.109375 0.8125 1.546875 2.296875l-1.40625 0.328125q-0.375 -1.171875 -1.09375 -1.703125q-0.703125 -0.53125 -1.78125 -0.53125q-1.234375 0 -2.0625 0.59375q-0.828125 0.59375 -1.171875 1.59375q-0.328125 1.0 -0.328125 2.0625q0 1.359375 0.390625 2.390625q0.40625 1.015625 1.234375 1.53125q0.84375 0.5 1.828125 0.5q1.203125 0 2.03125 -0.6875q0.828125 -0.6875 1.109375 -2.046875z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m653.7063 346.8091l0 0c0 -11.854553 18.007324 -21.46457 40.22046 -21.46457l0 0c22.213196 0 40.22052 9.610016 40.22052 21.46457l0 0c0 11.854553 -18.007324 21.46457 -40.22052 21.46457l0 0c-22.213135 0 -40.22046 -9.610016 -40.22046 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m653.7063 346.8091l0 0c0 -11.854553 18.007324 -21.46457 40.22046 -21.46457l0 0c22.213196 0 40.22052 9.610016 40.22052 21.46457l0 0c0 11.854553 -18.007324 21.46457 -40.22052 21.46457l0 0c-22.213135 0 -40.22046 -9.610016 -40.22046 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m688.8881 348.12347l1.421875 0.359375q-0.4375 1.75 -1.609375 2.671875q-1.15625 0.921875 -2.828125 0.921875q-1.734375 0 -2.828125 -0.703125q-1.09375 -0.71875 -1.65625 -2.046875q-0.5625 -1.34375 -0.5625 -2.890625q0 -1.671875 0.640625 -2.921875q0.640625 -1.25 1.8125 -1.890625q1.1875 -0.65625 2.609375 -0.65625q1.609375 0 2.703125 0.828125q1.109375 0.8125 1.546875 2.296875l-1.40625 0.328125q-0.375 -1.171875 -1.09375 -1.703125q-0.703125 -0.53125 -1.78125 -0.53125q-1.234375 0 -2.0625 0.59375q-0.828125 0.59375 -1.171875 1.59375q-0.328125 1.0 -0.328125 2.0625q0 1.359375 0.390625 2.390625q0.40625 1.015625 1.234375 1.53125q0.84375 0.5 1.828125 0.5q1.203125 0 2.03125 -0.6875q0.828125 -0.6875 1.109375 -2.046875zm5.5217896 2.03125l0 -2.953125l-2.921875 0l0 -1.21875l2.921875 0l0 -2.921875l1.25 0l0 2.921875l2.921875 0l0 1.21875l-2.921875 0l0 2.953125l-1.25 0zm8.559021 0l0 -2.953125l-2.921875 0l0 -1.21875l2.921875 0l0 -2.921875l1.25 0l0 2.921875l2.921875 0l0 1.21875l-2.921875 0l0 2.953125l-1.25 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m23.531908 25.329119l0 0c0 -11.854553 18.007318 -21.464567 40.220474 -21.464567l0 0c22.213158 0 40.220474 9.610014 40.220474 21.464567l0 0c0 11.854551 -18.007317 21.464567 -40.220474 21.464567l0 0c-22.213154 0 -40.220474 -9.610016 -40.220474 -21.464567z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m23.531908 25.329119l0 0c0 -11.854553 18.007318 -21.464567 40.220474 -21.464567l0 0c22.213158 0 40.220474 9.610014 40.220474 21.464567l0 0c0 11.854551 -18.007317 21.464567 -40.220474 21.464567l0 0c-22.213154 0 -40.220474 -9.610016 -40.220474 -21.464567z" fill-rule="nonzero"></path><path fill="#000000" d="m47.816948 30.409119l0 -10.734375l4.765625 0q1.4375 0 2.1875 0.296875q0.75 0.28125 1.1875 1.015625q0.453125 0.734375 0.453125 1.609375q0 1.140625 -0.75 1.9375q-0.734375 0.78125 -2.28125 0.984375q0.5625 0.28125 0.859375 0.546875q0.625 0.5625 1.1875 1.421875l1.859375 2.921875l-1.78125 0l-1.421875 -2.234375q-0.625 -0.96875 -1.03125 -1.46875q-0.40625 -0.515625 -0.71875 -0.71875q-0.3125 -0.21875 -0.640625 -0.296875q-0.25 -0.046875 -0.796875 -0.046875l-1.65625 0l0 4.765625l-1.421875 0zm1.421875 -6.0l3.0625 0q0.96875 0 1.515625 -0.203125q0.5625 -0.203125 0.84375 -0.640625q0.28125 -0.4375 0.28125 -0.96875q0 -0.75 -0.5625 -1.234375q-0.546875 -0.5 -1.734375 -0.5l-3.40625 0l0 3.546875zm14.084274 6.0l0 -1.140625q-0.921875 1.3125 -2.46875 1.3125q-0.6875 0 -1.296875 -0.265625q-0.59375 -0.265625 -0.890625 -0.65625q-0.28125 -0.40625 -0.390625 -0.984375q-0.09375 -0.375 -0.09375 -1.21875l0 -4.828125l1.328125 0l0 4.3125q0 1.03125 0.078125 1.390625q0.125 0.53125 0.515625 0.828125q0.40625 0.296875 1.0 0.296875q0.59375 0 1.109375 -0.296875q0.53125 -0.3125 0.75 -0.828125q0.21875 -0.53125 0.21875 -1.53125l0 -4.171875l1.3125 0l0 7.78125l-1.171875 0zm4.260483 0l-1.21875 0l0 -10.734375l1.3125 0l0 3.828125q0.84375 -1.046875 2.140625 -1.046875q0.71875 0 1.359375 0.296875q0.640625 0.28125 1.046875 0.8125q0.421875 0.515625 0.65625 1.265625q0.234375 0.734375 0.234375 1.578125q0 2.0 -1.0 3.09375q-0.984375 1.078125 -2.375 1.078125q-1.375 0 -2.15625 -1.140625l0 0.96875zm-0.015625 -3.953125q0 1.40625 0.390625 2.03125q0.609375 1.015625 1.671875 1.015625q0.875 0 1.5 -0.75q0.625 -0.75 0.625 -2.234375q0 -1.53125 -0.609375 -2.25q-0.59375 -0.734375 -1.453125 -0.734375q-0.859375 0 -1.5 0.75q-0.625 0.75 -0.625 2.171875zm6.901108 6.953125l-0.15625 -1.234375q0.4375 0.109375 0.75 0.109375q0.453125 0 0.703125 -0.15625q0.265625 -0.140625 0.4375 -0.40625q0.125 -0.1875 0.40625 -0.96875q0.03125 -0.109375 0.109375 -0.328125l-2.953125 -7.796875l1.421875 0l1.625 4.5q0.3125 0.859375 0.5625 1.8125q0.234375 -0.90625 0.546875 -1.78125l1.65625 -4.53125l1.328125 0l-2.96875 7.90625q-0.46875 1.28125 -0.734375 1.765625q-0.359375 0.65625 -0.8125 0.953125q-0.453125 0.3125 -1.078125 0.3125q-0.375 0 -0.84375 -0.15625z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m78.1148 25.329119l0 0c0 -11.854553 23.245941 -21.464567 51.921257 -21.464567l0 0c28.675323 0 51.921265 9.610014 51.921265 21.464567l0 0c0 11.854551 -23.245941 21.464567 -51.921265 21.464567l0 0c-28.675316 0 -51.921257 -9.610016 -51.921257 -21.464567z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m78.1148 25.329119l0 0c0 -11.854553 23.245941 -21.464567 51.921257 -21.464567l0 0c28.675323 0 51.921265 9.610014 51.921265 21.464567l0 0c0 11.854551 -23.245941 21.464567 -51.921265 21.464567l0 0c-28.675316 0 -51.921257 -9.610016 -51.921257 -21.464567z" fill-rule="nonzero"></path><path fill="#000000" d="m108.37779 30.409119l0 -10.734375l4.046875 0q1.078125 0 1.640625 0.09375q0.78125 0.140625 1.3125 0.515625q0.546875 0.359375 0.875 1.03125q0.328125 0.65625 0.328125 1.46875q0 1.359375 -0.875 2.3125q-0.875 0.953125 -3.15625 0.953125l-2.75 0l0 4.359375l-1.421875 0zm1.421875 -5.625l2.78125 0q1.375 0 1.953125 -0.515625q0.578125 -0.515625 0.578125 -1.453125q0 -0.671875 -0.34375 -1.140625q-0.34375 -0.484375 -0.890625 -0.640625q-0.359375 -0.09375 -1.328125 -0.09375l-2.75 0l0 3.84375zm8.134979 8.625l-0.15625 -1.234375q0.4375 0.109375 0.75 0.109375q0.453125 0 0.703125 -0.15625q0.265625 -0.140625 0.4375 -0.40625q0.125 -0.1875 0.40625 -0.96875q0.03125 -0.109375 0.109375 -0.328125l-2.953125 -7.796875l1.421875 0l1.625 4.5q0.3125 0.859375 0.5625 1.8125q0.234375 -0.90625 0.546875 -1.78125l1.65625 -4.53125l1.328125 0l-2.96875 7.90625q-0.46875 1.28125 -0.734375 1.765625q-0.359375 0.65625 -0.8125 0.953125q-0.453125 0.3125 -1.078125 0.3125q-0.375 0 -0.84375 -0.15625zm10.265625 -4.171875l0.1875 1.15625q-0.5625 0.125 -1.0 0.125q-0.71875 0 -1.125 -0.234375q-0.390625 -0.234375 -0.546875 -0.59375q-0.15625 -0.375 -0.15625 -1.5625l0 -4.46875l-0.96875 0l0 -1.03125l0.96875 0l0 -1.921875l1.3125 -0.796875l0 2.71875l1.328125 0l0 1.03125l-1.328125 0l0 4.546875q0 0.5625 0.0625 0.734375q0.078125 0.15625 0.234375 0.25q0.15625 0.09375 0.4375 0.09375q0.234375 0 0.59375 -0.046875zm1.1813507 1.171875l0 -10.734375l1.328125 0l0 3.84375q0.921875 -1.0625 2.328125 -1.0625q0.859375 0 1.5 0.34375q0.640625 0.34375 0.90625 0.9375q0.28125 0.59375 0.28125 1.75l0 4.921875l-1.328125 0l0 -4.921875q0 -1.0 -0.421875 -1.4375q-0.421875 -0.453125 -1.21875 -0.453125q-0.578125 0 -1.09375 0.296875q-0.515625 0.296875 -0.734375 0.828125q-0.21875 0.515625 -0.21875 1.4375l0 4.25l-1.328125 0zm7.666733 -3.890625q0 -2.15625 1.203125 -3.203125q1.0 -0.859375 2.4375 -0.859375q1.609375 0 2.625 1.046875q1.015625 1.046875 1.015625 2.90625q0 1.5 -0.453125 2.359375q-0.4375 0.859375 -1.3125 1.34375q-0.859375 0.46875 -1.875 0.46875q-1.625 0 -2.640625 -1.046875q-1.0 -1.046875 -1.0 -3.015625zm1.359375 0q0 1.5 0.640625 2.25q0.65625 0.734375 1.640625 0.734375q0.984375 0 1.640625 -0.75q0.65625 -0.75 0.65625 -2.28125q0 -1.4375 -0.65625 -2.171875q-0.65625 -0.75 -1.640625 -0.75q-0.984375 0 -1.640625 0.734375q-0.640625 0.734375 -0.640625 2.234375zm7.276108 3.890625l0 -7.78125l1.1875 0l0 1.109375q0.859375 -1.28125 2.484375 -1.28125q0.703125 0 1.28125 0.25q0.59375 0.25 0.890625 0.671875q0.296875 0.40625 0.40625 0.96875q0.078125 0.359375 0.078125 1.28125l0 4.78125l-1.328125 0l0 -4.734375q0 -0.796875 -0.15625 -1.1875q-0.140625 -0.40625 -0.53125 -0.640625q-0.390625 -0.25 -0.921875 -0.25q-0.84375 0 -1.453125 0.53125q-0.609375 0.53125 -0.609375 2.03125l0 4.25l-1.328125 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m275.7274 25.329119l0 0c0 -11.854553 18.007294 -21.464567 40.22046 -21.464567l0 0c22.213165 0 40.22049 9.610014 40.22049 21.464567l0 0c0 11.854551 -18.007324 21.464567 -40.22049 21.464567l0 0c-22.213165 0 -40.22046 -9.610016 -40.22046 -21.464567z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m275.7274 25.329119l0 0c0 -11.854553 18.007294 -21.464567 40.22046 -21.464567l0 0c22.213165 0 40.22049 9.610014 40.22049 21.464567l0 0c0 11.854551 -18.007324 21.464567 -40.22049 21.464567l0 0c-22.213165 0 -40.22046 -9.610016 -40.22046 -21.464567z" fill-rule="nonzero"></path><path fill="#000000" d="m307.8335 27.362244l1.28125 -0.171875q0.046875 1.21875 0.453125 1.6875q0.40625 0.453125 1.140625 0.453125q0.53125 0 0.921875 -0.25q0.390625 -0.25 0.53125 -0.671875q0.15625 -0.421875 0.15625 -1.34375l0 -7.390625l1.40625 0l0 7.3125q0 1.34375 -0.328125 2.09375q-0.3125 0.734375 -1.03125 1.125q-0.703125 0.390625 -1.65625 0.390625q-1.40625 0 -2.15625 -0.8125q-0.75 -0.8125 -0.71875 -2.421875zm7.5625 -0.40625l1.34375 -0.109375q0.09375 0.796875 0.4375 1.3125q0.359375 0.515625 1.078125 0.84375q0.734375 0.3125 1.65625 0.3125q0.8125 0 1.4375 -0.234375q0.625 -0.25 0.921875 -0.671875q0.3125 -0.421875 0.3125 -0.921875q0 -0.5 -0.296875 -0.875q-0.296875 -0.375 -0.96875 -0.640625q-0.4375 -0.15625 -1.921875 -0.515625q-1.46875 -0.359375 -2.0625 -0.671875q-0.765625 -0.40625 -1.15625 -1.0q-0.375 -0.59375 -0.375 -1.34375q0 -0.8125 0.453125 -1.515625q0.46875 -0.703125 1.359375 -1.0625q0.890625 -0.375 1.96875 -0.375q1.203125 0 2.109375 0.390625q0.90625 0.375 1.390625 1.125q0.5 0.75 0.546875 1.6875l-1.375 0.109375q-0.109375 -1.015625 -0.75 -1.53125q-0.625 -0.53125 -1.859375 -0.53125q-1.28125 0 -1.875 0.484375q-0.59375 0.46875 -0.59375 1.125q0 0.578125 0.421875 0.953125q0.40625 0.375 2.140625 0.765625q1.734375 0.390625 2.375 0.6875q0.9375 0.4375 1.375 1.109375q0.453125 0.65625 0.453125 1.515625q0 0.859375 -0.5 1.625q-0.484375 0.75 -1.40625 1.171875q-0.90625 0.421875 -2.0625 0.421875q-1.453125 0 -2.4375 -0.421875q-0.984375 -0.4375 -1.546875 -1.28125q-0.5625 -0.859375 -0.59375 -1.9375z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m505.5692 217.57442l0 0c0 -11.854553 18.007324 -21.46457 40.22046 -21.46457l0 0c22.213196 0 40.22052 9.610016 40.22052 21.46457l0 0c0 11.854553 -18.007324 21.46457 -40.22052 21.46457l0 0c-22.213135 0 -40.22046 -9.610016 -40.22046 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m505.5692 217.57442l0 0c0 -11.854553 18.007324 -21.46457 40.22046 -21.46457l0 0c22.213196 0 40.22052 9.610016 40.22052 21.46457l0 0c0 11.854553 -18.007324 21.46457 -40.22052 21.46457l0 0c-22.213135 0 -40.22046 -9.610016 -40.22046 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m530.748 219.60754l1.28125 -0.171875q0.046875 1.21875 0.453125 1.6875q0.40625 0.453125 1.140625 0.453125q0.53125 0 0.921875 -0.25q0.390625 -0.25 0.53125 -0.671875q0.15625 -0.421875 0.15625 -1.34375l0 -7.390625l1.40625 0l0 7.3125q0 1.34375 -0.328125 2.09375q-0.3125 0.734375 -1.03125 1.125q-0.703125 0.390625 -1.65625 0.390625q-1.40625 0 -2.15625 -0.8125q-0.75 -0.8125 -0.71875 -2.421875zm12.953125 2.09375q-0.734375 0.609375 -1.40625 0.875q-0.671875 0.25 -1.453125 0.25q-1.28125 0 -1.96875 -0.625q-0.6875 -0.625 -0.6875 -1.59375q0 -0.578125 0.25 -1.046875q0.265625 -0.46875 0.6875 -0.75q0.421875 -0.296875 0.953125 -0.4375q0.375 -0.109375 1.171875 -0.203125q1.59375 -0.1875 2.34375 -0.453125q0.015625 -0.265625 0.015625 -0.34375q0 -0.8125 -0.375 -1.140625q-0.515625 -0.4375 -1.5 -0.4375q-0.9375 0 -1.390625 0.328125q-0.4375 0.3125 -0.640625 1.140625l-1.296875 -0.171875q0.171875 -0.828125 0.578125 -1.328125q0.40625 -0.515625 1.171875 -0.78125q0.765625 -0.28125 1.765625 -0.28125q1.0 0 1.609375 0.234375q0.625 0.234375 0.921875 0.59375q0.296875 0.34375 0.40625 0.890625q0.0625 0.34375 0.0625 1.21875l0 1.75q0 1.84375 0.078125 2.328125q0.09375 0.484375 0.34375 0.9375l-1.375 0q-0.203125 -0.40625 -0.265625 -0.953125zm-0.109375 -2.953125q-0.71875 0.296875 -2.15625 0.5q-0.8125 0.125 -1.15625 0.265625q-0.328125 0.140625 -0.515625 0.421875q-0.171875 0.28125 -0.171875 0.625q0 0.53125 0.390625 0.890625q0.40625 0.34375 1.171875 0.34375q0.765625 0 1.359375 -0.328125q0.59375 -0.34375 0.875 -0.921875q0.203125 -0.4375 0.203125 -1.3125l0 -0.484375zm5.354187 3.90625l-2.96875 -7.78125l1.390625 0l1.671875 4.65625q0.265625 0.765625 0.5 1.578125q0.171875 -0.625 0.484375 -1.484375l1.734375 -4.75l1.359375 0l-2.953125 7.78125l-1.21875 0zm10.234375 -0.953125q-0.734375 0.609375 -1.40625 0.875q-0.671875 0.25 -1.453125 0.25q-1.28125 0 -1.96875 -0.625q-0.6875 -0.625 -0.6875 -1.59375q0 -0.578125 0.25 -1.046875q0.265625 -0.46875 0.6875 -0.75q0.421875 -0.296875 0.953125 -0.4375q0.375 -0.109375 1.171875 -0.203125q1.59375 -0.1875 2.34375 -0.453125q0.015625 -0.265625 0.015625 -0.34375q0 -0.8125 -0.375 -1.140625q-0.515625 -0.4375 -1.5 -0.4375q-0.9375 0 -1.390625 0.328125q-0.4375 0.3125 -0.640625 1.140625l-1.296875 -0.171875q0.171875 -0.828125 0.578125 -1.328125q0.40625 -0.515625 1.171875 -0.78125q0.765625 -0.28125 1.765625 -0.28125q1.0 0 1.609375 0.234375q0.625 0.234375 0.921875 0.59375q0.296875 0.34375 0.40625 0.890625q0.0625 0.34375 0.0625 1.21875l0 1.75q0 1.84375 0.078125 2.328125q0.09375 0.484375 0.34375 0.9375l-1.375 0q-0.203125 -0.40625 -0.265625 -0.953125zm-0.109375 -2.953125q-0.71875 0.296875 -2.15625 0.5q-0.8125 0.125 -1.15625 0.265625q-0.328125 0.140625 -0.515625 0.421875q-0.171875 0.28125 -0.171875 0.625q0 0.53125 0.390625 0.890625q0.40625 0.34375 1.171875 0.34375q0.765625 0 1.359375 -0.328125q0.59375 -0.34375 0.875 -0.921875q0.203125 -0.4375 0.203125 -1.3125l0 -0.484375z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m516.03046 100.357605l0 0c0 -11.854553 18.007324 -21.46457 40.22046 -21.46457l0 0c22.213196 0 40.22046 9.610016 40.22046 21.46457l0 0c0 11.854553 -18.007263 21.46457 -40.22046 21.46457l0 0c-22.213135 0 -40.22046 -9.610016 -40.22046 -21.46457z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m516.03046 100.357605l0 0c0 -11.854553 18.007324 -21.46457 40.22046 -21.46457l0 0c22.213196 0 40.22046 9.610016 40.22046 21.46457l0 0c0 11.854553 -18.007263 21.46457 -40.22046 21.46457l0 0c-22.213135 0 -40.22046 -9.610016 -40.22046 -21.46457z" fill-rule="nonzero"></path><path fill="#000000" d="m552.66284 101.21886l0 -1.25l4.546875 -0.015625l0 3.984375q-1.046875 0.84375 -2.171875 1.265625q-1.109375 0.421875 -2.28125 0.421875q-1.578125 0 -2.875 -0.671875q-1.296875 -0.6875 -1.953125 -1.96875q-0.65625 -1.28125 -0.65625 -2.859375q0 -1.578125 0.65625 -2.9375q0.65625 -1.359375 1.890625 -2.015625q1.234375 -0.65625 2.828125 -0.65625q1.171875 0 2.109375 0.375q0.9375 0.375 1.46875 1.0625q0.546875 0.671875 0.8125 1.75l-1.28125 0.34375q-0.234375 -0.8125 -0.59375 -1.28125q-0.359375 -0.46875 -1.03125 -0.75q-0.65625 -0.28125 -1.46875 -0.28125q-0.984375 0 -1.703125 0.296875q-0.703125 0.296875 -1.140625 0.78125q-0.421875 0.484375 -0.671875 1.0625q-0.40625 1.0 -0.40625 2.15625q0 1.4375 0.484375 2.40625q0.5 0.96875 1.4375 1.4375q0.953125 0.46875 2.015625 0.46875q0.921875 0 1.796875 -0.359375q0.890625 -0.359375 1.34375 -0.765625l0 -2.0l-3.15625 0zm5.7125854 0.328125q0 -2.15625 1.203125 -3.203125q1.0 -0.859375 2.4375 -0.859375q1.609375 0 2.625 1.046875q1.015625 1.046875 1.015625 2.90625q0 1.5 -0.453125 2.359375q-0.4375 0.859375 -1.3125 1.34375q-0.859375 0.46875 -1.875 0.46875q-1.625 0 -2.640625 -1.046875q-1.0 -1.046875 -1.0 -3.015625zm1.359375 0q0 1.5 0.640625 2.25q0.65625 0.734375 1.640625 0.734375q0.984375 0 1.640625 -0.75q0.65625 -0.75 0.65625 -2.28125q0 -1.4375 -0.65625 -2.171875q-0.65625 -0.75 -1.640625 -0.75q-0.984375 0 -1.640625 0.734375q-0.640625 0.734375 -0.640625 2.234375z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m137.07707 25.329119l0 0c0 -11.854553 18.007324 -21.464567 40.220474 -21.464567l0 0c22.21315 0 40.220474 9.610014 40.220474 21.464567l0 0c0 11.854551 -18.007324 21.464567 -40.220474 21.464567l0 0c-22.21315 0 -40.220474 -9.610016 -40.220474 -21.464567z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m137.07707 25.329119l0 0c0 -11.854553 18.007324 -21.464567 40.220474 -21.464567l0 0c22.21315 0 40.220474 9.610014 40.220474 21.464567l0 0c0 11.854551 -18.007324 21.464567 -40.220474 21.464567l0 0c-22.21315 0 -40.220474 -9.610016 -40.220474 -21.464567z" fill-rule="nonzero"></path><path fill="#000000" d="m165.42204 30.409119l0 -10.734375l4.046875 0q1.078125 0 1.640625 0.09375q0.78125 0.140625 1.3125 0.515625q0.546875 0.359375 0.875 1.03125q0.328125 0.65625 0.328125 1.46875q0 1.359375 -0.875 2.3125q-0.875 0.953125 -3.15625 0.953125l-2.75 0l0 4.359375l-1.421875 0zm1.421875 -5.625l2.78125 0q1.375 0 1.953125 -0.515625q0.578125 -0.515625 0.578125 -1.453125q0 -0.671875 -0.34375 -1.140625q-0.34375 -0.484375 -0.890625 -0.640625q-0.359375 -0.09375 -1.328125 -0.09375l-2.75 0l0 3.84375zm13.509979 3.125l1.359375 0.15625q-0.3125 1.203125 -1.1875 1.859375q-0.875 0.65625 -2.234375 0.65625q-1.703125 0 -2.703125 -1.046875q-1.0 -1.046875 -1.0 -2.953125q0 -1.953125 1.015625 -3.03125q1.015625 -1.09375 2.625 -1.09375q1.5625 0 2.546875 1.0625q0.984375 1.0625 0.984375 2.984375q0 0.125 0 0.359375l-5.8125 0q0.078125 1.28125 0.71875 1.96875q0.65625 0.671875 1.640625 0.671875q0.71875 0 1.234375 -0.375q0.515625 -0.390625 0.8125 -1.21875zm-4.328125 -2.140625l4.34375 0q-0.09375 -0.984375 -0.5 -1.46875q-0.625 -0.765625 -1.625 -0.765625q-0.921875 0 -1.546875 0.609375q-0.609375 0.609375 -0.671875 1.625zm7.135483 4.640625l0 -7.78125l1.1875 0l0 1.1875q0.453125 -0.828125 0.84375 -1.09375q0.390625 -0.265625 0.84375 -0.265625q0.671875 0 1.359375 0.421875l-0.453125 1.21875q-0.484375 -0.28125 -0.96875 -0.28125q-0.4375 0 -0.78125 0.265625q-0.34375 0.25 -0.484375 0.71875q-0.21875 0.703125 -0.21875 1.53125l0 4.078125l-1.328125 0zm4.8650208 0l0 -10.734375l1.328125 0l0 10.734375l-1.328125 0z" fill-rule="nonzero"></path></g></svg>
-
diff --git a/content/2014/gocon-tokyo/generics.svg b/content/2014/gocon-tokyo/generics.svg
deleted file mode 100644
index 0d1525e..0000000
--- a/content/2014/gocon-tokyo/generics.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-
-<svg version="1.1" viewBox="0.0 0.0 798.0 443.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l798.0 0l0 443.0l-798.0 0l0 -443.0z" clip-rule="nonzero"></path></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l798.90814 0l0 443.0l-798.90814 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m5.7122254 426.2519l786.7087 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m5.7122254 426.2519l774.70874 0" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m780.42096 429.55536l9.076172 -3.3034668l-9.076172 -3.3034668z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m5.7122254 426.2519l0 -422.4252" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m5.7122254 426.2519l0 -410.4252" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m9.015691 15.826691l-3.3034654 -9.076195l-3.303465 9.076195z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m206.04163 379.86475l353.88977 0l0 36.944885l-353.88977 0z" fill-rule="nonzero"></path><path fill="#000000" d="m230.90198 402.40976l1.6875 -0.140625q0.125 1.015625 0.5625 1.671875q0.4375 0.65625 1.359375 1.0625q0.9375 0.40625 2.09375 0.40625q1.03125 0 1.8125 -0.3125q0.796875 -0.3125 1.1875 -0.84375q0.390625 -0.53125 0.390625 -1.15625q0 -0.640625 -0.375 -1.109375q-0.375 -0.484375 -1.234375 -0.8125q-0.546875 -0.21875 -2.421875 -0.65625q-1.875 -0.453125 -2.625 -0.859375q-0.96875 -0.515625 -1.453125 -1.265625q-0.46875 -0.75 -0.46875 -1.6875q0 -1.03125 0.578125 -1.921875q0.59375 -0.90625 1.703125 -1.359375q1.125 -0.46875 2.5 -0.46875q1.515625 0 2.671875 0.484375q1.15625 0.484375 1.765625 1.4375q0.625 0.9375 0.671875 2.140625l-1.71875 0.125q-0.140625 -1.28125 -0.953125 -1.9375q-0.796875 -0.671875 -2.359375 -0.671875q-1.625 0 -2.375 0.609375q-0.75 0.59375 -0.75 1.4375q0 0.734375 0.53125 1.203125q0.515625 0.46875 2.703125 0.96875q2.203125 0.5 3.015625 0.875q1.1875 0.546875 1.75 1.390625q0.578125 0.828125 0.578125 1.921875q0 1.09375 -0.625 2.0625q-0.625 0.953125 -1.796875 1.484375q-1.15625 0.53125 -2.609375 0.53125q-1.84375 0 -3.09375 -0.53125q-1.25 -0.546875 -1.96875 -1.625q-0.703125 -1.078125 -0.734375 -2.453125zm16.490448 2.875l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm7.964554 0.28125q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.1562347 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.7499847 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm7.735092 3.4375l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm1.5426636 -10.1875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm10.566711 -3.609375l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm9.328125 2.390625q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.047577 4.9375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm4.1448364 0l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm4.097931 3.796875l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125zm21.02707 -7.40625l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.890625 3.609375l0 -13.59375l1.671875 0l0 4.875q1.171875 -1.359375 2.953125 -1.359375q1.09375 0 1.890625 0.4375q0.8125 0.421875 1.15625 1.1875q0.359375 0.765625 0.359375 2.203125l0 6.25l-1.671875 0l0 -6.25q0 -1.25 -0.546875 -1.8125q-0.546875 -0.578125 -1.53125 -0.578125q-0.75 0 -1.40625 0.390625q-0.640625 0.375 -0.921875 1.046875q-0.28125 0.65625 -0.28125 1.8125l0 5.390625l-1.671875 0zm17.125702 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm15.547607 2.265625l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.90625 3.609375l0 -13.59375l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203125l-2.0625 0l-3.25 -5.03125l-1.171875 1.125l0 3.90625l-1.671875 0zm16.0625 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm15.500702 5.875l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm14.449646 4.921875l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm22.290802 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm12.766357 4.375l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm7.9645386 0.28125q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.0788574 8.71875l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625zm8.844452 4.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm5.603302 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm8.985107 5.734375l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.265625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875zm9.281952 5.109375l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm12.6658325 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.078827 4.9375l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm15.540802 0l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm15.5563965 -11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm4.1292114 0l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm10.078857 0.8125l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.265625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m5.711286 379.13077l0 -295.5905l44.220478 0l0 295.5905z" fill-rule="nonzero"></path><path fill="#000000" d="m27.30316 315.80026l-1.609375 0l0 -5.765625l5.046875 0q1.0625 1.328125 1.5937481 2.75q0.53125 1.40625 0.53125 2.890625q0 2.0 -0.859375 3.640625q-0.8593731 1.625 -2.484373 2.46875q-1.625 0.828125 -3.625 0.828125q-1.984375 0 -3.703125 -0.828125q-1.71875 -0.828125 -2.546875 -2.390625q-0.84375 -1.5625 -0.84375 -3.59375q0 -1.46875 0.484375 -2.65625q0.46875 -1.203125 1.328125 -1.875q0.84375 -0.671875 2.21875 -1.03125l0.4375 1.625q-1.03125 0.3125 -1.625 0.765625q-0.59375 0.453125 -0.953125 1.296875q-0.359375 0.84375 -0.359375 1.875q0 1.234375 0.375 2.140625q0.375 0.890625 1.0 1.453125q0.609375 0.546875 1.34375 0.84375q1.25 0.53125 2.734375 0.53125q1.8125 0 3.046875 -0.625q1.21875 -0.640625 1.8125 -1.828125q0.59375 -1.203125 0.59375 -2.546875q0 -1.171875 -0.453125 -2.28125q-0.453125 -1.109375 -0.953125 -1.6875l-2.53125 0l0 4.0zm2.15625 -14.683319l0.21875 -1.71875q1.5 0.40625 2.343748 1.515625q0.828125 1.09375 0.828125 2.8125q0 2.15625 -1.3281231 3.421875q-1.328125 1.265625 -3.734375 1.265625q-2.484375 0 -3.859375 -1.265625q-1.375 -1.28125 -1.375 -3.328125q0 -1.984375 1.34375 -3.234375q1.34375 -1.25 3.796875 -1.25q0.140625 0 0.4375 0.015625l0 7.34375q1.625 -0.09375 2.484375 -0.921875q0.859375 -0.828125 0.859375 -2.0625q0 -0.90625 -0.46875 -1.546875q-0.484375 -0.65625 -1.546875 -1.046875zm-2.703125 5.484375l0 -5.5q-1.234375 0.109375 -1.859375 0.625q-0.96875 0.796875 -0.96875 2.078125q0 1.140625 0.78125 1.9375q0.765625 0.78125 2.046875 0.859375zm4.375 -12.766327l1.4843731 -0.234375q0.140625 0.703125 0.140625 1.265625q0 0.90625 -0.28125 1.40625q-0.296875 0.5 -0.7499981 0.703125q-0.46875 0.203125 -1.984375 0.203125l-5.65625 0l0 1.234375l-1.3125 0l0 -1.234375l-2.4375 0l-1.0 -1.65625l3.4375 0l0 -1.6875l1.3125 0l0 1.6875l5.75 0q0.71875 0 0.921875 -0.078125q0.203125 -0.09375 0.328125 -0.296875q0.125 -0.203125 0.125 -0.578125q0 -0.265625 -0.078125 -0.734375zm-1.4375 -6.0384827l-0.265625 -1.65625q1.0 -0.140625 1.53125 -0.765625q0.515625 -0.640625 0.515625 -1.78125q0 -1.15625 -0.46875 -1.703125q-0.46875 -0.5625 -1.09375 -0.5625q-0.5625 0 -0.890625 0.484375q-0.21875 0.34375 -0.5625 1.703125q-0.46875 1.84375 -0.796875 2.5625q-0.34375 0.703125 -0.9375 1.078125q-0.609375 0.359375 -1.328125 0.359375q-0.65625 0 -1.21875 -0.296875q-0.5625 -0.3125 -0.9375 -0.828125q-0.28125 -0.390625 -0.484375 -1.0625q-0.203125 -0.671875 -0.203125 -1.4375q0 -1.171875 0.34375 -2.046875q0.328125 -0.875 0.90625 -1.28125q0.5625 -0.421875 1.515625 -0.578125l0.21875 1.625q-0.75 0.109375 -1.171875 0.65625q-0.4375 0.53125 -0.4375 1.5q0 1.15625 0.390625 1.640625q0.375 0.484375 0.875 0.484375q0.328125 0 0.59375 -0.203125q0.265625 -0.203125 0.4375 -0.640625q0.09375 -0.25 0.4375 -1.46875q0.46875 -1.765625 0.765625 -2.46875q0.296875 -0.703125 0.875 -1.09375q0.578125 -0.40625 1.4375 -0.40625q0.828125 0 1.578125 0.484375q0.7343731 0.484375 1.1406231 1.40625q0.390625 0.921875 0.390625 2.078125q0 1.921875 -0.796875 2.9375q-0.7968731 1.0 -2.359373 1.28125zm1.4375 -13.65625l1.4843731 -0.234375q0.140625 0.703125 0.140625 1.265625q0 0.90625 -0.28125 1.40625q-0.296875 0.5 -0.7499981 0.703125q-0.46875 0.203125 -1.984375 0.203125l-5.65625 0l0 1.234375l-1.3125 0l0 -1.234375l-2.4375 0l-1.0 -1.65625l3.4375 0l0 -1.6875l1.3125 0l0 1.6875l5.75 0q0.71875 0 0.921875 -0.078125q0.203125 -0.09375 0.328125 -0.296875q0.125 -0.203125 0.125 -0.578125q0 -0.265625 -0.078125 -0.734375zm1.4999981 -7.980194l-1.4531231 0q1.6718731 1.140625 1.6718731 3.125q0 0.859375 -0.328125 1.625q-0.34375 0.75 -0.8437481 1.125q-0.5 0.359375 -1.234375 0.515625q-0.5 0.09375 -1.5625 0.09375l-6.109375 0l0 -1.671875l5.46875 0q1.3125 0 1.765625 -0.09375q0.65625 -0.15625 1.03125 -0.671875q0.375 -0.515625 0.375 -1.265625q0 -0.75 -0.375 -1.40625q-0.390625 -0.65625 -1.046875 -0.921875q-0.671875 -0.28125 -1.9375 -0.28125l-5.28125 0l0 -1.671875l9.859373 0l0 1.5zm0 -4.328827l-8.546873 0l0 1.484375l-1.3125 0l0 -1.484375l-1.046875 0q-0.984375 0 -1.46875 -0.171875q-0.65625 -0.234375 -1.046875 -0.84375q-0.40625 -0.609375 -0.40625 -1.703125q0 -0.703125 0.15625 -1.5625l1.46875 0.25q-0.09375 0.515625 -0.09375 0.984375q0 0.765625 0.328125 1.078125q0.3125 0.3125 1.203125 0.3125l0.90625 0l0 -1.921875l1.3125 0l0 1.921875l8.546873 0l0 1.65625zm0 -5.183319l-8.546873 0l0 1.484375l-1.3125 0l0 -1.484375l-1.046875 0q-0.984375 0 -1.46875 -0.171875q-0.65625 -0.234375 -1.046875 -0.84375q-0.40625 -0.609375 -0.40625 -1.703125q0 -0.703125 0.15625 -1.5625l1.46875 0.25q-0.09375 0.515625 -0.09375 0.984375q0 0.765625 0.328125 1.078125q0.3125 0.3125 1.203125 0.3125l0.90625 0l0 -1.921875l1.3125 0l0 1.921875l8.546873 0l0 1.65625zm0 -16.350967l-1.2499981 0q1.4687481 0.9375 1.4687481 2.75q0 1.171875 -0.640625 2.171875q-0.6562481 0.984375 -1.8124981 1.53125q-1.171875 0.53125 -2.6875 0.53125q-1.46875 0 -2.671875 -0.484375q-1.203125 -0.5 -1.84375 -1.46875q-0.640625 -0.984375 -0.640625 -2.203125q0 -0.890625 0.375 -1.578125q0.375 -0.703125 0.984375 -1.140625l-4.875 0l0 -1.65625l13.593748 0l0 1.546875zm-4.921873 5.28125q1.890625 0 2.828125 -0.796875q0.9375 -0.8125 0.9375 -1.890625q0 -1.09375 -0.890625 -1.859375q-0.890625 -0.765625 -2.734375 -0.765625q-2.015625 0 -2.953125 0.78125q-0.953125 0.78125 -0.953125 1.921875q0 1.109375 0.90625 1.859375q0.90625 0.75 2.859375 0.75zm0 -8.641357q-2.734375 0 -4.0625 -1.53125q-1.09375 -1.265625 -1.09375 -3.09375q0 -2.03125 1.34375 -3.3125q1.328125 -1.296875 3.671875 -1.296875q1.90625 0 3.0 0.578125q1.078125 0.5625 1.6874981 1.65625q0.59375 1.078125 0.59375 2.375q0 2.0625 -1.3281231 3.34375q-1.328125 1.28125 -3.8125 1.28125zm0 -1.71875q1.890625 0 2.828125 -0.828125q0.9375 -0.828125 0.9375 -2.078125q0 -1.25 -0.9375 -2.0625q-0.953125 -0.828125 -2.890625 -0.828125q-1.828125 0 -2.765625 0.828125q-0.9375 0.828125 -0.9375 2.0625q0 1.25 0.9375 2.078125q0.9375 0.828125 2.828125 0.828125zm4.921873 -9.281952l-9.859373 0l0 -1.5l1.40625 0q-1.625 -1.09375 -1.625 -3.140625q0 -0.890625 0.328125 -1.640625q0.3125 -0.75 0.84375 -1.109375q0.515625 -0.375 1.21875 -0.53125q0.46875 -0.09375 1.625 -0.09375l6.062498 0l0 1.671875l-5.999998 0q-1.015625 0 -1.515625 0.203125q-0.515625 0.1875 -0.8125 0.6875q-0.296875 0.5 -0.296875 1.171875q0 1.0625 0.671875 1.84375q0.671875 0.765625 2.578125 0.765625l5.374998 0l0 1.671875zm-3.171873 -17.125732l0.21875 -1.71875q1.5 0.40625 2.343748 1.515625q0.828125 1.09375 0.828125 2.8125q0 2.15625 -1.3281231 3.421875q-1.328125 1.265625 -3.734375 1.265625q-2.484375 0 -3.859375 -1.265625q-1.375 -1.28125 -1.375 -3.328125q0 -1.984375 1.34375 -3.234375q1.34375 -1.25 3.796875 -1.25q0.140625 0 0.4375 0.015625l0 7.34375q1.625 -0.09375 2.484375 -0.921875q0.859375 -0.828125 0.859375 -2.0625q0 -0.90625 -0.46875 -1.546875q-0.484375 -0.65625 -1.546875 -1.046875zm-2.703125 5.484375l0 -5.5q-1.234375 0.109375 -1.859375 0.625q-0.96875 0.796875 -0.96875 2.078125q0 1.140625 0.78125 1.9375q0.765625 0.78125 2.046875 0.859375zm5.874998 -9.547577l-1.9062481 0l0 -1.90625l1.9062481 0q1.046875 0 1.6875 0.375q0.65625 0.375 1.0 1.171875l-0.71875 0.46875q-0.21875 -0.53125 -0.671875 -0.78125q-0.453125 -0.25 -1.296875 -0.28125l0 0.953125zm3.78125 -16.210358l-4.828123 0q0.5468731 0.390625 0.9062481 1.09375q0.359375 0.6875 0.359375 1.484375q0 1.75 -1.3906231 3.015625q-1.40625 1.265625 -3.84375 1.265625q-1.484375 0 -2.65625 -0.515625q-1.1875 -0.515625 -1.796875 -1.484375q-0.609375 -0.984375 -0.609375 -2.15625q0 -1.828125 1.546875 -2.875l-1.328125 0l0 -1.5l13.640623 0l0 1.671875zm-8.734373 5.140625q1.90625 0 2.859375 -0.796875q0.9375 -0.796875 0.9375 -1.90625q0 -1.0625 -0.890625 -1.828125q-0.90625 -0.78125 -2.765625 -0.78125q-1.953125 0 -2.953125 0.8125q-1.0 0.8125 -1.0 1.90625q0 1.09375 0.9375 1.84375q0.921875 0.75 2.875 0.75zm4.953123 -15.688232l-1.4531231 0q1.6718731 1.140625 1.6718731 3.125q0 0.859375 -0.328125 1.625q-0.34375 0.75 -0.8437481 1.125q-0.5 0.359375 -1.234375 0.515625q-0.5 0.09375 -1.5625 0.09375l-6.109375 0l0 -1.671875l5.46875 0q1.3125 0 1.765625 -0.09375q0.65625 -0.15625 1.03125 -0.671875q0.375 -0.515625 0.375 -1.265625q0 -0.75 -0.375 -1.40625q-0.390625 -0.65625 -1.046875 -0.921875q-0.671875 -0.28125 -1.9375 -0.28125l-5.28125 0l0 -1.671875l9.859373 0l0 1.5zm-11.687498 -3.938202l-1.90625 0l0 -1.671875l1.90625 0l0 1.671875zm11.687498 0l-9.859373 0l0 -1.671875l9.859373 0l0 1.671875zm-3.609373 -10.566711l0.21875 -1.640625q1.6875 0.265625 2.65625 1.375q0.9531231 1.109375 0.9531231 2.734375q0 2.015625 -1.3124981 3.25q-1.328125 1.21875 -3.796875 1.21875q-1.59375 0 -2.78125 -0.515625q-1.203125 -0.53125 -1.796875 -1.609375q-0.609375 -1.09375 -0.609375 -2.359375q0 -1.609375 0.8125 -2.625q0.8125 -1.015625 2.3125 -1.3125l0.25 1.625q-1.0 0.234375 -1.5 0.828125q-0.5 0.59375 -0.5 1.421875q0 1.265625 0.90625 2.0625q0.90625 0.78125 2.859375 0.78125q1.984375 0 2.890625 -0.765625q0.890625 -0.765625 0.890625 -1.984375q0 -0.984375 -0.59375 -1.640625q-0.609375 -0.65625 -1.859375 -0.84375zm3.609373 -2.90625l-13.593748 0l0 -1.671875l7.75 0l-4.015625 -3.953125l0 -2.15625l3.65625 3.765625l6.203123 -4.140625l0 2.0625l-5.031248 3.25l1.125 1.171875l3.906248 0l0 1.671875zm0 -9.28125l-13.593748 0l0 -1.671875l13.593748 0l0 1.671875zm3.796875 -4.097931l-1.5625 0.171875q0.140625 -0.546875 0.140625 -0.953125q0 -0.546875 -0.1875 -0.875q-0.1875 -0.34375 -0.515625 -0.5625q-0.25 -0.15625 -1.25 -0.5q-0.140625 -0.046875 -0.40625 -0.15625l-9.874998 3.734375l0 -1.796875l5.71875 -2.046875q1.078125 -0.40625 2.28125 -0.71875q-1.15625 -0.28125 -2.25 -0.6875l-5.75 -2.09375l0 -1.671875l10.031248 3.75q1.625 0.59375 2.234375 0.9375q0.828125 0.4375 1.203125 1.015625q0.390625 0.578125 0.390625 1.375q0 0.484375 -0.203125 1.078125z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m55.67132 381.09348l0 0c0 -11.715393 14.989643 -21.212616 33.480312 -21.212616l0 0c18.49067 0 33.480316 9.497223 33.480316 21.212616l0 0c0 11.715393 -14.989647 21.212585 -33.480316 21.212585l0 0c-18.49067 0 -33.480312 -9.497192 -33.480312 -21.212585z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m55.67132 381.09348l0 0c0 -11.715393 14.989643 -21.212616 33.480312 -21.212616l0 0c18.49067 0 33.480316 9.497223 33.480316 21.212616l0 0c0 11.715393 -14.989647 21.212585 -33.480316 21.212585l0 0c-18.49067 0 -33.480312 -9.497192 -33.480312 -21.212585z" fill-rule="nonzero"></path><path fill="#000000" d="m92.672 382.40784l1.421875 0.359375q-0.4375 1.75 -1.609375 2.671875q-1.15625 0.921875 -2.828125 0.921875q-1.734375 0 -2.828125 -0.703125q-1.09375 -0.71875 -1.65625 -2.046875q-0.5625 -1.34375 -0.5625 -2.890625q0 -1.671875 0.640625 -2.921875q0.640625 -1.25 1.8125 -1.890625q1.1875 -0.65625 2.609375 -0.65625q1.609375 0 2.703125 0.828125q1.109375 0.8125 1.546875 2.296875l-1.40625 0.328125q-0.375 -1.171875 -1.09375 -1.703125q-0.703125 -0.53125 -1.78125 -0.53125q-1.234375 0 -2.0625 0.59375q-0.828125 0.59375 -1.171875 1.59375q-0.328125 1.0 -0.328125 2.0625q0 1.359375 0.390625 2.390625q0.40625 1.015625 1.234375 1.53125q0.84375 0.5 1.828125 0.5q1.203125 0 2.03125 -0.6875q0.828125 -0.6875 1.109375 -2.046875z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m567.669 328.54565l0 0c0 -11.715393 16.286987 -21.212616 36.37793 -21.212616l0 0c20.091003 0 36.37799 9.497223 36.37799 21.212616l0 0c0 11.715393 -16.286987 21.212585 -36.37799 21.212585l0 0c-20.090942 0 -36.37793 -9.497192 -36.37793 -21.212585z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m567.669 328.54565l0 0c0 -11.715393 16.286987 -21.212616 36.37793 -21.212616l0 0c20.091003 0 36.37799 9.497223 36.37799 21.212616l0 0c0 11.715393 -16.286987 21.212585 -36.37799 21.212585l0 0c-20.090942 0 -36.37793 -9.497192 -36.37793 -21.212585z" fill-rule="nonzero"></path><path fill="#000000" d="m599.0083 329.86002l1.421875 0.359375q-0.4375 1.75 -1.609375 2.671875q-1.15625 0.921875 -2.828125 0.921875q-1.734375 0 -2.828125 -0.703125q-1.09375 -0.71875 -1.65625 -2.046875q-0.5625 -1.34375 -0.5625 -2.890625q0 -1.671875 0.640625 -2.921875q0.640625 -1.25 1.8125 -1.890625q1.1875 -0.65625 2.609375 -0.65625q1.609375 0 2.703125 0.828125q1.109375 0.8125 1.546875 2.296875l-1.40625 0.328125q-0.375 -1.171875 -1.09375 -1.703125q-0.703125 -0.53125 -1.78125 -0.53125q-1.234375 0 -2.0625 0.59375q-0.828125 0.59375 -1.171875 1.59375q-0.328125 1.0 -0.328125 2.0625q0 1.359375 0.390625 2.390625q0.40625 1.015625 1.234375 1.53125q0.84375 0.5 1.828125 0.5q1.203125 0 2.03125 -0.6875q0.828125 -0.6875 1.109375 -2.046875zm5.5217896 2.03125l0 -2.953125l-2.921875 0l0 -1.21875l2.921875 0l0 -2.921875l1.25 0l0 2.921875l2.921875 0l0 1.21875l-2.921875 0l0 2.953125l-1.25 0zm8.559021 0l0 -2.953125l-2.921875 0l0 -1.21875l2.921875 0l0 -2.921875l1.25 0l0 2.921875l2.921875 0l0 1.21875l-2.921875 0l0 2.953125l-1.25 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m27.731716 89.39058l0 0c0 -11.715393 19.262333 -21.2126 43.023624 -21.2126l0 0c23.761292 0 43.02362 9.497208 43.02362 21.2126l0 0c0 11.715393 -19.26233 21.2126 -43.02362 21.2126l0 0c-23.761292 0 -43.023624 -9.497208 -43.023624 -21.2126z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m27.731716 89.39058l0 0c0 -11.715393 19.262333 -21.2126 43.023624 -21.2126l0 0c23.761292 0 43.02362 9.497208 43.02362 21.2126l0 0c0 11.715393 -19.26233 21.2126 -43.02362 21.2126l0 0c-23.761292 0 -43.023624 -9.497208 -43.023624 -21.2126z" fill-rule="nonzero"></path><path fill="#000000" d="m58.879837 94.47058l0 -10.734375l4.046875 0q1.078125 0 1.640625 0.09375q0.78125 0.140625 1.3125 0.515625q0.546875 0.359375 0.875 1.03125q0.328125 0.65625 0.328125 1.46875q0 1.359375 -0.875 2.3125q-0.875 0.953125 -3.15625 0.953125l-2.75 0l0 4.359375l-1.421875 0zm1.421875 -5.625l2.78125 0q1.375 0 1.953125 -0.515625q0.578125 -0.515625 0.578125 -1.453125q0 -0.671875 -0.34375 -1.140625q-0.34375 -0.484375 -0.890625 -0.640625q-0.359375 -0.09375 -1.328125 -0.09375l-2.75 0l0 3.84375zm13.509979 3.125l1.359375 0.15625q-0.3125 1.203125 -1.1875 1.859375q-0.875 0.65625 -2.234375 0.65625q-1.703125 0 -2.703125 -1.046875q-1.0 -1.046875 -1.0 -2.953125q0 -1.953125 1.015625 -3.03125q1.015625 -1.09375 2.625 -1.09375q1.5625 0 2.546875 1.0625q0.984375 1.0625 0.984375 2.984375q0 0.125 0 0.359375l-5.8125 0q0.078125 1.28125 0.71875 1.96875q0.65625 0.671875 1.640625 0.671875q0.71875 0 1.234375 -0.375q0.515625 -0.390625 0.8125 -1.21875zm-4.328125 -2.140625l4.34375 0q-0.09375 -0.984375 -0.5 -1.46875q-0.625 -0.765625 -1.625 -0.765625q-0.921875 0 -1.546875 0.609375q-0.609375 0.609375 -0.671875 1.625zm7.135483 4.640625l0 -7.78125l1.1875 0l0 1.1875q0.453125 -0.828125 0.84375 -1.09375q0.390625 -0.265625 0.84375 -0.265625q0.671875 0 1.359375 0.421875l-0.453125 1.21875q-0.484375 -0.28125 -0.96875 -0.28125q-0.4375 0 -0.78125 0.265625q-0.34375 0.25 -0.484375 0.71875q-0.21875 0.703125 -0.21875 1.53125l0 4.078125l-1.328125 0zm4.8650208 0l0 -10.734375l1.328125 0l0 10.734375l-1.328125 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m23.645636 44.00525l0 0c0 -11.715393 23.676027 -21.212599 52.88189 -21.212599l0 0c29.205856 0 52.88188 9.497206 52.88188 21.212599l0 0c0 11.715393 -23.676025 21.2126 -52.88188 21.2126l0 0c-29.205864 0 -52.88189 -9.497208 -52.88189 -21.2126z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m23.645636 44.00525l0 0c0 -11.715393 23.676027 -21.212599 52.88189 -21.212599l0 0c29.205856 0 52.88188 9.497206 52.88188 21.212599l0 0c0 11.715393 -23.676025 21.2126 -52.88188 21.2126l0 0c-29.205864 0 -52.88189 -9.497208 -52.88189 -21.2126z" fill-rule="nonzero"></path><path fill="#000000" d="m54.869263 49.08525l0 -10.734375l4.046875 0q1.078125 0 1.640625 0.09375q0.78125 0.140625 1.3125 0.515625q0.546875 0.359375 0.875 1.03125q0.328125 0.65625 0.328125 1.46875q0 1.359375 -0.875 2.3125q-0.875 0.953125 -3.15625 0.953125l-2.75 0l0 4.359375l-1.421875 0zm1.421875 -5.625l2.78125 0q1.375 0 1.953125 -0.515625q0.578125 -0.515625 0.578125 -1.453125q0 -0.671875 -0.34375 -1.140625q-0.34375 -0.484375 -0.890625 -0.640625q-0.359375 -0.09375 -1.328125 -0.09375l-2.75 0l0 3.84375zm8.134979 8.625l-0.15625 -1.234375q0.4375 0.109375 0.75 0.109375q0.453125 0 0.703125 -0.15625q0.265625 -0.140625 0.4375 -0.40625q0.125 -0.1875 0.40625 -0.96875q0.03125 -0.109375 0.109375 -0.328125l-2.953125 -7.796875l1.421875 0l1.625 4.5q0.3125 0.859375 0.5625 1.8125q0.234375 -0.90625 0.546875 -1.78125l1.65625 -4.53125l1.328125 0l-2.96875 7.90625q-0.46875 1.28125 -0.734375 1.765625q-0.359375 0.65625 -0.8125 0.953125q-0.453125 0.3125 -1.078125 0.3125q-0.375 0 -0.84375 -0.15625zm10.265625 -4.171875l0.1875 1.15625q-0.5625 0.125 -1.0 0.125q-0.71875 0 -1.125 -0.234375q-0.390625 -0.234375 -0.546875 -0.59375q-0.15625 -0.375 -0.15625 -1.5625l0 -4.46875l-0.96875 0l0 -1.03125l0.96875 0l0 -1.921875l1.3125 -0.796875l0 2.71875l1.328125 0l0 1.03125l-1.328125 0l0 4.546875q0 0.5625 0.0625 0.734375q0.078125 0.15625 0.234375 0.25q0.15625 0.09375 0.4375 0.09375q0.234375 0 0.59375 -0.046875zm1.1813507 1.171875l0 -10.734375l1.328125 0l0 3.84375q0.921875 -1.0625 2.328125 -1.0625q0.859375 0 1.5 0.34375q0.640625 0.34375 0.90625 0.9375q0.28125 0.59375 0.28125 1.75l0 4.921875l-1.328125 0l0 -4.921875q0 -1.0 -0.421875 -1.4375q-0.421875 -0.453125 -1.21875 -0.453125q-0.578125 0 -1.09375 0.296875q-0.515625 0.296875 -0.734375 0.828125q-0.21875 0.515625 -0.21875 1.4375l0 4.25l-1.328125 0zm7.666733 -3.890625q0 -2.15625 1.203125 -3.203125q1.0 -0.859375 2.4375 -0.859375q1.609375 0 2.625 1.046875q1.015625 1.046875 1.015625 2.90625q0 1.5 -0.453125 2.359375q-0.4375 0.859375 -1.3125 1.34375q-0.859375 0.46875 -1.875 0.46875q-1.625 0 -2.640625 -1.046875q-1.0 -1.046875 -1.0 -3.015625zm1.359375 0q0 1.5 0.640625 2.25q0.65625 0.734375 1.640625 0.734375q0.984375 0 1.640625 -0.75q0.65625 -0.75 0.65625 -2.28125q0 -1.4375 -0.65625 -2.171875q-0.65625 -0.75 -1.640625 -0.75q-0.984375 0 -1.640625 0.734375q-0.640625 0.734375 -0.640625 2.234375zm7.276108 3.890625l0 -7.78125l1.1875 0l0 1.109375q0.859375 -1.28125 2.484375 -1.28125q0.703125 0 1.28125 0.25q0.59375 0.25 0.890625 0.671875q0.296875 0.40625 0.40625 0.96875q0.078125 0.359375 0.078125 1.28125l0 4.78125l-1.328125 0l0 -4.734375q0 -0.796875 -0.15625 -1.1875q-0.140625 -0.40625 -0.53125 -0.640625q-0.390625 -0.25 -0.921875 -0.25q-0.84375 0 -1.453125 0.53125q-0.609375 0.53125 -0.609375 2.03125l0 4.25l-1.328125 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m292.5149 201.49901l0 0c0 -11.715393 19.26236 -21.212585 43.02365 -21.212585l0 0c23.761292 0 43.02362 9.497192 43.02362 21.212585l0 0c0 11.715408 -19.26233 21.2126 -43.02362 21.2126l0 0c-23.761292 0 -43.02365 -9.497192 -43.02365 -21.2126z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m292.5149 201.49901l0 0c0 -11.715393 19.26236 -21.212585 43.02365 -21.212585l0 0c23.761292 0 43.02362 9.497192 43.02362 21.212585l0 0c0 11.715408 -19.26233 21.2126 -43.02362 21.2126l0 0c-23.761292 0 -43.02365 -9.497192 -43.02365 -21.2126z" fill-rule="nonzero"></path><path fill="#000000" d="m320.4968 203.53214l1.28125 -0.171875q0.046875 1.21875 0.453125 1.6875q0.40625 0.453125 1.140625 0.453125q0.53125 0 0.921875 -0.25q0.390625 -0.25 0.53125 -0.671875q0.15625 -0.421875 0.15625 -1.34375l0 -7.390625l1.40625 0l0 7.3125q0 1.34375 -0.328125 2.09375q-0.3125 0.734375 -1.03125 1.125q-0.703125 0.390625 -1.65625 0.390625q-1.40625 0 -2.15625 -0.8125q-0.75 -0.8125 -0.71875 -2.421875zm12.953125 2.09375q-0.734375 0.609375 -1.40625 0.875q-0.671875 0.25 -1.453125 0.25q-1.28125 0 -1.96875 -0.625q-0.6875 -0.625 -0.6875 -1.59375q0 -0.578125 0.25 -1.046875q0.265625 -0.46875 0.6875 -0.75q0.421875 -0.296875 0.953125 -0.4375q0.375 -0.109375 1.171875 -0.203125q1.59375 -0.1875 2.34375 -0.453125q0.015625 -0.265625 0.015625 -0.34375q0 -0.8125 -0.375 -1.140625q-0.515625 -0.4375 -1.5 -0.4375q-0.9375 0 -1.390625 0.328125q-0.4375 0.3125 -0.640625 1.140625l-1.296875 -0.171875q0.171875 -0.828125 0.578125 -1.328125q0.40625 -0.515625 1.171875 -0.78125q0.765625 -0.28125 1.765625 -0.28125q1.0 0 1.609375 0.234375q0.625 0.234375 0.921875 0.59375q0.296875 0.34375 0.40625 0.890625q0.0625 0.34375 0.0625 1.21875l0 1.75q0 1.84375 0.078125 2.328125q0.09375 0.484375 0.34375 0.9375l-1.375 0q-0.203125 -0.40625 -0.265625 -0.953125zm-0.109375 -2.953125q-0.71875 0.296875 -2.15625 0.5q-0.8125 0.125 -1.15625 0.265625q-0.328125 0.140625 -0.515625 0.421875q-0.171875 0.28125 -0.171875 0.625q0 0.53125 0.390625 0.890625q0.40625 0.34375 1.171875 0.34375q0.765625 0 1.359375 -0.328125q0.59375 -0.34375 0.875 -0.921875q0.203125 -0.4375 0.203125 -1.3125l0 -0.484375zm5.354248 3.90625l-2.96875 -7.78125l1.390625 0l1.671875 4.65625q0.265625 0.765625 0.5 1.578125q0.171875 -0.625 0.484375 -1.484375l1.734375 -4.75l1.359375 0l-2.953125 7.78125l-1.21875 0zm10.234375 -0.953125q-0.734375 0.609375 -1.40625 0.875q-0.671875 0.25 -1.453125 0.25q-1.28125 0 -1.96875 -0.625q-0.6875 -0.625 -0.6875 -1.59375q0 -0.578125 0.25 -1.046875q0.265625 -0.46875 0.6875 -0.75q0.421875 -0.296875 0.953125 -0.4375q0.375 -0.109375 1.171875 -0.203125q1.59375 -0.1875 2.34375 -0.453125q0.015625 -0.265625 0.015625 -0.34375q0 -0.8125 -0.375 -1.140625q-0.515625 -0.4375 -1.5 -0.4375q-0.9375 0 -1.390625 0.328125q-0.4375 0.3125 -0.640625 1.140625l-1.296875 -0.171875q0.171875 -0.828125 0.578125 -1.328125q0.40625 -0.515625 1.171875 -0.78125q0.765625 -0.28125 1.765625 -0.28125q1.0 0 1.609375 0.234375q0.625 0.234375 0.921875 0.59375q0.296875 0.34375 0.40625 0.890625q0.0625 0.34375 0.0625 1.21875l0 1.75q0 1.84375 0.078125 2.328125q0.09375 0.484375 0.34375 0.9375l-1.375 0q-0.203125 -0.40625 -0.265625 -0.953125zm-0.109375 -2.953125q-0.71875 0.296875 -2.15625 0.5q-0.8125 0.125 -1.15625 0.265625q-0.328125 0.140625 -0.515625 0.421875q-0.171875 0.28125 -0.171875 0.625q0 0.53125 0.390625 0.890625q0.40625 0.34375 1.171875 0.34375q0.765625 0 1.359375 -0.328125q0.59375 -0.34375 0.875 -0.921875q0.203125 -0.4375 0.203125 -1.3125l0 -0.484375z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m119.55249 44.006237l0 0c0 -11.715393 19.26233 -21.212597 43.02362 -21.212597l0 0c23.761292 0 43.02362 9.497204 43.02362 21.212597l0 0c0 11.715397 -19.26233 21.212597 -43.02362 21.212597l0 0c-23.761292 0 -43.02362 -9.4972 -43.02362 -21.212597z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m119.55249 44.006237l0 0c0 -11.715393 19.26233 -21.212597 43.02362 -21.212597l0 0c23.761292 0 43.02362 9.497204 43.02362 21.212597l0 0c0 11.715397 -19.26233 21.212597 -43.02362 21.212597l0 0c-23.761292 0 -43.02362 -9.4972 -43.02362 -21.212597z" fill-rule="nonzero"></path><path fill="#000000" d="m158.988 44.86749l0 -1.25l4.546875 -0.015625l0 3.984375q-1.046875 0.84375 -2.171875 1.265625q-1.109375 0.421875 -2.28125 0.421875q-1.578125 0 -2.875 -0.671875q-1.296875 -0.6875 -1.953125 -1.96875q-0.65625 -1.28125 -0.65625 -2.859375q0 -1.578125 0.65625 -2.9375q0.65625 -1.359375 1.890625 -2.015625q1.234375 -0.65625 2.828125 -0.65625q1.171875 0 2.109375 0.375q0.9375 0.375 1.46875 1.0625q0.546875 0.671875 0.8125 1.75l-1.28125 0.34375q-0.234375 -0.8125 -0.59375 -1.28125q-0.359375 -0.46875 -1.03125 -0.75q-0.65625 -0.28125 -1.46875 -0.28125q-0.984375 0 -1.703125 0.296875q-0.703125 0.296875 -1.140625 0.78125q-0.421875 0.484375 -0.671875 1.0625q-0.40625 1.0 -0.40625 2.15625q0 1.4375 0.484375 2.40625q0.5 0.96875 1.4375 1.4375q0.953125 0.46875 2.015625 0.46875q0.921875 0 1.796875 -0.359375q0.890625 -0.359375 1.34375 -0.765625l0 -2.0l-3.15625 0zm5.7126007 0.328125q0 -2.15625 1.203125 -3.203125q1.0 -0.859375 2.4375 -0.859375q1.609375 0 2.625 1.046875q1.015625 1.046875 1.015625 2.90625q0 1.5 -0.453125 2.359375q-0.4375 0.859375 -1.3125 1.34375q-0.859375 0.46875 -1.875 0.46875q-1.625 0 -2.640625 -1.046875q-1.0 -1.046875 -1.0 -3.015625zm1.359375 0q0 1.5 0.640625 2.25q0.65625 0.734375 1.640625 0.734375q0.984375 0 1.640625 -0.75q0.65625 -0.75 0.65625 -2.28125q0 -1.4375 -0.65625 -2.171875q-0.65625 -0.75 -1.640625 -0.75q-0.984375 0 -1.640625 0.734375q-0.640625 0.734375 -0.640625 2.234375z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m447.41135 174.22841l0 0c0 -11.715393 19.26233 -21.2126 43.02362 -21.2126l0 0c23.761261 0 43.02359 9.497208 43.02359 21.2126l0 0c0 11.715393 -19.26233 21.2126 -43.02359 21.2126l0 0c-23.761292 0 -43.02362 -9.497208 -43.02362 -21.2126z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m447.41135 174.22841l0 0c0 -11.715393 19.26233 -21.2126 43.02362 -21.2126l0 0c23.761261 0 43.02359 9.497208 43.02359 21.2126l0 0c0 11.715393 -19.26233 21.2126 -43.02359 21.2126l0 0c-23.761292 0 -43.02362 -9.497208 -43.02362 -21.2126z" fill-rule="nonzero"></path><path fill="#000000" d="m489.87976 175.54279l1.421875 0.359375q-0.4375 1.75 -1.609375 2.671875q-1.15625 0.921875 -2.828125 0.921875q-1.734375 0 -2.828125 -0.703125q-1.09375 -0.71875 -1.65625 -2.046875q-0.5625 -1.34375 -0.5625 -2.890625q0 -1.671875 0.640625 -2.921875q0.640625 -1.25 1.8125 -1.890625q1.1875 -0.65625 2.609375 -0.65625q1.609375 0 2.703125 0.828125q1.109375 0.8125 1.546875 2.296875l-1.40625 0.328125q-0.375 -1.171875 -1.09375 -1.703125q-0.703125 -0.53125 -1.78125 -0.53125q-1.234375 0 -2.0625 0.59375q-0.828125 0.59375 -1.171875 1.59375q-0.328125 1.0 -0.328125 2.0625q0 1.359375 0.390625 2.390625q0.40625 1.015625 1.234375 1.53125q0.84375 0.5 1.828125 0.5q1.203125 0 2.03125 -0.6875q0.828125 -0.6875 1.109375 -2.046875zm2.5217896 3.953125l0.640625 -3.125l-1.234375 0l0 -1.09375l1.453125 0l0.546875 -2.65625l-2.0 0l0 -1.09375l2.21875 0l0.640625 -3.140625l1.09375 0l-0.640625 3.140625l2.3125 0l0.640625 -3.140625l1.09375 0l-0.625 3.140625l1.265625 0l0 1.09375l-1.484375 0l-0.5625 2.65625l2.046875 0l0 1.09375l-2.265625 0l-0.625 3.125l-1.109375 0l0.640625 -3.125l-2.3125 0l-0.625 3.125l-1.109375 0zm1.953125 -4.21875l2.3125 0l0.546875 -2.65625l-2.3125 0l-0.546875 2.65625z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m673.8365 387.86002l0 0c0 -10.202026 25.0932 -18.472412 56.04724 -18.472412l0 0c30.95404 0 56.04724 8.270386 56.04724 18.472412l0 0c0 10.202057 -25.0932 18.472443 -56.04724 18.472443l0 0c-30.95404 0 -56.04724 -8.270386 -56.04724 -18.472443z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m673.8365 387.86002l0 0c0 -10.202026 25.0932 -18.472412 56.04724 -18.472412l0 0c30.95404 0 56.04724 8.270386 56.04724 18.472412l0 0c0 10.202057 -25.0932 18.472443 -56.04724 18.472443l0 0c-30.95404 0 -56.04724 -8.270386 -56.04724 -18.472443z" fill-rule="nonzero"></path><path fill="#000000" d="m707.0593 392.94003l0 -10.734375l1.421875 0l0 4.40625l5.578125 0l0 -4.40625l1.421875 0l0 10.734375l-1.421875 0l0 -5.0625l-5.578125 0l0 5.0625l-1.421875 0zm15.443665 -0.953125q-0.734375 0.609375 -1.40625 0.875q-0.671875 0.25 -1.453125 0.25q-1.28125 0 -1.96875 -0.625q-0.6875 -0.625 -0.6875 -1.59375q0 -0.578125 0.25 -1.046875q0.265625 -0.46875 0.6875 -0.75q0.421875 -0.296875 0.953125 -0.4375q0.375 -0.109375 1.171875 -0.203125q1.59375 -0.1875 2.34375 -0.453125q0.015625 -0.265625 0.015625 -0.34375q0 -0.8125 -0.375 -1.140625q-0.515625 -0.4375 -1.5 -0.4375q-0.9375 0 -1.390625 0.328125q-0.4375 0.3125 -0.640625 1.140625l-1.296875 -0.171875q0.171875 -0.828125 0.578125 -1.328125q0.40625 -0.515625 1.171875 -0.78125q0.765625 -0.28125 1.765625 -0.28125q1.0 0 1.609375 0.234375q0.625 0.234375 0.921875 0.59375q0.296875 0.34375 0.40625 0.890625q0.0625 0.34375 0.0625 1.21875l0 1.75q0 1.84375 0.078125 2.328125q0.09375 0.484375 0.34375 0.9375l-1.375 0q-0.203125 -0.40625 -0.265625 -0.953125zm-0.109375 -2.953125q-0.71875 0.296875 -2.15625 0.5q-0.8125 0.125 -1.15625 0.265625q-0.328125 0.140625 -0.515625 0.421875q-0.171875 0.28125 -0.171875 0.625q0 0.53125 0.390625 0.890625q0.40625 0.34375 1.171875 0.34375q0.765625 0 1.359375 -0.328125q0.59375 -0.34375 0.875 -0.921875q0.203125 -0.4375 0.203125 -1.3125l0 -0.484375zm2.666748 1.578125l1.296875 -0.203125q0.109375 0.78125 0.609375 1.203125q0.5 0.421875 1.40625 0.421875q0.90625 0 1.34375 -0.359375q0.4375 -0.375 0.4375 -0.875q0 -0.453125 -0.390625 -0.703125q-0.265625 -0.1875 -1.34375 -0.453125q-1.453125 -0.359375 -2.015625 -0.625q-0.546875 -0.28125 -0.84375 -0.75q-0.28125 -0.46875 -0.28125 -1.046875q0 -0.515625 0.234375 -0.953125q0.234375 -0.453125 0.640625 -0.734375q0.3125 -0.234375 0.84375 -0.390625q0.53125 -0.15625 1.140625 -0.15625q0.90625 0 1.59375 0.265625q0.703125 0.265625 1.03125 0.71875q0.328125 0.4375 0.453125 1.203125l-1.28125 0.171875q-0.09375 -0.609375 -0.515625 -0.9375q-0.421875 -0.34375 -1.1875 -0.34375q-0.90625 0 -1.296875 0.3125q-0.390625 0.296875 -0.390625 0.703125q0 0.25 0.15625 0.453125q0.171875 0.21875 0.515625 0.359375q0.1875 0.0625 1.15625 0.328125q1.40625 0.375 1.953125 0.609375q0.5625 0.234375 0.875 0.703125q0.3125 0.453125 0.3125 1.125q0 0.65625 -0.390625 1.234375q-0.375 0.578125 -1.109375 0.90625q-0.71875 0.3125 -1.640625 0.3125q-1.515625 0 -2.3125 -0.625q-0.78125 -0.625 -1.0 -1.875zm7.859375 2.328125l0 -10.734375l1.3125 0l0 6.125l3.125 -3.171875l1.703125 0l-2.96875 2.890625l3.265625 4.890625l-1.625 0l-2.5625 -3.984375l-0.9375 0.90625l0 3.078125l-1.3125 0zm12.640625 -2.5l1.359375 0.15625q-0.3125 1.203125 -1.1875 1.859375q-0.875 0.65625 -2.234375 0.65625q-1.703125 0 -2.703125 -1.046875q-1.0 -1.046875 -1.0 -2.953125q0 -1.953125 1.015625 -3.03125q1.015625 -1.09375 2.625 -1.09375q1.5625 0 2.546875 1.0625q0.984375 1.0625 0.984375 2.984375q0 0.125 0 0.359375l-5.8125 0q0.078125 1.28125 0.71875 1.96875q0.65625 0.671875 1.640625 0.671875q0.71875 0 1.234375 -0.375q0.515625 -0.390625 0.8125 -1.21875zm-4.328125 -2.140625l4.34375 0q-0.09375 -0.984375 -0.5 -1.46875q-0.625 -0.765625 -1.625 -0.765625q-0.921875 0 -1.546875 0.609375q-0.609375 0.609375 -0.671875 1.625zm7.119812 4.640625l0 -10.734375l1.328125 0l0 10.734375l-1.328125 0zm3.2561646 0l0 -10.734375l1.328125 0l0 10.734375l-1.328125 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m77.403496 68.78227l0 0c0 -11.715397 19.26233 -21.2126 43.02362 -21.2126l0 0c23.761284 0 43.023613 9.497204 43.023613 21.2126l0 0c0 11.715393 -19.26233 21.212593 -43.023613 21.212593l0 0c-23.761292 0 -43.02362 -9.4972 -43.02362 -21.212593z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m77.403496 68.78227l0 0c0 -11.715397 19.26233 -21.2126 43.02362 -21.2126l0 0c23.761284 0 43.023613 9.497204 43.023613 21.2126l0 0c0 11.715393 -19.26233 21.212593 -43.023613 21.212593l0 0c-23.761292 0 -43.02362 -9.4972 -43.02362 -21.212593z" fill-rule="nonzero"></path><path fill="#000000" d="m104.491684 73.862274l0 -10.734379l4.765625 0q1.4375 0 2.1875 0.296875q0.75 0.28125 1.1875 1.0156288q0.453125 0.734375 0.453125 1.609375q0 1.140625 -0.75 1.9375q-0.734375 0.78125 -2.28125 0.984375q0.5625 0.28125 0.859375 0.546875q0.625 0.5625 1.1875 1.421875l1.859375 2.921875l-1.78125 0l-1.421875 -2.234375q-0.625 -0.96875 -1.03125 -1.46875q-0.40625 -0.515625 -0.71875 -0.71875q-0.3125 -0.21875 -0.640625 -0.296875q-0.25 -0.046875 -0.796875 -0.046875l-1.65625 0l0 4.765625l-1.421875 0zm1.421875 -6.0l3.0625 0q0.96875 0 1.515625 -0.203125q0.5625 -0.203125 0.84375 -0.640625q0.28125 -0.4375 0.28125 -0.96875q0 -0.75 -0.5625 -1.234375q-0.546875 -0.5 -1.734375 -0.5l-3.40625 0l0 3.546875zm14.084274 6.0l0 -1.140625q-0.921875 1.3125 -2.46875 1.3125q-0.6875 0 -1.296875 -0.265625q-0.59375 -0.265625 -0.890625 -0.65625q-0.28125 -0.40625 -0.390625 -0.984375q-0.09375 -0.375 -0.09375 -1.21875l0 -4.828125l1.328125 0l0 4.3125q0 1.03125 0.078125 1.390625q0.125 0.53125 0.515625 0.828125q0.40625 0.296875 1.0 0.296875q0.59375 0 1.109375 -0.296875q0.53125 -0.3125 0.75 -0.828125q0.21875 -0.53125 0.21875 -1.53125l0 -4.171875l1.3125 0l0 7.78125l-1.171875 0zm4.260483 0l-1.21875 0l0 -10.734379l1.3125 0l0 3.8281288q0.84375 -1.046875 2.140625 -1.046875q0.71875 0 1.359375 0.296875q0.640625 0.28125 1.046875 0.8125q0.421875 0.515625 0.65625 1.265625q0.234375 0.734375 0.234375 1.578125q0 2.0 -1.0 3.09375q-0.984375 1.078125 -2.375 1.078125q-1.375 0 -2.15625 -1.140625l0 0.96875zm-0.015625 -3.953125q0 1.40625 0.390625 2.03125q0.609375 1.015625 1.671875 1.015625q0.875 0 1.5 -0.75q0.625 -0.75 0.625 -2.234375q0 -1.53125 -0.609375 -2.25q-0.59375 -0.734375 -1.453125 -0.734375q-0.859375 0 -1.5 0.75q-0.625 0.75 -0.625 2.171875zm6.901108 6.953125l-0.15625 -1.234375q0.4375 0.109375 0.75 0.109375q0.453125 0 0.703125 -0.15625q0.265625 -0.140625 0.4375 -0.40625q0.125 -0.1875 0.40625 -0.96875q0.03125 -0.109375 0.109375 -0.328125l-2.953125 -7.796875l1.421875 0l1.625 4.5q0.3125 0.859375 0.5625 1.8125q0.234375 -0.90625 0.546875 -1.78125l1.65625 -4.53125l1.328125 0l-2.96875 7.90625q-0.46875 1.28125 -0.734375 1.765625q-0.359375 0.65625 -0.8125 0.953125q-0.453125 0.3125 -1.078125 0.3125q-0.375 0 -0.84375 -0.15625z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m105.9569 86.430504l0 0c0 -11.715393 19.26233 -21.2126 43.023613 -21.2126l0 0c23.761292 0 43.02362 9.497208 43.02362 21.2126l0 0c0 11.715393 -19.26233 21.2126 -43.02362 21.2126l0 0c-23.761284 0 -43.023613 -9.497208 -43.023613 -21.2126z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m105.9569 86.430504l0 0c0 -11.715393 19.26233 -21.2126 43.023613 -21.2126l0 0c23.761292 0 43.02362 9.497208 43.02362 21.2126l0 0c0 11.715393 -19.26233 21.2126 -43.02362 21.2126l0 0c-23.761284 0 -43.023613 -9.497208 -43.023613 -21.2126z" fill-rule="nonzero"></path><path fill="#000000" d="m140.86615 88.46363l1.28125 -0.171875q0.046875 1.21875 0.453125 1.6875q0.40625 0.453125 1.140625 0.453125q0.53125 0 0.921875 -0.25q0.390625 -0.25 0.53125 -0.671875q0.15625 -0.421875 0.15625 -1.34375l0 -7.390625l1.40625 0l0 7.3125q0 1.34375 -0.328125 2.09375q-0.3125 0.734375 -1.03125 1.125q-0.703125 0.390625 -1.65625 0.390625q-1.40625 0 -2.15625 -0.8125q-0.75 -0.8125 -0.71875 -2.421875zm7.5625 -0.40625l1.34375 -0.109375q0.09375 0.796875 0.4375 1.3125q0.359375 0.515625 1.078125 0.84375q0.734375 0.3125 1.65625 0.3125q0.8125 0 1.4375 -0.234375q0.625 -0.25 0.921875 -0.671875q0.3125 -0.421875 0.3125 -0.921875q0 -0.5 -0.296875 -0.875q-0.296875 -0.375 -0.96875 -0.640625q-0.4375 -0.15625 -1.921875 -0.515625q-1.46875 -0.359375 -2.0625 -0.671875q-0.765625 -0.40625 -1.15625 -1.0q-0.375 -0.59375 -0.375 -1.34375q0 -0.8125 0.453125 -1.515625q0.46875 -0.703125 1.359375 -1.0625q0.890625 -0.375 1.96875 -0.375q1.203125 0 2.109375 0.390625q0.90625 0.375 1.390625 1.125q0.5 0.75 0.546875 1.6875l-1.375 0.109375q-0.109375 -1.015625 -0.75 -1.53125q-0.625 -0.53125 -1.859375 -0.53125q-1.28125 0 -1.875 0.484375q-0.59375 0.46875 -0.59375 1.125q0 0.578125 0.421875 0.953125q0.40625 0.375 2.140625 0.765625q1.734375 0.390625 2.375 0.6875q0.9375 0.4375 1.375 1.109375q0.453125 0.65625 0.453125 1.515625q0 0.859375 -0.5 1.625q-0.484375 0.75 -1.40625 1.171875q-0.90625 0.421875 -2.0625 0.421875q-1.453125 0 -2.4375 -0.421875q-0.984375 -0.4375 -1.546875 -1.28125q-0.5625 -0.859375 -0.59375 -1.9375z" fill-rule="nonzero"></path></g></svg>
-
diff --git a/content/2014/gocon-tokyo/goandroid.png b/content/2014/gocon-tokyo/goandroid.png
deleted file mode 100644
index e88e849..0000000
--- a/content/2014/gocon-tokyo/goandroid.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/gocon-tokyo/gpio.gif b/content/2014/gocon-tokyo/gpio.gif
deleted file mode 100644
index 206a006..0000000
--- a/content/2014/gocon-tokyo/gpio.gif
+++ /dev/null
Binary files differ
diff --git a/content/2014/gocon-tokyo/sigourney.png b/content/2014/gocon-tokyo/sigourney.png
deleted file mode 100644
index bdf9a4e..0000000
--- a/content/2014/gocon-tokyo/sigourney.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/gocon-tokyo/spaghetti.jpg b/content/2014/gocon-tokyo/spaghetti.jpg
deleted file mode 100644
index f8fb625..0000000
--- a/content/2014/gocon-tokyo/spaghetti.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/gocon-tokyo/tardis.png b/content/2014/gocon-tokyo/tardis.png
deleted file mode 100644
index 95f9389..0000000
--- a/content/2014/gocon-tokyo/tardis.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/gocon-tokyo/trs.png b/content/2014/gocon-tokyo/trs.png
deleted file mode 100644
index 7afc8a0..0000000
--- a/content/2014/gocon-tokyo/trs.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/gotham-context.slide b/content/2014/gotham-context.slide
deleted file mode 100644
index aebaf61..0000000
--- a/content/2014/gotham-context.slide
+++ /dev/null
@@ -1,335 +0,0 @@
-Cancelation, Context, and Plumbing
-GothamGo 2014
-
-Sameer Ajmani
-sameer@golang.org
-
-* Video
-
-This talk was presented at GothamGo in New York City, November 2014.
-
-.link http://vimeo.com/115309491 Watch the talk on Vimeo
-
-* Introduction
-
-In Go servers, each incoming request is handled in its own goroutine.
-
-Handler code needs access to request-specific values:
-
-- security credentials
-- request deadline
-- operation priority
-
-When the request completes or times out, its work should be canceled.
-
-* Cancelation
-
-Abandon work when the caller no longer needs the result.
-
-- user navigates away, closes connection
-- operation exceeds its deadline
-- when using hedged requests, cancel the laggards
-
-Efficiently canceling unneeded work saves resources.
-
-* Cancelation is advisory
-
-Cancelation does not stop execution or trigger panics.
-
-Cancelation informs code that its work is no longer needed.
-
-Code checks for cancelation and decides what to do:
-shut down, clean up, return errors.
-
-* Cancelation is transitive
-
-.image gotham-context/transitive.svg
-
-* Cancelation affects all APIs on the request path
-
-Network protocols support cancelation.
-
-- HTTP: close the connection
-- RPC: send a control message
-
-APIs above network need cancelation, too.
-
-- Database clients
-- Network file system clients
-- Cloud service clients
-
-And all the layers atop those, up to the UI.
-
-*Goal:* provide a uniform cancelation API that works across package boundaries.
-
-* Cancelation APIs
-
-Many Go APIs support cancelation and deadlines already.
-
-Go APIs are synchronous, so cancelation comes from another goroutine.
-
-Method on the connection or client object:
-
-  // goroutine #1
-  result, err := conn.Do(req)
-
-  // goroutine #2
-  conn.Cancel(req)
-
-Method on the request object:
-
-  // goroutine #1
-  result, err := conn.Do(req)
-
-  // goroutine #2
-  req.Cancel()
-
-* Cancelation APIs (continued)
-
-Method on the pending result object:
-
-  // goroutine #1
-  pending := conn.Start(req)
-  ...
-  result, err := pending.Result()
-
-  // goroutine #2
-  pending.Cancel()
-
-
-Different cancelation APIs in each package are a headache.
-
-We need one that's independent of package or transport:
-
-  // goroutine #1
-  result, err := conn.Do(x, req)
-
-  // goroutine #2
-  x.Cancel()
-
-* Context
-
-A `Context` carries a cancelation signal and request-scoped values to all functions running on behalf of the same task.  It's safe for concurrent access.
-
-.code gotham-context/interface.go /type Context/,/^}/
-
-*Idiom:* pass `ctx` as the first argument to a function.
-
-  import "golang.org/x/net/context"
-
-  // ReadFile reads file name and returns its contents.
-  // If ctx.Done is closed, ReadFile returns ctx.Err immediately.
-  func ReadFile(ctx context.Context, name string) ([]byte, error)
-
-Examples and discussion in [[http://blog.golang.org/context][blog.golang.org/context]].
-
-* Contexts are hierarchical
-
-`Context` has no `Cancel` method; obtain a cancelable `Context` using `WithCancel`:
-
-.code gotham-context/interface.go /WithCancel /,/func WithCancel/
-
-Passing a `Context` to a function does not pass the ability to cancel that `Context`.
-
-  // goroutine #1
-  ctx, cancel := context.WithCancel(parent)
-  ...
-  data, err := ReadFile(ctx, name)
-
-  // goroutine #2
-  cancel()
-
-Contexts form a tree, any subtree of which can be canceled.
-
-* Why does Done return a channel?
-
-Closing a channel works well as a broadcast signal.
-
-_After_the_last_value_has_been_received_from_a_closed_channel_c,_any_receive_from_c_will_succeed_without_blocking,_returning_the_zero_value_for_the_channel_element._
-
-Any number of goroutines can `select` on `<-ctx.Done()`.
-
-Examples and discussion in in [[http://blog.golang.org/pipelines][blog.golang.org/pipelines]].
-
-Using `close` requires care.
-
-- closing a nil channel panics
-- closing a closed channel panics
-
-`Done` returns a receive-only channel that can only be canceled using the `cancel` function returned by `WithCancel`.  It ensures the channel is closed exactly once.
-
-* Context values
-
-Contexts carry request-scoped values across API boundaries.
-
-- deadline
-- cancelation signal
-- security credentials
-- distributed trace IDs
-- operation priority
-- network QoS label
-
-RPC clients encode `Context` values onto the wire.
-
-RPC servers decode them into a new `Context` for the handler function.
-
-* Replicated Search
-
-Example from [[https://talks.golang.org/2012/concurrency.slide][Go Concurrency Patterns]].
-
-.code gotham-context/first.go /START1/,/STOP1/
-
-Remaining searches may continue running after First returns.
-
-* Cancelable Search
-
-.code gotham-context/first-context.go /START1/,/STOP1/
-
-* Context plumbing
-
-*Goal:* pass a `Context` parameter from each inbound RPC at a server through the call stack to each outgoing RPC.
-
-.code gotham-context/before.go /START/,/END/
-
-* Context plumbing (after)
-
-.code gotham-context/after.go /START/,/END/
-
-* Problem: Existing and future code
-
-Google has millions of lines of Go code.
-
-We've retrofitted the internal RPC and distributed file system APIs to take a Context.
-
-Lots more to do, growing every day.
-
-* Why not use (something like) thread local storage?
-
-C++ and Java pass request state in thread-local storage.
-
-Requires no API changes, but ...
-requires custom thread and callback libraries.
-
-Mostly works, except when it doesn't. Failures are hard to debug.
-
-Serious consequences if credential-passing bugs affect user privacy.
-
-"Goroutine-local storage" doesn't exist, and even if it did,
-request processing may flow between goroutines via channels.
-
-We won't sacrifice clarity for convenience.
-
-* In Go, pass Context explicitly
-
-Easy to tell when a Context passes between functions, goroutines, and processes.
-
-Invest up front to make the system easier to maintain:
-
-- update relevant functions to accept a `Context`
-- update function calls to provide a `Context`
-- update interface methods and implementations
-
-Go's awesome tools can help.
-
-* Automated refactoring
-
-*Initial*State:*
-
-Pass `context.TODO()` to outbound RPCs.
-
-`context.TODO()` is a sentinel for static analysis tools. Use it wherever a `Context` is needed but there isn't one available.
-
-*Iteration:*
-
-For each function `F(x)` whose body contains `context.TODO()`,
-
-- add a `Context` parameter to `F`
-- update callers to use `F(context.TODO(),`x)`
-- if the caller has a `Context` available, pass it to `F` instead
-
-Repeat until `context.TODO()` is gone.
-
-* Finding relevant functions
-
-The [[http://godoc.org/golang.org/x/tools/cmd/callgraph][golang.org/x/tools/cmd/callgraph]] tool constructs the call graph of a Go program.
-
-It uses whole-program pointer analysis to find dynamic calls (via interfaces or function values).
-
-*For*context*plumbing:*
-
-Find all functions on call paths from `Context` _suppliers_ (inbound RPCs) to `Context` _consumers_ (`context.TODO`).
-
-* Updating function calls
-
-To change add all `F(x)` to `F(context.TODO(),`x)`:
-
-- define `FContext(ctx,`x)`
-- `F(x)` → `FContext(context.TODO(),`x)`
-- change `F(x)` to `F(ctx,`x)`
-- `FContext(context.TODO(),`x)` → `F(context.TODO(),`x)`
-- remove `FContext(ctx,`x)`
-
-* gofmt -r
-
-Works well for simple replacements:
-
-  gofmt -r 'pkg.F(a) -> pkg.FContext(context.TODO(), a)'
-
-But this is too imprecise for methods.  There may be many methods named M:
-
-  gofmt -r 'x.M(y) -> x.MContext(context.TODO(), y)'
-
-We want to restrict the transformation to specific method signatures.
-
-* The eg tool
-
-The [[http://godoc.org/golang.org/x/tools/cmd/eg][golang.org/x/tools/cmd/eg]] tool performs precise example-based refactoring.
-
-The `before` expression specifies a pattern and the `after` expression its replacement.
-
-To replace `x.M(y)` with `x.MContext(context.TODO(),`y)`:
-
-.code gotham-context/eg.go
-
-* Dealing with interfaces
-
-We need to update dynamic calls to `x.M(y)`.
-
-If `M` called via interface `I`, then `I.M` also needs to change.  The eg tool can update call sites with receiver type `I`.
-
-When we change `I`, we need to update all of its implementations.
-
-Find types assignable to `I` using [[http://godoc.org/golang.org/x/tools/go/types][golang.org/x/tools/go/types]].
-
-More to do here.
-
-* What about the standard library?
-
-The Go 1.0 compatibility guarantee means we will not break existing code.
-
-Interfaces like `io.Reader` and `io.Writer` are widely used.
-
-For Google files, used a currying approach:
-
-  f, err := file.Open(ctx, "/gfs/cell/path")
-  ...
-  fio := f.IO(ctx)  // returns an io.ReadWriteCloser that passes ctx
-  data, err := ioutil.ReadAll(fio)
-
-For versioned public packages, add `Context` parameters in a new API version and provide `eg` templates to insert `context.TODO()`.
-
-More to do here.
-
-* Conclusion
-
-Cancelation needs a uniform API across package boundaries.
-
-Retrofitting code is hard, but Go is tool-friendly.
-
-New code should use `Context`.
-
-Links:
-
-- [[http://golang.org/x/net/context][golang.org/x/net/context]] - package
-- [[http://blog.golang.org/context][blog.golang.org/context]] - blog post
-- [[http://golang.org/x/tools/cmd/eg][golang.org/x/tools/cmd/eg]] - eg tool
diff --git a/content/2014/gotham-context/after.go b/content/2014/gotham-context/after.go
deleted file mode 100644
index dbec869..0000000
--- a/content/2014/gotham-context/after.go
+++ /dev/null
@@ -1,18 +0,0 @@
-// +build ignore,OMIT
-
-package after
-
-// START OMIT
-func (*ServiceA) HandleRPC(ctx context.Context, a Arg) {
-	f(ctx, a)
-}
-
-func f(ctx context.Context, a Args) { // HL
-	x.M(ctx, a)
-}
-
-func (x *X) M(ctx context.Context, a Args) { // HL
-	serviceB.IssueRPC(ctx, a)
-}
-
-// END OMIT
diff --git a/content/2014/gotham-context/before.go b/content/2014/gotham-context/before.go
deleted file mode 100644
index 1da89ef..0000000
--- a/content/2014/gotham-context/before.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// +build ignore,OMIT
-
-package before
-
-// START OMIT
-func (*ServiceA) HandleRPC(ctx context.Context, a Arg) {
-	f(a)
-}
-
-func f(a Args) {
-	x.M(a)
-}
-
-func (x *X) M(a Args) {
-	// TODO(sameer): pass a real Context here.
-	serviceB.IssueRPC(context.TODO(), a) // HL
-}
-
-// END OMIT
diff --git a/content/2014/gotham-context/eg.go b/content/2014/gotham-context/eg.go
deleted file mode 100644
index 7f9e9fb..0000000
--- a/content/2014/gotham-context/eg.go
+++ /dev/null
@@ -1,18 +0,0 @@
-// +build ignore,OMIT
-
-package P
-
-import (
-	"xpkg"
-	"ypkg"
-
-	"golang.org/x/net/context"
-)
-
-func before(x xpkg.X, y ypkg.Y) error { // HL
-	return x.M(y)
-}
-
-func after(x xpkg.X, y ypkg.Y) error { // HL
-	return x.MContext(context.TODO(), y)
-}
diff --git a/content/2014/gotham-context/first-context.go b/content/2014/gotham-context/first-context.go
deleted file mode 100644
index 774d881..0000000
--- a/content/2014/gotham-context/first-context.go
+++ /dev/null
@@ -1,61 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-
-	"golang.org/x/net/context"
-)
-
-type Result struct {
-	Hit string
-	Err error
-}
-
-// START1 OMIT
-// Search runs query on a backend and returns the result.
-type Search func(ctx context.Context, query string) Result // HL
-
-// First runs query on replicas and returns the first result.
-func First(ctx context.Context, query string, replicas ...Search) Result {
-	c := make(chan Result, len(replicas))
-	ctx, cancel := context.WithCancel(ctx)                      // HL
-	defer cancel()                                              // HL
-	search := func(replica Search) { c <- replica(ctx, query) } // HL
-	for _, replica := range replicas {
-		go search(replica)
-	}
-	select {
-	case <-ctx.Done(): // HL
-		return Result{Err: ctx.Err()} // HL
-	case r := <-c:
-		return r
-	}
-}
-
-// STOP1 OMIT
-
-// START2 OMIT
-func main() {
-	rand.Seed(time.Now().UnixNano())
-	start := time.Now()
-	result := First(context.Background(),
-		"golang",
-		fakeSearch("replica 1"),
-		fakeSearch("replica 2"))
-	elapsed := time.Since(start)
-	fmt.Printf("%+v\n", result)
-	fmt.Println(elapsed)
-}
-
-// STOP2 OMIT
-
-func fakeSearch(kind string) Search {
-	return func(ctx context.Context, query string) Result {
-		time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond)
-		return Result{Hit: fmt.Sprintf("%s result for %q\n", kind, query)}
-	}
-}
diff --git a/content/2014/gotham-context/first.go b/content/2014/gotham-context/first.go
deleted file mode 100644
index e267a81..0000000
--- a/content/2014/gotham-context/first.go
+++ /dev/null
@@ -1,50 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-// START1 OMIT
-// Search runs query on a backend and returns the result.
-type Search func(query string) Result
-type Result struct {
-	Hit string
-	Err error
-}
-
-// First runs query on replicas and returns the first result.
-func First(query string, replicas ...Search) Result {
-	c := make(chan Result, len(replicas))
-	search := func(replica Search) { c <- replica(query) }
-	for _, replica := range replicas {
-		go search(replica)
-	}
-	return <-c
-}
-
-// STOP1 OMIT
-
-// START2 OMIT
-func main() {
-	rand.Seed(time.Now().UnixNano())
-	start := time.Now()
-	result := First("golang",
-		fakeSearch("replica 1"),
-		fakeSearch("replica 2"))
-	elapsed := time.Since(start)
-	fmt.Printf("%+v\n", result)
-	fmt.Println(elapsed)
-}
-
-// STOP2 OMIT
-
-func fakeSearch(kind string) Search {
-	return func(query string) Result {
-		time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond)
-		return Result{Hit: fmt.Sprintf("%s result for %q\n", kind, query)}
-	}
-}
diff --git a/content/2014/gotham-context/interface.go b/content/2014/gotham-context/interface.go
deleted file mode 100644
index 51450c5..0000000
--- a/content/2014/gotham-context/interface.go
+++ /dev/null
@@ -1,37 +0,0 @@
-// +build ignore,OMIT
-
-package context
-
-import "time"
-
-// A Context carries a deadline, cancelation signal, and request-scoped values
-// across API boundaries. Its methods are safe for simultaneous use by multiple
-// goroutines.
-type Context interface {
-	Done() <-chan struct{}                   // closed when this Context is canceled
-	Err() error                              // why this Context was canceled
-	Deadline() (deadline time.Time, ok bool) // when this Context will be canceled
-	Value(key interface{}) interface{}       // data associated with this Context
-}
-
-// WithCancel returns a copy of parent whose Done channel is closed as soon as
-// parent.Done is closed or cancel is called.
-func WithCancel(parent Context) (ctx Context, cancel CancelFunc)
-
-// A CancelFunc cancels a Context.
-type CancelFunc func()
-
-// WithTimeout returns a copy of parent whose Done channel is closed as soon as
-// parent.Done is closed, cancel is called, or timeout elapses. The new
-// Context's Deadline is the sooner of now+timeout and the parent's deadline, if
-// any. If the timer is still running, the cancel function releases its
-// resources.
-func WithTimeout(parent Context, timeout time.Duration) (Context, CancelFunc)
-
-// WithValue returns a copy of parent whose Value method returns val for key.
-func WithValue(parent Context, key interface{}, val interface{}) Context
-
-// Background returns an empty Context. It is never canceled, has no deadline,
-// and has no values. Background is typically used in main, init, and tests,
-// and as the top-level Context for incoming requests.
-func Background() Context
diff --git a/content/2014/gotham-context/transitive.svg b/content/2014/gotham-context/transitive.svg
deleted file mode 100644
index e89c01d..0000000
--- a/content/2014/gotham-context/transitive.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-
-<svg version="1.1" viewBox="0.0 0.0 938.0 518.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l938.0 0l0 518.0l-938.0 0l0 -518.0z" clip-rule="nonzero"></path></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l938.5066 0l0 518.7297l-938.5066 0z" fill-rule="nonzero"></path><path fill="#a2c4c9" d="m193.52625 221.31859l0 0c0 -27.562607 22.343903 -49.90651 49.90651 -49.90651l200.43895 0l0 0c13.236023 0 25.929932 5.2579803 35.289246 14.617279c9.359283 9.359283 14.617279 22.053192 14.617279 35.28923l0 199.62004c0 27.562592 -22.343933 49.906525 -49.906525 49.906525l-200.43895 0c-27.562607 0 -49.90651 -22.343933 -49.90651 -49.906525z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m193.52625 221.31859l0 0c0 -27.562607 22.343903 -49.90651 49.90651 -49.90651l200.43895 0l0 0c13.236023 0 25.929932 5.2579803 35.289246 14.617279c9.359283 9.359283 14.617279 22.053192 14.617279 35.28923l0 199.62004c0 27.562592 -22.343933 49.906525 -49.906525 49.906525l-200.43895 0c-27.562607 0 -49.90651 -22.343933 -49.90651 -49.906525z" fill-rule="nonzero"></path><path fill="#fff2cc" d="m230.32677 206.8348l0 0c0 -4.12265 3.3420715 -7.4647217 7.4647217 -7.4647217l127.99971 0c1.9797668 0 3.8784485 0.7864685 5.278351 2.1863708c1.3999023 1.3999023 2.1863403 3.298584 2.1863403 5.278351l0 29.857971c0 4.12265 -3.342041 7.4647064 -7.464691 7.4647064l-127.99971 0c-4.12265 0 -7.4647217 -3.3420563 -7.4647217 -7.4647064z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m230.32677 206.8348l0 0c0 -4.12265 3.3420715 -7.4647217 7.4647217 -7.4647217l127.99971 0c1.9797668 0 3.8784485 0.7864685 5.278351 2.1863708c1.3999023 1.3999023 2.1863403 3.298584 2.1863403 5.278351l0 29.857971c0 4.12265 -3.342041 7.4647064 -7.464691 7.4647064l-127.99971 0c-4.12265 0 -7.4647217 -3.3420563 -7.4647217 -7.4647064z" fill-rule="nonzero"></path><path fill="#000000" d="m250.6754 228.68378l0 -13.59375l1.671875 0l0 4.875q1.171875 -1.359375 2.953125 -1.359375q1.0937347 0 1.8906097 0.4375q0.8125 0.421875 1.15625 1.1875q0.359375 0.765625 0.359375 2.203125l0 6.25l-1.671875 0l0 -6.25q0 -1.25 -0.546875 -1.8125q-0.54685974 -0.578125 -1.5312347 -0.578125q-0.75 0 -1.40625 0.390625q-0.640625 0.375 -0.921875 1.046875q-0.28125 0.65625 -0.28125 1.8125l0 5.390625l-1.671875 0zm16.813217 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.078827 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766357 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm9.235077 4.921875l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm10.926086 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.375702 5.875l0 -13.59375l1.8125 0l0 5.578125l7.0625 0l0 -5.578125l1.796875 0l0 13.59375l-1.796875 0l0 -6.40625l-7.0625 0l0 6.40625l-1.8125 0zm16.879211 0l0 -12.0l-4.46875 0l0 -1.59375l10.765625 0l0 1.59375l-4.5 0l0 12.0l-1.796875 0zm11.395966 0l0 -12.0l-4.46875 0l0 -1.59375l10.765625 0l0 1.59375l-4.5 0l0 12.0l-1.796875 0zm7.942871 0l0 -13.59375l5.125 0q1.359375 0 2.078125 0.125q1.0 0.171875 1.671875 0.640625q0.671875 0.46875 1.078125 1.3125q0.421875 0.84375 0.421875 1.84375q0 1.734375 -1.109375 2.9375q-1.09375 1.203125 -3.984375 1.203125l-3.484375 0l0 5.53125l-1.796875 0zm1.796875 -7.140625l3.515625 0q1.75 0 2.46875 -0.640625q0.734375 -0.65625 0.734375 -1.828125q0 -0.859375 -0.4375 -1.46875q-0.421875 -0.609375 -1.125 -0.796875q-0.453125 -0.125 -1.671875 -0.125l-3.484375 0l0 4.859375z" fill-rule="nonzero"></path><path fill="#fff2cc" d="m274.59448 300.16812l0 0c0 -4.12265 3.3420715 -7.4647217 7.4647217 -7.4647217l39.464264 0c1.9797668 0 3.8784485 0.7864685 5.278351 2.1863708c1.3999023 1.3999023 2.1863708 3.298584 2.1863708 5.278351l0 29.857971c0 4.12265 -3.3420715 7.4647217 -7.4647217 7.4647217l-39.464264 0c-4.12265 0 -7.4647217 -3.3420715 -7.4647217 -7.4647217z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m274.59448 300.16812l0 0c0 -4.12265 3.3420715 -7.4647217 7.4647217 -7.4647217l39.464264 0c1.9797668 0 3.8784485 0.7864685 5.278351 2.1863708c1.3999023 1.3999023 2.1863708 3.298584 2.1863708 5.278351l0 29.857971c0 4.12265 -3.3420715 7.4647217 -7.4647217 7.4647217l-39.464264 0c-4.12265 0 -7.4647217 -3.3420715 -7.4647217 -7.4647217z" fill-rule="nonzero"></path><path fill="#000000" d="m295.5383 322.01712l5.234375 -13.59375l1.9375 0l5.5625 13.59375l-2.046875 0l-1.59375 -4.125l-5.6875 0l-1.484375 4.125l-1.921875 0zm3.921875 -5.578125l4.609375 0l-1.40625 -3.78125q-0.65625 -1.703125 -0.96875 -2.8125q-0.265625 1.3125 -0.734375 2.59375l-1.5 4.0z" fill-rule="nonzero"></path><path fill="#fff2cc" d="m274.59448 380.16812l0 0c0 -4.12265 3.3420715 -7.4647217 7.4647217 -7.4647217l39.464264 0c1.9797668 0 3.8784485 0.7864685 5.278351 2.1863708c1.3999023 1.3999023 2.1863708 3.298584 2.1863708 5.278351l0 29.857971c0 4.12265 -3.3420715 7.4647217 -7.4647217 7.4647217l-39.464264 0c-4.12265 0 -7.4647217 -3.3420715 -7.4647217 -7.4647217z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m274.59448 380.16812l0 0c0 -4.12265 3.3420715 -7.4647217 7.4647217 -7.4647217l39.464264 0c1.9797668 0 3.8784485 0.7864685 5.278351 2.1863708c1.3999023 1.3999023 2.1863708 3.298584 2.1863708 5.278351l0 29.857971c0 4.12265 -3.3420715 7.4647217 -7.4647217 7.4647217l-39.464264 0c-4.12265 0 -7.4647217 -3.3420715 -7.4647217 -7.4647217z" fill-rule="nonzero"></path><path fill="#000000" d="m296.96017 402.01712l0 -13.59375l5.109375 0q1.546875 0 2.484375 0.40625q0.953125 0.40625 1.484375 1.265625q0.53125 0.859375 0.53125 1.796875q0 0.875 -0.46875 1.65625q-0.46875 0.765625 -1.4375 1.234375q1.234375 0.359375 1.890625 1.234375q0.671875 0.875 0.671875 2.0625q0 0.953125 -0.40625 1.78125q-0.390625 0.8125 -0.984375 1.265625q-0.59375 0.4375 -1.5 0.671875q-0.890625 0.21875 -2.1875 0.21875l-5.1875 0zm1.796875 -7.890625l2.9375 0q1.203125 0 1.71875 -0.15625q0.6875 -0.203125 1.03125 -0.671875q0.359375 -0.46875 0.359375 -1.1875q0 -0.671875 -0.328125 -1.1875q-0.328125 -0.515625 -0.9375 -0.703125q-0.59375 -0.203125 -2.0625 -0.203125l-2.71875 0l0 4.109375zm0 6.28125l3.390625 0q0.875 0 1.21875 -0.0625q0.625 -0.109375 1.046875 -0.359375q0.421875 -0.265625 0.6875 -0.765625q0.265625 -0.5 0.265625 -1.140625q0 -0.765625 -0.390625 -1.328125q-0.390625 -0.5625 -1.078125 -0.78125q-0.6875 -0.234375 -1.984375 -0.234375l-3.15625 0l0 4.671875z" fill-rule="nonzero"></path><path fill="#fff2cc" d="m412.72833 300.16812l0 0c0 -4.12265 3.3420715 -7.4647217 7.4647217 -7.4647217l39.464264 0c1.9797668 0 3.8784485 0.7864685 5.278351 2.1863708c1.3999329 1.3999023 2.1863708 3.298584 2.1863708 5.278351l0 29.857971c0 4.12265 -3.3420715 7.4647217 -7.4647217 7.4647217l-39.464264 0c-4.12265 0 -7.4647217 -3.3420715 -7.4647217 -7.4647217z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m412.72833 300.16812l0 0c0 -4.12265 3.3420715 -7.4647217 7.4647217 -7.4647217l39.464264 0c1.9797668 0 3.8784485 0.7864685 5.278351 2.1863708c1.3999329 1.3999023 2.1863708 3.298584 2.1863708 5.278351l0 29.857971c0 4.12265 -3.3420715 7.4647217 -7.4647217 7.4647217l-39.464264 0c-4.12265 0 -7.4647217 -3.3420715 -7.4647217 -7.4647217z" fill-rule="nonzero"></path><path fill="#000000" d="m440.49762 316.689l0 -1.609375l5.765625 0l0 5.046875q-1.328125 1.0625 -2.75 1.59375q-1.40625 0.53125 -2.890625 0.53125q-2.0 0 -3.640625 -0.859375q-1.625 -0.859375 -2.46875 -2.484375q-0.828125 -1.625 -0.828125 -3.625q0 -1.984375 0.828125 -3.703125q0.828125 -1.71875 2.390625 -2.546875q1.5625 -0.84375 3.59375 -0.84375q1.46875 0 2.65625 0.484375q1.203125 0.46875 1.875 1.328125q0.671875 0.84375 1.03125 2.21875l-1.625 0.4375q-0.3125 -1.03125 -0.765625 -1.625q-0.453125 -0.59375 -1.296875 -0.953125q-0.84375 -0.359375 -1.875 -0.359375q-1.234375 0 -2.140625 0.375q-0.890625 0.375 -1.453125 1.0q-0.546875 0.609375 -0.84375 1.34375q-0.53125 1.25 -0.53125 2.734375q0 1.8125 0.625 3.046875q0.640625 1.21875 1.828125 1.8125q1.203125 0.59375 2.546875 0.59375q1.171875 0 2.28125 -0.453125q1.109375 -0.453125 1.6875 -0.953125l0 -2.53125l-4.0 0z" fill-rule="nonzero"></path><path fill="#fff2cc" d="m412.72833 380.16812l0 0c0 -4.12265 3.3420715 -7.4647217 7.4647217 -7.4647217l39.464264 0c1.9797668 0 3.8784485 0.7864685 5.278351 2.1863708c1.3999329 1.3999023 2.1863708 3.298584 2.1863708 5.278351l0 29.857971c0 4.12265 -3.3420715 7.4647217 -7.4647217 7.4647217l-39.464264 0c-4.12265 0 -7.4647217 -3.3420715 -7.4647217 -7.4647217z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m412.72833 380.16812l0 0c0 -4.12265 3.3420715 -7.4647217 7.4647217 -7.4647217l39.464264 0c1.9797668 0 3.8784485 0.7864685 5.278351 2.1863708c1.3999329 1.3999023 2.1863708 3.298584 2.1863708 5.278351l0 29.857971c0 4.12265 -3.3420715 7.4647217 -7.4647217 7.4647217l-39.464264 0c-4.12265 0 -7.4647217 -3.3420715 -7.4647217 -7.4647217z" fill-rule="nonzero"></path><path fill="#000000" d="m434.70435 402.01712l0 -13.59375l1.8125 0l0 5.578125l7.0625 0l0 -5.578125l1.796875 0l0 13.59375l-1.796875 0l0 -6.40625l-7.0625 0l0 6.40625l-1.8125 0z" fill-rule="nonzero"></path><path fill="#e69138" d="m250.59448 61.769028l0 0c0 -28.275238 22.92163 -51.19685 51.19687 -51.19685c28.275238 0 51.19684 22.921612 51.19684 51.19685c0 28.275246 -22.9216 51.196854 -51.19684 51.196854c-28.275238 0 -51.19687 -22.921608 -51.19687 -51.196854z" fill-rule="nonzero"></path><path fill="#b7732c" d="m280.05637 46.45738c0 -2.9453354 2.3876953 -5.333004 5.333008 -5.333004c2.945343 0 5.333008 2.3876686 5.333008 5.333004c0 2.9453392 -2.3876648 5.333004 -5.333008 5.333004c-2.9453125 0 -5.333008 -2.3876648 -5.333008 -5.333004m32.803925 0c0 -2.9453354 2.3876648 -5.333004 5.333008 -5.333004c2.945343 0 5.333008 2.3876686 5.333008 5.333004c0 2.9453392 -2.3876648 5.333004 -5.333008 5.333004c-2.945343 0 -5.333008 -2.3876648 -5.333008 -5.333004" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m274.0423 84.09632q27.749054 19.05751 55.433258 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m250.59448 61.769028l0 0c0 -28.275238 22.92163 -51.19685 51.19687 -51.19685c28.275238 0 51.19684 22.921612 51.19684 51.19685c0 28.275246 -22.9216 51.196854 -51.19684 51.196854c-28.275238 0 -51.19687 -22.921608 -51.19687 -51.196854z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m280.05637 46.45738c0 -2.9453354 2.3876953 -5.333004 5.333008 -5.333004c2.945343 0 5.333008 2.3876686 5.333008 5.333004c0 2.9453392 -2.3876648 5.333004 -5.333008 5.333004c-2.9453125 0 -5.333008 -2.3876648 -5.333008 -5.333004m32.803925 0c0 -2.9453354 2.3876648 -5.333004 5.333008 -5.333004c2.945343 0 5.333008 2.3876686 5.333008 5.333004c0 2.9453392 -2.3876648 5.333004 -5.333008 5.333004c-2.945343 0 -5.333008 -2.3876648 -5.333008 -5.333004" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m274.0423 84.09632q27.749054 19.05751 55.433258 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m250.59448 61.769028l0 0c0 -28.275238 22.92163 -51.19685 51.19687 -51.19685c28.275238 0 51.19684 22.921612 51.19684 51.19685c0 28.275246 -22.9216 51.196854 -51.19684 51.196854c-28.275238 0 -51.19687 -22.921608 -51.19687 -51.196854z" fill-rule="nonzero"></path><path fill="#a2c4c9" d="m563.6575 380.8614l0 0c0 -14.061066 11.398743 -25.459808 25.459839 -25.459808l130.4032 0c6.7523193 0 13.228149 2.682373 18.002808 7.4570007c4.774658 4.774658 7.45697 11.250458 7.45697 18.002808l0 101.83627c0 14.061066 -11.398743 25.459808 -25.459778 25.459808l-130.4032 0c-14.061096 0 -25.459839 -11.398743 -25.459839 -25.459808z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m563.6575 380.8614l0 0c0 -14.061066 11.398743 -25.459808 25.459839 -25.459808l130.4032 0c6.7523193 0 13.228149 2.682373 18.002808 7.4570007c4.774658 4.774658 7.45697 11.250458 7.45697 18.002808l0 101.83627c0 14.061066 -11.398743 25.459808 -25.459778 25.459808l-130.4032 0c-14.061096 0 -25.459839 -11.398743 -25.459839 -25.459808z" fill-rule="nonzero"></path><path fill="#fff2cc" d="m583.2638 380.4658l0 0c0 -4.12265 3.342041 -7.4647217 7.4647217 -7.4647217l127.999695 0c1.9797363 0 3.878418 0.7864685 5.2783203 2.1863708c1.3999023 1.3999023 2.1864014 3.298584 2.1864014 5.278351l0 29.857971c0 4.12265 -3.342102 7.464691 -7.4647217 7.464691l-127.999695 0c-4.1226807 0 -7.4647217 -3.342041 -7.4647217 -7.464691z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m583.2638 380.4658l0 0c0 -4.12265 3.342041 -7.4647217 7.4647217 -7.4647217l127.999695 0c1.9797363 0 3.878418 0.7864685 5.2783203 2.1863708c1.3999023 1.3999023 2.1864014 3.298584 2.1864014 5.278351l0 29.857971c0 4.12265 -3.342102 7.464691 -7.4647217 7.464691l-127.999695 0c-4.1226807 0 -7.4647217 -3.342041 -7.4647217 -7.464691z" fill-rule="nonzero"></path><path fill="#000000" d="m608.2719 402.31476l0 -13.59375l1.671875 0l0 4.875q1.171875 -1.359375 2.953125 -1.359375q1.09375 0 1.890625 0.4375q0.8125 0.421875 1.15625 1.1875q0.359375 0.765625 0.359375 2.203125l0 6.25l-1.671875 0l0 -6.25q0 -1.25 -0.546875 -1.8125q-0.546875 -0.578125 -1.53125 -0.578125q-0.75 0 -1.40625 0.390625q-0.640625 0.375 -0.921875 1.046875q-0.28125 0.65625 -0.28125 1.8125l0 5.390625l-1.671875 0zm16.813232 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.0787964 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766357 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm9.235107 4.921875l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm10.926086 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.360107 5.875l0 -13.59375l6.03125 0q1.8125 0 2.75 0.359375q0.953125 0.359375 1.515625 1.296875q0.5625 0.921875 0.5625 2.046875q0 1.453125 -0.9375 2.453125q-0.921875 0.984375 -2.890625 1.25q0.71875 0.34375 1.09375 0.671875q0.78125 0.734375 1.484375 1.8125l2.375 3.703125l-2.265625 0l-1.796875 -2.828125q-0.796875 -1.21875 -1.3125 -1.875q-0.5 -0.65625 -0.90625 -0.90625q-0.40625 -0.265625 -0.8125 -0.359375q-0.3125 -0.078125 -1.015625 -0.078125l-2.078125 0l0 6.046875l-1.796875 0zm1.796875 -7.59375l3.859375 0q1.234375 0 1.921875 -0.25q0.703125 -0.265625 1.0625 -0.828125q0.375 -0.5625 0.375 -1.21875q0 -0.96875 -0.703125 -1.578125q-0.703125 -0.625 -2.21875 -0.625l-4.296875 0l0 4.5zm11.644775 7.59375l0 -13.59375l5.125 0q1.359375 0 2.078125 0.125q1.0 0.171875 1.671875 0.640625q0.671875 0.46875 1.078125 1.3125q0.421875 0.84375 0.421875 1.84375q0 1.734375 -1.109375 2.9375q-1.09375 1.203125 -3.984375 1.203125l-3.484375 0l0 5.53125l-1.796875 0zm1.796875 -7.140625l3.515625 0q1.75 0 2.46875 -0.640625q0.734375 -0.65625 0.734375 -1.828125q0 -0.859375 -0.4375 -1.46875q-0.421875 -0.609375 -1.125 -0.796875q-0.453125 -0.125 -1.671875 -0.125l-3.484375 0l0 4.859375zm20.349854 2.375l1.796875 0.453125q-0.5625 2.21875 -2.03125 3.390625q-1.46875 1.15625 -3.59375 1.15625q-2.203125 0 -3.578125 -0.890625q-1.375 -0.90625 -2.09375 -2.59375q-0.71875 -1.703125 -0.71875 -3.65625q0 -2.125 0.796875 -3.703125q0.8125 -1.578125 2.3125 -2.390625q1.5 -0.828125 3.296875 -0.828125q2.046875 0 3.4375 1.046875q1.390625 1.03125 1.9375 2.90625l-1.765625 0.421875q-0.46875 -1.484375 -1.375 -2.15625q-0.90625 -0.6875 -2.265625 -0.6875q-1.5625 0 -2.625 0.75q-1.046875 0.75 -1.484375 2.03125q-0.421875 1.265625 -0.421875 2.609375q0 1.734375 0.5 3.03125q0.515625 1.28125 1.578125 1.921875q1.078125 0.640625 2.3125 0.640625q1.515625 0 2.5625 -0.859375q1.046875 -0.875 1.421875 -2.59375z" fill-rule="nonzero"></path><path fill="#fff2cc" d="m627.5315 456.7335l0 0c0 -4.12265 3.342041 -7.4647217 7.4647217 -7.4647217l39.464294 0c1.9797363 0 3.878418 0.7864685 5.2783203 2.1863708c1.3999023 1.3999023 2.1863403 3.298584 2.1863403 5.278351l0 29.857971c0 4.12265 -3.342041 7.4647217 -7.4646606 7.4647217l-39.464294 0c-4.1226807 0 -7.4647217 -3.3420715 -7.4647217 -7.4647217z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m627.5315 456.7335l0 0c0 -4.12265 3.342041 -7.4647217 7.4647217 -7.4647217l39.464294 0c1.9797363 0 3.878418 0.7864685 5.2783203 2.1863708c1.3999023 1.3999023 2.1863403 3.298584 2.1863403 5.278351l0 29.857971c0 4.12265 -3.342041 7.4647217 -7.4646606 7.4647217l-39.464294 0c-4.1226807 0 -7.4647217 -3.3420715 -7.4647217 -7.4647217z" fill-rule="nonzero"></path><path fill="#000000" d="m650.59283 478.5825l0 -13.59375l9.171875 0l0 1.59375l-7.375 0l0 4.21875l6.375 0l0 1.609375l-6.375 0l0 6.171875l-1.796875 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m301.79135 112.96588l0 86.39371" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" stroke-dasharray="8.0,6.0" d="m301.79135 112.96588l0 74.39369" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m298.48788 187.35957l3.3034668 9.076202l3.3034668 -9.076202z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m301.79135 244.15747l0 48.53543" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m301.79135 244.15749l0 36.535416" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m298.48788 280.6929l3.3034668 9.076202l3.3034668 -9.076202z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m301.79135 337.4908l0 35.212585" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m301.79135 337.4908l0 23.212585" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m298.48788 360.7034l3.3034668 9.076202l3.3034668 -9.076202z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m328.9882 315.0971l83.74802 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" stroke-dasharray="2.0,6.0" d="m328.9882 315.0971l71.74802 0" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m400.7362 318.40057l9.076202 -3.3034668l-9.076202 -3.3034668z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m439.9252 337.4908l0 35.212585" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m439.9252 337.4908l0 23.212585" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m436.62173 360.7034l3.3034668 9.076202l3.3034668 -9.076202z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m467.12204 395.0971l116.12601 0.28347778" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" stroke-dasharray="8.0,6.0" d="m467.12204 395.0971l104.12601 0.2541809" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m571.24 398.65475l9.0842285 -3.281311l-9.068115 -3.3256226z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m654.72833 417.78845l0 31.496063" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m654.72833 417.78848l0 19.496063" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="2.0" stroke-linecap="butt" d="m651.42487 437.28455l3.3034668 9.076172l3.3034668 -9.076172z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m332.18738 279.88574l75.74802 -0.03149414l0 35.212585l-75.74802 0.03152466z" fill-rule="nonzero"></path><path fill="#000000" d="m342.31238 307.4578l2.96875 0.35812378q0.078125 0.5155945 0.34375 0.7030029q0.375 0.2810669 1.171875 0.28076172q1.03125 -4.272461E-4 1.53125 -0.29751587q0.34375 -0.20327759 0.515625 -0.6564636q0.125 -0.32818604 0.125 -1.203186l0 -1.4375q-1.171875 1.5942383 -2.953125 1.5949707q-1.984375 8.239746E-4 -3.140625 -1.6705627q-0.90625 -1.3277588 -0.90625 -3.3121338q0 -2.46875 1.1875 -3.7817383q1.1875 -1.3129883 2.96875 -1.3137207q1.828125 -7.6293945E-4 3.015625 1.6081238l0 -1.390625l2.4375 -0.0010375977l0 8.84375q0 1.75 -0.296875 2.6095276q-0.28125 0.85946655 -0.796875 1.3440552q-0.515625 0.5002136 -1.390625 0.78182983q-0.859375 0.2816162 -2.1875 0.28216553q-2.515625 0.0010375977 -3.5625 -0.85787964q-1.046875 -0.85894775 -1.046875 -2.1714478q0 -0.140625 0.015625 -0.3125zm2.328125 -5.7822266q0 1.5625 0.609375 2.2966309q0.609375 0.71847534 1.5 0.71810913q0.953125 -3.9672852E-4 1.609375 -0.7350464q0.65625 -0.75027466 0.65625 -2.2190247q0 -1.53125 -0.640625 -2.2653503q-0.625 -0.74972534 -1.578125 -0.7493286q-0.9375 3.6621094E-4 -1.546875 0.73501587q-0.609375 0.71899414 -0.609375 2.2189941zm8.708466 0.05886841q0 -1.296875 0.640625 -2.5158691q0.640625 -1.2190247 1.8125 -1.8601379q1.171875 -0.6411133 2.609375 -0.64172363q2.25 -9.1552734E-4 3.671875 1.4515991q1.421875 1.4525452 1.421875 3.6712952q0 2.234375 -1.4375 3.7037354q-1.4375 1.4693298 -3.625 1.4702454q-1.359375 5.493164E-4 -2.59375 -0.6083069q-1.21875 -0.6088562 -1.859375 -1.7960815q-0.640625 -1.1872559 -0.640625 -2.8747559zm2.671875 0.13952637q0 1.46875 0.6875 2.2497253q0.703125 0.7653198 1.71875 0.7648926q1.015625 -4.272461E-4 1.703125 -0.7663269q0.703125 -0.7815552 0.703125 -2.2659302q0 -1.453125 -0.703125 -2.2340698q-0.6875 -0.78097534 -1.703125 -0.7805481q-1.015625 4.272461E-4 -1.71875 0.7819824q-0.6875 0.78152466 -0.6875 2.2502747zm20.84491 -0.08679199l0 -2.296875l5.921875 -0.0024719238l0 5.421875q-0.859375 0.8284912 -2.5 1.4697876q-1.640625 0.6413269 -3.3125 0.6419983q-2.140625 9.1552734E-4 -3.734375 -0.8890686q-1.578125 -0.9055786 -2.375 -2.561493q-0.796875 -1.6715393 -0.796875 -3.6246643q0 -2.125 0.890625 -3.7816467q0.890625 -1.6566162 2.609375 -2.532318q1.3125 -0.6724243 3.25 -0.6732178q2.546875 -0.0010681152 3.96875 1.0608215q1.421875 1.0619202 1.828125 2.9367676l-2.734375 0.50112915q-0.28125 -0.9998779 -1.078125 -1.5776978q-0.796875 -0.5777893 -1.984375 -0.5772705q-1.796875 7.324219E-4 -2.859375 1.1417847q-1.0625 1.1410828 -1.0625 3.3910828q0 2.421875 1.078125 3.6401672q1.078125 1.2026978 2.828125 1.2019653q0.859375 -3.6621094E-4 1.71875 -0.34448242q0.875 -0.3441162 1.5 -0.82873535l0 -1.71875l-3.15625 0.0013122559zm12.495819 8.994812l-1.796875 7.324219E-4q-1.40625 -2.1400452 -2.15625 -4.4522095q-0.734375 -2.3121948 -0.734375 -4.468445q0 -2.6875 0.90625 -5.0785217q0.796875 -2.0784607 2.03125 -3.8289795l1.78125 -7.324219E-4q-1.28125 2.8130493 -1.765625 4.7819824q-0.46875 1.9689636 -0.46875 4.1720886q0 1.53125 0.28125 3.124878q0.28125 1.5936279 0.78125 3.0309143q0.328125 0.9530029 1.140625 2.7182922zm1.165802 -4.8828125E-4q0.765625 -1.6565857 1.078125 -2.5473328q0.328125 -0.8751221 0.59375 -2.0158691q0.265625 -1.1563721 0.390625 -2.1876526q0.140625 -1.031311 0.140625 -2.125061q0 -2.203125 -0.484375 -4.171692q-0.46875 -1.9685364 -1.734375 -4.7805176l1.765625 -7.324219E-4q1.40625 1.9837952 2.171875 4.2334595q0.78125 2.2340698 0.78125 4.530945q0 1.9375 -0.609375 4.156494q-0.703125 2.4846802 -2.296875 4.907196l-1.796875 7.6293945E-4z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m300.7257 122.03674l75.74805 0l0 31.496063l-75.74805 0z" fill-rule="nonzero"></path><path fill="#000000" d="m311.11633 148.95674l0 -13.59375l2.75 0l0 5.34375l5.375 0l0 -5.34375l2.75 0l0 13.59375l-2.75 0l0 -5.953125l-5.375 0l0 5.953125l-2.75 0zm16.519836 0l0 -11.296875l-4.03125 0l0 -2.296875l10.8125 0l0 2.296875l-4.03125 0l0 11.296875l-2.75 0zm11.395966 0l0 -11.296875l-4.03125 0l0 -2.296875l10.8125 0l0 2.296875l-4.03125 0l0 11.296875l-2.75 0zm8.333496 0l0 -13.59375l4.421875 0q2.5 0 3.265625 0.203125q1.15625 0.296875 1.9375 1.328125q0.796875 1.015625 0.796875 2.640625q0 1.25 -0.453125 2.109375q-0.453125 0.859375 -1.15625 1.34375q-0.703125 0.484375 -1.421875 0.640625q-0.984375 0.203125 -2.84375 0.203125l-1.796875 0l0 5.125l-2.75 0zm2.75 -11.296875l0 3.859375l1.5 0q1.625 0 2.171875 -0.21875q0.546875 -0.21875 0.859375 -0.671875q0.3125 -0.453125 0.3125 -1.046875q0 -0.75 -0.4375 -1.234375q-0.4375 -0.484375 -1.09375 -0.59375q-0.5 -0.09375 -1.984375 -0.09375l-1.328125 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m498.58084 359.88452l61.858246 0l0 35.212585l-61.858246 0z" fill-rule="nonzero"></path><path fill="#000000" d="m508.97147 386.8045l0 -13.59375l5.7812195 0q2.1875 0 3.171875 0.359375q0.984375 0.359375 1.578125 1.296875q0.59375 0.9375 0.59375 2.15625q0 1.53125 -0.90625 2.53125q-0.890625 0.984375 -2.6875 1.25q0.890625 0.515625 1.46875 1.140625q0.578125 0.625 1.5625 2.203125l1.671875 2.65625l-3.296875 0l-1.984375 -2.953125q-1.046875 -1.59375 -1.4375 -2.0q-0.390625 -0.421875 -0.828125 -0.5625q-0.4375 -0.15625 -1.390625 -0.15625l-0.5468445 0l0 5.671875l-2.75 0zm2.75 -7.84375l2.0312195 0q1.96875 0 2.453125 -0.171875q0.5 -0.171875 0.78125 -0.578125q0.28125 -0.40625 0.28125 -1.015625q0 -0.6875 -0.375 -1.109375q-0.359375 -0.421875 -1.03125 -0.53125q-0.328125 -0.046875 -2.0 -0.046875l-2.1405945 0l0 3.453125zm10.707306 7.84375l0 -13.59375l4.421875 0q2.5 0 3.265625 0.203125q1.15625 0.296875 1.9375 1.328125q0.796875 1.015625 0.796875 2.640625q0 1.25 -0.453125 2.109375q-0.453125 0.859375 -1.15625 1.34375q-0.703125 0.484375 -1.421875 0.640625q-0.984375 0.203125 -2.84375 0.203125l-1.796875 0l0 5.125l-2.75 0zm2.75 -11.296875l0 3.859375l1.5 0q1.625 0 2.171875 -0.21875q0.546875 -0.21875 0.859375 -0.671875q0.3125 -0.453125 0.3125 -1.046875q0 -0.75 -0.4375 -1.234375q-0.4375 -0.484375 -1.09375 -0.59375q-0.5 -0.09375 -1.984375 -0.09375l-1.328125 0zm18.396729 6.296875l2.671875 0.84375q-0.609375 2.21875 -2.046875 3.3125q-1.421875 1.078125 -3.609375 1.078125q-2.703125 0 -4.453125 -1.84375q-1.734375 -1.859375 -1.734375 -5.078125q0 -3.390625 1.75 -5.265625q1.75 -1.875 4.609375 -1.875q2.5 0 4.046875 1.46875q0.9375 0.875 1.390625 2.5l-2.71875 0.65625q-0.234375 -1.0625 -1.0 -1.671875q-0.765625 -0.609375 -1.859375 -0.609375q-1.515625 0 -2.453125 1.09375q-0.9375 1.078125 -0.9375 3.5q0 2.578125 0.921875 3.6875q0.921875 1.09375 2.40625 1.09375q1.109375 0 1.890625 -0.6875q0.78125 -0.703125 1.125 -2.203125z" fill-rule="nonzero"></path></g></svg>
-
diff --git a/content/2014/gothamgo-android.slide b/content/2014/gothamgo-android.slide
deleted file mode 100644
index ec9fd1c..0000000
--- a/content/2014/gothamgo-android.slide
+++ /dev/null
@@ -1,149 +0,0 @@
-Go on Android
-
-GothamGo
-15 Nov 2014
-
-David Crawshaw
-Google
-@davidcrawshaw
-
-* Video
-
-This talk was presented at GothamGo in New York City, November 2014.
-
-.link http://vimeo.com/115307069 Watch the talk on Vimeo
-
-* Go on Mobile
-
-The goal is to bring Go to Android and iOS,
-starting with Android.
-
-This is new territory for Go and a well-established
-ecosystem. A lot of experimentation is necessary.
-
-* Today
-
-* Go 1.4 Status
-
-The coming 1.4 release can build binaries for Android OS.
-
-With the `mobile` subrepository and the Android SDK/NDK, it can:
-
-- Build `.so` files for linking into Android Apps
-- Build apps based on NativeActivity ("All Go")
-
-* What's there
-
-- Go standard library tests running on Android OS
-
-- JDK / runtime hooks
-
-- The `gobind` tool, for calling Go from Java: [[http://golang.org/s/gobind]]
-
-Packages for cross-device apps:
-
-- [[https://godoc.org/golang.org/x/mobile/app][App control]]
-
-- [[https://godoc.org/golang.org/x/mobile/gl][OpenGL ES 2]]
-
-- [[https://godoc.org/golang.org/x/mobile/event][Touch events]]
-
-- [[https://godoc.org/golang.org/x/mobile/geom][Screen geometry]]
-
-* What's missing — a good build system
-
-There's more than one way to build an Android App.
-
-None of them
-
-- fit well with what go programmers expect (the go tool)
-- work for cross-device development
-
-We are working on this for Go 1.5.
-
-Until it is done, using Go on Android requires some bravery.
-
-* What it's for — the two kinds of apps
-
-*SDK* *Apps*
-
-Write your Android UI in Java.
-Write your iOS UI in Objective-C/Swift.
-Write your logic in Go.
-
-Share the Go using interfaces generated by `gobind`.
-
-*NDK* *Apps*
-
-Games.
-
-Use OpenGL or the coming 2D [[http://godoc.org/golang.org/x/mobile/sprite][sprite]] package to write to the screen.
-Everything is written in Go.
-
-* Hello, World!
-
-Portable APIs, just Go. This is a complete app:
-
-.play gothamgo-android/red.go
-
-* Write anywhere
-
-Developing with portable APIs means starting from very little.
-It is a lot of work to get going and limits access to device features.
-
-But it also frees us from device-specific build systems.
-
-The app package includes Mac/X11 shims for starting as normal programs.
-We can write Apps anywhere we can write Go.
-
-(Windows coming soon.)
-
-* Touch events
-
-.play gothamgo-android/touch.go
-
-* Package sprite
-
-We are building a 2D rendering and compositing package.
-
-It renders a scene graph. A scene starts with a root
-`*sprite.Node`, which can have child nodes.
-
-Each node may have an affine transform and texture.
-
-Rendering is done in a depth-first traversal of the scene,
-with transforms applied relative to the parent.
-
-Composition is done in OpenGL.
-
-* Sprite — affine transform
-
-.image gothamgo-android/sprite_affine.svg
-
-* Sprite — depth first traversal, applying parent's transforms
-
-.image gothamgo-android/sprite_subtex.svg
-
-* Sprite Demo
-
-* Sprite — what's next
-
-- Rasterizer, CPU-based for now
-
-- Text, based on freetype-go
-
-- Simple UI elements, focused on game menu needs
-
-- Debugging tools
-
-- Performance
-
-* Go 1.5 Plans (July 2015)
-
-- A build system
-
-- OpenAL bindings for sound
-
-- Very basic UI building blocks for game-like apps
-
-- iOS experimental support
diff --git a/content/2014/gothamgo-android/red.go b/content/2014/gothamgo-android/red.go
deleted file mode 100644
index b00a0cf..0000000
--- a/content/2014/gothamgo-android/red.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"golang.org/x/mobile/app"
-	"golang.org/x/mobile/app/debug"
-	"golang.org/x/mobile/gl"
-)
-
-func main() {
-	app.Run(app.Callbacks{
-		Draw: draw,
-	})
-}
-
-func draw() {
-	gl.ClearColor(1, 0, 0, 1) // RGBA value used to clear buffer: red
-	gl.Clear(gl.COLOR_BUFFER_BIT)
-	debug.DrawFPS()
-}
diff --git a/content/2014/gothamgo-android/sprite_affine.svg b/content/2014/gothamgo-android/sprite_affine.svg
deleted file mode 100644
index 1584a6b..0000000
--- a/content/2014/gothamgo-android/sprite_affine.svg
+++ /dev/null
@@ -1,230 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="900" height="535.2" viewBox="0, 0, 750, 446">
-  <g id="graphs">
-    <g>
-      <g>
-        <path d="M81.429,204.5 L81.429,335.5" fill-opacity="0" stroke="#A8A8A8" stroke-width="1"/>
-        <path d="M78.429,335.5 L81.429,343.5 L84.429,335.5 z" fill="#A8A8A8" fill-opacity="1" stroke="#A8A8A8" stroke-width="1" stroke-opacity="1"/>
-      </g>
-      <g>
-        <path d="M51,234.5 L182,234.5" fill-opacity="0" stroke="#A8A8A8" stroke-width="1"/>
-        <path d="M182,237.5 L190,234.5 L182,231.5 z" fill="#A8A8A8" fill-opacity="1" stroke="#A8A8A8" stroke-width="1" stroke-opacity="1"/>
-      </g>
-      <text transform="matrix(1, 0, 0, 1, 196.716, 248.5)">
-        <tspan x="-6.216" y="8.5" font-family="HelveticaNeue" font-size="24" fill="#A8A8A8">x</tspan>
-      </text>
-      <text transform="matrix(1, -0.008, 0.008, 1, 87.5, 358.549)">
-        <tspan x="-6" y="8.5" font-family="HelveticaNeue" font-size="24" fill="#A8A8A8">y</tspan>
-      </text>
-      <path d="M81.89,304.5 L87,304.5" fill-opacity="0" stroke="#A8A8A8" stroke-width="1"/>
-      <path d="M151.25,234.5 L151.25,242" fill-opacity="0" stroke="#A8A8A8" stroke-width="1"/>
-      <text transform="matrix(1, 0, 0, 1, 69.685, 218.5)">
-        <tspan x="-6.672" y="8.5" font-family="HelveticaNeue-Thin" font-size="24" fill="#A8A8A8">0</tspan>
-      </text>
-      <text transform="matrix(1, 0, 0, 1, 69.685, 304)">
-        <tspan x="-6.672" y="8.5" font-family="HelveticaNeue-Thin" font-size="24" fill="#A8A8A8">1</tspan>
-      </text>
-      <text transform="matrix(1, 0, 0, 1, 150.75, 218.5)">
-        <tspan x="-6.672" y="8.5" font-family="HelveticaNeue-Thin" font-size="24" fill="#A8A8A8">1</tspan>
-      </text>
-    </g>
-    <g>
-      <path d="M327.212,204.5 L327.212,335.5" fill-opacity="0" stroke="#A8A8A8" stroke-width="1"/>
-      <path d="M324.212,335.5 L327.212,343.5 L330.212,335.5 z" fill="#A8A8A8" fill-opacity="1" stroke="#A8A8A8" stroke-width="1" stroke-opacity="1"/>
-    </g>
-    <g>
-      <path d="M296.784,234.5 L427.784,234.5" fill-opacity="0" stroke="#A8A8A8" stroke-width="1"/>
-      <path d="M427.784,237.5 L435.784,234.5 L427.784,231.5 z" fill="#A8A8A8" fill-opacity="1" stroke="#A8A8A8" stroke-width="1" stroke-opacity="1"/>
-    </g>
-    <path d="M327.674,304.5 L332.784,304.5" fill-opacity="0" stroke="#A8A8A8" stroke-width="1"/>
-    <path d="M397.034,234.5 L397.034,242" fill-opacity="0" stroke="#A8A8A8" stroke-width="1"/>
-    <g>
-      <path d="M577.996,204.5 L577.996,335.5" fill-opacity="0" stroke="#A8A8A8" stroke-width="1"/>
-      <path d="M574.996,335.5 L577.996,343.5 L580.996,335.5 z" fill="#A8A8A8" fill-opacity="1" stroke="#A8A8A8" stroke-width="1" stroke-opacity="1"/>
-    </g>
-    <g>
-      <path d="M547.568,234.5 L678.568,234.5" fill-opacity="0" stroke="#A8A8A8" stroke-width="1"/>
-      <path d="M678.568,237.5 L686.568,234.5 L678.568,231.5 z" fill="#A8A8A8" fill-opacity="1" stroke="#A8A8A8" stroke-width="1" stroke-opacity="1"/>
-    </g>
-    <path d="M578.458,304.5 L583.568,304.5" fill-opacity="0" stroke="#A8A8A8" stroke-width="1"/>
-    <path d="M647.818,234.5 L647.818,242" fill-opacity="0" stroke="#A8A8A8" stroke-width="1"/>
-  </g>
-  <g id="unit_drawings">
-    <g>
-      <path d="M82.5,235.5 L151.5,235.5 L151.5,304.5 L82.5,304.5 L82.5,235.5 z" fill-opacity="0" stroke="#FFBE9D" stroke-width="1" stroke-dasharray="3,2"/>
-      <g>
-        <path d="M102.566,287.872 C106.827,287.872 110.28,284.341 110.28,279.991 C110.28,275.642 106.827,272.116 102.566,272.116 C98.316,272.116 94.86,275.642 94.86,279.991 C94.86,284.341 98.316,287.872 102.566,287.872 M93.104,279.991 C93.104,274.652 97.349,270.333 102.566,270.333 C107.796,270.333 112.041,274.652 112.041,279.991 C112.041,285.336 107.796,289.653 102.566,289.653 C97.349,289.653 93.104,285.335 93.104,279.991" fill="#FFBE9D"/>
-        <path d="M130.434,287.963 C134.684,287.963 138.136,284.437 138.136,280.088 C138.136,275.738 134.685,272.207 130.434,272.207 C126.173,272.207 122.714,275.738 122.714,280.088 C122.714,284.437 126.173,287.963 130.434,287.963 M120.959,280.088 C120.959,274.743 125.204,270.429 130.434,270.429 C135.646,270.429 139.895,274.744 139.895,280.088 C139.895,285.427 135.646,289.749 130.434,289.749 C125.204,289.749 120.959,285.427 120.959,280.088" fill="#FFBE9D"/>
-        <path d="M120.985,256.51 C122.947,256.51 124.546,254.89 124.546,252.884 C124.546,250.881 122.947,249.251 120.985,249.251 C119.02,249.251 117.423,250.882 117.423,252.884 C117.423,254.891 119.02,256.51 120.985,256.51" fill="#FFBE9D"/>
-        <path d="M121.133,265.326 C120.615,265.337 120.061,265.073 119.653,264.414 L117.339,260.724 L112.568,265.546 L116.989,267.924 C118.808,268.81 118.539,270.444 118.539,270.444 L118.539,280.663 C118.539,281.822 117.624,282.765 116.49,282.765 C115.352,282.765 114.439,281.82 114.439,280.663 L114.439,272.482 L106.769,268.132 C105.855,267.609 105.235,266.61 105.235,265.474 C105.235,264.692 105.521,263.972 105.999,263.437 L113.525,255.742 C114.459,254.667 115.763,254.836 115.763,254.836 C117.339,254.836 118.169,256.243 118.169,256.243 L122.077,262.491 L128.011,262.48 C130.146,262.48 130.146,265.325 128.011,265.325 L121.133,265.325 z" fill="#FFBE9D"/>
-      </g>
-    </g>
-    <path d="M88.182,110.594 L88.182,124.516 L91.557,124.516 Q91.908,124.516 92.061,124.65 Q92.213,124.785 92.213,125.008 Q92.213,125.219 92.061,125.359 Q91.908,125.5 91.557,125.5 L83.822,125.5 Q83.471,125.5 83.318,125.359 Q83.166,125.219 83.166,125.008 Q83.166,124.785 83.318,124.65 Q83.471,124.516 83.822,124.516 L87.197,124.516 L87.197,111.953 L83.986,112.961 Q83.752,113.031 83.646,113.031 Q83.471,113.031 83.324,112.885 Q83.178,112.738 83.178,112.539 Q83.178,112.363 83.295,112.211 Q83.389,112.117 83.682,112.012 z" fill="#000000"/>
-    <path d="M121.018,116.934 L121.018,119.371 Q121.018,122.547 119.506,124.398 Q118.322,125.852 116.518,125.852 Q115.65,125.852 114.883,125.506 Q114.115,125.16 113.576,124.539 Q113.236,124.152 112.832,123.297 Q112.428,122.441 112.252,121.727 Q111.982,120.719 111.982,119.371 L111.982,116.934 Q111.982,113.746 113.494,111.895 Q114.678,110.441 116.482,110.441 Q117.361,110.441 118.123,110.787 Q118.885,111.133 119.424,111.754 Q119.775,112.152 120.174,113.008 Q120.572,113.863 120.76,114.566 Q121.018,115.574 121.018,116.934 z M120.033,117.062 Q120.033,115.668 119.641,114.467 Q119.248,113.266 118.756,112.551 Q118.463,112.141 117.994,111.848 Q117.326,111.438 116.494,111.438 Q114.842,111.438 113.904,113.125 Q112.967,114.812 112.967,117.062 L112.967,119.23 Q112.967,120.625 113.359,121.832 Q113.752,123.039 114.256,123.754 Q114.537,124.152 115.006,124.445 Q115.674,124.867 116.518,124.867 Q118.158,124.867 119.096,123.174 Q120.033,121.48 120.033,119.23 z" fill="#000000"/>
-    <path d="M149.822,116.934 L149.822,119.371 Q149.822,122.547 148.311,124.398 Q147.127,125.852 145.322,125.852 Q144.455,125.852 143.688,125.506 Q142.92,125.16 142.381,124.539 Q142.041,124.152 141.637,123.297 Q141.232,122.441 141.057,121.727 Q140.787,120.719 140.787,119.371 L140.787,116.934 Q140.787,113.746 142.299,111.895 Q143.482,110.441 145.287,110.441 Q146.166,110.441 146.928,110.787 Q147.689,111.133 148.229,111.754 Q148.58,112.152 148.979,113.008 Q149.377,113.863 149.564,114.566 Q149.822,115.574 149.822,116.934 z M148.838,117.062 Q148.838,115.668 148.445,114.467 Q148.053,113.266 147.561,112.551 Q147.268,112.141 146.799,111.848 Q146.131,111.438 145.299,111.438 Q143.646,111.438 142.709,113.125 Q141.771,114.812 141.771,117.062 L141.771,119.23 Q141.771,120.625 142.164,121.832 Q142.557,123.039 143.061,123.754 Q143.342,124.152 143.811,124.445 Q144.479,124.867 145.322,124.867 Q146.963,124.867 147.9,123.174 Q148.838,121.48 148.838,119.23 z" fill="#000000"/>
-    <path d="M92.213,143.934 L92.213,146.371 Q92.213,149.547 90.701,151.398 Q89.518,152.852 87.713,152.852 Q86.846,152.852 86.078,152.506 Q85.311,152.16 84.771,151.539 Q84.432,151.152 84.027,150.297 Q83.623,149.441 83.447,148.727 Q83.178,147.719 83.178,146.371 L83.178,143.934 Q83.178,140.746 84.689,138.895 Q85.873,137.441 87.678,137.441 Q88.557,137.441 89.318,137.787 Q90.08,138.133 90.619,138.754 Q90.971,139.152 91.369,140.008 Q91.768,140.863 91.955,141.566 Q92.213,142.574 92.213,143.934 z M91.229,144.062 Q91.229,142.668 90.836,141.467 Q90.443,140.266 89.951,139.551 Q89.658,139.141 89.189,138.848 Q88.521,138.438 87.689,138.438 Q86.037,138.438 85.1,140.125 Q84.162,141.812 84.162,144.062 L84.162,146.23 Q84.162,147.625 84.555,148.832 Q84.947,150.039 85.451,150.754 Q85.732,151.152 86.201,151.445 Q86.869,151.867 87.713,151.867 Q89.354,151.867 90.291,150.174 Q91.229,148.48 91.229,146.23 z" fill="#000000"/>
-    <path d="M116.986,137.594 L116.986,151.516 L120.361,151.516 Q120.713,151.516 120.865,151.65 Q121.018,151.785 121.018,152.008 Q121.018,152.219 120.865,152.359 Q120.713,152.5 120.361,152.5 L112.627,152.5 Q112.275,152.5 112.123,152.359 Q111.971,152.219 111.971,152.008 Q111.971,151.785 112.123,151.65 Q112.275,151.516 112.627,151.516 L116.002,151.516 L116.002,138.953 L112.791,139.961 Q112.557,140.031 112.451,140.031 Q112.275,140.031 112.129,139.885 Q111.982,139.738 111.982,139.539 Q111.982,139.363 112.1,139.211 Q112.193,139.117 112.486,139.012 z" fill="#000000"/>
-    <path d="M149.822,143.934 L149.822,146.371 Q149.822,149.547 148.311,151.398 Q147.127,152.852 145.322,152.852 Q144.455,152.852 143.688,152.506 Q142.92,152.16 142.381,151.539 Q142.041,151.152 141.637,150.297 Q141.232,149.441 141.057,148.727 Q140.787,147.719 140.787,146.371 L140.787,143.934 Q140.787,140.746 142.299,138.895 Q143.482,137.441 145.287,137.441 Q146.166,137.441 146.928,137.787 Q147.689,138.133 148.229,138.754 Q148.58,139.152 148.979,140.008 Q149.377,140.863 149.564,141.566 Q149.822,142.574 149.822,143.934 z M148.838,144.062 Q148.838,142.668 148.445,141.467 Q148.053,140.266 147.561,139.551 Q147.268,139.141 146.799,138.848 Q146.131,138.438 145.299,138.438 Q143.646,138.438 142.709,140.125 Q141.771,141.812 141.771,144.062 L141.771,146.23 Q141.771,147.625 142.164,148.832 Q142.557,150.039 143.061,150.754 Q143.342,151.152 143.811,151.445 Q144.479,151.867 145.322,151.867 Q146.963,151.867 147.9,150.174 Q148.838,148.48 148.838,146.23 z" fill="#000000"/>
-    <path d="M92.213,170.934 L92.213,173.371 Q92.213,176.547 90.701,178.398 Q89.518,179.852 87.713,179.852 Q86.846,179.852 86.078,179.506 Q85.311,179.16 84.771,178.539 Q84.432,178.152 84.027,177.297 Q83.623,176.441 83.447,175.727 Q83.178,174.719 83.178,173.371 L83.178,170.934 Q83.178,167.746 84.689,165.895 Q85.873,164.441 87.678,164.441 Q88.557,164.441 89.318,164.787 Q90.08,165.133 90.619,165.754 Q90.971,166.152 91.369,167.008 Q91.768,167.863 91.955,168.566 Q92.213,169.574 92.213,170.934 z M91.229,171.062 Q91.229,169.668 90.836,168.467 Q90.443,167.266 89.951,166.551 Q89.658,166.141 89.189,165.848 Q88.521,165.438 87.689,165.438 Q86.037,165.438 85.1,167.125 Q84.162,168.812 84.162,171.062 L84.162,173.23 Q84.162,174.625 84.555,175.832 Q84.947,177.039 85.451,177.754 Q85.732,178.152 86.201,178.445 Q86.869,178.867 87.713,178.867 Q89.354,178.867 90.291,177.174 Q91.229,175.48 91.229,173.23 z" fill="#000000"/>
-    <path d="M121.018,170.934 L121.018,173.371 Q121.018,176.547 119.506,178.398 Q118.322,179.852 116.518,179.852 Q115.65,179.852 114.883,179.506 Q114.115,179.16 113.576,178.539 Q113.236,178.152 112.832,177.297 Q112.428,176.441 112.252,175.727 Q111.982,174.719 111.982,173.371 L111.982,170.934 Q111.982,167.746 113.494,165.895 Q114.678,164.441 116.482,164.441 Q117.361,164.441 118.123,164.787 Q118.885,165.133 119.424,165.754 Q119.775,166.152 120.174,167.008 Q120.572,167.863 120.76,168.566 Q121.018,169.574 121.018,170.934 z M120.033,171.062 Q120.033,169.668 119.641,168.467 Q119.248,167.266 118.756,166.551 Q118.463,166.141 117.994,165.848 Q117.326,165.438 116.494,165.438 Q114.842,165.438 113.904,167.125 Q112.967,168.812 112.967,171.062 L112.967,173.23 Q112.967,174.625 113.359,175.832 Q113.752,177.039 114.256,177.754 Q114.537,178.152 115.006,178.445 Q115.674,178.867 116.518,178.867 Q118.158,178.867 119.096,177.174 Q120.033,175.48 120.033,173.23 z" fill="#000000"/>
-    <path d="M145.791,164.594 L145.791,178.516 L149.166,178.516 Q149.518,178.516 149.67,178.65 Q149.822,178.785 149.822,179.008 Q149.822,179.219 149.67,179.359 Q149.518,179.5 149.166,179.5 L141.432,179.5 Q141.08,179.5 140.928,179.359 Q140.775,179.219 140.775,179.008 Q140.775,178.785 140.928,178.65 Q141.08,178.516 141.432,178.516 L144.807,178.516 L144.807,165.953 L141.596,166.961 Q141.361,167.031 141.256,167.031 Q141.08,167.031 140.934,166.885 Q140.787,166.738 140.787,166.539 Q140.787,166.363 140.904,166.211 Q140.998,166.117 141.291,166.012 z" fill="#000000"/>
-    <path d="M283.014,125.5 L281.467,125.5 L278.678,115.762 L275.947,125.5 L274.4,125.5 L272.947,112.773 L272.584,112.773 Q272.232,112.773 272.08,112.639 Q271.928,112.504 271.928,112.281 Q271.928,112.059 272.08,111.924 Q272.232,111.789 272.584,111.789 L276.24,111.789 Q276.604,111.789 276.756,111.924 Q276.908,112.059 276.908,112.281 Q276.908,112.504 276.756,112.639 Q276.604,112.773 276.24,112.773 L273.943,112.773 L275.244,124.375 L277.904,114.824 L279.416,114.824 L282.146,124.375 L283.424,112.773 L281.115,112.773 Q280.764,112.773 280.611,112.639 Q280.459,112.504 280.459,112.281 Q280.459,112.059 280.611,111.924 Q280.764,111.789 281.115,111.789 L284.748,111.789 Q285.111,111.789 285.264,111.924 Q285.416,112.059 285.416,112.281 Q285.416,112.504 285.264,112.639 Q285.111,112.773 284.748,112.773 L284.385,112.773 z" fill="#000000"/>
-    <path d="M312.018,116.934 L312.018,119.371 Q312.018,122.547 310.506,124.398 Q309.322,125.852 307.518,125.852 Q306.65,125.852 305.883,125.506 Q305.115,125.16 304.576,124.539 Q304.236,124.152 303.832,123.297 Q303.428,122.441 303.252,121.727 Q302.982,120.719 302.982,119.371 L302.982,116.934 Q302.982,113.746 304.494,111.895 Q305.678,110.441 307.482,110.441 Q308.361,110.441 309.123,110.787 Q309.885,111.133 310.424,111.754 Q310.775,112.152 311.174,113.008 Q311.572,113.863 311.76,114.566 Q312.018,115.574 312.018,116.934 z M311.033,117.062 Q311.033,115.668 310.641,114.467 Q310.248,113.266 309.756,112.551 Q309.463,112.141 308.994,111.848 Q308.326,111.438 307.494,111.438 Q305.842,111.438 304.904,113.125 Q303.967,114.812 303.967,117.062 L303.967,119.23 Q303.967,120.625 304.359,121.832 Q304.752,123.039 305.256,123.754 Q305.537,124.152 306.006,124.445 Q306.674,124.867 307.518,124.867 Q309.158,124.867 310.096,123.174 Q311.033,121.48 311.033,119.23 z" fill="#000000"/>
-    <path d="M340.822,116.934 L340.822,119.371 Q340.822,122.547 339.311,124.398 Q338.127,125.852 336.322,125.852 Q335.455,125.852 334.688,125.506 Q333.92,125.16 333.381,124.539 Q333.041,124.152 332.637,123.297 Q332.232,122.441 332.057,121.727 Q331.787,120.719 331.787,119.371 L331.787,116.934 Q331.787,113.746 333.299,111.895 Q334.482,110.441 336.287,110.441 Q337.166,110.441 337.928,110.787 Q338.689,111.133 339.229,111.754 Q339.58,112.152 339.979,113.008 Q340.377,113.863 340.564,114.566 Q340.822,115.574 340.822,116.934 z M339.838,117.062 Q339.838,115.668 339.445,114.467 Q339.053,113.266 338.561,112.551 Q338.268,112.141 337.799,111.848 Q337.131,111.438 336.299,111.438 Q334.646,111.438 333.709,113.125 Q332.771,114.812 332.771,117.062 L332.771,119.23 Q332.771,120.625 333.164,121.832 Q333.557,123.039 334.061,123.754 Q334.342,124.152 334.811,124.445 Q335.479,124.867 336.322,124.867 Q337.963,124.867 338.9,123.174 Q339.838,121.48 339.838,119.23 z" fill="#000000"/>
-    <path d="M283.213,143.934 L283.213,146.371 Q283.213,149.547 281.701,151.398 Q280.518,152.852 278.713,152.852 Q277.846,152.852 277.078,152.506 Q276.311,152.16 275.771,151.539 Q275.432,151.152 275.027,150.297 Q274.623,149.441 274.447,148.727 Q274.178,147.719 274.178,146.371 L274.178,143.934 Q274.178,140.746 275.689,138.895 Q276.873,137.441 278.678,137.441 Q279.557,137.441 280.318,137.787 Q281.08,138.133 281.619,138.754 Q281.971,139.152 282.369,140.008 Q282.768,140.863 282.955,141.566 Q283.213,142.574 283.213,143.934 z M282.229,144.062 Q282.229,142.668 281.836,141.467 Q281.443,140.266 280.951,139.551 Q280.658,139.141 280.189,138.848 Q279.521,138.438 278.689,138.438 Q277.037,138.438 276.1,140.125 Q275.162,141.812 275.162,144.062 L275.162,146.23 Q275.162,147.625 275.555,148.832 Q275.947,150.039 276.451,150.754 Q276.732,151.152 277.201,151.445 Q277.869,151.867 278.713,151.867 Q280.354,151.867 281.291,150.174 Q282.229,148.48 282.229,146.23 z" fill="#000000"/>
-    <path d="M310.834,145.867 L304.307,145.867 L304.307,151.516 L305.631,151.516 Q305.982,151.516 306.135,151.65 Q306.287,151.785 306.287,152.008 Q306.287,152.219 306.135,152.359 Q305.982,152.5 305.631,152.5 L302.209,152.5 Q301.857,152.5 301.705,152.359 Q301.553,152.219 301.553,152.008 Q301.553,151.785 301.705,151.65 Q301.857,151.516 302.209,151.516 L303.322,151.516 L303.322,139.773 L302.713,139.773 Q302.35,139.773 302.197,139.639 Q302.045,139.504 302.045,139.281 Q302.045,139.059 302.197,138.924 Q302.35,138.789 302.713,138.789 L305.631,138.789 Q305.982,138.789 306.135,138.924 Q306.287,139.059 306.287,139.281 Q306.287,139.504 306.135,139.639 Q305.982,139.773 305.631,139.773 L304.307,139.773 L304.307,144.883 L310.834,144.883 L310.834,139.773 L309.521,139.773 Q309.17,139.773 309.018,139.639 Q308.865,139.504 308.865,139.281 Q308.865,139.059 309.012,138.924 Q309.158,138.789 309.521,138.789 L312.439,138.789 Q312.803,138.789 312.955,138.924 Q313.107,139.059 313.107,139.281 Q313.107,139.504 312.955,139.639 Q312.803,139.773 312.439,139.773 L311.83,139.773 L311.83,151.516 L312.943,151.516 Q313.295,151.516 313.447,151.65 Q313.6,151.785 313.6,152.008 Q313.6,152.219 313.447,152.359 Q313.295,152.5 312.943,152.5 L309.521,152.5 Q309.17,152.5 309.018,152.359 Q308.865,152.219 308.865,152.008 Q308.865,151.785 309.012,151.65 Q309.158,151.516 309.521,151.516 L310.834,151.516 z" fill="#000000"/>
-    <path d="M340.822,143.934 L340.822,146.371 Q340.822,149.547 339.311,151.398 Q338.127,152.852 336.322,152.852 Q335.455,152.852 334.688,152.506 Q333.92,152.16 333.381,151.539 Q333.041,151.152 332.637,150.297 Q332.232,149.441 332.057,148.727 Q331.787,147.719 331.787,146.371 L331.787,143.934 Q331.787,140.746 333.299,138.895 Q334.482,137.441 336.287,137.441 Q337.166,137.441 337.928,137.787 Q338.689,138.133 339.229,138.754 Q339.58,139.152 339.979,140.008 Q340.377,140.863 340.564,141.566 Q340.822,142.574 340.822,143.934 z M339.838,144.062 Q339.838,142.668 339.445,141.467 Q339.053,140.266 338.561,139.551 Q338.268,139.141 337.799,138.848 Q337.131,138.438 336.299,138.438 Q334.646,138.438 333.709,140.125 Q332.771,141.812 332.771,144.062 L332.771,146.23 Q332.771,147.625 333.164,148.832 Q333.557,150.039 334.061,150.754 Q334.342,151.152 334.811,151.445 Q335.479,151.867 336.322,151.867 Q337.963,151.867 338.9,150.174 Q339.838,148.48 339.838,146.23 z" fill="#000000"/>
-    <path d="M283.213,170.934 L283.213,173.371 Q283.213,176.547 281.701,178.398 Q280.518,179.852 278.713,179.852 Q277.846,179.852 277.078,179.506 Q276.311,179.16 275.771,178.539 Q275.432,178.152 275.027,177.297 Q274.623,176.441 274.447,175.727 Q274.178,174.719 274.178,173.371 L274.178,170.934 Q274.178,167.746 275.689,165.895 Q276.873,164.441 278.678,164.441 Q279.557,164.441 280.318,164.787 Q281.08,165.133 281.619,165.754 Q281.971,166.152 282.369,167.008 Q282.768,167.863 282.955,168.566 Q283.213,169.574 283.213,170.934 z M282.229,171.062 Q282.229,169.668 281.836,168.467 Q281.443,167.266 280.951,166.551 Q280.658,166.141 280.189,165.848 Q279.521,165.438 278.689,165.438 Q277.037,165.438 276.1,167.125 Q275.162,168.812 275.162,171.062 L275.162,173.23 Q275.162,174.625 275.555,175.832 Q275.947,177.039 276.451,177.754 Q276.732,178.152 277.201,178.445 Q277.869,178.867 278.713,178.867 Q280.354,178.867 281.291,177.174 Q282.229,175.48 282.229,173.23 z" fill="#000000"/>
-    <path d="M312.018,170.934 L312.018,173.371 Q312.018,176.547 310.506,178.398 Q309.322,179.852 307.518,179.852 Q306.65,179.852 305.883,179.506 Q305.115,179.16 304.576,178.539 Q304.236,178.152 303.832,177.297 Q303.428,176.441 303.252,175.727 Q302.982,174.719 302.982,173.371 L302.982,170.934 Q302.982,167.746 304.494,165.895 Q305.678,164.441 307.482,164.441 Q308.361,164.441 309.123,164.787 Q309.885,165.133 310.424,165.754 Q310.775,166.152 311.174,167.008 Q311.572,167.863 311.76,168.566 Q312.018,169.574 312.018,170.934 z M311.033,171.062 Q311.033,169.668 310.641,168.467 Q310.248,167.266 309.756,166.551 Q309.463,166.141 308.994,165.848 Q308.326,165.438 307.494,165.438 Q305.842,165.438 304.904,167.125 Q303.967,168.812 303.967,171.062 L303.967,173.23 Q303.967,174.625 304.359,175.832 Q304.752,177.039 305.256,177.754 Q305.537,178.152 306.006,178.445 Q306.674,178.867 307.518,178.867 Q309.158,178.867 310.096,177.174 Q311.033,175.48 311.033,173.23 z" fill="#000000"/>
-    <path d="M336.791,164.594 L336.791,178.516 L340.166,178.516 Q340.518,178.516 340.67,178.65 Q340.822,178.785 340.822,179.008 Q340.822,179.219 340.67,179.359 Q340.518,179.5 340.166,179.5 L332.432,179.5 Q332.08,179.5 331.928,179.359 Q331.775,179.219 331.775,179.008 Q331.775,178.785 331.928,178.65 Q332.08,178.516 332.432,178.516 L335.807,178.516 L335.807,165.953 L332.596,166.961 Q332.361,167.031 332.256,167.031 Q332.08,167.031 331.934,166.885 Q331.787,166.738 331.787,166.539 Q331.787,166.363 331.904,166.211 Q331.998,166.117 332.291,166.012 z" fill="#000000"/>
-    <g>
-      <path d="M328.5,235.5 L397.5,235.5 L397.5,304.5 L328.5,304.5 L328.5,235.5 z" fill-opacity="0" stroke="#FFBE9D" stroke-width="1" stroke-dasharray="3,2"/>
-      <g>
-        <path d="M348.566,287.872 C352.827,287.872 356.28,284.341 356.28,279.991 C356.28,275.642 352.827,272.116 348.566,272.116 C344.316,272.116 340.86,275.642 340.86,279.991 C340.86,284.341 344.316,287.872 348.566,287.872 M339.105,279.991 C339.105,274.652 343.349,270.333 348.566,270.333 C353.796,270.333 358.041,274.652 358.041,279.991 C358.041,285.336 353.796,289.653 348.566,289.653 C343.349,289.653 339.105,285.335 339.105,279.991" fill="#FFBE9D"/>
-        <path d="M376.434,287.963 C380.684,287.963 384.136,284.437 384.136,280.088 C384.136,275.738 380.685,272.207 376.434,272.207 C372.173,272.207 368.714,275.738 368.714,280.088 C368.714,284.437 372.173,287.963 376.434,287.963 M366.959,280.088 C366.959,274.743 371.204,270.429 376.434,270.429 C381.646,270.429 385.896,274.744 385.896,280.088 C385.896,285.427 381.646,289.749 376.434,289.749 C371.204,289.749 366.959,285.427 366.959,280.088" fill="#FFBE9D"/>
-        <path d="M366.985,256.51 C368.947,256.51 370.546,254.89 370.546,252.884 C370.546,250.881 368.947,249.251 366.985,249.251 C365.02,249.251 363.423,250.882 363.423,252.884 C363.423,254.891 365.02,256.51 366.985,256.51" fill="#FFBE9D"/>
-        <path d="M367.133,265.326 C366.615,265.337 366.061,265.073 365.653,264.414 L363.339,260.724 L358.568,265.546 L362.989,267.924 C364.808,268.81 364.539,270.444 364.539,270.444 L364.539,280.663 C364.539,281.822 363.624,282.765 362.49,282.765 C361.352,282.765 360.439,281.82 360.439,280.663 L360.439,272.482 L352.769,268.132 C351.855,267.609 351.235,266.61 351.235,265.474 C351.235,264.692 351.521,263.972 351.999,263.437 L359.525,255.742 C360.459,254.667 361.763,254.836 361.763,254.836 C363.339,254.836 364.169,256.243 364.169,256.243 L368.077,262.491 L374.011,262.48 C376.147,262.48 376.147,265.325 374.011,265.325 L367.133,265.325 z" fill="#FFBE9D"/>
-      </g>
-    </g>
-    <g>
-      <path d="M578.5,235.5 L647.5,235.5 L647.5,304.5 L578.5,304.5 L578.5,235.5 z" fill-opacity="0" stroke="#FFBE9D" stroke-width="1" stroke-dasharray="3,2"/>
-      <g>
-        <path d="M598.566,287.872 C602.827,287.872 606.28,284.341 606.28,279.991 C606.28,275.642 602.827,272.116 598.566,272.116 C594.316,272.116 590.86,275.642 590.86,279.991 C590.86,284.341 594.316,287.872 598.566,287.872 M589.104,279.991 C589.104,274.652 593.349,270.333 598.566,270.333 C603.796,270.333 608.041,274.652 608.041,279.991 C608.041,285.336 603.796,289.653 598.566,289.653 C593.349,289.653 589.104,285.335 589.104,279.991" fill="#FFBE9D"/>
-        <path d="M626.434,287.963 C630.684,287.963 634.136,284.437 634.136,280.088 C634.136,275.738 630.685,272.207 626.434,272.207 C622.173,272.207 618.714,275.738 618.714,280.088 C618.714,284.437 622.173,287.963 626.434,287.963 M616.959,280.088 C616.959,274.743 621.204,270.429 626.434,270.429 C631.646,270.429 635.896,274.744 635.896,280.088 C635.896,285.427 631.646,289.749 626.434,289.749 C621.204,289.749 616.959,285.427 616.959,280.088" fill="#FFBE9D"/>
-        <path d="M616.985,256.51 C618.947,256.51 620.546,254.89 620.546,252.884 C620.546,250.881 618.947,249.251 616.985,249.251 C615.02,249.251 613.423,250.882 613.423,252.884 C613.423,254.891 615.02,256.51 616.985,256.51" fill="#FFBE9D"/>
-        <path d="M617.133,265.326 C616.615,265.337 616.061,265.073 615.653,264.414 L613.339,260.724 L608.568,265.546 L612.989,267.924 C614.807,268.81 614.539,270.444 614.539,270.444 L614.539,280.663 C614.539,281.822 613.624,282.765 612.49,282.765 C611.352,282.765 610.439,281.82 610.439,280.663 L610.439,272.482 L602.769,268.132 C601.855,267.609 601.235,266.61 601.235,265.474 C601.235,264.692 601.521,263.972 601.999,263.437 L609.525,255.742 C610.459,254.667 611.763,254.836 611.763,254.836 C613.339,254.836 614.169,256.243 614.169,256.243 L618.077,262.491 L624.011,262.48 C626.146,262.48 626.146,265.325 624.011,265.325 L617.133,265.325 z" fill="#FFBE9D"/>
-      </g>
-    </g>
-    <path d="M551.797,116.348 L551.797,116.02 Q551.797,115.656 551.938,115.504 Q552.078,115.352 552.289,115.352 Q552.512,115.352 552.652,115.504 Q552.793,115.656 552.793,116.02 L552.793,118.246 Q552.781,118.609 552.646,118.762 Q552.512,118.914 552.289,118.914 Q552.09,118.914 551.955,118.779 Q551.82,118.645 551.797,118.328 Q551.727,117.496 550.701,116.746 Q549.676,115.996 547.941,115.996 Q545.75,115.996 544.613,117.367 Q543.477,118.738 543.477,120.508 Q543.477,122.418 544.73,123.66 Q545.984,124.902 547.977,124.902 Q549.125,124.902 550.314,124.48 Q551.504,124.059 552.465,123.121 Q552.711,122.887 552.898,122.887 Q553.098,122.887 553.232,123.021 Q553.367,123.156 553.367,123.355 Q553.367,123.859 552.184,124.633 Q550.273,125.887 547.93,125.887 Q545.551,125.887 544.021,124.369 Q542.492,122.852 542.492,120.52 Q542.492,118.141 544.057,116.57 Q545.621,115 548,115 Q550.262,115 551.797,116.348 z" fill="#000000"/>
-    <path d="M567.594,120.449 Q567.594,122.699 565.982,124.293 Q564.371,125.887 562.098,125.887 Q559.801,125.887 558.195,124.287 Q556.59,122.688 556.59,120.449 Q556.59,118.199 558.195,116.6 Q559.801,115 562.098,115 Q564.371,115 565.982,116.594 Q567.594,118.188 567.594,120.449 z M566.598,120.449 Q566.598,118.598 565.279,117.297 Q563.961,115.996 562.086,115.996 Q560.211,115.996 558.893,117.303 Q557.574,118.609 557.574,120.449 Q557.574,122.277 558.893,123.59 Q560.211,124.902 562.086,124.902 Q563.961,124.902 565.279,123.596 Q566.598,122.289 566.598,120.449 z" fill="#000000"/>
-    <path d="M579.746,115.996 Q579.746,115.656 579.887,115.504 Q580.027,115.352 580.238,115.352 Q580.461,115.352 580.602,115.504 Q580.742,115.656 580.742,116.02 L580.742,117.707 Q580.742,118.059 580.602,118.211 Q580.461,118.363 580.238,118.363 Q580.039,118.363 579.904,118.234 Q579.77,118.105 579.746,117.812 Q579.676,117.109 579.02,116.652 Q578.059,115.996 576.477,115.996 Q574.824,115.996 573.91,116.664 Q573.219,117.168 573.219,117.789 Q573.219,118.492 574.039,118.961 Q574.602,119.289 576.172,119.465 Q578.223,119.688 579.02,119.969 Q580.156,120.379 580.713,121.105 Q581.27,121.832 581.27,122.676 Q581.27,123.93 580.062,124.908 Q578.855,125.887 576.523,125.887 Q574.191,125.887 572.703,124.703 Q572.703,125.102 572.656,125.219 Q572.609,125.336 572.486,125.418 Q572.363,125.5 572.211,125.5 Q572,125.5 571.859,125.348 Q571.719,125.195 571.719,124.844 L571.719,122.816 Q571.719,122.465 571.854,122.312 Q571.988,122.16 572.211,122.16 Q572.422,122.16 572.568,122.307 Q572.715,122.453 572.715,122.699 Q572.715,123.238 572.984,123.602 Q573.395,124.164 574.291,124.533 Q575.188,124.902 576.488,124.902 Q578.41,124.902 579.348,124.188 Q580.285,123.473 580.285,122.676 Q580.285,121.762 579.336,121.211 Q578.375,120.66 576.541,120.473 Q574.707,120.285 573.91,119.98 Q573.113,119.676 572.668,119.066 Q572.223,118.457 572.223,117.754 Q572.223,116.488 573.465,115.744 Q574.707,115 576.43,115 Q578.469,115 579.746,115.996 z" fill="#000000"/>
-    <path d="M585.793,118.34 Q585.793,115.023 587.211,112.908 Q588.629,110.793 590.902,110.793 Q593.188,110.793 594.6,112.92 Q596.012,115.047 596.012,118.34 Q596.012,121.621 594.582,123.754 Q593.152,125.887 590.902,125.887 Q588.652,125.887 587.223,123.777 Q585.793,121.668 585.793,118.34 z M595.016,117.848 Q594.969,115.223 593.879,113.506 Q592.789,111.789 590.902,111.789 Q589.062,111.789 587.926,113.506 Q586.789,115.223 586.777,117.848 z M586.777,118.844 Q586.789,121.457 587.926,123.18 Q589.062,124.902 590.902,124.902 Q592.742,124.902 593.873,123.186 Q595.004,121.469 595.016,118.844 z" fill="#000000"/>
-    <path d="M622.953,115.996 Q622.953,115.656 623.094,115.504 Q623.234,115.352 623.445,115.352 Q623.668,115.352 623.809,115.504 Q623.949,115.656 623.949,116.02 L623.949,117.707 Q623.949,118.059 623.809,118.211 Q623.668,118.363 623.445,118.363 Q623.246,118.363 623.111,118.234 Q622.977,118.105 622.953,117.812 Q622.883,117.109 622.227,116.652 Q621.266,115.996 619.684,115.996 Q618.031,115.996 617.117,116.664 Q616.426,117.168 616.426,117.789 Q616.426,118.492 617.246,118.961 Q617.809,119.289 619.379,119.465 Q621.43,119.688 622.227,119.969 Q623.363,120.379 623.92,121.105 Q624.477,121.832 624.477,122.676 Q624.477,123.93 623.27,124.908 Q622.062,125.887 619.73,125.887 Q617.398,125.887 615.91,124.703 Q615.91,125.102 615.863,125.219 Q615.816,125.336 615.693,125.418 Q615.57,125.5 615.418,125.5 Q615.207,125.5 615.066,125.348 Q614.926,125.195 614.926,124.844 L614.926,122.816 Q614.926,122.465 615.061,122.312 Q615.195,122.16 615.418,122.16 Q615.629,122.16 615.775,122.307 Q615.922,122.453 615.922,122.699 Q615.922,123.238 616.191,123.602 Q616.602,124.164 617.498,124.533 Q618.395,124.902 619.695,124.902 Q621.617,124.902 622.555,124.188 Q623.492,123.473 623.492,122.676 Q623.492,121.762 622.543,121.211 Q621.582,120.66 619.748,120.473 Q617.914,120.285 617.117,119.98 Q616.32,119.676 615.875,119.066 Q615.43,118.457 615.43,117.754 Q615.43,116.488 616.672,115.744 Q617.914,115 619.637,115 Q621.676,115 622.953,115.996 z" fill="#000000"/>
-    <path d="M634.59,110.301 L634.59,112.844 L633.137,112.844 L633.137,110.301 z M634.625,115.352 L634.625,124.516 L638.492,124.516 Q638.855,124.516 639.008,124.65 Q639.16,124.785 639.16,125.008 Q639.16,125.219 639.008,125.359 Q638.855,125.5 638.492,125.5 L629.773,125.5 Q629.422,125.5 629.27,125.359 Q629.117,125.219 629.117,125.008 Q629.117,124.785 629.27,124.65 Q629.422,124.516 629.773,124.516 L633.641,124.516 L633.641,116.348 L630.77,116.348 Q630.418,116.348 630.26,116.207 Q630.102,116.066 630.102,115.855 Q630.102,115.633 630.254,115.492 Q630.406,115.352 630.77,115.352 z" fill="#000000"/>
-    <path d="M645.324,115.352 L645.324,116.84 Q646.355,115.797 647.188,115.398 Q648.02,115 649.062,115 Q650.188,115 651.113,115.48 Q651.77,115.832 652.303,116.646 Q652.836,117.461 652.836,118.316 L652.836,124.516 L653.668,124.516 Q654.02,124.516 654.172,124.65 Q654.324,124.785 654.324,125.008 Q654.324,125.219 654.172,125.359 Q654.02,125.5 653.668,125.5 L651.031,125.5 Q650.668,125.5 650.516,125.359 Q650.363,125.219 650.363,125.008 Q650.363,124.785 650.516,124.65 Q650.668,124.516 651.031,124.516 L651.852,124.516 L651.852,118.48 Q651.852,117.438 651.09,116.717 Q650.328,115.996 649.051,115.996 Q648.078,115.996 647.363,116.389 Q646.648,116.781 645.324,118.34 L645.324,124.516 L646.438,124.516 Q646.789,124.516 646.941,124.65 Q647.094,124.785 647.094,125.008 Q647.094,125.219 646.941,125.359 Q646.789,125.5 646.438,125.5 L643.227,125.5 Q642.875,125.5 642.723,125.359 Q642.57,125.219 642.57,125.008 Q642.57,124.785 642.723,124.65 Q642.875,124.516 643.227,124.516 L644.34,124.516 L644.34,116.348 L643.508,116.348 Q643.156,116.348 643.004,116.207 Q642.852,116.066 642.852,115.844 Q642.852,115.633 643.004,115.492 Q643.156,115.352 643.508,115.352 z" fill="#000000"/>
-    <path d="M657.805,118.34 Q657.805,115.023 659.223,112.908 Q660.641,110.793 662.914,110.793 Q665.199,110.793 666.611,112.92 Q668.023,115.047 668.023,118.34 Q668.023,121.621 666.594,123.754 Q665.164,125.887 662.914,125.887 Q660.664,125.887 659.234,123.777 Q657.805,121.668 657.805,118.34 z M667.027,117.848 Q666.98,115.223 665.891,113.506 Q664.801,111.789 662.914,111.789 Q661.074,111.789 659.938,113.506 Q658.801,115.223 658.789,117.848 z M658.789,118.844 Q658.801,121.457 659.938,123.18 Q661.074,124.902 662.914,124.902 Q664.754,124.902 665.885,123.186 Q667.016,121.469 667.027,118.844 z" fill="#000000"/>
-    <path d="M696.23,116.934 L696.23,119.371 Q696.23,122.547 694.719,124.398 Q693.535,125.852 691.73,125.852 Q690.863,125.852 690.096,125.506 Q689.328,125.16 688.789,124.539 Q688.449,124.152 688.045,123.297 Q687.641,122.441 687.465,121.727 Q687.195,120.719 687.195,119.371 L687.195,116.934 Q687.195,113.746 688.707,111.895 Q689.891,110.441 691.695,110.441 Q692.574,110.441 693.336,110.787 Q694.098,111.133 694.637,111.754 Q694.988,112.152 695.387,113.008 Q695.785,113.863 695.973,114.566 Q696.23,115.574 696.23,116.934 z M695.246,117.062 Q695.246,115.668 694.854,114.467 Q694.461,113.266 693.969,112.551 Q693.676,112.141 693.207,111.848 Q692.539,111.438 691.707,111.438 Q690.055,111.438 689.117,113.125 Q688.18,114.812 688.18,117.062 L688.18,119.23 Q688.18,120.625 688.572,121.832 Q688.965,123.039 689.469,123.754 Q689.75,124.152 690.219,124.445 Q690.887,124.867 691.73,124.867 Q693.371,124.867 694.309,123.174 Q695.246,121.48 695.246,119.23 z" fill="#000000"/>
-    <path d="M538.309,145.012 L538.309,146.418 L528.266,146.418 L528.266,145.012 z" fill="#000000"/>
-    <path d="M550.941,142.996 Q550.941,142.656 551.082,142.504 Q551.223,142.352 551.434,142.352 Q551.656,142.352 551.797,142.504 Q551.938,142.656 551.938,143.02 L551.938,144.707 Q551.938,145.059 551.797,145.211 Q551.656,145.363 551.434,145.363 Q551.234,145.363 551.1,145.234 Q550.965,145.105 550.941,144.812 Q550.871,144.109 550.215,143.652 Q549.254,142.996 547.672,142.996 Q546.02,142.996 545.105,143.664 Q544.414,144.168 544.414,144.789 Q544.414,145.492 545.234,145.961 Q545.797,146.289 547.367,146.465 Q549.418,146.688 550.215,146.969 Q551.352,147.379 551.908,148.105 Q552.465,148.832 552.465,149.676 Q552.465,150.93 551.258,151.908 Q550.051,152.887 547.719,152.887 Q545.387,152.887 543.898,151.703 Q543.898,152.102 543.852,152.219 Q543.805,152.336 543.682,152.418 Q543.559,152.5 543.406,152.5 Q543.195,152.5 543.055,152.348 Q542.914,152.195 542.914,151.844 L542.914,149.816 Q542.914,149.465 543.049,149.312 Q543.184,149.16 543.406,149.16 Q543.617,149.16 543.764,149.307 Q543.91,149.453 543.91,149.699 Q543.91,150.238 544.18,150.602 Q544.59,151.164 545.486,151.533 Q546.383,151.902 547.684,151.902 Q549.605,151.902 550.543,151.188 Q551.48,150.473 551.48,149.676 Q551.48,148.762 550.531,148.211 Q549.57,147.66 547.736,147.473 Q545.902,147.285 545.105,146.98 Q544.309,146.676 543.863,146.066 Q543.418,145.457 543.418,144.754 Q543.418,143.488 544.66,142.744 Q545.902,142 547.625,142 Q549.664,142 550.941,142.996 z" fill="#000000"/>
-    <path d="M562.578,137.301 L562.578,139.844 L561.125,139.844 L561.125,137.301 z M562.613,142.352 L562.613,151.516 L566.48,151.516 Q566.844,151.516 566.996,151.65 Q567.148,151.785 567.148,152.008 Q567.148,152.219 566.996,152.359 Q566.844,152.5 566.48,152.5 L557.762,152.5 Q557.41,152.5 557.258,152.359 Q557.105,152.219 557.105,152.008 Q557.105,151.785 557.258,151.65 Q557.41,151.516 557.762,151.516 L561.629,151.516 L561.629,143.348 L558.758,143.348 Q558.406,143.348 558.248,143.207 Q558.09,143.066 558.09,142.855 Q558.09,142.633 558.242,142.492 Q558.395,142.352 558.758,142.352 z" fill="#000000"/>
-    <path d="M573.312,142.352 L573.312,143.84 Q574.344,142.797 575.176,142.398 Q576.008,142 577.051,142 Q578.176,142 579.102,142.48 Q579.758,142.832 580.291,143.646 Q580.824,144.461 580.824,145.316 L580.824,151.516 L581.656,151.516 Q582.008,151.516 582.16,151.65 Q582.312,151.785 582.312,152.008 Q582.312,152.219 582.16,152.359 Q582.008,152.5 581.656,152.5 L579.02,152.5 Q578.656,152.5 578.504,152.359 Q578.352,152.219 578.352,152.008 Q578.352,151.785 578.504,151.65 Q578.656,151.516 579.02,151.516 L579.84,151.516 L579.84,145.48 Q579.84,144.438 579.078,143.717 Q578.316,142.996 577.039,142.996 Q576.066,142.996 575.352,143.389 Q574.637,143.781 573.312,145.34 L573.312,151.516 L574.426,151.516 Q574.777,151.516 574.93,151.65 Q575.082,151.785 575.082,152.008 Q575.082,152.219 574.93,152.359 Q574.777,152.5 574.426,152.5 L571.215,152.5 Q570.863,152.5 570.711,152.359 Q570.559,152.219 570.559,152.008 Q570.559,151.785 570.711,151.65 Q570.863,151.516 571.215,151.516 L572.328,151.516 L572.328,143.348 L571.496,143.348 Q571.145,143.348 570.992,143.207 Q570.84,143.066 570.84,142.844 Q570.84,142.633 570.992,142.492 Q571.145,142.352 571.496,142.352 z" fill="#000000"/>
-    <path d="M585.793,145.34 Q585.793,142.023 587.211,139.908 Q588.629,137.793 590.902,137.793 Q593.188,137.793 594.6,139.92 Q596.012,142.047 596.012,145.34 Q596.012,148.621 594.582,150.754 Q593.152,152.887 590.902,152.887 Q588.652,152.887 587.223,150.777 Q585.793,148.668 585.793,145.34 z M595.016,144.848 Q594.969,142.223 593.879,140.506 Q592.789,138.789 590.902,138.789 Q589.062,138.789 587.926,140.506 Q586.789,142.223 586.777,144.848 z M586.777,145.844 Q586.789,148.457 587.926,150.18 Q589.062,151.902 590.902,151.902 Q592.742,151.902 593.873,150.186 Q595.004,148.469 595.016,145.844 z" fill="#000000"/>
-    <path d="M623.809,143.348 L623.809,143.02 Q623.809,142.656 623.949,142.504 Q624.09,142.352 624.301,142.352 Q624.523,142.352 624.664,142.504 Q624.805,142.656 624.805,143.02 L624.805,145.246 Q624.793,145.609 624.658,145.762 Q624.523,145.914 624.301,145.914 Q624.102,145.914 623.967,145.779 Q623.832,145.645 623.809,145.328 Q623.738,144.496 622.713,143.746 Q621.688,142.996 619.953,142.996 Q617.762,142.996 616.625,144.367 Q615.488,145.738 615.488,147.508 Q615.488,149.418 616.742,150.66 Q617.996,151.902 619.988,151.902 Q621.137,151.902 622.326,151.48 Q623.516,151.059 624.477,150.121 Q624.723,149.887 624.91,149.887 Q625.109,149.887 625.244,150.021 Q625.379,150.156 625.379,150.355 Q625.379,150.859 624.195,151.633 Q622.285,152.887 619.941,152.887 Q617.562,152.887 616.033,151.369 Q614.504,149.852 614.504,147.52 Q614.504,145.141 616.068,143.57 Q617.633,142 620.012,142 Q622.273,142 623.809,143.348 z" fill="#000000"/>
-    <path d="M639.605,147.449 Q639.605,149.699 637.994,151.293 Q636.383,152.887 634.109,152.887 Q631.812,152.887 630.207,151.287 Q628.602,149.688 628.602,147.449 Q628.602,145.199 630.207,143.6 Q631.812,142 634.109,142 Q636.383,142 637.994,143.594 Q639.605,145.188 639.605,147.449 z M638.609,147.449 Q638.609,145.598 637.291,144.297 Q635.973,142.996 634.098,142.996 Q632.223,142.996 630.904,144.303 Q629.586,145.609 629.586,147.449 Q629.586,149.277 630.904,150.59 Q632.223,151.902 634.098,151.902 Q635.973,151.902 637.291,150.596 Q638.609,149.289 638.609,147.449 z" fill="#000000"/>
-    <path d="M651.758,142.996 Q651.758,142.656 651.898,142.504 Q652.039,142.352 652.25,142.352 Q652.473,142.352 652.613,142.504 Q652.754,142.656 652.754,143.02 L652.754,144.707 Q652.754,145.059 652.613,145.211 Q652.473,145.363 652.25,145.363 Q652.051,145.363 651.916,145.234 Q651.781,145.105 651.758,144.812 Q651.688,144.109 651.031,143.652 Q650.07,142.996 648.488,142.996 Q646.836,142.996 645.922,143.664 Q645.23,144.168 645.23,144.789 Q645.23,145.492 646.051,145.961 Q646.613,146.289 648.184,146.465 Q650.234,146.688 651.031,146.969 Q652.168,147.379 652.725,148.105 Q653.281,148.832 653.281,149.676 Q653.281,150.93 652.074,151.908 Q650.867,152.887 648.535,152.887 Q646.203,152.887 644.715,151.703 Q644.715,152.102 644.668,152.219 Q644.621,152.336 644.498,152.418 Q644.375,152.5 644.223,152.5 Q644.012,152.5 643.871,152.348 Q643.73,152.195 643.73,151.844 L643.73,149.816 Q643.73,149.465 643.865,149.312 Q644,149.16 644.223,149.16 Q644.434,149.16 644.58,149.307 Q644.727,149.453 644.727,149.699 Q644.727,150.238 644.996,150.602 Q645.406,151.164 646.303,151.533 Q647.199,151.902 648.5,151.902 Q650.422,151.902 651.359,151.188 Q652.297,150.473 652.297,149.676 Q652.297,148.762 651.348,148.211 Q650.387,147.66 648.553,147.473 Q646.719,147.285 645.922,146.98 Q645.125,146.676 644.68,146.066 Q644.234,145.457 644.234,144.754 Q644.234,143.488 645.477,142.744 Q646.719,142 648.441,142 Q650.48,142 651.758,142.996 z" fill="#000000"/>
-    <path d="M657.805,145.34 Q657.805,142.023 659.223,139.908 Q660.641,137.793 662.914,137.793 Q665.199,137.793 666.611,139.92 Q668.023,142.047 668.023,145.34 Q668.023,148.621 666.594,150.754 Q665.164,152.887 662.914,152.887 Q660.664,152.887 659.234,150.777 Q657.805,148.668 657.805,145.34 z M667.027,144.848 Q666.98,142.223 665.891,140.506 Q664.801,138.789 662.914,138.789 Q661.074,138.789 659.938,140.506 Q658.801,142.223 658.789,144.848 z M658.789,145.844 Q658.801,148.457 659.938,150.18 Q661.074,151.902 662.914,151.902 Q664.754,151.902 665.885,150.186 Q667.016,148.469 667.027,145.844 z" fill="#000000"/>
-    <path d="M696.23,143.934 L696.23,146.371 Q696.23,149.547 694.719,151.398 Q693.535,152.852 691.73,152.852 Q690.863,152.852 690.096,152.506 Q689.328,152.16 688.789,151.539 Q688.449,151.152 688.045,150.297 Q687.641,149.441 687.465,148.727 Q687.195,147.719 687.195,146.371 L687.195,143.934 Q687.195,140.746 688.707,138.895 Q689.891,137.441 691.695,137.441 Q692.574,137.441 693.336,137.787 Q694.098,138.133 694.637,138.754 Q694.988,139.152 695.387,140.008 Q695.785,140.863 695.973,141.566 Q696.23,142.574 696.23,143.934 z M695.246,144.062 Q695.246,142.668 694.854,141.467 Q694.461,140.266 693.969,139.551 Q693.676,139.141 693.207,138.848 Q692.539,138.438 691.707,138.438 Q690.055,138.438 689.117,140.125 Q688.18,141.812 688.18,144.062 L688.18,146.23 Q688.18,147.625 688.572,148.832 Q688.965,150.039 689.469,150.754 Q689.75,151.152 690.219,151.445 Q690.887,151.867 691.73,151.867 Q693.371,151.867 694.309,150.174 Q695.246,148.48 695.246,146.23 z" fill="#000000"/>
-    <path d="M595.414,170.934 L595.414,173.371 Q595.414,176.547 593.902,178.398 Q592.719,179.852 590.914,179.852 Q590.047,179.852 589.279,179.506 Q588.512,179.16 587.973,178.539 Q587.633,178.152 587.229,177.297 Q586.824,176.441 586.648,175.727 Q586.379,174.719 586.379,173.371 L586.379,170.934 Q586.379,167.746 587.891,165.895 Q589.074,164.441 590.879,164.441 Q591.758,164.441 592.52,164.787 Q593.281,165.133 593.82,165.754 Q594.172,166.152 594.57,167.008 Q594.969,167.863 595.156,168.566 Q595.414,169.574 595.414,170.934 z M594.43,171.062 Q594.43,169.668 594.037,168.467 Q593.645,167.266 593.152,166.551 Q592.859,166.141 592.391,165.848 Q591.723,165.438 590.891,165.438 Q589.238,165.438 588.301,167.125 Q587.363,168.812 587.363,171.062 L587.363,173.23 Q587.363,174.625 587.756,175.832 Q588.148,177.039 588.652,177.754 Q588.934,178.152 589.402,178.445 Q590.07,178.867 590.914,178.867 Q592.555,178.867 593.492,177.174 Q594.43,175.48 594.43,173.23 z" fill="#000000"/>
-    <path d="M667.426,170.934 L667.426,173.371 Q667.426,176.547 665.914,178.398 Q664.73,179.852 662.926,179.852 Q662.059,179.852 661.291,179.506 Q660.523,179.16 659.984,178.539 Q659.645,178.152 659.24,177.297 Q658.836,176.441 658.66,175.727 Q658.391,174.719 658.391,173.371 L658.391,170.934 Q658.391,167.746 659.902,165.895 Q661.086,164.441 662.891,164.441 Q663.77,164.441 664.531,164.787 Q665.293,165.133 665.832,165.754 Q666.184,166.152 666.582,167.008 Q666.98,167.863 667.168,168.566 Q667.426,169.574 667.426,170.934 z M666.441,171.062 Q666.441,169.668 666.049,168.467 Q665.656,167.266 665.164,166.551 Q664.871,166.141 664.402,165.848 Q663.734,165.438 662.902,165.438 Q661.25,165.438 660.312,167.125 Q659.375,168.812 659.375,171.062 L659.375,173.23 Q659.375,174.625 659.768,175.832 Q660.16,177.039 660.664,177.754 Q660.945,178.152 661.414,178.445 Q662.082,178.867 662.926,178.867 Q664.566,178.867 665.504,177.174 Q666.441,175.48 666.441,173.23 z" fill="#000000"/>
-    <path d="M692.199,164.594 L692.199,178.516 L695.574,178.516 Q695.926,178.516 696.078,178.65 Q696.23,178.785 696.23,179.008 Q696.23,179.219 696.078,179.359 Q695.926,179.5 695.574,179.5 L687.84,179.5 Q687.488,179.5 687.336,179.359 Q687.184,179.219 687.184,179.008 Q687.184,178.785 687.336,178.65 Q687.488,178.516 687.84,178.516 L691.215,178.516 L691.215,165.953 L688.004,166.961 Q687.77,167.031 687.664,167.031 Q687.488,167.031 687.342,166.885 Q687.195,166.738 687.195,166.539 Q687.195,166.363 687.312,166.211 Q687.406,166.117 687.699,166.012 z" fill="#000000"/>
-    <path d="M395.785,110.594 L395.785,124.516 L399.16,124.516 Q399.512,124.516 399.664,124.65 Q399.816,124.785 399.816,125.008 Q399.816,125.219 399.664,125.359 Q399.512,125.5 399.16,125.5 L391.426,125.5 Q391.074,125.5 390.922,125.359 Q390.77,125.219 390.77,125.008 Q390.77,124.785 390.922,124.65 Q391.074,124.516 391.426,124.516 L394.801,124.516 L394.801,111.953 L391.59,112.961 Q391.355,113.031 391.25,113.031 Q391.074,113.031 390.928,112.885 Q390.781,112.738 390.781,112.539 Q390.781,112.363 390.898,112.211 Q390.992,112.117 391.285,112.012 z" fill="#000000"/>
-    <path d="M428.621,116.934 L428.621,119.371 Q428.621,122.547 427.109,124.398 Q425.926,125.852 424.121,125.852 Q423.254,125.852 422.486,125.506 Q421.719,125.16 421.18,124.539 Q420.84,124.152 420.436,123.297 Q420.031,122.441 419.855,121.727 Q419.586,120.719 419.586,119.371 L419.586,116.934 Q419.586,113.746 421.098,111.895 Q422.281,110.441 424.086,110.441 Q424.965,110.441 425.727,110.787 Q426.488,111.133 427.027,111.754 Q427.379,112.152 427.777,113.008 Q428.176,113.863 428.363,114.566 Q428.621,115.574 428.621,116.934 z M427.637,117.062 Q427.637,115.668 427.244,114.467 Q426.852,113.266 426.359,112.551 Q426.066,112.141 425.598,111.848 Q424.93,111.438 424.098,111.438 Q422.445,111.438 421.508,113.125 Q420.57,114.812 420.57,117.062 L420.57,119.23 Q420.57,120.625 420.963,121.832 Q421.355,123.039 421.859,123.754 Q422.141,124.152 422.609,124.445 Q423.277,124.867 424.121,124.867 Q425.762,124.867 426.699,123.174 Q427.637,121.48 427.637,119.23 z" fill="#000000"/>
-    <path d="M453.5,118.48 L458.176,124.516 L458.551,124.516 Q458.902,124.516 459.055,124.65 Q459.207,124.785 459.207,125.008 Q459.207,125.219 459.055,125.359 Q458.902,125.5 458.551,125.5 L455.387,125.5 Q455.035,125.5 454.883,125.359 Q454.73,125.219 454.73,125.008 Q454.73,124.785 454.883,124.65 Q455.035,124.516 455.387,124.516 L456.957,124.516 L452.891,119.289 L448.871,124.516 L450.441,124.516 Q450.793,124.516 450.945,124.65 Q451.098,124.785 451.098,125.008 Q451.098,125.219 450.945,125.359 Q450.793,125.5 450.441,125.5 L447.301,125.5 Q446.949,125.5 446.797,125.359 Q446.645,125.219 446.645,125.008 Q446.645,124.844 446.738,124.715 Q446.832,124.586 446.949,124.551 Q447.066,124.516 447.664,124.516 L452.281,118.48 L447.875,112.773 L447.512,112.773 Q447.16,112.773 447.008,112.639 Q446.855,112.504 446.855,112.281 Q446.855,112.059 447.008,111.924 Q447.16,111.789 447.512,111.789 L450.195,111.789 Q450.559,111.789 450.711,111.924 Q450.863,112.059 450.863,112.281 Q450.863,112.504 450.711,112.639 Q450.559,112.773 450.195,112.773 L449.094,112.773 L452.891,117.684 L456.664,112.773 L455.562,112.773 Q455.199,112.773 455.047,112.639 Q454.895,112.504 454.895,112.281 Q454.895,112.059 455.047,111.924 Q455.199,111.789 455.562,111.789 L458.258,111.789 Q458.609,111.789 458.762,111.924 Q458.914,112.059 458.914,112.281 Q458.914,112.504 458.762,112.639 Q458.609,112.773 458.258,112.773 L457.883,112.773 z" fill="#000000"/>
-    <path d="M399.816,143.934 L399.816,146.371 Q399.816,149.547 398.305,151.398 Q397.121,152.852 395.316,152.852 Q394.449,152.852 393.682,152.506 Q392.914,152.16 392.375,151.539 Q392.035,151.152 391.631,150.297 Q391.227,149.441 391.051,148.727 Q390.781,147.719 390.781,146.371 L390.781,143.934 Q390.781,140.746 392.293,138.895 Q393.477,137.441 395.281,137.441 Q396.16,137.441 396.922,137.787 Q397.684,138.133 398.223,138.754 Q398.574,139.152 398.973,140.008 Q399.371,140.863 399.559,141.566 Q399.816,142.574 399.816,143.934 z M398.832,144.062 Q398.832,142.668 398.439,141.467 Q398.047,140.266 397.555,139.551 Q397.262,139.141 396.793,138.848 Q396.125,138.438 395.293,138.438 Q393.641,138.438 392.703,140.125 Q391.766,141.812 391.766,144.062 L391.766,146.23 Q391.766,147.625 392.158,148.832 Q392.551,150.039 393.055,150.754 Q393.336,151.152 393.805,151.445 Q394.473,151.867 395.316,151.867 Q396.957,151.867 397.895,150.174 Q398.832,148.48 398.832,146.23 z" fill="#000000"/>
-    <path d="M424.59,137.594 L424.59,151.516 L427.965,151.516 Q428.316,151.516 428.469,151.65 Q428.621,151.785 428.621,152.008 Q428.621,152.219 428.469,152.359 Q428.316,152.5 427.965,152.5 L420.23,152.5 Q419.879,152.5 419.727,152.359 Q419.574,152.219 419.574,152.008 Q419.574,151.785 419.727,151.65 Q419.879,151.516 420.23,151.516 L423.605,151.516 L423.605,138.953 L420.395,139.961 Q420.16,140.031 420.055,140.031 Q419.879,140.031 419.732,139.885 Q419.586,139.738 419.586,139.539 Q419.586,139.363 419.703,139.211 Q419.797,139.117 420.09,139.012 z" fill="#000000"/>
-    <path d="M453.43,146.312 L453.43,151.516 L455.984,151.516 Q456.336,151.516 456.488,151.65 Q456.641,151.785 456.641,152.008 Q456.641,152.219 456.488,152.359 Q456.336,152.5 455.984,152.5 L449.879,152.5 Q449.527,152.5 449.375,152.359 Q449.223,152.219 449.223,152.008 Q449.223,151.785 449.369,151.65 Q449.516,151.516 449.879,151.516 L452.434,151.516 L452.434,146.312 L448.109,139.773 L447.523,139.773 Q447.172,139.773 447.02,139.639 Q446.867,139.504 446.867,139.281 Q446.867,139.059 447.02,138.924 Q447.172,138.789 447.523,138.789 L450.23,138.789 Q450.582,138.789 450.734,138.924 Q450.887,139.059 450.887,139.281 Q450.887,139.504 450.734,139.639 Q450.582,139.773 450.23,139.773 L449.258,139.773 L452.938,145.316 L456.535,139.773 L455.574,139.773 Q455.211,139.773 455.059,139.639 Q454.906,139.504 454.906,139.281 Q454.906,139.059 455.059,138.924 Q455.211,138.789 455.574,138.789 L458.27,138.789 Q458.621,138.789 458.773,138.924 Q458.926,139.059 458.926,139.281 Q458.926,139.504 458.773,139.639 Q458.621,139.773 458.27,139.773 L457.684,139.773 z" fill="#000000"/>
-    <path d="M399.816,170.934 L399.816,173.371 Q399.816,176.547 398.305,178.398 Q397.121,179.852 395.316,179.852 Q394.449,179.852 393.682,179.506 Q392.914,179.16 392.375,178.539 Q392.035,178.152 391.631,177.297 Q391.227,176.441 391.051,175.727 Q390.781,174.719 390.781,173.371 L390.781,170.934 Q390.781,167.746 392.293,165.895 Q393.477,164.441 395.281,164.441 Q396.16,164.441 396.922,164.787 Q397.684,165.133 398.223,165.754 Q398.574,166.152 398.973,167.008 Q399.371,167.863 399.559,168.566 Q399.816,169.574 399.816,170.934 z M398.832,171.062 Q398.832,169.668 398.439,168.467 Q398.047,167.266 397.555,166.551 Q397.262,166.141 396.793,165.848 Q396.125,165.438 395.293,165.438 Q393.641,165.438 392.703,167.125 Q391.766,168.812 391.766,171.062 L391.766,173.23 Q391.766,174.625 392.158,175.832 Q392.551,177.039 393.055,177.754 Q393.336,178.152 393.805,178.445 Q394.473,178.867 395.316,178.867 Q396.957,178.867 397.895,177.174 Q398.832,175.48 398.832,173.23 z" fill="#000000"/>
-    <path d="M428.621,170.934 L428.621,173.371 Q428.621,176.547 427.109,178.398 Q425.926,179.852 424.121,179.852 Q423.254,179.852 422.486,179.506 Q421.719,179.16 421.18,178.539 Q420.84,178.152 420.436,177.297 Q420.031,176.441 419.855,175.727 Q419.586,174.719 419.586,173.371 L419.586,170.934 Q419.586,167.746 421.098,165.895 Q422.281,164.441 424.086,164.441 Q424.965,164.441 425.727,164.787 Q426.488,165.133 427.027,165.754 Q427.379,166.152 427.777,167.008 Q428.176,167.863 428.363,168.566 Q428.621,169.574 428.621,170.934 z M427.637,171.062 Q427.637,169.668 427.244,168.467 Q426.852,167.266 426.359,166.551 Q426.066,166.141 425.598,165.848 Q424.93,165.438 424.098,165.438 Q422.445,165.438 421.508,167.125 Q420.57,168.812 420.57,171.062 L420.57,173.23 Q420.57,174.625 420.963,175.832 Q421.355,177.039 421.859,177.754 Q422.141,178.152 422.609,178.445 Q423.277,178.867 424.121,178.867 Q425.762,178.867 426.699,177.174 Q427.637,175.48 427.637,173.23 z" fill="#000000"/>
-    <path d="M453.395,164.594 L453.395,178.516 L456.77,178.516 Q457.121,178.516 457.273,178.65 Q457.426,178.785 457.426,179.008 Q457.426,179.219 457.273,179.359 Q457.121,179.5 456.77,179.5 L449.035,179.5 Q448.684,179.5 448.531,179.359 Q448.379,179.219 448.379,179.008 Q448.379,178.785 448.531,178.65 Q448.684,178.516 449.035,178.516 L452.41,178.516 L452.41,165.953 L449.199,166.961 Q448.965,167.031 448.859,167.031 Q448.684,167.031 448.537,166.885 Q448.391,166.738 448.391,166.539 Q448.391,166.363 448.508,166.211 Q448.602,166.117 448.895,166.012 z" fill="#000000"/>
-    <path d="M366.29,146.348 L363.208,149.43 Q363.032,149.605 362.95,149.646 Q362.868,149.688 362.751,149.688 Q362.54,149.688 362.393,149.541 Q362.247,149.395 362.247,149.184 Q362.247,148.984 362.516,148.727 L365.587,145.645 L362.505,142.562 Q362.247,142.305 362.247,142.105 Q362.247,141.895 362.393,141.748 Q362.54,141.602 362.751,141.602 Q362.95,141.602 363.208,141.871 L366.29,144.953 L369.348,141.883 Q369.618,141.625 369.817,141.625 Q370.028,141.625 370.169,141.771 Q370.309,141.918 370.309,142.129 Q370.309,142.328 370.052,142.586 L366.993,145.645 L370.075,148.727 Q370.333,148.996 370.333,149.195 Q370.333,149.406 370.186,149.553 Q370.04,149.699 369.829,149.699 Q369.723,149.699 369.653,149.652 Q369.536,149.605 369.372,149.43 z" fill="#333333"/>
-  </g>
-  <g id="transformed_drawings">
-    <g>
-      <path d="M82.5,235.5 L151.5,235.5 L151.5,304.5 L82.5,304.5 L82.5,235.5 z" fill-opacity="0" stroke="#FF5838" stroke-width="1"/>
-      <g>
-        <g>
-          <path d="M103.066,288.372 C107.327,288.372 110.78,284.841 110.78,280.491 C110.78,276.142 107.327,272.616 103.066,272.616 C98.816,272.616 95.36,276.142 95.36,280.491 C95.36,284.841 98.816,288.372 103.066,288.372 M93.604,280.491 C93.604,275.152 97.849,270.833 103.066,270.833 C108.296,270.833 112.541,275.152 112.541,280.491 C112.541,285.836 108.296,290.153 103.066,290.153 C97.849,290.153 93.604,285.835 93.604,280.491" fill="#FF5838"/>
-          <path d="M103.066,288.372 C107.327,288.372 110.78,284.841 110.78,280.491 C110.78,276.142 107.327,272.616 103.066,272.616 C98.816,272.616 95.36,276.142 95.36,280.491 C95.36,284.841 98.816,288.372 103.066,288.372 M93.604,280.491 C93.604,275.152 97.849,270.833 103.066,270.833 C108.296,270.833 112.541,275.152 112.541,280.491 C112.541,285.836 108.296,290.153 103.066,290.153 C97.849,290.153 93.604,285.835 93.604,280.491" fill-opacity="0" stroke="#FF5838" stroke-width="1"/>
-        </g>
-        <g>
-          <path d="M130.934,288.463 C135.184,288.463 138.636,284.937 138.636,280.588 C138.636,276.238 135.185,272.707 130.934,272.707 C126.673,272.707 123.214,276.238 123.214,280.588 C123.214,284.937 126.673,288.463 130.934,288.463 M121.459,280.588 C121.459,275.243 125.704,270.929 130.934,270.929 C136.146,270.929 140.395,275.244 140.395,280.588 C140.395,285.927 136.146,290.249 130.934,290.249 C125.704,290.249 121.459,285.927 121.459,280.588" fill="#FF5838"/>
-          <path d="M130.934,288.463 C135.184,288.463 138.636,284.937 138.636,280.588 C138.636,276.238 135.185,272.707 130.934,272.707 C126.673,272.707 123.214,276.238 123.214,280.588 C123.214,284.937 126.673,288.463 130.934,288.463 M121.459,280.588 C121.459,275.243 125.704,270.929 130.934,270.929 C136.146,270.929 140.395,275.244 140.395,280.588 C140.395,285.927 136.146,290.249 130.934,290.249 C125.704,290.249 121.459,285.927 121.459,280.588" fill-opacity="0" stroke="#FF5838" stroke-width="1"/>
-        </g>
-        <g>
-          <path d="M121.485,257.01 C123.447,257.01 125.046,255.39 125.046,253.384 C125.046,251.381 123.447,249.751 121.485,249.751 C119.52,249.751 117.923,251.382 117.923,253.384 C117.923,255.391 119.52,257.01 121.485,257.01" fill="#FF5838"/>
-          <path d="M121.485,257.01 C123.447,257.01 125.046,255.39 125.046,253.384 C125.046,251.381 123.447,249.751 121.485,249.751 C119.52,249.751 117.923,251.382 117.923,253.384 C117.923,255.391 119.52,257.01 121.485,257.01" fill-opacity="0" stroke="#FF5838" stroke-width="1"/>
-        </g>
-        <g>
-          <path d="M121.633,265.826 C121.115,265.837 120.561,265.573 120.153,264.914 L117.839,261.224 L113.068,266.046 L117.489,268.424 C119.308,269.31 119.039,270.944 119.039,270.944 L119.039,281.163 C119.039,282.322 118.124,283.265 116.99,283.265 C115.852,283.265 114.939,282.32 114.939,281.163 L114.939,272.982 L107.269,268.632 C106.355,268.109 105.735,267.11 105.735,265.974 C105.735,265.192 106.021,264.472 106.499,263.937 L114.025,256.242 C114.959,255.167 116.263,255.336 116.263,255.336 C117.839,255.336 118.669,256.743 118.669,256.743 L122.577,262.991 L128.511,262.98 C130.646,262.98 130.646,265.825 128.511,265.825 L121.633,265.825 z" fill="#FF5838"/>
-          <path d="M121.633,265.826 C121.115,265.837 120.561,265.573 120.153,264.914 L117.839,261.224 L113.068,266.046 L117.489,268.424 C119.308,269.31 119.039,270.944 119.039,270.944 L119.039,281.163 C119.039,282.322 118.124,283.265 116.99,283.265 C115.852,283.265 114.939,282.32 114.939,281.163 L114.939,272.982 L107.269,268.632 C106.355,268.109 105.735,267.11 105.735,265.974 C105.735,265.192 106.021,264.472 106.499,263.937 L114.025,256.242 C114.959,255.167 116.263,255.336 116.263,255.336 C117.839,255.336 118.669,256.743 118.669,256.743 L122.577,262.991 L128.511,262.98 C130.646,262.98 130.646,265.825 128.511,265.825 L121.633,265.825 z" fill-opacity="0" stroke="#FF5838" stroke-width="1"/>
-        </g>
-      </g>
-    </g>
-    <g>
-      <path d="M392.034,301 L421.367,301 L421.367,365.167 L392.034,365.167 L392.034,301 z" fill-opacity="0" stroke="#FF5838" stroke-width="1"/>
-      <g>
-        <g>
-          <path d="M400.777,350.168 C402.588,350.168 404.057,346.885 404.057,342.84 C404.057,338.795 402.588,335.517 400.777,335.517 C398.97,335.517 397.501,338.795 397.501,342.84 C397.501,346.885 398.97,350.168 400.777,350.168 M396.755,342.84 C396.755,337.875 398.559,333.858 400.777,333.858 C403.001,333.858 404.805,337.875 404.805,342.84 C404.805,347.81 403.001,351.824 400.777,351.824 C398.559,351.824 396.755,347.809 396.755,342.84" fill="#FF5838"/>
-          <path d="M400.777,350.168 C402.588,350.168 404.057,346.885 404.057,342.84 C404.057,338.795 402.588,335.517 400.777,335.517 C398.97,335.517 397.501,338.795 397.501,342.84 C397.501,346.885 398.97,350.168 400.777,350.168 M396.755,342.84 C396.755,337.875 398.559,333.858 400.777,333.858 C403.001,333.858 404.805,337.875 404.805,342.84 C404.805,347.81 403.001,351.824 400.777,351.824 C398.559,351.824 396.755,347.809 396.755,342.84" fill-opacity="0" stroke="#FF5838" stroke-width="1"/>
-        </g>
-        <g>
-          <path d="M412.624,350.253 C414.431,350.253 415.899,346.974 415.899,342.929 C415.899,338.885 414.432,335.601 412.624,335.601 C410.813,335.601 409.342,338.885 409.342,342.929 C409.342,346.974 410.813,350.253 412.624,350.253 M408.596,342.929 C408.596,337.959 410.401,333.947 412.624,333.947 C414.84,333.947 416.647,337.96 416.647,342.929 C416.647,347.895 414.84,351.914 412.624,351.914 C410.401,351.914 408.596,347.895 408.596,342.929" fill="#FF5838"/>
-          <path d="M412.624,350.253 C414.431,350.253 415.899,346.974 415.899,342.929 C415.899,338.885 414.432,335.601 412.624,335.601 C410.813,335.601 409.342,338.885 409.342,342.929 C409.342,346.974 410.813,350.253 412.624,350.253 M408.596,342.929 C408.596,337.959 410.401,333.947 412.624,333.947 C414.84,333.947 416.647,337.96 416.647,342.929 C416.647,347.895 414.84,351.914 412.624,351.914 C410.401,351.914 408.596,347.895 408.596,342.929" fill-opacity="0" stroke="#FF5838" stroke-width="1"/>
-        </g>
-        <g>
-          <path d="M408.607,321.003 C409.441,321.003 410.121,319.497 410.121,317.631 C410.121,315.768 409.441,314.253 408.607,314.253 C407.772,314.253 407.093,315.77 407.093,317.631 C407.093,319.498 407.772,321.003 408.607,321.003" fill="#FF5838"/>
-          <path d="M408.607,321.003 C409.441,321.003 410.121,319.497 410.121,317.631 C410.121,315.768 409.441,314.253 408.607,314.253 C407.772,314.253 407.093,315.77 407.093,317.631 C407.093,319.498 407.772,321.003 408.607,321.003" fill-opacity="0" stroke="#FF5838" stroke-width="1"/>
-        </g>
-        <g>
-          <path d="M408.67,329.202 C408.45,329.212 408.214,328.967 408.041,328.354 L407.057,324.922 L405.029,329.406 L406.909,331.617 C407.682,332.442 407.567,333.961 407.567,333.961 L407.567,343.464 C407.567,344.542 407.178,345.419 406.696,345.419 C406.213,345.419 405.825,344.54 405.825,343.464 L405.825,335.856 L402.564,331.811 C402.175,331.325 401.911,330.395 401.911,329.34 C401.911,328.612 402.033,327.943 402.236,327.445 L405.436,320.289 C405.833,319.289 406.387,319.446 406.387,319.446 C407.057,319.446 407.41,320.755 407.41,320.755 L409.072,326.565 L411.594,326.555 C412.502,326.555 412.502,329.2 411.594,329.2 L408.67,329.2 z" fill="#FF5838"/>
-          <path d="M408.67,329.202 C408.45,329.212 408.214,328.967 408.041,328.354 L407.057,324.922 L405.029,329.406 L406.909,331.617 C407.682,332.442 407.567,333.961 407.567,333.961 L407.567,343.464 C407.567,344.542 407.178,345.419 406.696,345.419 C406.213,345.419 405.825,344.54 405.825,343.464 L405.825,335.856 L402.564,331.811 C402.175,331.325 401.911,330.395 401.911,329.34 C401.911,328.612 402.033,327.943 402.236,327.445 L405.436,320.289 C405.833,319.289 406.387,319.446 406.387,319.446 C407.057,319.446 407.41,320.755 407.41,320.755 L409.072,326.565 L411.594,326.555 C412.502,326.555 412.502,329.2 411.594,329.2 L408.67,329.2 z" fill-opacity="0" stroke="#FF5838" stroke-width="1"/>
-        </g>
-      </g>
-    </g>
-    <g>
-      <path d="M578.5,235.5 L643.339,259.099 L619.739,323.938 L554.901,300.339 L578.5,235.5 z" fill-opacity="0" stroke="#FF5838" stroke-width="1"/>
-      <g>
-        <g>
-          <path d="M579.742,292.217 C583.746,293.675 588.199,291.538 589.687,287.451 C591.174,283.364 589.135,278.869 585.131,277.412 C581.137,275.958 576.684,278.089 575.196,282.176 C573.708,286.263 575.749,290.764 579.742,292.217 M573.547,281.576 C575.373,276.559 580.839,273.952 585.741,275.736 C590.656,277.525 593.167,283.035 591.341,288.053 C589.513,293.075 584.048,295.68 579.133,293.891 C574.231,292.106 571.719,286.597 573.547,281.576" fill="#FF5838"/>
-          <path d="M579.742,292.217 C583.746,293.675 588.199,291.538 589.687,287.451 C591.174,283.364 589.135,278.869 585.131,277.412 C581.137,275.958 576.684,278.089 575.196,282.176 C573.708,286.263 575.749,290.764 579.742,292.217 M573.547,281.576 C575.373,276.559 580.839,273.952 585.741,275.736 C590.656,277.525 593.167,283.035 591.341,288.053 C589.513,293.075 584.048,295.68 579.133,293.891 C574.231,292.106 571.719,286.597 573.547,281.576" fill-opacity="0" stroke="#FF5838" stroke-width="1"/>
-        </g>
-        <g>
-          <path d="M605.899,301.834 C609.892,303.288 614.342,301.155 615.83,297.068 C617.318,292.981 615.282,288.483 611.287,287.029 C607.284,285.571 602.826,287.706 601.338,291.794 C599.85,295.881 601.895,300.377 605.899,301.834 M599.689,291.193 C601.517,286.171 606.981,283.569 611.896,285.358 C616.793,287.14 619.311,292.649 617.483,297.67 C615.657,302.687 610.185,305.295 605.288,303.512 C600.373,301.723 597.863,296.21 599.689,291.193" fill="#FF5838"/>
-          <path d="M605.899,301.834 C609.892,303.288 614.342,301.155 615.83,297.068 C617.318,292.981 615.282,288.483 611.287,287.029 C607.284,285.571 602.826,287.706 601.338,291.794 C599.85,295.881 601.895,300.377 605.899,301.834 M599.689,291.193 C601.517,286.171 606.981,283.569 611.896,285.358 C616.793,287.14 619.311,292.649 617.483,297.67 C615.657,302.687 610.185,305.295 605.288,303.512 C600.373,301.723 597.863,296.21 599.689,291.193" fill-opacity="0" stroke="#FF5838" stroke-width="1"/>
-        </g>
-        <g>
-          <path d="M607.777,269.046 C609.621,269.717 611.677,268.742 612.363,266.857 C613.049,264.975 612.103,262.896 610.259,262.225 C608.413,261.553 606.355,262.54 605.67,264.421 C604.984,266.307 605.93,268.374 607.777,269.046" fill="#FF5838"/>
-          <path d="M607.777,269.046 C609.621,269.717 611.677,268.742 612.363,266.857 C613.049,264.975 612.103,262.896 610.259,262.225 C608.413,261.553 606.355,262.54 605.67,264.421 C604.984,266.307 605.93,268.374 607.777,269.046" fill-opacity="0" stroke="#FF5838" stroke-width="1"/>
-        </g>
-        <g>
-          <path d="M604.901,277.381 C604.41,277.215 603.98,276.777 603.822,276.019 L602.909,271.759 L596.778,274.658 L600.119,278.405 C601.524,279.86 600.712,281.303 600.712,281.303 L597.217,290.906 C596.821,291.995 595.639,292.568 594.574,292.181 C593.504,291.791 592.969,290.591 593.365,289.504 L596.163,281.816 L590.443,275.106 C589.763,274.301 589.522,273.15 589.911,272.083 C590.178,271.348 590.693,270.77 591.325,270.43 L601.029,265.773 C602.275,265.082 603.442,265.687 603.442,265.687 C604.923,266.226 605.222,267.832 605.222,267.832 L606.758,275.04 L612.337,277.059 C614.344,277.79 613.371,280.463 611.364,279.732 L604.901,277.38 z" fill="#FF5838"/>
-          <path d="M604.901,277.381 C604.41,277.215 603.98,276.777 603.822,276.019 L602.909,271.759 L596.778,274.658 L600.119,278.405 C601.524,279.86 600.712,281.303 600.712,281.303 L597.217,290.906 C596.821,291.995 595.639,292.568 594.574,292.181 C593.504,291.791 592.969,290.591 593.365,289.504 L596.163,281.816 L590.443,275.106 C589.763,274.301 589.522,273.15 589.911,272.083 C590.178,271.348 590.693,270.77 591.325,270.43 L601.029,265.773 C602.275,265.082 603.442,265.687 603.442,265.687 C604.923,266.226 605.222,267.832 605.222,267.832 L606.758,275.04 L612.337,277.059 C614.344,277.79 613.371,280.463 611.364,279.732 L604.901,277.38 z" fill-opacity="0" stroke="#FF5838" stroke-width="1"/>
-        </g>
-      </g>
-    </g>
-    <path d="M628.936,235.5 C628.936,243.6 624.913,250.167 619.951,250.167" fill-opacity="0" stroke="#000000" stroke-width="1"/>
-    <text transform="matrix(1, 0, 0, 1, 635.638, 247.333)">
-      <tspan x="-7.201" y="6" font-family="CourierNewPSMT" font-size="24" fill="#1C1C1C">θ</tspan>
-    </text>
-    <text transform="matrix(1, 0, 0, 1, 116.5, 72)">
-      <tspan x="-39.564" y="8.5" font-family="HelveticaNeue" font-size="24" fill="#000000">Identity</tspan>
-    </text>
-    <text transform="matrix(1, 0, 0, 1, 366.284, 74)">
-      <tspan x="-92.232" y="6.5" font-family="HelveticaNeue" font-size="24" fill="#000000">Scale &amp; Translate</tspan>
-    </text>
-    <text transform="matrix(1, 0, 0, 1, 612.5, 74)">
-      <tspan x="-35.556" y="6.5" font-family="HelveticaNeue" font-size="24" fill="#000000">Rotate</tspan>
-    </text>
-    <path d="M392.034,304 L392.034,304 L392.034,304 C393.691,304 395.034,302.657 395.034,301 C395.034,299.343 393.691,298 392.034,298 C392.034,298 392.034,298 392.034,298 L392.034,298 C390.377,298 389.034,299.343 389.034,301 C389.034,302.657 390.377,304 392.034,304 L392.034,304" fill="#000000"/>
-    <text transform="matrix(1, 0, 0, 1, 360.451, 314.5)">
-      <tspan x="-36.006" y="6" font-family="CourierNewPSMT" font-size="24" fill="#1C1C1C">(X,Y)</tspan>
-    </text>
-    <text transform="matrix(1, 0, 0, 1, 445.242, 332.583)">
-      <tspan x="-7.201" y="6" font-family="CourierNewPSMT" font-size="24" fill="#1C1C1C">H</tspan>
-    </text>
-    <g>
-      <path d="M431.167,307 L431.167,359.167" fill-opacity="0" stroke="#000000" stroke-width="1"/>
-      <path d="M431.167,307 L431.167,301 M436.167,301 L426.167,301" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="1"/>
-      <path d="M431.167,359.167 L431.167,365.167 M426.167,365.167 L436.167,365.167" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="1"/>
-    </g>
-    <g>
-      <path d="M398.034,376.167 L415.367,376.167" fill-opacity="0" stroke="#000000" stroke-width="1"/>
-      <path d="M398.034,376.167 L392.034,376.167 M392.034,371.167 L392.034,381.167" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="1"/>
-      <path d="M415.367,376.167 L421.367,376.167 M421.367,381.167 L421.367,371.167" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="1"/>
-    </g>
-    <text transform="matrix(1, 0, 0, 1, 406.201, 394)">
-      <tspan x="-7.201" y="6" font-family="CourierNewPSMT" font-size="24" fill="#1C1C1C">W</tspan>
-    </text>
-  </g>
-</svg>
diff --git a/content/2014/gothamgo-android/sprite_subtex.svg b/content/2014/gothamgo-android/sprite_subtex.svg
deleted file mode 100644
index 9053772..0000000
--- a/content/2014/gothamgo-android/sprite_subtex.svg
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="900" height="600" viewBox="0, 0, 900, 600">
-  <defs>
-    <clipPath id="Clip_1">
-      <path d="M207,382.491 L337.776,382.491 L337.776,568.158 L207,568.158 z"/>
-    </clipPath>
-    <clipPath id="Clip_2">
-      <path d="M476.746,-278.824 L722.945,-278.824 L722.945,-226.792 L476.746,-226.792 z"/>
-    </clipPath>
-  </defs>
-  <g id="Layer_2">
-    <g>
-      <path d="M397.515,77.324 L770.124,77.324 L770.124,568.658 L397.515,568.658 L397.515,77.324 z" fill-opacity="0" stroke="#656565" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
-      <path d="M411.691,91.334 L757.568,91.334 L757.568,525.628 L411.691,525.628 L411.691,91.334 z" fill-opacity="0" stroke="#656565" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
-      <path d="M561.139,533.634 L608.12,533.634 C613.488,533.634 617.84,539.01 617.84,545.642 L617.84,545.642 C617.84,552.274 613.488,557.65 608.12,557.65 L561.139,557.65 C555.771,557.65 551.419,552.274 551.419,545.642 L551.419,545.642 C551.419,539.01 555.771,533.634 561.139,533.634 z" fill-opacity="0" stroke="#656565" stroke-width="4"/>
-    </g>
-  </g>
-  <g id="Layer_1">
-    <g>
-      <image xlink:href="data:image/png;base64,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" opacity="1" x="206.375" y="382.491" width="131.401" height="267" preserveAspectRatio="xMidYMid" clip-path="url(#Clip_1)"/>
-      <path d="M207.5,382.991 L288.208,382.991 L288.208,400.158 L207.5,400.158 L207.5,382.991 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
-      <path d="M207.5,382.991 L338.276,382.991 L338.276,568.658 L207.5,568.658 L207.5,382.991 z" fill-opacity="0" stroke="#000000" stroke-width="1"/>
-    </g>
-    <path d="M70.606,70.053 L64.079,70.053 L64.079,68.917 L69.552,59.46 L71.602,59.46 L71.602,69.069 L72.423,69.069 Q72.786,69.069 72.938,69.204 Q73.091,69.339 73.091,69.561 Q73.091,69.772 72.938,69.913 Q72.786,70.053 72.423,70.053 L71.602,70.053 L71.602,73.182 L72.423,73.182 Q72.786,73.182 72.938,73.317 Q73.091,73.452 73.091,73.674 Q73.091,73.885 72.938,74.026 Q72.786,74.167 72.423,74.167 L68.767,74.167 Q68.403,74.167 68.251,74.026 Q68.099,73.885 68.099,73.674 Q68.099,73.452 68.251,73.317 Q68.403,73.182 68.767,73.182 L70.606,73.182 z M70.606,69.069 L70.606,60.456 L70.091,60.456 L65.11,69.069 z" fill="#000000"/>
-    <path d="M87.692,65.6 L87.692,68.038 Q87.692,71.214 86.181,73.065 Q84.997,74.518 83.192,74.518 Q82.325,74.518 81.558,74.173 Q80.79,73.827 80.251,73.206 Q79.911,72.819 79.507,71.964 Q79.102,71.108 78.927,70.393 Q78.657,69.385 78.657,68.038 L78.657,65.6 Q78.657,62.413 80.169,60.561 Q81.352,59.108 83.157,59.108 Q84.036,59.108 84.798,59.454 Q85.559,59.799 86.099,60.421 Q86.45,60.819 86.849,61.674 Q87.247,62.53 87.434,63.233 Q87.692,64.241 87.692,65.6 z M86.708,65.729 Q86.708,64.335 86.315,63.133 Q85.923,61.932 85.431,61.217 Q85.138,60.807 84.669,60.514 Q84.001,60.104 83.169,60.104 Q81.517,60.104 80.579,61.792 Q79.642,63.479 79.642,65.729 L79.642,67.897 Q79.642,69.292 80.034,70.499 Q80.427,71.706 80.931,72.421 Q81.212,72.819 81.681,73.112 Q82.349,73.534 83.192,73.534 Q84.833,73.534 85.77,71.84 Q86.708,70.147 86.708,67.897 z" fill="#000000"/>
-    <path d="M130.899,65.6 L130.899,68.038 Q130.899,71.214 129.388,73.065 Q128.204,74.518 126.399,74.518 Q125.532,74.518 124.765,74.173 Q123.997,73.827 123.458,73.206 Q123.118,72.819 122.714,71.964 Q122.309,71.108 122.134,70.393 Q121.864,69.385 121.864,68.038 L121.864,65.6 Q121.864,62.413 123.376,60.561 Q124.559,59.108 126.364,59.108 Q127.243,59.108 128.005,59.454 Q128.767,59.799 129.306,60.421 Q129.657,60.819 130.056,61.674 Q130.454,62.53 130.642,63.233 Q130.899,64.241 130.899,65.6 z M129.915,65.729 Q129.915,64.335 129.522,63.133 Q129.13,61.932 128.638,61.217 Q128.345,60.807 127.876,60.514 Q127.208,60.104 126.376,60.104 Q124.724,60.104 123.786,61.792 Q122.849,63.479 122.849,65.729 L122.849,67.897 Q122.849,69.292 123.241,70.499 Q123.634,71.706 124.138,72.421 Q124.419,72.819 124.888,73.112 Q125.556,73.534 126.399,73.534 Q128.04,73.534 128.977,71.84 Q129.915,70.147 129.915,67.897 z" fill="#000000"/>
-    <path d="M171.423,70.053 L164.895,70.053 L164.895,68.917 L170.368,59.46 L172.419,59.46 L172.419,69.069 L173.239,69.069 Q173.602,69.069 173.755,69.204 Q173.907,69.339 173.907,69.561 Q173.907,69.772 173.755,69.913 Q173.602,70.053 173.239,70.053 L172.419,70.053 L172.419,73.182 L173.239,73.182 Q173.602,73.182 173.755,73.317 Q173.907,73.452 173.907,73.674 Q173.907,73.885 173.755,74.026 Q173.602,74.167 173.239,74.167 L169.583,74.167 Q169.22,74.167 169.067,74.026 Q168.915,73.885 168.915,73.674 Q168.915,73.452 169.067,73.317 Q169.22,73.182 169.583,73.182 L171.423,73.182 z M171.423,69.069 L171.423,60.456 L170.907,60.456 L165.927,69.069 z" fill="#000000"/>
-    <path d="M188.509,65.6 L188.509,68.038 Q188.509,71.214 186.997,73.065 Q185.813,74.518 184.009,74.518 Q183.142,74.518 182.374,74.173 Q181.606,73.827 181.067,73.206 Q180.727,72.819 180.323,71.964 Q179.919,71.108 179.743,70.393 Q179.474,69.385 179.474,68.038 L179.474,65.6 Q179.474,62.413 180.985,60.561 Q182.169,59.108 183.974,59.108 Q184.852,59.108 185.614,59.454 Q186.376,59.799 186.915,60.421 Q187.267,60.819 187.665,61.674 Q188.063,62.53 188.251,63.233 Q188.509,64.241 188.509,65.6 z M187.524,65.729 Q187.524,64.335 187.132,63.133 Q186.739,61.932 186.247,61.217 Q185.954,60.807 185.485,60.514 Q184.817,60.104 183.985,60.104 Q182.333,60.104 181.395,61.792 Q180.458,63.479 180.458,65.729 L180.458,67.897 Q180.458,69.292 180.85,70.499 Q181.243,71.706 181.747,72.421 Q182.028,72.819 182.497,73.112 Q183.165,73.534 184.009,73.534 Q185.649,73.534 186.587,71.84 Q187.524,70.147 187.524,67.897 z" fill="#000000"/>
-    <path d="M197.849,63.491 L197.849,60.128 Q197.849,59.764 197.989,59.612 Q198.13,59.46 198.352,59.46 Q198.563,59.46 198.704,59.612 Q198.845,59.764 198.845,60.128 L198.845,63.491 L202.044,62.448 Q202.267,62.378 202.384,62.378 Q202.571,62.378 202.712,62.524 Q202.852,62.671 202.852,62.87 Q202.852,63.046 202.753,63.174 Q202.653,63.303 202.349,63.397 L199.149,64.44 L201.13,67.159 Q201.317,67.428 201.317,67.581 Q201.317,67.792 201.171,67.938 Q201.024,68.085 200.825,68.085 Q200.567,68.085 200.321,67.745 L198.341,65.014 L196.36,67.745 Q196.114,68.085 195.868,68.085 Q195.657,68.085 195.511,67.938 Q195.364,67.792 195.364,67.581 Q195.364,67.428 195.563,67.159 L197.544,64.44 L194.333,63.385 Q194.04,63.292 193.94,63.169 Q193.841,63.046 193.841,62.87 Q193.841,62.671 193.981,62.524 Q194.122,62.378 194.298,62.378 Q194.427,62.378 194.649,62.448 z" fill="#000000"/>
-    <path d="M213.388,67.147 L218.063,73.182 L218.438,73.182 Q218.79,73.182 218.942,73.317 Q219.095,73.452 219.095,73.674 Q219.095,73.885 218.942,74.026 Q218.79,74.167 218.438,74.167 L215.274,74.167 Q214.923,74.167 214.77,74.026 Q214.618,73.885 214.618,73.674 Q214.618,73.452 214.77,73.317 Q214.923,73.182 215.274,73.182 L216.845,73.182 L212.778,67.956 L208.759,73.182 L210.329,73.182 Q210.681,73.182 210.833,73.317 Q210.985,73.452 210.985,73.674 Q210.985,73.885 210.833,74.026 Q210.681,74.167 210.329,74.167 L207.188,74.167 Q206.837,74.167 206.684,74.026 Q206.532,73.885 206.532,73.674 Q206.532,73.51 206.626,73.382 Q206.72,73.253 206.837,73.217 Q206.954,73.182 207.552,73.182 L212.169,67.147 L207.763,61.44 L207.399,61.44 Q207.048,61.44 206.895,61.305 Q206.743,61.171 206.743,60.948 Q206.743,60.725 206.895,60.59 Q207.048,60.456 207.399,60.456 L210.083,60.456 Q210.446,60.456 210.599,60.59 Q210.751,60.725 210.751,60.948 Q210.751,61.171 210.599,61.305 Q210.446,61.44 210.083,61.44 L208.981,61.44 L212.778,66.35 L216.552,61.44 L215.45,61.44 Q215.087,61.44 214.934,61.305 Q214.782,61.171 214.782,60.948 Q214.782,60.725 214.934,60.59 Q215.087,60.456 215.45,60.456 L218.145,60.456 Q218.497,60.456 218.649,60.59 Q218.802,60.725 218.802,60.948 Q218.802,61.171 218.649,61.305 Q218.497,61.44 218.145,61.44 L217.77,61.44 z" fill="#000000"/>
-    <path d="M87.692,92.6 L87.692,95.038 Q87.692,98.214 86.181,100.065 Q84.997,101.518 83.192,101.518 Q82.325,101.518 81.558,101.173 Q80.79,100.827 80.251,100.206 Q79.911,99.819 79.507,98.964 Q79.102,98.108 78.927,97.393 Q78.657,96.385 78.657,95.038 L78.657,92.6 Q78.657,89.413 80.169,87.561 Q81.352,86.108 83.157,86.108 Q84.036,86.108 84.798,86.454 Q85.559,86.799 86.099,87.421 Q86.45,87.819 86.849,88.674 Q87.247,89.53 87.434,90.233 Q87.692,91.241 87.692,92.6 z M86.708,92.729 Q86.708,91.335 86.315,90.133 Q85.923,88.932 85.431,88.217 Q85.138,87.807 84.669,87.514 Q84.001,87.104 83.169,87.104 Q81.517,87.104 80.579,88.792 Q79.642,90.479 79.642,92.729 L79.642,94.897 Q79.642,96.292 80.034,97.499 Q80.427,98.706 80.931,99.421 Q81.212,99.819 81.681,100.112 Q82.349,100.534 83.192,100.534 Q84.833,100.534 85.77,98.84 Q86.708,97.147 86.708,94.897 z" fill="#000000"/>
-    <path d="M112.466,86.26 L112.466,100.182 L115.841,100.182 Q116.192,100.182 116.345,100.317 Q116.497,100.452 116.497,100.674 Q116.497,100.885 116.345,101.026 Q116.192,101.167 115.841,101.167 L108.106,101.167 Q107.755,101.167 107.602,101.026 Q107.45,100.885 107.45,100.674 Q107.45,100.452 107.602,100.317 Q107.755,100.182 108.106,100.182 L111.481,100.182 L111.481,87.62 L108.27,88.628 Q108.036,88.698 107.931,88.698 Q107.755,88.698 107.608,88.551 Q107.462,88.405 107.462,88.206 Q107.462,88.03 107.579,87.878 Q107.673,87.784 107.966,87.678 z" fill="#000000"/>
-    <path d="M130.899,92.6 L130.899,95.038 Q130.899,98.214 129.388,100.065 Q128.204,101.518 126.399,101.518 Q125.532,101.518 124.765,101.173 Q123.997,100.827 123.458,100.206 Q123.118,99.819 122.714,98.964 Q122.309,98.108 122.134,97.393 Q121.864,96.385 121.864,95.038 L121.864,92.6 Q121.864,89.413 123.376,87.561 Q124.559,86.108 126.364,86.108 Q127.243,86.108 128.005,86.454 Q128.767,86.799 129.306,87.421 Q129.657,87.819 130.056,88.674 Q130.454,89.53 130.642,90.233 Q130.899,91.241 130.899,92.6 z M129.915,92.729 Q129.915,91.335 129.522,90.133 Q129.13,88.932 128.638,88.217 Q128.345,87.807 127.876,87.514 Q127.208,87.104 126.376,87.104 Q124.724,87.104 123.786,88.792 Q122.849,90.479 122.849,92.729 L122.849,94.897 Q122.849,96.292 123.241,97.499 Q123.634,98.706 124.138,99.421 Q124.419,99.819 124.888,100.112 Q125.556,100.534 126.399,100.534 Q128.04,100.534 128.977,98.84 Q129.915,97.147 129.915,94.897 z" fill="#000000"/>
-    <path d="M170.075,86.26 L170.075,100.182 L173.45,100.182 Q173.802,100.182 173.954,100.317 Q174.106,100.452 174.106,100.674 Q174.106,100.885 173.954,101.026 Q173.802,101.167 173.45,101.167 L165.716,101.167 Q165.364,101.167 165.212,101.026 Q165.059,100.885 165.059,100.674 Q165.059,100.452 165.212,100.317 Q165.364,100.182 165.716,100.182 L169.091,100.182 L169.091,87.62 L165.88,88.628 Q165.645,88.698 165.54,88.698 Q165.364,88.698 165.218,88.551 Q165.071,88.405 165.071,88.206 Q165.071,88.03 165.188,87.878 Q165.282,87.784 165.575,87.678 z" fill="#000000"/>
-    <path d="M188.509,92.6 L188.509,95.038 Q188.509,98.214 186.997,100.065 Q185.813,101.518 184.009,101.518 Q183.142,101.518 182.374,101.173 Q181.606,100.827 181.067,100.206 Q180.727,99.819 180.323,98.964 Q179.919,98.108 179.743,97.393 Q179.474,96.385 179.474,95.038 L179.474,92.6 Q179.474,89.413 180.985,87.561 Q182.169,86.108 183.974,86.108 Q184.852,86.108 185.614,86.454 Q186.376,86.799 186.915,87.421 Q187.267,87.819 187.665,88.674 Q188.063,89.53 188.251,90.233 Q188.509,91.241 188.509,92.6 z M187.524,92.729 Q187.524,91.335 187.132,90.133 Q186.739,88.932 186.247,88.217 Q185.954,87.807 185.485,87.514 Q184.817,87.104 183.985,87.104 Q182.333,87.104 181.395,88.792 Q180.458,90.479 180.458,92.729 L180.458,94.897 Q180.458,96.292 180.85,97.499 Q181.243,98.706 181.747,99.421 Q182.028,99.819 182.497,100.112 Q183.165,100.534 184.009,100.534 Q185.649,100.534 186.587,98.84 Q187.524,97.147 187.524,94.897 z" fill="#000000"/>
-    <path d="M197.849,90.491 L197.849,87.128 Q197.849,86.764 197.989,86.612 Q198.13,86.46 198.352,86.46 Q198.563,86.46 198.704,86.612 Q198.845,86.764 198.845,87.128 L198.845,90.491 L202.044,89.448 Q202.267,89.378 202.384,89.378 Q202.571,89.378 202.712,89.524 Q202.852,89.671 202.852,89.87 Q202.852,90.046 202.753,90.174 Q202.653,90.303 202.349,90.397 L199.149,91.44 L201.13,94.159 Q201.317,94.428 201.317,94.581 Q201.317,94.792 201.171,94.938 Q201.024,95.085 200.825,95.085 Q200.567,95.085 200.321,94.745 L198.341,92.014 L196.36,94.745 Q196.114,95.085 195.868,95.085 Q195.657,95.085 195.511,94.938 Q195.364,94.792 195.364,94.581 Q195.364,94.428 195.563,94.159 L197.544,91.44 L194.333,90.385 Q194.04,90.292 193.94,90.169 Q193.841,90.046 193.841,89.87 Q193.841,89.671 193.981,89.524 Q194.122,89.378 194.298,89.378 Q194.427,89.378 194.649,89.448 z" fill="#000000"/>
-    <path d="M213.317,94.979 L213.317,100.182 L215.872,100.182 Q216.224,100.182 216.376,100.317 Q216.528,100.452 216.528,100.674 Q216.528,100.885 216.376,101.026 Q216.224,101.167 215.872,101.167 L209.767,101.167 Q209.415,101.167 209.263,101.026 Q209.11,100.885 209.11,100.674 Q209.11,100.452 209.257,100.317 Q209.403,100.182 209.767,100.182 L212.321,100.182 L212.321,94.979 L207.997,88.44 L207.411,88.44 Q207.059,88.44 206.907,88.305 Q206.755,88.171 206.755,87.948 Q206.755,87.725 206.907,87.59 Q207.059,87.456 207.411,87.456 L210.118,87.456 Q210.47,87.456 210.622,87.59 Q210.774,87.725 210.774,87.948 Q210.774,88.171 210.622,88.305 Q210.47,88.44 210.118,88.44 L209.145,88.44 L212.825,93.983 L216.423,88.44 L215.462,88.44 Q215.099,88.44 214.946,88.305 Q214.794,88.171 214.794,87.948 Q214.794,87.725 214.946,87.59 Q215.099,87.456 215.462,87.456 L218.157,87.456 Q218.509,87.456 218.661,87.59 Q218.813,87.725 218.813,87.948 Q218.813,88.171 218.661,88.305 Q218.509,88.44 218.157,88.44 L217.571,88.44 z" fill="#000000"/>
-    <path d="M87.692,119.6 L87.692,122.038 Q87.692,125.214 86.181,127.065 Q84.997,128.518 83.192,128.518 Q82.325,128.518 81.558,128.173 Q80.79,127.827 80.251,127.206 Q79.911,126.819 79.507,125.964 Q79.102,125.108 78.927,124.393 Q78.657,123.385 78.657,122.038 L78.657,119.6 Q78.657,116.413 80.169,114.561 Q81.352,113.108 83.157,113.108 Q84.036,113.108 84.798,113.454 Q85.559,113.799 86.099,114.421 Q86.45,114.819 86.849,115.674 Q87.247,116.53 87.434,117.233 Q87.692,118.241 87.692,119.6 z M86.708,119.729 Q86.708,118.335 86.315,117.133 Q85.923,115.932 85.431,115.217 Q85.138,114.807 84.669,114.514 Q84.001,114.104 83.169,114.104 Q81.517,114.104 80.579,115.792 Q79.642,117.479 79.642,119.729 L79.642,121.897 Q79.642,123.292 80.034,124.499 Q80.427,125.706 80.931,126.421 Q81.212,126.819 81.681,127.112 Q82.349,127.534 83.192,127.534 Q84.833,127.534 85.77,125.84 Q86.708,124.147 86.708,121.897 z" fill="#000000"/>
-    <path d="M130.899,119.6 L130.899,122.038 Q130.899,125.214 129.388,127.065 Q128.204,128.518 126.399,128.518 Q125.532,128.518 124.765,128.173 Q123.997,127.827 123.458,127.206 Q123.118,126.819 122.714,125.964 Q122.309,125.108 122.134,124.393 Q121.864,123.385 121.864,122.038 L121.864,119.6 Q121.864,116.413 123.376,114.561 Q124.559,113.108 126.364,113.108 Q127.243,113.108 128.005,113.454 Q128.767,113.799 129.306,114.421 Q129.657,114.819 130.056,115.674 Q130.454,116.53 130.642,117.233 Q130.899,118.241 130.899,119.6 z M129.915,119.729 Q129.915,118.335 129.522,117.133 Q129.13,115.932 128.638,115.217 Q128.345,114.807 127.876,114.514 Q127.208,114.104 126.376,114.104 Q124.724,114.104 123.786,115.792 Q122.849,117.479 122.849,119.729 L122.849,121.897 Q122.849,123.292 123.241,124.499 Q123.634,125.706 124.138,126.421 Q124.419,126.819 124.888,127.112 Q125.556,127.534 126.399,127.534 Q128.04,127.534 128.977,125.84 Q129.915,124.147 129.915,121.897 z" fill="#000000"/>
-    <path d="M213.282,113.26 L213.282,127.182 L216.657,127.182 Q217.009,127.182 217.161,127.317 Q217.313,127.452 217.313,127.674 Q217.313,127.885 217.161,128.026 Q217.009,128.167 216.657,128.167 L208.923,128.167 Q208.571,128.167 208.419,128.026 Q208.267,127.885 208.267,127.674 Q208.267,127.452 208.419,127.317 Q208.571,127.182 208.923,127.182 L212.298,127.182 L212.298,114.62 L209.087,115.628 Q208.852,115.698 208.747,115.698 Q208.571,115.698 208.425,115.551 Q208.278,115.405 208.278,115.206 Q208.278,115.03 208.395,114.878 Q208.489,114.784 208.782,114.678 z" fill="#000000"/>
-    <path d="M44.129,198.624 L44.128,198.296 Q44.128,197.933 44.268,197.78 Q44.409,197.628 44.619,197.628 Q44.842,197.627 44.983,197.779 Q45.124,197.932 45.124,198.295 L45.127,200.521 Q45.116,200.885 44.982,201.037 Q44.847,201.19 44.624,201.19 Q44.425,201.19 44.29,201.056 Q44.155,200.921 44.131,200.605 Q44.06,199.773 43.034,199.024 Q42.007,198.276 40.273,198.278 Q38.081,198.281 36.947,199.654 Q35.812,201.027 35.814,202.796 Q35.817,204.706 37.073,205.947 Q38.328,207.187 40.32,207.184 Q41.469,207.183 42.658,206.759 Q43.847,206.336 44.806,205.397 Q45.052,205.162 45.239,205.162 Q45.439,205.162 45.574,205.296 Q45.709,205.431 45.709,205.63 Q45.71,206.134 44.527,206.909 Q42.619,208.166 40.275,208.169 Q37.896,208.172 36.365,206.657 Q34.833,205.141 34.83,202.809 Q34.827,200.43 36.389,198.858 Q37.951,197.285 40.33,197.282 Q42.592,197.279 44.129,198.624 z" fill="#333333"/>
-    <path d="M59.931,202.704 Q59.935,204.954 58.325,206.55 Q56.716,208.146 54.443,208.149 Q52.146,208.152 50.538,206.555 Q48.931,204.957 48.927,202.719 Q48.924,200.469 50.527,198.867 Q52.131,197.265 54.428,197.262 Q56.701,197.259 58.315,198.85 Q59.928,200.442 59.931,202.704 z M58.935,202.705 Q58.933,200.853 57.612,199.554 Q56.292,198.256 54.417,198.258 Q52.542,198.261 51.226,199.569 Q49.909,200.878 49.912,202.718 Q49.914,204.546 51.235,205.856 Q52.555,207.167 54.43,207.164 Q56.305,207.162 57.621,205.853 Q58.938,204.545 58.935,202.705 z" fill="#333333"/>
-    <path d="M72.077,198.233 Q72.077,197.893 72.217,197.741 Q72.358,197.588 72.569,197.588 Q72.791,197.588 72.932,197.74 Q73.073,197.892 73.073,198.255 L73.076,199.943 Q73.076,200.294 72.936,200.447 Q72.796,200.599 72.573,200.6 Q72.374,200.6 72.239,200.471 Q72.104,200.343 72.08,200.05 Q72.009,199.347 71.352,198.89 Q70.39,198.236 68.808,198.238 Q67.155,198.24 66.242,198.909 Q65.552,199.414 65.553,200.035 Q65.554,200.739 66.375,201.206 Q66.937,201.533 68.508,201.707 Q70.559,201.927 71.356,202.207 Q72.494,202.615 73.051,203.341 Q73.609,204.067 73.61,204.911 Q73.612,206.165 72.406,207.145 Q71.201,208.125 68.869,208.128 Q66.537,208.132 65.047,206.95 Q65.047,207.349 65.001,207.466 Q64.954,207.583 64.831,207.665 Q64.708,207.748 64.556,207.748 Q64.345,207.748 64.204,207.596 Q64.063,207.444 64.063,207.092 L64.06,205.065 Q64.059,204.713 64.194,204.561 Q64.328,204.408 64.551,204.408 Q64.762,204.408 64.909,204.554 Q65.055,204.7 65.056,204.946 Q65.056,205.485 65.326,205.848 Q65.737,206.41 66.634,206.778 Q67.531,207.146 68.832,207.144 Q70.754,207.141 71.691,206.425 Q72.627,205.709 72.626,204.912 Q72.625,203.998 71.675,203.449 Q70.713,202.899 68.879,202.714 Q67.044,202.529 66.247,202.226 Q65.45,201.922 65.004,201.314 Q64.557,200.705 64.556,200.002 Q64.555,198.736 65.796,197.99 Q67.037,197.244 68.76,197.242 Q70.799,197.239 72.077,198.233 z" fill="#333333"/>
-    <path d="M83.122,201.886 Q83.12,200.538 83.469,199.026 Q83.819,197.513 84.812,195.532 Q85.805,193.55 86.262,193.139 Q86.402,193.01 86.566,193.01 Q86.777,193.009 86.924,193.15 Q87.07,193.29 87.071,193.489 Q87.071,193.606 86.989,193.747 Q85.703,196.116 85.155,198.039 Q84.607,199.962 84.61,201.883 Q84.613,203.817 85.166,205.738 Q85.72,207.659 87.012,210.013 Q87.094,210.153 87.094,210.271 Q87.095,210.47 86.948,210.616 Q86.802,210.763 86.591,210.763 Q86.427,210.764 86.286,210.635 Q85.852,210.237 84.865,208.305 Q83.878,206.373 83.501,204.885 Q83.124,203.397 83.122,201.886 z" fill="#333333"/>
-    <path d="M101.644,198.543 L101.656,206.711 L102.968,206.709 Q103.625,206.708 103.625,207.2 Q103.626,207.692 102.97,207.693 L99.606,207.698 Q98.95,207.699 98.949,207.207 Q98.949,206.715 99.605,206.714 L100.66,206.712 L100.648,198.544 L94.613,198.553 L94.625,206.721 L95.668,206.719 Q96.335,206.718 96.336,207.211 Q96.337,207.703 95.669,207.704 L92.317,207.708 Q91.661,207.709 91.66,207.217 Q91.66,206.725 92.316,206.724 L93.628,206.722 L93.617,198.554 L92.304,198.556 Q91.648,198.557 91.647,198.065 Q91.647,197.561 92.303,197.56 L102.955,197.545 Q103.612,197.544 103.612,198.048 Q103.613,198.54 102.957,198.541 z" fill="#333333"/>
-    <path d="M116.448,192.252 L108.55,209.232 Q108.351,209.666 108.035,209.667 Q107.836,209.667 107.689,209.521 Q107.542,209.374 107.542,209.199 Q107.542,209.058 107.659,208.812 L115.545,191.832 Q115.673,191.562 115.79,191.48 Q115.908,191.398 116.072,191.397 Q116.271,191.397 116.418,191.543 Q116.564,191.69 116.564,191.865 Q116.565,191.994 116.448,192.252 z" fill="#333333"/>
-    <path d="M128.276,203.544 L121.749,203.553 L121.747,202.417 L127.207,192.952 L129.257,192.949 L129.271,202.558 L130.091,202.557 Q130.455,202.557 130.607,202.691 Q130.76,202.826 130.76,203.049 Q130.76,203.259 130.608,203.4 Q130.456,203.541 130.093,203.542 L129.272,203.543 L129.277,206.672 L130.097,206.671 Q130.46,206.67 130.613,206.805 Q130.766,206.939 130.766,207.162 Q130.766,207.373 130.614,207.514 Q130.462,207.654 130.099,207.655 L126.442,207.66 Q126.079,207.661 125.926,207.52 Q125.774,207.38 125.774,207.169 Q125.773,206.946 125.925,206.811 Q126.078,206.676 126.441,206.676 L128.281,206.673 z M128.275,202.56 L128.263,193.947 L127.747,193.947 L122.779,202.568 z" fill="#333333"/>
-    <path d="M141.129,201.815 Q141.131,203.163 140.782,204.669 Q140.432,206.175 139.439,208.163 Q138.446,210.151 137.989,210.55 Q137.849,210.691 137.685,210.691 Q137.474,210.691 137.327,210.545 Q137.181,210.399 137.18,210.2 Q137.18,210.082 137.262,209.942 Q138.548,207.584 139.096,205.662 Q139.644,203.739 139.641,201.817 Q139.638,199.884 139.085,197.963 Q138.531,196.041 137.239,193.676 Q137.157,193.536 137.157,193.418 Q137.156,193.219 137.303,193.078 Q137.449,192.937 137.66,192.937 Q137.824,192.937 137.965,193.066 Q138.399,193.463 139.386,195.396 Q140.373,197.328 140.75,198.816 Q141.127,200.303 141.129,201.815 z" fill="#333333"/>
-    <path d="M172.894,198.09 Q172.893,197.751 173.034,197.598 Q173.174,197.445 173.385,197.445 Q173.608,197.445 173.748,197.597 Q173.889,197.749 173.89,198.112 L173.892,199.8 Q173.893,200.152 173.752,200.304 Q173.612,200.457 173.389,200.457 Q173.19,200.457 173.055,200.328 Q172.92,200.2 172.896,199.907 Q172.825,199.204 172.168,198.748 Q171.206,198.093 169.624,198.095 Q167.972,198.097 167.059,198.767 Q166.368,199.272 166.369,199.893 Q166.37,200.596 167.191,201.063 Q167.754,201.391 169.324,201.564 Q171.375,201.784 172.173,202.064 Q173.31,202.473 173.868,203.198 Q174.425,203.924 174.427,204.768 Q174.428,206.022 173.223,207.002 Q172.017,207.982 169.685,207.986 Q167.353,207.989 165.863,206.807 Q165.864,207.206 165.817,207.323 Q165.77,207.44 165.647,207.523 Q165.524,207.605 165.372,207.605 Q165.161,207.605 165.02,207.453 Q164.879,207.301 164.879,206.949 L164.876,204.922 Q164.875,204.571 165.01,204.418 Q165.145,204.265 165.367,204.265 Q165.578,204.265 165.725,204.411 Q165.872,204.557 165.872,204.803 Q165.873,205.343 166.143,205.705 Q166.554,206.267 167.451,206.635 Q168.348,207.003 169.648,207.001 Q171.57,206.999 172.507,206.282 Q173.443,205.566 173.442,204.769 Q173.441,203.855 172.491,203.306 Q171.529,202.756 169.695,202.572 Q167.861,202.387 167.063,202.083 Q166.266,201.779 165.82,201.171 Q165.374,200.562 165.373,199.859 Q165.371,198.593 166.612,197.847 Q167.853,197.101 169.576,197.099 Q171.615,197.096 172.894,198.09 z" fill="#333333"/>
-    <path d="M184.522,192.379 L184.526,194.922 L183.073,194.924 L183.069,192.381 z M184.565,197.429 L184.578,206.593 L188.445,206.588 Q188.808,206.587 188.961,206.722 Q189.113,206.857 189.113,207.079 Q189.114,207.29 188.962,207.431 Q188.809,207.572 188.446,207.572 L179.727,207.585 Q179.376,207.585 179.223,207.445 Q179.071,207.304 179.07,207.093 Q179.07,206.871 179.222,206.736 Q179.374,206.601 179.726,206.6 L183.593,206.595 L183.582,198.427 L180.711,198.431 Q180.359,198.431 180.201,198.291 Q180.042,198.151 180.042,197.94 Q180.042,197.717 180.194,197.576 Q180.346,197.435 180.709,197.435 z" fill="#333333"/>
-    <path d="M195.264,197.414 L195.266,198.902 Q196.296,197.858 197.127,197.458 Q197.959,197.059 199.002,197.057 Q200.127,197.056 201.053,197.535 Q201.71,197.886 202.244,198.699 Q202.779,199.513 202.78,200.368 L202.788,206.568 L203.621,206.566 Q203.972,206.566 204.125,206.701 Q204.277,206.835 204.277,207.058 Q204.278,207.269 204.126,207.409 Q203.973,207.55 203.622,207.551 L200.985,207.555 Q200.622,207.555 200.469,207.415 Q200.317,207.274 200.317,207.063 Q200.316,206.841 200.468,206.706 Q200.621,206.571 200.984,206.57 L201.804,206.569 L201.796,200.534 Q201.794,199.491 201.031,198.771 Q200.269,198.052 198.991,198.053 Q198.019,198.055 197.304,198.448 Q196.59,198.842 195.268,200.402 L195.277,206.578 L196.39,206.577 Q196.742,206.576 196.894,206.711 Q197.047,206.845 197.047,207.068 Q197.047,207.279 196.895,207.42 Q196.743,207.561 196.391,207.561 L193.181,207.566 Q192.829,207.566 192.676,207.426 Q192.524,207.285 192.524,207.074 Q192.523,206.852 192.675,206.717 Q192.828,206.582 193.179,206.581 L194.292,206.58 L194.281,198.412 L193.449,198.413 Q193.097,198.413 192.945,198.273 Q192.792,198.133 192.792,197.91 Q192.792,197.699 192.944,197.558 Q193.096,197.417 193.447,197.417 z" fill="#333333"/>
-    <path d="M212.743,201.702 Q212.741,200.354 213.09,198.842 Q213.439,197.33 214.433,195.348 Q215.426,193.366 215.883,192.955 Q216.023,192.826 216.187,192.826 Q216.398,192.826 216.545,192.966 Q216.691,193.107 216.692,193.306 Q216.692,193.423 216.61,193.564 Q215.324,195.933 214.776,197.855 Q214.228,199.778 214.231,201.7 Q214.234,203.633 214.787,205.555 Q215.341,207.476 216.633,209.829 Q216.715,209.97 216.715,210.087 Q216.716,210.286 216.569,210.433 Q216.423,210.58 216.212,210.58 Q216.048,210.58 215.907,210.451 Q215.473,210.054 214.486,208.121 Q213.499,206.189 213.122,204.701 Q212.745,203.214 212.743,201.702 z" fill="#333333"/>
-    <path d="M231.265,198.359 L231.277,206.527 L232.589,206.525 Q233.246,206.525 233.246,207.017 Q233.247,207.509 232.591,207.51 L229.227,207.515 Q228.571,207.516 228.57,207.023 Q228.57,206.531 229.226,206.53 L230.281,206.529 L230.269,198.361 L224.234,198.369 L224.246,206.537 L225.288,206.536 Q225.956,206.535 225.957,207.027 Q225.958,207.519 225.29,207.52 L221.938,207.525 Q221.282,207.526 221.281,207.034 Q221.281,206.541 221.937,206.541 L223.249,206.539 L223.238,198.371 L221.925,198.373 Q221.269,198.373 221.268,197.881 Q221.268,197.377 221.924,197.376 L232.576,197.361 Q233.233,197.36 233.233,197.864 Q233.234,198.357 232.578,198.357 z" fill="#333333"/>
-    <path d="M246.069,192.069 L238.171,209.049 Q237.972,209.483 237.656,209.483 Q237.457,209.483 237.31,209.337 Q237.163,209.191 237.163,209.015 Q237.163,208.874 237.28,208.628 L245.166,191.648 Q245.294,191.379 245.411,191.296 Q245.529,191.214 245.693,191.214 Q245.892,191.214 246.038,191.36 Q246.185,191.506 246.185,191.682 Q246.186,191.811 246.069,192.069 z" fill="#333333"/>
-    <path d="M257.897,203.361 L251.37,203.37 L251.368,202.233 L256.828,192.768 L258.878,192.766 L258.892,202.375 L259.712,202.374 Q260.076,202.373 260.228,202.508 Q260.381,202.642 260.381,202.865 Q260.381,203.076 260.229,203.217 Q260.077,203.358 259.714,203.358 L258.893,203.359 L258.898,206.488 L259.718,206.487 Q260.081,206.487 260.234,206.621 Q260.386,206.756 260.387,206.978 Q260.387,207.189 260.235,207.33 Q260.083,207.471 259.72,207.471 L256.063,207.477 Q255.7,207.477 255.547,207.337 Q255.395,207.196 255.395,206.985 Q255.394,206.763 255.546,206.628 Q255.699,206.493 256.062,206.492 L257.902,206.49 z M257.896,202.376 L257.884,193.763 L257.368,193.764 L252.4,202.384 z" fill="#333333"/>
-    <path d="M270.75,201.632 Q270.752,202.979 270.403,204.486 Q270.053,205.992 269.06,207.98 Q268.067,209.967 267.61,210.366 Q267.47,210.507 267.306,210.508 Q267.095,210.508 266.948,210.362 Q266.802,210.215 266.801,210.016 Q266.801,209.899 266.883,209.758 Q268.169,207.401 268.717,205.478 Q269.265,203.556 269.262,201.634 Q269.259,199.7 268.706,197.779 Q268.152,195.858 266.86,193.493 Q266.778,193.352 266.777,193.235 Q266.777,193.036 266.923,192.895 Q267.07,192.754 267.281,192.754 Q267.445,192.753 267.586,192.882 Q268.02,193.28 269.007,195.212 Q269.994,197.144 270.371,198.632 Q270.748,200.12 270.75,201.632 z" fill="#333333"/>
-    <path d="M303.782,198.843 L303.785,201.28 Q303.79,204.456 302.28,206.31 Q301.099,207.764 299.294,207.767 Q298.427,207.768 297.659,207.424 Q296.891,207.079 296.351,206.459 Q296.011,206.072 295.605,205.217 Q295.2,204.363 295.023,203.648 Q294.752,202.641 294.75,201.293 L294.746,198.855 Q294.742,195.668 296.251,193.814 Q297.433,192.359 299.237,192.357 Q300.116,192.356 300.878,192.7 Q301.641,193.045 302.18,193.665 Q302.533,194.063 302.932,194.918 Q303.332,195.773 303.52,196.476 Q303.78,197.483 303.782,198.843 z M302.797,198.973 Q302.795,197.578 302.401,196.378 Q302.007,195.177 301.514,194.463 Q301.22,194.053 300.751,193.761 Q300.082,193.352 299.25,193.353 Q297.598,193.355 296.663,195.044 Q295.728,196.733 295.731,198.983 L295.734,201.151 Q295.736,202.545 296.13,203.752 Q296.525,204.958 297.03,205.672 Q297.311,206.071 297.78,206.363 Q298.449,206.784 299.293,206.783 Q300.933,206.78 301.869,205.086 Q302.804,203.391 302.8,201.141 z" fill="#333333"/>
-    <path d="M30.681,227.307 L30.683,228.714 L20.64,228.728 L20.638,227.322 z" fill="#333333"/>
-    <path d="M43.311,225.274 Q43.31,224.934 43.451,224.782 Q43.591,224.629 43.802,224.629 Q44.025,224.628 44.166,224.781 Q44.307,224.933 44.307,225.296 L44.309,226.983 Q44.31,227.335 44.17,227.488 Q44.029,227.64 43.806,227.64 Q43.607,227.641 43.472,227.512 Q43.337,227.383 43.313,227.09 Q43.242,226.387 42.585,225.931 Q41.623,225.276 40.041,225.279 Q38.389,225.281 37.476,225.95 Q36.785,226.455 36.786,227.076 Q36.787,227.779 37.608,228.247 Q38.171,228.574 39.742,228.748 Q41.793,228.967 42.59,229.248 Q43.727,229.656 44.285,230.382 Q44.843,231.108 44.844,231.951 Q44.846,233.205 43.64,234.186 Q42.434,235.166 40.102,235.169 Q37.77,235.172 36.28,233.991 Q36.281,234.389 36.234,234.507 Q36.187,234.624 36.065,234.706 Q35.942,234.788 35.789,234.789 Q35.578,234.789 35.437,234.637 Q35.297,234.485 35.296,234.133 L35.293,232.106 Q35.293,231.754 35.427,231.602 Q35.562,231.449 35.785,231.449 Q35.995,231.448 36.142,231.595 Q36.289,231.741 36.289,231.987 Q36.29,232.526 36.56,232.889 Q36.971,233.451 37.868,233.819 Q38.765,234.187 40.066,234.185 Q41.988,234.182 42.924,233.466 Q43.861,232.75 43.859,231.953 Q43.858,231.039 42.908,230.489 Q41.946,229.94 40.112,229.755 Q38.278,229.57 37.481,229.267 Q36.683,228.963 36.237,228.354 Q35.791,227.746 35.79,227.042 Q35.788,225.777 37.029,225.031 Q38.27,224.285 39.993,224.283 Q42.032,224.28 43.311,225.274 z" fill="#333333"/>
-    <path d="M54.94,219.562 L54.943,222.105 L53.49,222.107 L53.486,219.564 z M54.982,224.613 L54.995,233.777 L58.862,233.771 Q59.225,233.771 59.378,233.906 Q59.53,234.04 59.531,234.263 Q59.531,234.474 59.379,234.614 Q59.227,234.755 58.863,234.756 L50.145,234.768 Q49.793,234.769 49.641,234.628 Q49.488,234.488 49.488,234.277 Q49.487,234.054 49.64,233.919 Q49.792,233.784 50.143,233.784 L54.01,233.778 L53.999,225.61 L51.128,225.614 Q50.776,225.615 50.618,225.475 Q50.459,225.334 50.459,225.123 Q50.459,224.901 50.611,224.76 Q50.763,224.619 51.126,224.618 z" fill="#333333"/>
-    <path d="M65.681,224.598 L65.683,226.086 Q66.713,225.042 67.544,224.642 Q68.376,224.242 69.419,224.241 Q70.544,224.239 71.47,224.718 Q72.127,225.069 72.661,225.883 Q73.196,226.696 73.197,227.552 L73.206,233.751 L74.038,233.75 Q74.389,233.749 74.542,233.884 Q74.694,234.019 74.695,234.241 Q74.695,234.452 74.543,234.593 Q74.391,234.734 74.039,234.734 L71.402,234.738 Q71.039,234.739 70.887,234.598 Q70.734,234.458 70.734,234.247 Q70.734,234.024 70.886,233.889 Q71.038,233.754 71.401,233.754 L72.221,233.753 L72.213,227.717 Q72.211,226.674 71.449,225.955 Q70.686,225.235 69.409,225.237 Q68.436,225.238 67.722,225.632 Q67.007,226.026 65.685,227.586 L65.694,233.762 L66.807,233.76 Q67.159,233.76 67.311,233.894 Q67.464,234.029 67.464,234.251 Q67.465,234.462 67.312,234.603 Q67.16,234.744 66.809,234.745 L63.598,234.749 Q63.246,234.75 63.094,234.609 Q62.941,234.469 62.941,234.258 Q62.941,234.035 63.093,233.9 Q63.245,233.765 63.596,233.765 L64.71,233.763 L64.698,225.595 L63.866,225.596 Q63.515,225.597 63.362,225.456 Q63.209,225.316 63.209,225.093 Q63.209,224.882 63.361,224.742 Q63.513,224.601 63.865,224.6 z" fill="#333333"/>
-    <path d="M83.16,228.885 Q83.158,227.538 83.507,226.026 Q83.857,224.513 84.85,222.532 Q85.843,220.55 86.3,220.139 Q86.44,220.01 86.604,220.01 Q86.815,220.009 86.962,220.15 Q87.109,220.29 87.109,220.489 Q87.109,220.606 87.027,220.747 Q85.742,223.116 85.193,225.039 Q84.645,226.962 84.648,228.883 Q84.651,230.817 85.204,232.738 Q85.758,234.659 87.05,237.013 Q87.132,237.153 87.133,237.271 Q87.133,237.47 86.987,237.616 Q86.84,237.763 86.629,237.763 Q86.465,237.764 86.325,237.635 Q85.89,237.237 84.903,235.305 Q83.916,233.373 83.539,231.885 Q83.162,230.397 83.16,228.885 z" fill="#333333"/>
-    <path d="M101.682,225.543 L101.694,233.711 L103.007,233.709 Q103.663,233.708 103.663,234.2 Q103.664,234.692 103.008,234.693 L99.645,234.698 Q98.988,234.699 98.988,234.207 Q98.987,233.715 99.643,233.714 L100.698,233.712 L100.686,225.544 L94.651,225.553 L94.663,233.721 L95.706,233.719 Q96.374,233.718 96.374,234.211 Q96.375,234.703 95.707,234.704 L92.356,234.708 Q91.699,234.709 91.699,234.217 Q91.698,233.725 92.354,233.724 L93.667,233.722 L93.655,225.554 L92.343,225.556 Q91.686,225.557 91.686,225.065 Q91.685,224.561 92.341,224.56 L102.994,224.545 Q103.65,224.544 103.651,225.048 Q103.651,225.54 102.995,225.541 z" fill="#333333"/>
-    <path d="M116.486,219.252 L108.588,236.232 Q108.39,236.666 108.073,236.667 Q107.874,236.667 107.727,236.521 Q107.581,236.374 107.58,236.199 Q107.58,236.058 107.697,235.812 L115.583,218.832 Q115.712,218.562 115.829,218.48 Q115.946,218.398 116.11,218.397 Q116.309,218.397 116.456,218.543 Q116.602,218.69 116.603,218.865 Q116.603,218.994 116.486,219.252 z" fill="#333333"/>
-    <path d="M128.315,230.544 L121.787,230.553 L121.786,229.417 L127.245,219.952 L129.296,219.949 L129.309,229.558 L130.13,229.557 Q130.493,229.557 130.645,229.691 Q130.798,229.826 130.798,230.049 Q130.799,230.259 130.646,230.4 Q130.494,230.541 130.131,230.542 L129.311,230.543 L129.315,233.672 L130.135,233.671 Q130.499,233.67 130.651,233.805 Q130.804,233.939 130.804,234.162 Q130.804,234.373 130.652,234.514 Q130.5,234.654 130.137,234.655 L126.481,234.66 Q126.117,234.661 125.965,234.52 Q125.812,234.38 125.812,234.169 Q125.812,233.946 125.964,233.811 Q126.116,233.676 126.479,233.676 L128.319,233.673 z M128.313,229.56 L128.301,220.947 L127.785,220.947 L122.817,229.568 z" fill="#333333"/>
-    <path d="M141.168,228.815 Q141.17,230.163 140.82,231.669 Q140.471,233.175 139.477,235.163 Q138.484,237.151 138.028,237.55 Q137.887,237.691 137.723,237.691 Q137.512,237.691 137.366,237.545 Q137.219,237.399 137.219,237.2 Q137.218,237.082 137.3,236.942 Q138.586,234.584 139.134,232.662 Q139.682,230.739 139.679,228.817 Q139.677,226.884 139.123,224.962 Q138.57,223.041 137.277,220.676 Q137.195,220.536 137.195,220.418 Q137.194,220.219 137.341,220.078 Q137.487,219.937 137.698,219.937 Q137.862,219.937 138.003,220.066 Q138.437,220.463 139.424,222.396 Q140.411,224.328 140.788,225.816 Q141.165,227.303 141.168,228.815 z" fill="#333333"/>
-    <path d="M173.788,225.441 L173.787,225.113 Q173.787,224.749 173.927,224.597 Q174.068,224.444 174.279,224.444 Q174.501,224.444 174.642,224.596 Q174.783,224.748 174.783,225.111 L174.787,227.338 Q174.775,227.701 174.641,227.854 Q174.506,228.006 174.284,228.006 Q174.084,228.007 173.95,227.872 Q173.815,227.738 173.791,227.421 Q173.719,226.589 172.693,225.841 Q171.666,225.092 169.932,225.095 Q167.74,225.098 166.606,226.47 Q165.471,227.843 165.473,229.613 Q165.476,231.523 166.732,232.763 Q167.987,234.004 169.98,234.001 Q171.128,233.999 172.317,233.576 Q173.506,233.152 174.465,232.213 Q174.711,231.979 174.899,231.978 Q175.098,231.978 175.233,232.113 Q175.368,232.247 175.368,232.446 Q175.369,232.95 174.186,233.725 Q172.278,234.982 169.934,234.985 Q167.555,234.989 166.024,233.473 Q164.492,231.958 164.489,229.626 Q164.486,227.247 166.048,225.674 Q167.61,224.102 169.989,224.098 Q172.251,224.095 173.788,225.441 z" fill="#333333"/>
-    <path d="M189.591,229.52 Q189.594,231.77 187.985,233.366 Q186.376,234.962 184.102,234.965 Q181.805,234.968 180.198,233.371 Q178.59,231.774 178.587,229.536 Q178.583,227.286 180.187,225.684 Q181.79,224.082 184.087,224.079 Q186.36,224.075 187.974,225.667 Q189.587,227.258 189.591,229.52 z M188.594,229.521 Q188.592,227.67 187.272,226.371 Q185.951,225.072 184.076,225.075 Q182.201,225.077 180.885,226.386 Q179.568,227.694 179.571,229.534 Q179.574,231.362 180.894,232.673 Q182.214,233.984 184.089,233.981 Q185.964,233.978 187.281,232.67 Q188.597,231.361 188.594,229.521 z" fill="#333333"/>
-    <path d="M201.737,225.05 Q201.736,224.71 201.876,224.557 Q202.017,224.405 202.228,224.404 Q202.45,224.404 202.591,224.556 Q202.732,224.708 202.733,225.072 L202.735,226.759 Q202.736,227.111 202.595,227.263 Q202.455,227.416 202.232,227.416 Q202.033,227.416 201.898,227.288 Q201.763,227.159 201.739,226.866 Q201.668,226.163 201.011,225.707 Q200.049,225.052 198.467,225.054 Q196.815,225.057 195.902,225.726 Q195.211,226.231 195.212,226.852 Q195.213,227.555 196.034,228.023 Q196.597,228.35 198.167,228.523 Q200.218,228.743 201.016,229.023 Q202.153,229.432 202.711,230.158 Q203.268,230.883 203.269,231.727 Q203.271,232.981 202.066,233.961 Q200.86,234.941 198.528,234.945 Q196.196,234.948 194.706,233.767 Q194.706,234.165 194.66,234.282 Q194.613,234.4 194.49,234.482 Q194.367,234.564 194.215,234.564 Q194.004,234.564 193.863,234.412 Q193.722,234.26 193.722,233.909 L193.719,231.881 Q193.718,231.53 193.853,231.377 Q193.987,231.225 194.21,231.224 Q194.421,231.224 194.568,231.37 Q194.714,231.517 194.715,231.763 Q194.716,232.302 194.986,232.665 Q195.397,233.227 196.294,233.594 Q197.191,233.962 198.491,233.96 Q200.413,233.958 201.35,233.242 Q202.286,232.525 202.285,231.729 Q202.284,230.814 201.334,230.265 Q200.372,229.716 198.538,229.531 Q196.704,229.346 195.906,229.042 Q195.109,228.739 194.663,228.13 Q194.217,227.521 194.216,226.818 Q194.214,225.552 195.455,224.807 Q196.696,224.061 198.419,224.058 Q200.458,224.055 201.737,225.05 z" fill="#333333"/>
-    <path d="M212.781,228.702 Q212.779,227.354 213.128,225.842 Q213.478,224.33 214.471,222.348 Q215.464,220.366 215.921,219.955 Q216.061,219.826 216.225,219.826 Q216.436,219.826 216.583,219.966 Q216.73,220.107 216.73,220.306 Q216.73,220.423 216.648,220.564 Q215.362,222.933 214.814,224.855 Q214.266,226.778 214.269,228.7 Q214.272,230.633 214.825,232.555 Q215.379,234.476 216.671,236.829 Q216.753,236.97 216.754,237.087 Q216.754,237.286 216.608,237.433 Q216.461,237.58 216.25,237.58 Q216.086,237.58 215.946,237.451 Q215.511,237.054 214.524,235.121 Q213.537,233.189 213.16,231.701 Q212.783,230.214 212.781,228.702 z" fill="#333333"/>
-    <path d="M231.303,225.359 L231.315,233.527 L232.627,233.525 Q233.284,233.524 233.284,234.017 Q233.285,234.509 232.629,234.51 L229.266,234.515 Q228.609,234.515 228.609,234.023 Q228.608,233.531 229.264,233.53 L230.319,233.529 L230.307,225.361 L224.272,225.369 L224.284,233.537 L225.327,233.536 Q225.995,233.535 225.995,234.027 Q225.996,234.519 225.328,234.52 L221.977,234.525 Q221.32,234.526 221.32,234.034 Q221.319,233.541 221.975,233.54 L223.288,233.539 L223.276,225.371 L221.964,225.373 Q221.307,225.373 221.307,224.881 Q221.306,224.377 221.962,224.376 L232.615,224.361 Q233.271,224.36 233.271,224.864 Q233.272,225.357 232.616,225.357 z" fill="#333333"/>
-    <path d="M246.107,219.069 L238.209,236.049 Q238.011,236.483 237.694,236.483 Q237.495,236.483 237.348,236.337 Q237.202,236.191 237.201,236.015 Q237.201,235.874 237.318,235.628 L245.204,218.648 Q245.333,218.378 245.45,218.296 Q245.567,218.214 245.731,218.214 Q245.93,218.214 246.077,218.36 Q246.223,218.506 246.224,218.682 Q246.224,218.811 246.107,219.069 z" fill="#333333"/>
-    <path d="M257.936,230.361 L251.408,230.37 L251.407,229.233 L256.866,219.768 L258.917,219.766 L258.93,229.375 L259.751,229.374 Q260.114,229.373 260.266,229.508 Q260.419,229.642 260.419,229.865 Q260.42,230.076 260.267,230.217 Q260.115,230.358 259.752,230.358 L258.932,230.359 L258.936,233.488 L259.756,233.487 Q260.12,233.486 260.272,233.621 Q260.425,233.756 260.425,233.978 Q260.425,234.189 260.273,234.33 Q260.121,234.471 259.758,234.471 L256.102,234.477 Q255.738,234.477 255.586,234.337 Q255.433,234.196 255.433,233.985 Q255.433,233.763 255.585,233.628 Q255.737,233.493 256.1,233.492 L257.94,233.49 z M257.934,229.376 L257.922,220.763 L257.406,220.764 L252.438,229.384 z" fill="#333333"/>
-    <path d="M270.789,228.632 Q270.79,229.979 270.441,231.486 Q270.092,232.992 269.098,234.98 Q268.105,236.967 267.649,237.366 Q267.508,237.507 267.344,237.508 Q267.133,237.508 266.986,237.362 Q266.84,237.215 266.839,237.016 Q266.839,236.899 266.921,236.758 Q268.207,234.401 268.755,232.478 Q269.303,230.556 269.3,228.634 Q269.298,226.7 268.744,224.779 Q268.191,222.858 266.898,220.492 Q266.816,220.352 266.816,220.235 Q266.815,220.036 266.962,219.895 Q267.108,219.754 267.319,219.754 Q267.483,219.753 267.624,219.882 Q268.058,220.28 269.045,222.212 Q270.032,224.144 270.409,225.632 Q270.786,227.12 270.789,228.632 z" fill="#333333"/>
-    <path d="M303.82,225.843 L303.823,228.28 Q303.828,231.456 302.319,233.31 Q301.137,234.764 299.332,234.767 Q298.465,234.768 297.697,234.424 Q296.929,234.079 296.389,233.459 Q296.049,233.072 295.643,232.217 Q295.238,231.363 295.061,230.648 Q294.79,229.641 294.788,228.293 L294.785,225.855 Q294.78,222.668 296.289,220.814 Q297.471,219.359 299.275,219.357 Q300.154,219.356 300.917,219.7 Q301.679,220.045 302.219,220.665 Q302.571,221.063 302.97,221.918 Q303.37,222.773 303.559,223.476 Q303.818,224.483 303.82,225.843 z M302.836,225.973 Q302.834,224.578 302.439,223.378 Q302.045,222.177 301.552,221.463 Q301.258,221.053 300.789,220.761 Q300.121,220.352 299.289,220.353 Q297.636,220.355 296.701,222.044 Q295.766,223.733 295.769,225.983 L295.772,228.151 Q295.774,229.545 296.169,230.752 Q296.563,231.958 297.068,232.672 Q297.35,233.07 297.819,233.363 Q298.487,233.784 299.331,233.783 Q300.972,233.78 301.907,232.086 Q302.842,230.391 302.839,228.141 z" fill="#333333"/>
-    <path d="M145.432,253.067 L145.436,255.504 Q145.44,258.68 143.931,260.534 Q142.75,261.989 140.945,261.991 Q140.078,261.992 139.31,261.648 Q138.542,261.303 138.002,260.683 Q137.661,260.297 137.256,259.442 Q136.85,258.587 136.674,257.872 Q136.403,256.865 136.401,255.517 L136.397,253.08 Q136.393,249.892 137.902,248.038 Q139.083,246.584 140.888,246.581 Q141.767,246.58 142.529,246.924 Q143.291,247.269 143.831,247.889 Q144.183,248.287 144.583,249.142 Q144.983,249.997 145.171,250.7 Q145.43,251.707 145.432,253.067 z M144.448,253.197 Q144.446,251.803 144.052,250.602 Q143.658,249.401 143.164,248.687 Q142.871,248.278 142.402,247.985 Q141.733,247.576 140.901,247.577 Q139.249,247.58 138.314,249.268 Q137.379,250.957 137.382,253.207 L137.385,255.375 Q137.387,256.77 137.781,257.976 Q138.175,259.183 138.68,259.897 Q138.962,260.295 139.431,260.587 Q140.1,261.008 140.944,261.007 Q142.584,261.004 143.519,259.31 Q144.454,257.615 144.451,255.365 z" fill="#333333"/>
-    <path d="M275.053,252.883 L275.057,255.321 Q275.061,258.497 273.552,260.35 Q272.371,261.805 270.566,261.808 Q269.699,261.809 268.931,261.464 Q268.163,261.12 267.623,260.499 Q267.282,260.113 266.877,259.258 Q266.471,258.403 266.295,257.689 Q266.024,256.681 266.022,255.334 L266.018,252.896 Q266.014,249.709 267.523,247.855 Q268.704,246.4 270.509,246.398 Q271.388,246.396 272.15,246.741 Q272.912,247.086 273.452,247.706 Q273.804,248.104 274.204,248.959 Q274.604,249.814 274.792,250.516 Q275.051,251.524 275.053,252.883 z M274.069,253.014 Q274.067,251.619 273.673,250.418 Q273.279,249.218 272.785,248.504 Q272.492,248.094 272.023,247.802 Q271.354,247.392 270.522,247.394 Q268.87,247.396 267.935,249.085 Q267,250.774 267.003,253.024 L267.006,255.192 Q267.008,256.586 267.402,257.793 Q267.796,258.999 268.301,259.713 Q268.583,260.111 269.052,260.404 Q269.721,260.824 270.565,260.823 Q272.205,260.821 273.14,259.126 Q274.075,257.432 274.072,255.182 z" fill="#333333"/>
-    <path d="M299.818,246.508 L299.838,260.43 L303.213,260.425 Q303.564,260.425 303.717,260.56 Q303.869,260.694 303.869,260.917 Q303.87,261.128 303.718,261.269 Q303.565,261.409 303.214,261.41 L295.48,261.421 Q295.128,261.421 294.975,261.281 Q294.823,261.14 294.823,260.93 Q294.822,260.707 294.974,260.572 Q295.127,260.437 295.478,260.436 L298.853,260.432 L298.835,247.869 L295.626,248.882 Q295.392,248.952 295.286,248.952 Q295.11,248.953 294.964,248.806 Q294.817,248.66 294.817,248.461 Q294.816,248.285 294.933,248.133 Q295.027,248.039 295.32,247.933 z" fill="#333333"/>
-    <path d="M25.703,336.967 Q25.702,335.619 26.051,334.107 Q26.4,332.595 27.394,330.613 Q28.387,328.631 28.843,328.22 Q28.984,328.091 29.148,328.091 Q29.359,328.091 29.506,328.231 Q29.652,328.372 29.652,328.571 Q29.653,328.688 29.571,328.829 Q28.285,331.198 27.737,333.12 Q27.189,335.043 27.192,336.965 Q27.194,338.898 27.748,340.82 Q28.301,342.741 29.594,345.094 Q29.676,345.235 29.676,345.352 Q29.677,345.551 29.53,345.698 Q29.384,345.845 29.173,345.845 Q29.009,345.845 28.868,345.716 Q28.434,345.319 27.447,343.386 Q26.46,341.454 26.083,339.966 Q25.706,338.479 25.703,336.967 z" fill="#333333"/>
-    <path d="M44.731,334.21 L44.734,336.647 Q44.739,339.823 43.23,341.677 Q42.048,343.131 40.243,343.134 Q39.376,343.135 38.608,342.79 Q37.84,342.446 37.3,341.826 Q36.96,341.439 36.554,340.584 Q36.149,339.729 35.972,339.015 Q35.701,338.007 35.699,336.66 L35.696,334.222 Q35.691,331.035 37.2,329.181 Q38.382,327.726 40.186,327.724 Q41.065,327.723 41.828,328.067 Q42.59,328.412 43.13,329.032 Q43.482,329.43 43.882,330.285 Q44.281,331.14 44.47,331.843 Q44.729,332.85 44.731,334.21 z M43.747,334.34 Q43.745,332.945 43.35,331.745 Q42.956,330.544 42.463,329.83 Q42.169,329.42 41.7,329.128 Q41.032,328.719 40.2,328.72 Q38.547,328.722 37.612,330.411 Q36.677,332.1 36.68,334.35 L36.683,336.518 Q36.685,337.912 37.08,339.119 Q37.474,340.325 37.979,341.039 Q38.261,341.437 38.73,341.73 Q39.398,342.151 40.242,342.149 Q41.883,342.147 42.818,340.452 Q43.753,338.758 43.75,336.508 z" fill="#333333"/>
-    <path d="M52.672,339.226 L55.871,339.221 L52.399,345.695 Q52.084,346.281 51.639,346.282 Q51.346,346.282 51.14,346.077 Q50.935,345.873 50.934,345.58 Q50.934,345.462 50.969,345.322 z" fill="#333333"/>
-    <path d="M73.535,334.169 L73.539,336.606 Q73.543,339.782 72.034,341.636 Q70.853,343.091 69.048,343.093 Q68.181,343.094 67.413,342.75 Q66.645,342.405 66.105,341.785 Q65.764,341.399 65.359,340.544 Q64.953,339.689 64.777,338.974 Q64.506,337.967 64.504,336.619 L64.5,334.182 Q64.496,330.994 66.005,329.14 Q67.186,327.686 68.991,327.683 Q69.87,327.682 70.632,328.026 Q71.394,328.371 71.934,328.991 Q72.287,329.389 72.686,330.244 Q73.086,331.099 73.274,331.802 Q73.534,332.809 73.535,334.169 z M72.551,334.299 Q72.549,332.905 72.155,331.704 Q71.761,330.503 71.268,329.789 Q70.974,329.379 70.505,329.087 Q69.836,328.678 69.004,328.679 Q67.352,328.681 66.417,330.37 Q65.482,332.059 65.485,334.309 L65.488,336.477 Q65.49,337.872 65.884,339.078 Q66.278,340.285 66.783,340.999 Q67.065,341.397 67.534,341.689 Q68.203,342.11 69.047,342.109 Q70.687,342.106 71.622,340.412 Q72.558,338.717 72.554,336.467 z" fill="#333333"/>
-    <path d="M83.711,336.897 Q83.713,338.244 83.364,339.751 Q83.014,341.257 82.021,343.245 Q81.028,345.232 80.571,345.631 Q80.431,345.772 80.267,345.773 Q80.056,345.773 79.909,345.627 Q79.762,345.48 79.762,345.281 Q79.762,345.164 79.844,345.023 Q81.13,342.666 81.678,340.743 Q82.226,338.821 82.223,336.899 Q82.22,334.965 81.667,333.044 Q81.113,331.123 79.821,328.758 Q79.739,328.617 79.738,328.5 Q79.738,328.301 79.884,328.16 Q80.031,328.019 80.242,328.019 Q80.406,328.018 80.546,328.147 Q80.981,328.545 81.968,330.477 Q82.955,332.409 83.332,333.897 Q83.709,335.385 83.711,336.897 z" fill="#333333"/>
-    <path d="M102.846,335.205 L102.848,336.612 L92.805,336.626 L92.803,335.22 z" fill="#333333"/>
-    <path d="M112.117,336.845 Q112.116,335.497 112.465,333.985 Q112.814,332.473 113.808,330.491 Q114.801,328.509 115.257,328.098 Q115.398,327.969 115.562,327.969 Q115.773,327.968 115.92,328.109 Q116.066,328.249 116.066,328.448 Q116.067,328.566 115.985,328.706 Q114.699,331.075 114.151,332.998 Q113.603,334.921 113.606,336.842 Q113.608,338.776 114.162,340.697 Q114.715,342.618 116.008,344.972 Q116.09,345.112 116.09,345.23 Q116.091,345.429 115.944,345.576 Q115.798,345.722 115.587,345.723 Q115.423,345.723 115.282,345.594 Q114.848,345.196 113.861,343.264 Q112.874,341.332 112.497,339.844 Q112.12,338.356 112.117,336.845 z" fill="#333333"/>
-    <path d="M128.65,335.028 Q129.881,335.624 130.51,336.602 Q131.138,337.579 131.14,338.704 Q131.142,340.45 129.831,341.73 Q128.521,343.009 126.646,343.012 Q124.771,343.014 123.456,341.739 Q122.142,340.463 122.14,338.717 Q122.138,337.604 122.764,336.624 Q123.389,335.645 124.63,335.034 Q123.551,334.414 123.058,333.747 Q122.377,332.799 122.376,331.65 Q122.373,330.033 123.62,328.819 Q124.866,327.604 126.624,327.601 Q128.393,327.599 129.637,328.81 Q130.881,330.021 130.883,331.638 Q130.885,332.787 130.207,333.725 Q129.727,334.406 128.65,335.028 z M129.876,331.675 Q129.874,330.409 128.929,329.502 Q127.985,328.596 126.614,328.598 Q125.254,328.599 124.312,329.515 Q123.37,330.43 123.372,331.672 Q123.373,332.821 124.306,333.681 Q125.239,334.541 126.622,334.539 Q128.017,334.537 128.947,333.674 Q129.877,332.812 129.876,331.675 z M130.155,338.729 Q130.153,337.428 129.144,336.469 Q128.135,335.509 126.635,335.512 Q125.135,335.514 124.129,336.476 Q123.122,337.438 123.124,338.727 Q123.126,340.063 124.141,341.046 Q125.156,342.029 126.644,342.027 Q128.133,342.025 129.145,341.039 Q130.157,340.053 130.155,338.729 z" fill="#333333"/>
-    <path d="M145.547,334.067 L145.551,336.504 Q145.555,339.68 144.046,341.534 Q142.864,342.989 141.06,342.991 Q140.193,342.992 139.424,342.648 Q138.656,342.303 138.116,341.683 Q137.776,341.297 137.371,340.442 Q136.965,339.587 136.788,338.872 Q136.517,337.865 136.515,336.517 L136.512,334.08 Q136.507,330.892 138.017,329.038 Q139.198,327.584 141.003,327.581 Q141.882,327.58 142.644,327.924 Q143.406,328.269 143.946,328.889 Q144.298,329.287 144.698,330.142 Q145.097,330.997 145.286,331.7 Q145.545,332.707 145.547,334.067 z M144.563,334.197 Q144.561,332.803 144.167,331.602 Q143.772,330.401 143.279,329.687 Q142.986,329.277 142.516,328.985 Q141.848,328.576 141.016,328.577 Q139.364,328.579 138.428,330.268 Q137.493,331.957 137.497,334.207 L137.5,336.375 Q137.502,337.77 137.896,338.976 Q138.29,340.183 138.795,340.897 Q139.077,341.295 139.546,341.587 Q140.215,342.008 141.058,342.007 Q142.699,342.004 143.634,340.31 Q144.569,338.615 144.566,336.365 z" fill="#333333"/>
-    <path d="M151.721,332.476 L151.723,334.269 Q152.601,333.201 153.608,332.661 Q154.615,332.12 155.986,332.118 Q157.439,332.116 158.67,332.794 Q159.902,333.472 160.577,334.684 Q161.253,335.896 161.255,337.232 Q161.258,339.353 159.742,340.861 Q158.227,342.369 156.012,342.372 Q153.375,342.376 151.732,340.234 L151.74,346.163 L154.131,346.16 Q154.482,346.16 154.635,346.294 Q154.787,346.429 154.788,346.651 Q154.788,346.862 154.636,347.003 Q154.484,347.144 154.132,347.144 L149.433,347.151 Q149.081,347.152 148.929,347.017 Q148.776,346.883 148.776,346.66 Q148.776,346.437 148.928,346.302 Q149.08,346.167 149.431,346.167 L150.756,346.165 L150.738,333.473 L149.413,333.475 Q149.062,333.476 148.909,333.335 Q148.757,333.195 148.757,332.972 Q148.756,332.761 148.908,332.621 Q149.061,332.48 149.412,332.479 z M160.259,337.233 Q160.256,335.534 159.018,334.323 Q157.78,333.112 155.999,333.114 Q154.206,333.117 152.965,334.338 Q151.725,335.558 151.727,337.246 Q151.73,338.945 152.974,340.162 Q154.218,341.379 156.011,341.376 Q157.78,341.374 159.021,340.159 Q160.261,338.944 160.259,337.233 z" fill="#333333"/>
-    <path d="M170.513,337.289 L175.03,341.607 Q175.476,341.606 175.593,341.647 Q175.71,341.688 175.798,341.817 Q175.886,341.946 175.887,342.098 Q175.887,342.309 175.735,342.45 Q175.583,342.591 175.219,342.591 L172.055,342.596 Q171.692,342.596 171.539,342.456 Q171.387,342.315 171.387,342.104 Q171.386,341.882 171.538,341.747 Q171.691,341.612 172.054,341.611 L173.683,341.609 L169.846,337.946 L166.042,341.62 L167.683,341.617 Q168.034,341.617 168.187,341.752 Q168.339,341.886 168.34,342.109 Q168.34,342.32 168.188,342.461 Q168.036,342.601 167.684,342.602 L164.485,342.606 Q164.133,342.607 163.981,342.466 Q163.828,342.326 163.828,342.115 Q163.828,341.963 163.916,341.834 Q164.003,341.705 164.115,341.664 Q164.226,341.622 164.671,341.622 L169.177,337.291 L165.163,333.453 Q164.742,333.454 164.63,333.407 Q164.519,333.36 164.431,333.231 Q164.343,333.103 164.342,332.95 Q164.342,332.739 164.494,332.599 Q164.646,332.458 165.01,332.457 L167.693,332.453 Q168.057,332.453 168.203,332.593 Q168.35,332.734 168.35,332.956 Q168.351,333.167 168.204,333.308 Q168.058,333.449 167.695,333.449 L166.523,333.451 L169.844,336.646 L173.179,333.442 L172.007,333.443 Q171.656,333.444 171.497,333.303 Q171.339,333.163 171.339,332.94 Q171.338,332.729 171.49,332.589 Q171.643,332.448 172.006,332.447 L174.689,332.443 Q175.041,332.443 175.193,332.583 Q175.346,332.724 175.346,332.946 Q175.347,333.087 175.259,333.216 Q175.171,333.345 175.06,333.392 Q174.949,333.439 174.527,333.44 z" fill="#333333"/>
-    <path d="M182.292,339.042 L185.492,339.038 L182.02,345.511 Q181.705,346.098 181.26,346.098 Q180.967,346.099 180.761,345.894 Q180.556,345.689 180.555,345.396 Q180.555,345.279 180.59,345.138 z" fill="#333333"/>
-    <path d="M199.116,327.651 L199.136,341.573 L202.511,341.568 Q202.862,341.568 203.015,341.702 Q203.168,341.837 203.168,342.059 Q203.168,342.27 203.016,342.411 Q202.864,342.552 202.512,342.553 L194.778,342.563 Q194.426,342.564 194.274,342.424 Q194.121,342.283 194.121,342.072 Q194.121,341.85 194.273,341.715 Q194.425,341.58 194.777,341.579 L198.152,341.574 L198.134,329.012 L194.924,330.024 Q194.69,330.095 194.585,330.095 Q194.409,330.095 194.262,329.949 Q194.115,329.803 194.115,329.603 Q194.115,329.428 194.232,329.275 Q194.325,329.181 194.618,329.075 z" fill="#333333"/>
-    <path d="M215.064,334.906 Q216.295,335.502 216.924,336.479 Q217.552,337.457 217.554,338.582 Q217.556,340.328 216.245,341.607 Q214.935,342.887 213.06,342.889 Q211.185,342.892 209.87,341.616 Q208.556,340.341 208.554,338.595 Q208.552,337.481 209.178,336.502 Q209.803,335.523 211.044,334.912 Q209.965,334.292 209.472,333.625 Q208.791,332.676 208.79,331.528 Q208.787,329.911 210.034,328.696 Q211.28,327.482 213.038,327.479 Q214.807,327.477 216.051,328.688 Q217.295,329.899 217.297,331.516 Q217.299,332.664 216.621,333.603 Q216.141,334.283 215.064,334.906 z M216.29,331.553 Q216.288,330.287 215.343,329.38 Q214.399,328.473 213.028,328.475 Q211.668,328.477 210.726,329.392 Q209.784,330.308 209.786,331.55 Q209.787,332.698 210.72,333.558 Q211.653,334.418 213.036,334.417 Q214.43,334.415 215.361,333.552 Q216.291,332.689 216.29,331.553 z M216.569,338.607 Q216.567,337.306 215.558,336.347 Q214.549,335.387 213.049,335.389 Q211.549,335.391 210.543,336.354 Q209.536,337.316 209.538,338.605 Q209.54,339.941 210.555,340.924 Q211.57,341.907 213.058,341.905 Q214.547,341.903 215.559,340.917 Q216.571,339.931 216.569,338.607 z" fill="#333333"/>
-    <path d="M223.732,332.374 L223.735,334.167 Q224.612,333.099 225.619,332.559 Q226.626,332.018 227.997,332.016 Q229.451,332.014 230.682,332.692 Q231.913,333.37 232.589,334.582 Q233.264,335.794 233.266,337.13 Q233.269,339.251 231.754,340.759 Q230.239,342.267 228.024,342.27 Q225.387,342.274 223.743,340.132 L223.752,346.062 L226.142,346.058 Q226.494,346.058 226.646,346.192 Q226.799,346.327 226.799,346.549 Q226.8,346.76 226.647,346.901 Q226.495,347.042 226.144,347.043 L221.444,347.049 Q221.093,347.05 220.94,346.915 Q220.788,346.781 220.788,346.558 Q220.787,346.335 220.939,346.2 Q221.092,346.065 221.443,346.065 L222.767,346.063 L222.749,333.372 L221.425,333.373 Q221.074,333.374 220.921,333.233 Q220.768,333.093 220.768,332.87 Q220.768,332.659 220.92,332.519 Q221.072,332.378 221.424,332.377 z M232.27,337.132 Q232.268,335.432 231.03,334.221 Q229.792,333.01 228.011,333.013 Q226.218,333.015 224.977,334.236 Q223.737,335.456 223.739,337.144 Q223.741,338.843 224.985,340.06 Q226.229,341.277 228.022,341.274 Q229.792,341.272 231.032,340.057 Q232.273,338.842 232.27,337.132 z" fill="#333333"/>
-    <path d="M242.524,337.187 L247.042,341.505 Q247.487,341.504 247.605,341.545 Q247.722,341.586 247.81,341.715 Q247.898,341.844 247.898,341.996 Q247.899,342.207 247.746,342.348 Q247.594,342.489 247.231,342.489 L244.067,342.494 Q243.704,342.494 243.551,342.354 Q243.399,342.213 243.398,342.002 Q243.398,341.78 243.55,341.645 Q243.702,341.51 244.066,341.509 L245.694,341.507 L241.857,337.844 L238.054,341.518 L239.694,341.516 Q240.046,341.515 240.199,341.65 Q240.351,341.784 240.351,342.007 Q240.352,342.218 240.2,342.359 Q240.047,342.499 239.696,342.5 L236.497,342.504 Q236.145,342.505 235.993,342.365 Q235.84,342.224 235.84,342.013 Q235.839,341.861 235.927,341.732 Q236.015,341.603 236.126,341.562 Q236.237,341.52 236.683,341.52 L241.188,337.189 L237.175,333.351 Q236.753,333.352 236.642,333.305 Q236.53,333.258 236.442,333.129 Q236.354,333.001 236.354,332.848 Q236.354,332.637 236.506,332.497 Q236.658,332.356 237.021,332.355 L239.705,332.351 Q240.068,332.351 240.215,332.491 Q240.362,332.632 240.362,332.854 Q240.362,333.065 240.216,333.206 Q240.07,333.347 239.706,333.348 L238.534,333.349 L241.855,336.544 L245.191,333.34 L244.019,333.341 Q243.667,333.342 243.509,333.202 Q243.35,333.061 243.35,332.838 Q243.35,332.628 243.502,332.487 Q243.654,332.346 244.017,332.345 L246.701,332.341 Q247.053,332.341 247.205,332.481 Q247.358,332.622 247.358,332.844 Q247.358,332.985 247.27,333.114 Q247.183,333.243 247.072,333.29 Q246.96,333.337 246.538,333.338 z" fill="#333333"/>
-    <path d="M256.539,336.652 Q256.541,337.999 256.192,339.506 Q255.842,341.012 254.849,343 Q253.856,344.988 253.399,345.387 Q253.259,345.528 253.095,345.528 Q252.884,345.528 252.737,345.382 Q252.59,345.236 252.59,345.036 Q252.59,344.919 252.672,344.778 Q253.957,342.421 254.506,340.498 Q255.054,338.576 255.051,336.654 Q255.048,334.72 254.495,332.799 Q253.941,330.878 252.649,328.513 Q252.566,328.372 252.566,328.255 Q252.566,328.056 252.712,327.915 Q252.859,327.774 253.07,327.774 Q253.234,327.774 253.374,327.902 Q253.809,328.3 254.796,330.232 Q255.783,332.165 256.16,333.652 Q256.537,335.14 256.539,336.652 z" fill="#333333"/>
-    <g>
-      <path d="M551.804,130.616 L717.978,296.79" fill-opacity="0" stroke="#000000" stroke-width="1"/>
-      <path d="M551.804,130.616 L547.561,126.373 M551.097,122.838 L544.026,129.909" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="1"/>
-      <path d="M717.978,296.79 L722.221,301.033 M718.685,304.568 L725.756,297.497" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="1"/>
-    </g>
-    <g>
-      <path d="M721.803,335.295 L693.398,363.7" fill-opacity="0" stroke="#000000" stroke-width="1"/>
-      <path d="M721.803,335.295 L726.046,331.052 M729.581,334.587 L722.51,327.516" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="1"/>
-      <path d="M693.398,363.7 L689.155,367.943 M685.619,364.407 L692.69,371.478" fill-opacity="0" stroke="#000000" stroke-width="1" stroke-opacity="1"/>
-    </g>
-    <text transform="matrix(1, 0, 0, 1, 644.104, 184.5)">
-      <tspan x="-14.402" y="6" font-family="CourierNewPSMT" font-size="24" fill="#000000">40</tspan>
-    </text>
-    <text transform="matrix(1, 0, 0, 1, 722.76, 364.833)">
-      <tspan x="-14.402" y="6" font-family="CourierNewPSMT" font-size="24" fill="#000000">10</tspan>
-    </text>
-    <image xlink:href="data:image/png;base64,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" opacity="1" x="476.746" y="-278.824" width="246.2" height="52.032" preserveAspectRatio="xMidYMid" transform="matrix(0.707, 0.707, -0.707, 0.707, 0, 0)" clip-path="url(#Clip_2)"/>
-    <path d="M497.977,174 L497.977,174 L497.977,174 C499.633,174 500.977,172.657 500.977,171 C500.977,169.343 499.633,168 497.977,168 C497.977,168 497.977,168 497.977,168 L497.977,168 C496.32,168 494.977,169.343 494.977,171 C494.977,172.657 496.32,174 497.977,174 L497.977,174" fill="#000000"/>
-    <text transform="matrix(1, 0, 0, 1, 461.471, 170.5)">
-      <tspan x="-36.006" y="6" font-family="CourierNewPSMT" font-size="24" fill="#000000">(X,Y)</tspan>
-    </text>
-    <path d="M207.5,400.158 L497.977,171" fill-opacity="0" stroke="#656565" stroke-width="1" stroke-dasharray="3,2"/>
-    <path d="M288.208,400.158 L668.5,344.5" fill-opacity="0" stroke="#5A5A5A" stroke-width="1" stroke-dasharray="3,2"/>
-    <text transform="matrix(1, 0, 0, 1, 79.541, 39.608)">
-      <tspan x="-72.048" y="8.5" font-family="HelveticaNeue" font-size="24" fill="#000000">Parent Affine:</tspan>
-    </text>
-    <text transform="matrix(1, 0, 0, 1, 72.425, 170.5)">
-      <tspan x="-64.932" y="8.5" font-family="HelveticaNeue" font-size="24" fill="#000000">Child Affine:</tspan>
-    </text>
-    <text transform="matrix(1, 0, 0, 1, 81.725, 305)">
-      <tspan x="-74.232" y="8.5" font-family="HelveticaNeue" font-size="24" fill="#000000">Child SubTex:</tspan>
-    </text>
-  </g>
-</svg>
diff --git a/content/2014/gothamgo-android/touch.go b/content/2014/gothamgo-android/touch.go
deleted file mode 100644
index 7091c1d..0000000
--- a/content/2014/gothamgo-android/touch.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-
-	"golang.org/x/mobile/app"
-	"golang.org/x/mobile/event"
-	"golang.org/x/mobile/gl"
-)
-
-func main() {
-	app.Run(app.Callbacks{
-		Draw: func() {
-			gl.ClearColor(0, 0, 1, 1) // blue
-			gl.Clear(gl.COLOR_BUFFER_BIT)
-		},
-		Touch: func(e event.Touch) { fmt.Println(e) },
-	})
-}
diff --git a/content/2014/hammers.slide b/content/2014/hammers.slide
deleted file mode 100644
index 04504c0..0000000
--- a/content/2014/hammers.slide
+++ /dev/null
@@ -1,398 +0,0 @@
-Gophers With Hammers
-
-Josh Bleecher Snyder
-PayPal
-josharian@gmail.com
-@offbymany
-
-
-* Go was designed with tools in mind. (Rob Pike)
-
-* Designed with tools in mind
-
-Simple, regular syntax
-Simple semantics
-Batteries included
-
-* Tools everywhere
-
-- go
-- gofmt, goimports
-- godoc
-- go test [-cover] [-race]
-- go vet
-- gofix, gofmt -r, eg
-- oracle
-- golint
-- godep
-
-and more...
-
-* go command
-
-	$ go list -f '{{.Deps}}' bytes
-	[errors io runtime sync sync/atomic unicode unicode/utf8 unsafe]
-
-* gofmt
-
-from
-
-	for{
-	fmt.Println(      "I feel pretty." );
-	       }
-
-to
-
-	for {
-		fmt.Println("I feel pretty.")
-	}
-
-* godoc
-
-	$ godoc strings Repeat
-	func Repeat(s string, count int) string
-	    Repeat returns a new string consisting of count copies of the string s.
-
-* go vet
-
-Oops
-
-	if suffix != ".md" || suffix != ".markdown" {
-
-Flagged
-
-	suspect or: suffix != ".md" || suffix != ".markdown"
-
-* go tool cover -mode=set
-
-	func Repeat(s string, count int) string {
-		b := make([]byte, len(s)*count)
-		bp := 0
-		for i := 0; i < count; i++ {
-			bp += copy(b[bp:], s)
-		}
-		return string(b)
-	}
-
-to
-
-	func Repeat(s string, count int) string {
-		GoCover.Count[0] = 1
-		b := make([]byte, len(s)*count)
-		bp := 0
-		for i := 0; i < count; i++ {
-			GoCover.Count[2] = 1
-			bp += copy(b[bp:], s)
-		}
-		GoCover.Count[1] = 1
-		return string(b)
-	}
-
-* go test -cover
-
-	$ go test -coverprofile=c.out strings
-	ok  	strings	0.455s	coverage: 96.9% of statements
-
-	$ go tool cover -func=c.out
-	strings/reader.go:	Len				66.7%
-	strings/reader.go:	Read				100.0%
-	strings/reader.go:	ReadAt				100.0%
-	strings/reader.go:	ReadByte			100.0%
-	strings/reader.go:	UnreadByte			100.0%
-	strings/reader.go:	ReadRune			100.0%
-	strings/reader.go:	UnreadRune			100.0%
-	strings/reader.go:	Seek				90.9%
-	strings/reader.go:	WriteTo				83.3%
-	...
-	
-	$ go tool cover -html=c.out
-	# opens a browser window, shows line-by-line coverage
-
-
-* Tools to make tools
-
-- text/template
-- go/build
-- go/doc
-- go/format
-- go/{parser,token,ast,printer}
-- go.tools/go/types and friends
-
-and more...
-
-* Hammers are fun!
-
-# Why to write your own tools: Fun, learning, profit
-
-* impl
-
-Generate implementation stubs given an interface.
-
-	go get github.com/josharian/impl
-
-Generate
-
-	$ impl 'f *File' io.Reader
-	func (f *File) Read(p []byte) (n int, err error) {
-	}
-
-from
-
-	package io
-
-	type Reader interface {
-		Read(p []byte) (n int, err error)
-	}
-
-* impl
-
-Generate
-
-	$ impl 'f *File' io.ReadWriter
-	func (f *File) Read(p []byte) (n int, err error) {
-	}
-
-	func (f *File) Write(p []byte) (n int, err error) {
-	}
-
-from
-
-	package io
-
-	type ReadWriter interface {
-		Reader
-		Writer
-	}
-
-* impl
-
-Generate
-
-	$ impl 'c *Ctx' http.Handler
-	func (c *Ctx) ServeHTTP(http.ResponseWriter, *http.Request) {
-	}
-
-from
-
-	package http
-
-	type Handler interface {
-		ServeHTTP(ResponseWriter, *Request)
-	}
-
-* Plan
-
-*Find*import*path*and*interface*name*
-
-	http.Handler ⇒ net/http, Handler
-
-Parse interface
-
-	net/http, Handler ⇒ {{"ServeHTTP", {{"", "http.ResponseWriter"}, {"", "*http.Request"}}, {}}}}
-
-Generate output
-
-	{{"ServeHTTP", {{"", "http.ResponseWriter"}, {"", "*http.Request"}}, {}}}} ⇒ profit!
-
-* goimports ftw
-
-	import "golang.org/x/tools/imports"
-
-.play hammers/importpath.go /func main/,/^}/
-
-* Hello, AST
-
-    *ast.File {
-    .  Package: 1:1
-    .  Name: *ast.Ident {
-    .  .  NamePos: 1:9
-    .  .  Name: "hack"
-    .  }
-    .  Decls: []ast.Decl (len = 2) {
-    .  .  0: *ast.GenDecl {
-    .  .  .  TokPos: 1:15
-    .  .  .  Tok: import
-    .  .  .  Lparen: -
-    .  .  .  Specs: []ast.Spec (len = 1) {
-    .  .  .  .  0: *ast.ImportSpec {
-    .  .  .  .  .  Path: *ast.BasicLit {
-    .  .  .  .  .  .  ValuePos: 1:22
-    .  .  .  .  .  .  Kind: STRING
-    .  .  .  .  .  .  Value: "\"net/http\""
-    .  .  .  .  .  }
-
-[truncated]
-
-
-* Extract the import path
-
-	import (
-		"go/parser"
-		"go/token"
-	)
-
-.play hammers/extractpath.go /func main/,/^}/
-
-* Extract the interface name
-
-	import "go/ast"
-
-.play hammers/extractiface.go /func main/,/^}/
-
-A `GenDecl` can have many `Specs`
-
-	var (
-		r io.Reader
-		w io.Writer
-	)
-
-* Plan
-
-Find import path and interface name
-
-	http.Handler ⇒ net/http, Handler
-
-*Parse*interface*
-
-	net/http, Handler ⇒ {{"ServeHTTP", {{"", "http.ResponseWriter"}, {"", "*http.Request"}}, {}}}}
-
-Generate output
-
-	{{"ServeHTTP", {{"", "http.ResponseWriter"}, {"", "*http.Request"}}, {}}}} ⇒ profit!
-
-* Data structures
-
-Represent
-
-	Read(p []byte) (n int, err error)
-
-as
-
-	Func{
-		Name:   "Read",
-		Params: []Param{{Name: "p", Type: "[]byte"}},
-		Res: []Param{
-			{Name: "n", Type: "int"},
-			{Name: "err", Type: "error"},
-		},
-	},
-
-* Data structures
-
-.code hammers/types.go /type Func/,/^}/
-.code hammers/types.go /type Param/,/^}/
-
-* Find the code
-
-	import "go/build"
-
-.play hammers/findthecode.go /func main/,/^}/
-
-* Find the interface declaration
-
-	import "go/printer"
-
-.play hammers/findtheifacedecl.go /func main/,/^}/
-
-* Extract function names
-
-No name? It's an embedded interface. Recurse.
-
-	type ByteScanner interface {
-	    ByteReader
-	    UnreadByte() error
-	}
-
-* Extract params and results
-
-No name? Just use `""`.
-
-	type ByteWriter interface {
-	    WriteByte(c byte) error
-	}
-
-* Qualify types
-
-Types can be arbitrarily complicated.
-
-	type CrazyGopher interface {
-		CrazyGoph(int) func(chan<- [32]byte, map[string]int64) ([]rune, error)
-	}
-
-And we need to rewrite some of them.
-
-	int ⇒ int
-	*Request ⇒ *http.Request
-	io.Reader ⇒ io.Reader
-	func(io.Reader, chan map[S][]*T) ⇒ func(io.Reader, chan map[foo.S][]*foo.T))
-
-* Qualify types
-
-.play hammers/fulltype.go /func main/,/end main/
-
-* Plan
-
-Find import path and interface name
-
-	http.Handler ⇒ net/http, Handler
-
-Parse interface
-
-	net/http, Handler ⇒ {{"ServeHTTP", {{"", "http.ResponseWriter"}, {"", "*http.Request"}}, {}}}}
-
-*Generate*output*
-
-	{{"ServeHTTP", {{"", "http.ResponseWriter"}, {"", "*http.Request"}}, {}}}} ⇒ profit!
-
-* Method type
-
-.code hammers/types.go /type Method/,/^}/
-.code hammers/types.go /type Func/,/^}/
-.code hammers/types.go /type Param/,/^}/
-
-* Use text/template
-
-.play hammers/codegen.go /func main/,/^}/
-
-# Don't generate an AST. It's a lot of work, and Go is its own DSL.
-
-* Ugly is ok
-
-	import "go/format"
-
-.play hammers/format.go /func main/,/^}/
-
-* Great success
-
-Full code plus tests at `github.com/josharian/impl`
-
-* Tips
-
-Use `go`get`-d` to download lots of code from `godoc.org/-/index`. (Don't forget to set a temporary `GOPATH`!)
-
-Use (and improve) `github.com/yuroyoro/goast-viewer`.
-
-You don't have to generate all the code. And generating data is even better.
-
-The `go/ast` docs are your friend.
-
-`go.tools/go/types` is powerful.
-
-`go`generate` is coming.
-
-
-* Nails!
-
-- Break up long strings
-- Enums and flags to Stringers
-- Dynamic code analysis
-- Vet checks
-- Reflect ⇒ codegen
-- Convention-based http dispatch
-- Detect "last line" copy/paste bugs
-- AST-aware diff, merge, blame; automated fork analysis
-- Machine learning models of ASTs: anomaly detection, bug-prone code detection
-- Code fingerprinting
-- Examine usage patterns
-- Compiler stress tests
-
diff --git a/content/2014/hammers/codegen.go b/content/2014/hammers/codegen.go
deleted file mode 100644
index e0180cc..0000000
--- a/content/2014/hammers/codegen.go
+++ /dev/null
@@ -1,45 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"os"
-	"text/template"
-)
-
-func main() {
-	const stub = "func ({{.Recv}}) {{.Name}}" +
-		"({{range .Params}}{{.Name}} {{.Type}}, {{end}})" +
-		"({{range .Res}}{{.Name}} {{.Type}}, {{end}})" +
-		"{\n}\n\n"
-	tmpl := template.Must(template.New("test").Parse(stub))
-
-	m := Method{
-		Recv: "f *File",
-		Func: Func{
-			Name: "Close",
-			Res:  []Param{{Type: "error"}},
-		},
-	}
-
-	tmpl.Execute(os.Stdout, m)
-}
-
-// Method represents a method signature.
-type Method struct {
-	Recv string
-	Func
-}
-
-// Func represents a function signature.
-type Func struct {
-	Name   string
-	Params []Param
-	Res    []Param
-}
-
-// Param represents a parameter in a function or method signature.
-type Param struct {
-	Name string
-	Type string
-}
diff --git a/content/2014/hammers/extractiface.go b/content/2014/hammers/extractiface.go
deleted file mode 100644
index 9086205..0000000
--- a/content/2014/hammers/extractiface.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"fmt"
-	"go/ast"
-	"go/parser"
-	"go/token"
-)
-
-func main() {
-	src := `package hack; import "net/http"; var i http.Handler`
-	f, _ := parser.ParseFile(token.NewFileSet(), "", src, 0)
-
-	decl := f.Decls[1].(*ast.GenDecl)      // var i http.Handler
-	spec := decl.Specs[0].(*ast.ValueSpec) // i http.Handler
-	sel := spec.Type.(*ast.SelectorExpr)   // http.Handler
-	id := sel.Sel.Name                     // Handler
-	fmt.Println(id)
-}
diff --git a/content/2014/hammers/extractpath.go b/content/2014/hammers/extractpath.go
deleted file mode 100644
index d8002bc..0000000
--- a/content/2014/hammers/extractpath.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"fmt"
-	"go/parser"
-	"go/token"
-	"strconv"
-)
-
-func main() {
-	src := `package hack; import "net/http"; var i http.Handler`
-
-	fset := token.NewFileSet()
-	f, _ := parser.ParseFile(fset, "", src, 0)
-
-	raw := f.Imports[0].Path.Value
-	path, _ := strconv.Unquote(raw)
-	fmt.Println(raw, "\n", path)
-}
diff --git a/content/2014/hammers/findthecode.go b/content/2014/hammers/findthecode.go
deleted file mode 100644
index 95b12ac..0000000
--- a/content/2014/hammers/findthecode.go
+++ /dev/null
@@ -1,14 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"fmt"
-	"go/build"
-)
-
-func main() {
-	pkg, _ := build.Import("net/http", "", 0) // HL
-	fmt.Println(pkg.Dir)
-	fmt.Println(pkg.GoFiles)
-}
diff --git a/content/2014/hammers/findtheifacedecl.go b/content/2014/hammers/findtheifacedecl.go
deleted file mode 100644
index 15cfcf6..0000000
--- a/content/2014/hammers/findtheifacedecl.go
+++ /dev/null
@@ -1,51 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"go/ast"
-	"go/build"
-	"go/parser"
-	"go/printer"
-	"go/token"
-	"os"
-	"path/filepath"
-)
-
-func main() {
-	fset, files := parsePackage("net/http")
-	id := "Handler"
-
-	for _, f := range files {
-		for _, decl := range f.Decls {
-			decl, ok := decl.(*ast.GenDecl)
-			if !ok || decl.Tok != token.TYPE {
-				continue
-			}
-			for _, spec := range decl.Specs {
-				spec := spec.(*ast.TypeSpec)
-				if spec.Name.Name == id {
-					printer.Fprint(os.Stdout, fset, spec) // HL
-				}
-			}
-		}
-	}
-}
-
-func parsePackage(path string) (*token.FileSet, []*ast.File) {
-	pkg, err := build.Import(path, "", 0)
-	if err != nil {
-		panic(err)
-	}
-
-	fset := token.NewFileSet()
-	var files []*ast.File
-	for _, file := range pkg.GoFiles {
-		f, err := parser.ParseFile(fset, filepath.Join(pkg.Dir, file), nil, 0)
-		if err != nil {
-			continue
-		}
-		files = append(files, f)
-	}
-	return fset, files
-}
diff --git a/content/2014/hammers/format.go b/content/2014/hammers/format.go
deleted file mode 100644
index 45e5d49..0000000
--- a/content/2014/hammers/format.go
+++ /dev/null
@@ -1,15 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"fmt"
-	"go/format"
-)
-
-func main() {
-	ugly := `func (f *File) Read(p []byte, )(n int, err error, ){}`
-	fmt.Println(ugly)
-	pretty, _ := format.Source([]byte(ugly)) // HL
-	fmt.Println(string(pretty))
-}
diff --git a/content/2014/hammers/fulltype.go b/content/2014/hammers/fulltype.go
deleted file mode 100644
index 80d4ffd..0000000
--- a/content/2014/hammers/fulltype.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"fmt"
-	"go/ast"
-	"go/parser"
-	"go/token"
-)
-
-func main() {
-	src := `
-package http
-type Handler interface {
-	ServeHTTP(ResponseWriter, *Request)
-}
-`
-	f, _ := parser.ParseFile(token.NewFileSet(), "", src, 0)
-	typ := f.Decls[0].(*ast.GenDecl).Specs[0].(*ast.TypeSpec).Type.(*ast.InterfaceType)
-	fndecl := typ.Methods.List[0].Type.(*ast.FuncType)
-	// fndecl: (ResponseWriter, *Request)
-
-	ast.Inspect(fndecl, func(n ast.Node) bool { // HL
-		if ident, ok := n.(*ast.Ident); ok {
-			fmt.Println(ident.Name)
-		}
-		return true
-	})
-}
-
-// end main // OMIT
diff --git a/content/2014/hammers/importpath.go b/content/2014/hammers/importpath.go
deleted file mode 100644
index c321ec0..0000000
--- a/content/2014/hammers/importpath.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"fmt"
-
-	"golang.org/x/tools/imports"
-)
-
-func main() {
-	iface := "http.Handler"
-	src := "package hack; var i " + iface // HL
-	fmt.Println(src, "\n---")
-
-	imp, _ := imports.Process("", []byte(src), nil) // HL
-	// ignoring errors throughout this presentation
-	fmt.Println(string(imp))
-}
diff --git a/content/2014/hammers/types.go b/content/2014/hammers/types.go
deleted file mode 100644
index f7aef4c..0000000
--- a/content/2014/hammers/types.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// +build ignore
-
-package main
-
-// Method represents a method signature.
-type Method struct {
-	Recv string
-	Func
-}
-
-// Func represents a function signature.
-type Func struct {
-	Name   string
-	Params []Param
-	Res    []Param
-}
-
-// Param represents a parameter in a function or method signature.
-type Param struct {
-	Name string
-	Type string
-}
diff --git a/content/2014/hellogophers.slide b/content/2014/hellogophers.slide
deleted file mode 100644
index 4a6daf1..0000000
--- a/content/2014/hellogophers.slide
+++ /dev/null
@@ -1,531 +0,0 @@
-Hello, Gophers!
-Gophercon Opening Keynote
-24 Apr 2014
-
-Rob Pike
-Google, Inc.
-@rob_pike
-http://golang.org/s/plusrob
-http://golang.org
-
-* Video
-
-A video of this talk was recorded at GopherCon in Denver.
-
-.link https://www.youtube.com/watch?v=VoS7DsT1rdM Watch the talk on YouTube
-
-
-* Hello, gophers!
-
-.image hellogophers/gophers.jpg 500 750
-
-* Hello, gophers!
-
-.play hellogophers/hellogophers.go
-
-* History
-
-This is a historic occasion.
-
-Go has achieved a level of success worthy of a conference.
-
-* Success
-
-Many factors contribute to that success.
-
-- features
-- lack of features
-- combination of features
-- design
-- people
-- time
-
-* Case study
-
-A look back, focusing on code.
-
-* Two programs
-
-A close look at two programs.
-
-First is the first Go program _you_ ever saw. Historic for you.
-Second is the first Go program _we_ ever saw. Historic for all gophers.
-
-First up: "hello, world".
-
-* hello.b
-
-.code hellogophers/hello.b
-
-First appeared in a 1972 B tutorial by Brian W. Kernighan.
-(Not, as sometimes claimed, a few years earlier in BCPL.)
-
-* hello.c
-
-.code hellogophers/hello.c
-
-First appeared in
-_Programming_in_C:_A_Tutorial_, by Brian W. Kernighan, 1974.
-Came as a document with Unix v5.
-
-* hello.c
-
-.code hellogophers/helloKnR.c
-
-First appeared in
-_The_C_Programming_Language_, by Brian W. Kernighan and Dennis M. Ritchie, 1978.
-
-* hello.c, Draft ANSI C
-
-.code hellogophers/helloDraftAnsi.c
-
-Appeared in
-_The_C_Programming_Language_, _Second_Edition_, (Based on Draft-Proposed ANSI C)
-by Brian W. Kernighan and Dennis M. Ritchie, 1988.
-
-* hello.c, ANSI C89
-
-.code hellogophers/helloAnsi.c
-
-Appeared in
-_The_C_Programming_Language_, _Second_Edition_, round two,
-by Brian W. Kernighan and Dennis M. Ritchie, 1988.
-
-"You've gotta put a void THERE?" -Ken Thompson
-
-* A generation or two later...
-
-(Skipping all the intermediate languages.)
-
-Go discussions start in late 2007.
-
-Specification first drafted in March 2008.
-For experimentation and prototyping, compiler work already underway.
-Initially generated C output.
-Once the specification arose, compiler rewritten to generate native code.
-
-* hello.go, June 6, 2008
-
-.code hellogophers/hello_20080606.go
-
-First checked-in test.
-The `print` builtin is all we have, and `main` returns an `int`.
-Note: no parentheses on `print`.
-
-* hello.go, June 27, 2008
-
-.code hellogophers/hello_20080627.go
-
-When `main` returns, the program calls `exit(0)`.
-
-* hello.go, August 11, 2008
-
-.play hellogophers/hello_20080811.go
-
-Parentheses now required: `print` now a function not a primitive.
-
-* hello.go, October 24, 2008
-
-.code hellogophers/hello_20081024.go
-
-The "printf as we know and love it" goes in.
-(The test still uses `print` not `printf`; we've switched examples here.)
-
-* hello.go, January 15, 2009
-
-.play hellogophers/hello_20090115.go
-
-Upper case for export. "Casification."
-
-* hello.go, Dec 11, 2009
-
-.play hellogophers/hello_20091211.go
-
-No more semicolons.
-A major change that occurs _after_ the open source release (Nov 10, 2009).
-
-The current version.
-
-It took us a while to get here (32 years!).
-
-A lot of history.
-
-* Not just C
-
-We "started with C" but Go is profoundly different.
-Some of the languages that influenced and informed the design of Go:
-
-C: statement and expression syntax
-Pascal: declaration syntax
-Modula 2, Oberon 2: packages
-CSP, Occam, Newsqueak, Limbo, Alef: concurrency
-BCPL: the semicolon rule
-Smalltalk: methods
-Newsqueak: `<-`, `:=`
-APL: `iota`
-
-And others. Also some was invented whole: `defer`, constants, for instance.
-
-Plus lessons good and bad from all those plus:
-C++, C#, Java, JavaScript, LISP, Python, Scala, ...
-
-* hello.go, Go version 1
-
-Which brings us to today.
-
-.play hellogophers/hello.go
-
-Let's dig deeper, break this down.
-
-* Hello, world in 16 tokens
-
-`package`
-`main`
-`import`
-`"fmt"`
-`func`
-`main`
-`(`
-`)`
-`{`
-`fmt`
-`.`
-`Println`
-`(`
-`"Hello,`Gophers`(some`of`whom`know`日本語)!"`
-`)`
-`}`
-
-* package
-
-Major topic in early design discussions: Key to scalability.
-
-What is a package? Ideas from Modula-2 etc.
-Why are there packages?
-Hold all the information you need to build.
-No circular dependencies (imports).
-No subpackages.
-Separation of package name and package path.
-Visibility is package-level, not type-level.
-Within a package, you have the whole language, outside only what you permit.
-	
-* main
-
-One place where C  legacy shows through.
-Was originally `Main` for some forgotten reason.
-`Main` package, `main` function.
-Special because the root of the initialization tree.
-
-* import
-
-Mechanism for loading a package.
-Implemented by the compiler (as opposed to a text processor).
-Worked hard to make it efficient and linear.
-Imports a package, not a set of identifiers.
-
-As for export: It used to be a keyword.
-
-* "fmt"
-
-Package path is just a string, not a list of identifiers.
-Allows the language to avoid defining what it means—adaptability.
-From the beginning wanted a URL as an option.
-Allows for future growth.
-
-* func
-A keyword introduces functions (and types, variables, constants) for easy parsing.
-Easy parsing is important with function literals (closures).
-
-By the way, keyword was originally `function`.
-
-* Aside: Mail thread from February 6, 2008
-
-From: Ken Thompson <ken@google.com>
-To: gri, r
-
-larry and sergey came by tonight. we
-talked about go for more than an hour.
-they both said they liked it very much.
-
-p.s. one of larrys comments was "why isnt function spelled func?"
-
----
-
-From: Rob Pike <r@google.com>
-To: ken, gri
-
-fine with me.  seems compatible with 'var'.
-
-anyway we can always say, "larry said to call it 'func'"
-
-* main
-
-Where program starts... except it isn't.
-Separation of initialization from normal execution, long planned.
-Where does initialization happen?
-Feeds back to package design.
-
-* ()
-
-Look Ma, no `void`.
-No return value for `main`: handled by runtime.
-No function args (command line is in `os` package).
-No return value.
-
-Return values and syntax.
-
-* {
-
-Braces not spaces.
-And not square brackets.
-Why is the newline after the brace?
-
-* fmt
-
-All imported identifiers are _qualified_ by their import.
-_Every_ identifier is either local to package or func, or qualified by type or import.
-Profound effect on readability.
-
-Why `fmt` not `format`?
-
-* .
-
-How many uses are there in Go for a period token? (Lots.)
-The meaning of `a.B` requires using the type system.
-But it is clear to humans and very easy to read.
-
-Autopromotion of pointers (no `->` operator).
-
-* Println
-
-`Println` not `println`: capitals for export.
-Always knew it would be reflection-driven. (Safety, formatless printing.)
-Variadic functions.
-Argument type was `(...)`; became `(...interface{})` on Feb 1, 2010.
-
-* (
-
-Traditional function syntax.
-
-* "Hello, Gophers (some of whom know 日本語)!"
-
-UTF-8 input source, so strings as literals are UTF-8 automatically.
-But what is a string?
-One of the first things written in the specification, hardly changed today.
-
-.link http://blog.golang.org/strings
-
-* )
-
-No semicolon.
-Semicolons went away shortly after release.
-Much futzing around to try to cull them in early days.
-Eventually accepted the BCPL approach.
-
-* }
-
-Done.
-
-* Aside: Not discussed
-
-- types
-- constants
-- methods
-- interfaces
-- libraries
-- memory management
-- concurrency (coming up)
-
-Plus tools, ecosystem, community, ...:
-Language is central but only part of the story.
-
-* Success
-
-Factors:
-
-- building on history
-- building on experience
-- process of design
-- early ideas refined into final approach
-- concentrated effort by a small dedicated team
-
-Finally: Commitment.
-
-Go 1.0 locked down the language and libraries.
-
-* Another round
-
-Now watch similar evolution of a second program.
-
-* Problem: Prime sieve
-
-Problem specification from
-_Communicating_Sequential_Processes_, by C. A. R. Hoare, 1978
-
-"Problem: To print in ascending order all primes less than 
-10000. Use an array of processes, SIEVE, in which each 
-process inputs a prime from its predecessor and prints it. 
-The process then inputs an ascending stream of numbers 
-from its predecessor and passes them on to its successor, 
-suppressing any that are multiples of the original prime. "
-
-* Solution
-
-Defined in the 1978 CSP paper.
-(Note: not the sieve of Eratosthenes.)
-
-"This beautiful solution was contributed by David Gries."
-
-* CSP
-
-In Hoare's 1978 CSP paper
-
-.code hellogophers/sieve.csp
-
-No channels, just processes so number of primes is fixed by program.
-
-* Newsqueak
-
-_circa_ 1988.
-Language by Rob Pike, program by Tom Cargill via Doug McIlroy.
-
-Uses channels, so length of run is programmable.
-(Where did the idea of channels come from?)
-
-.code hellogophers/sieve.newsqueak 1,/BREAK/
-
-* Newsqueak (cont'd)
-
-.code hellogophers/sieve.newsqueak /BREAK/,$
-
-* sieve.go, March 5, 2008
-
-First version in a Go specification, probably the second non-trivial program written.
-`>` to send, `<` to receive. Channels are pointers. `Main` is capitalized.
-
-.code hellogophers/sieve_20080305.go 1,/BREAK/
-
-* sieve.go, March 5, 2008 (cont'd)
-
-.code hellogophers/sieve_20080305.go /BREAK/,$
-
-* sieve.go, July 22, 2008
-
-`-<` to send, `<-` to receive. Channels still pointers. Now `main` not capitalized.
-
-.code hellogophers/sieve_20080722.go 1,/BREAK/
-
-* sieve.go, July 22, 2008 (cont'd)
-
-.code hellogophers/sieve_20080722.go /BREAK/,$
-
-* sieve.go, September 17, 2008
-
-Communication operators now prefix and postfix  `<-`. Channels still pointers.
-
-.code hellogophers/sieve_20080917.go 1,/BREAK/
-
-* sieve.go, September 17, 2008 (cont'd)
-
-.code hellogophers/sieve_20080917.go /BREAK/,$
-
-* sieve.go, January 6, 2009
-
-The `make` builtin arrives. No pointers. Code wrong! (One `*` left, bad argument types.)
-
-.code hellogophers/sieve_20090106.go 1,/BREAK/
-
-* sieve.go, January 6, 2009 (cont'd)
-
-.code hellogophers/sieve_20090106.go /BREAK/,$
-
-* sieve.go, September 25, 2009
-
-First correct modern version. Also: capitalization gone. Uses `fmt`.
-
-.play hellogophers/sieve_20090925.go 1,/BREAK/
-
-* sieve.go, September 25, 2009 (cont'd)
-
-.play hellogophers/sieve_20090925.go  /BREAK/,$
-
-* sieve.go, December 10,  2009
-
-Semicolons gone. Program as it is today.
-
-.play hellogophers/sieve.go 1,/BREAK/
-
-* sieve.go, December 10,  2009 (cont'd)
-
-.play hellogophers/sieve.go /BREAK/,$
-
-"This beautiful solution was contributed by a decades-long process of design."
-
-* Aside: Not discussed
-
-- `select`
-
-The core connector for real concurrent applications. (A fact not always appreciated).
-Origins in Dijkstra's guarded commands.
-Made truly concurrent in Hoare's CSP.
-Refined through Newsqueak, Alef, Limbo, and other routes.
-
-Go's version specified on March 26, 2008.
-Simplifications, clarifications, syntactic considerations.
-
-* Stability
-
-Sieve program unchanged since late 2009—stability!
-
-Open source systems are not always dependably compatible and stable.
-
-Go is.
-
-This is a very important reason for Go's success.
-
-* Trends
-
-Graphs in usage metrics show knee in curve at Go 1.0 release.
-
-.image hellogophers/trends.png
-
-* Success
-
-The factors for Go's success?
-
-Obvious: Features and tools.
-
-- concurrency
-- garbage collection
-- efficient implementation
-- static types but dynamic feel
-- rich but limited standard library
-- tooling (and the factors that make it possible)
-- `gofmt`
-- programming in the large
-
-* Success
-
-Less obvious: process.
-
-- focus on the original goals
-- concentrated development followed by freeze
-- consensus of a small core team
-- vital contributions from a community that "gets it"
-- rich ecosystem generated as a consequence
-
-In short, an open source community that shares our mission,
-coupled to a language designed for today's world.
-
-* Fitness to purpose
-
-From _Go:_the_emerging_language_of_cloud_infrastructure_ by Donnie Berkholz, March 2014.
-[[http://golang.org/s/emerging]]
-
-.image hellogophers/emerging.png
-
-* The future
-
-This is where you come in!
-
-.image hellogophers/gophers.jpg 500 750
diff --git a/content/2014/hellogophers/emerging.png b/content/2014/hellogophers/emerging.png
deleted file mode 100644
index 8d82b97..0000000
--- a/content/2014/hellogophers/emerging.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/hellogophers/gophers.jpg b/content/2014/hellogophers/gophers.jpg
deleted file mode 100644
index ac88bfc..0000000
--- a/content/2014/hellogophers/gophers.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/hellogophers/hello.b b/content/2014/hellogophers/hello.b
deleted file mode 100644
index 05c4140..0000000
--- a/content/2014/hellogophers/hello.b
+++ /dev/null
@@ -1,7 +0,0 @@
-main( ) {
-	extrn a, b, c;
-	putchar(a); putchar(b); putchar(c); putchar('!*n');
-}
-a 'hell';
-b 'o, w';
-c 'orld';
diff --git a/content/2014/hellogophers/hello.c b/content/2014/hellogophers/hello.c
deleted file mode 100644
index 5144cb4..0000000
--- a/content/2014/hellogophers/hello.c
+++ /dev/null
@@ -1,4 +0,0 @@
-main()
-{
-	printf("hello, world");
-}
diff --git a/content/2014/hellogophers/hello.go b/content/2014/hellogophers/hello.go
deleted file mode 100644
index bc7194a..0000000
--- a/content/2014/hellogophers/hello.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Println("Hello, Gophers (some of whom know 日本語)!")
-}
diff --git a/content/2014/hellogophers/helloAnsi.c b/content/2014/hellogophers/helloAnsi.c
deleted file mode 100644
index 1aed89f..0000000
--- a/content/2014/hellogophers/helloAnsi.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-main(void)
-{
-	printf("hello, world\n");
-}
diff --git a/content/2014/hellogophers/helloDraftAnsi.c b/content/2014/hellogophers/helloDraftAnsi.c
deleted file mode 100644
index 8626b30..0000000
--- a/content/2014/hellogophers/helloDraftAnsi.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-main()
-{
-	printf("hello, world\n");
-}
diff --git a/content/2014/hellogophers/helloKnR.c b/content/2014/hellogophers/helloKnR.c
deleted file mode 100644
index eaab7bb..0000000
--- a/content/2014/hellogophers/helloKnR.c
+++ /dev/null
@@ -1,4 +0,0 @@
-main()
-{
-	printf("hello, world\n");
-}
diff --git a/content/2014/hellogophers/hello_20080606.go b/content/2014/hellogophers/hello_20080606.go
deleted file mode 100644
index 57907c5..0000000
--- a/content/2014/hellogophers/hello_20080606.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-func main() int {
-	print "hello, world\n";
-	return 0;
-}
diff --git a/content/2014/hellogophers/hello_20080627.go b/content/2014/hellogophers/hello_20080627.go
deleted file mode 100644
index 3dcd8cd..0000000
--- a/content/2014/hellogophers/hello_20080627.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-func main() {
-	print "hello, world\n";
-}
diff --git a/content/2014/hellogophers/hello_20080811.go b/content/2014/hellogophers/hello_20080811.go
deleted file mode 100644
index 68219ca..0000000
--- a/content/2014/hellogophers/hello_20080811.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-func main() {
-	print("hello, world\n");
-}
diff --git a/content/2014/hellogophers/hello_20081024.go b/content/2014/hellogophers/hello_20081024.go
deleted file mode 100644
index a2a465c..0000000
--- a/content/2014/hellogophers/hello_20081024.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.printf("hello, world\n");
-}
diff --git a/content/2014/hellogophers/hello_20090115.go b/content/2014/hellogophers/hello_20090115.go
deleted file mode 100644
index b24b288..0000000
--- a/content/2014/hellogophers/hello_20090115.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Printf("hello, world\n");
-}
diff --git a/content/2014/hellogophers/hello_20091211.go b/content/2014/hellogophers/hello_20091211.go
deleted file mode 100644
index 270d531..0000000
--- a/content/2014/hellogophers/hello_20091211.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Printf("hello, world\n")
-}
diff --git a/content/2014/hellogophers/hellogophers.go b/content/2014/hellogophers/hellogophers.go
deleted file mode 100644
index e333438..0000000
--- a/content/2014/hellogophers/hellogophers.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Printf("Hello, gophers!\n")
-}
diff --git a/content/2014/hellogophers/sieve.csp b/content/2014/hellogophers/sieve.csp
deleted file mode 100644
index 0618cf6..0000000
--- a/content/2014/hellogophers/sieve.csp
+++ /dev/null
@@ -1,15 +0,0 @@
-[SIEVE(i:1..100):: 
-    p,mp:integer; 
-    SIEVE(i - 1)?p; 
-    print!p; 
-    mp := p; comment mp is a multiple of p; 
-*[m:integer; SIEVE(i - 1)?m →
-    *[m > mp → mp := mp + p]; 
-    [m = mp → skip 
-    ||m < mp → SIEVE(i + 1)!m 
-]   ] 
-||SIEVE(0)::print!2; n:integer; n := 3; 
-    *[n < 10000 → SIEVE(1)!n; n := n + 2] 
-||SIEVE(101)::*[n:integer;SIEVE(100)?n → print!n] 
-||print::*[(i:0..101) n:integer; SIEVE(i)?n → ...] 
-] 
diff --git a/content/2014/hellogophers/sieve.go b/content/2014/hellogophers/sieve.go
deleted file mode 100644
index 65e97af..0000000
--- a/content/2014/hellogophers/sieve.go
+++ /dev/null
@@ -1,39 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-// Send the sequence 2, 3, 4, … to channel 'ch'.
-func generate(ch chan<- int) {
-	for i := 2; ; i++ {
-		ch <- i  // Send 'i' to channel 'ch'.
-	}
-}
-
-// Copy the values from channel 'src' to channel 'dst',
-// removing those divisible by 'prime'.
-func filter(src <-chan int, dst chan<- int, prime int) {
-	for i := range src {  // Loop over values received from 'src'.
-		if i%prime != 0 {
-			dst <- i  // Send 'i' to channel 'dst'.
-		}
-	}
-}
-// BREAK OMIT
-// The prime sieve: Daisy-chain filter processes together.
-func sieve() {
-	ch := make(chan int)  // Create a new channel.
-	go generate(ch)       // Start generate() as a subprocess.
-	for {
-		prime := <-ch
-		fmt.Print(prime, "\n")
-		ch1 := make(chan int)
-		go filter(ch, ch1, prime)
-		ch = ch1
-	}
-}
-
-func main() {
-	sieve()
-}
diff --git a/content/2014/hellogophers/sieve.newsqueak b/content/2014/hellogophers/sieve.newsqueak
deleted file mode 100755
index 688f352..0000000
--- a/content/2014/hellogophers/sieve.newsqueak
+++ /dev/null
@@ -1,31 +0,0 @@
-counter:=prog(end: int, c: chan of int)
-{
-	i:int;
-	for(i=2; i<end; i++)
-		c<-=i;
-};
-
-filter:=prog(prime: int, listen: chan of int, send: chan of int)
-{
-	i:int;
-	for(;;)
-		if((i=<-listen)%prime)
-			send<-=i;
-};
-# BREAK OMIT
-sieve:=prog(c: chan of int)
-{
-	for(;;){
-		prime:=<-c;
-		print(prime, " ");
-		newc:=mk(chan of int);
-		begin filter(prime, c, newc);
-		c=newc;
-	}
-};
-
-count:=mk(chan of int);
-
-begin counter(10000, count);
-begin sieve(count);
-"";
diff --git a/content/2014/hellogophers/sieve_20080305.go b/content/2014/hellogophers/sieve_20080305.go
deleted file mode 100644
index 1b0b170..0000000
--- a/content/2014/hellogophers/sieve_20080305.go
+++ /dev/null
@@ -1,38 +0,0 @@
-// +build ignore,OMIT
-
-package Main
-
-// Send the sequence 2, 3, 4, ... to channel 'ch'.
-func Generate(ch *chan> int) {
-	for i := 2; ; i++ {
-		>ch = i;	// Send 'i' to channel 'ch'.
-	}
-}
-
-// Copy the values from channel 'in' to channel 'out',
-// removing those divisible by 'prime'.
-func Filter(in *chan< int, out *chan> int, prime int) {
-	for ; ; {
-		i := <in;	// Receive value of new variable 'i' from 'in'.
-		if i % prime != 0 {
-			>out = i;	// Send 'i' to channel 'out'.
-		}
-	}
-}
-// BREAK OMIT
-// The prime sieve: Daisy-chain Filter processes together.
-func Sieve() {
-	ch := new(chan int);  // Create a new channel.
-	go Generate(ch);      // Start Generate() as a subprocess.
-	for ; ; {
-		prime := <ch;
-		printf("%d\n", prime);
-		ch1 := new(chan int);
-		go Filter(ch, ch1, prime);
-		ch = ch1;
-	}
-}
-
-func Main() {
-	Sieve();
-}
diff --git a/content/2014/hellogophers/sieve_20080722.go b/content/2014/hellogophers/sieve_20080722.go
deleted file mode 100644
index c4e1647..0000000
--- a/content/2014/hellogophers/sieve_20080722.go
+++ /dev/null
@@ -1,38 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-// Send the sequence 2, 3, 4, ... to channel 'ch'.
-func Generate(ch *chan-< int) {
-	for i := 2; ; i++ {
-		ch -< i	// Send 'i' to channel 'ch'.
-	}
-}
-
-// Copy the values from channel 'in' to channel 'out',
-// removing those divisible by 'prime'.
-func Filter(in *chan<- int, out *chan-< int, prime int) {
-	for {
-		i := <-in;	// Receive value of new variable 'i' from 'in'.
-		if i % prime != 0 {
-			out -< i	// Send 'i' to channel 'out'.
-		}
-	}
-}
-// BREAK OMIT
-// The prime sieve: Daisy-chain Filter processes together.
-func Sieve() {
-	ch := new(chan int);  // Create a new channel.
-	go Generate(ch);      // Start Generate() as a subprocess.
-	for {
-		prime := <-ch;
-		printf("%d\n",	prime);
-		ch1 := new(chan int);
-		go Filter(ch, ch1, prime);
-		ch = ch1
-	}
-}
-
-func main() {
-	Sieve()
-}
diff --git a/content/2014/hellogophers/sieve_20080917.go b/content/2014/hellogophers/sieve_20080917.go
deleted file mode 100644
index f627acc..0000000
--- a/content/2014/hellogophers/sieve_20080917.go
+++ /dev/null
@@ -1,38 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-// Send the sequence 2, 3, 4, ... to channel 'ch'.
-func Generate(ch *chan <- int) {
-	for i := 2; ; i++ {
-		ch <- i  // Send 'i' to channel 'ch'.
-	}
-}
-
-// Copy the values from channel 'in' to channel 'out',
-// removing those divisible by 'prime'.
-func Filter(in *chan <- int, out *<-chan int, prime int) {
-	for {
-		i := <-in;  // Receive value of new variable 'i' from 'in'.
-		if i % prime != 0 {
-			out <- i  // Send 'i' to channel 'out'.
-		}
-	}
-}
-// BREAK OMIT
-// The prime sieve: Daisy-chain Filter processes together.
-func Sieve() {
-	ch := new(chan int);  // Create a new channel.
-	go Generate(ch);      // Start Generate() as a subprocess.
-	for {
-		prime := <-ch;
-		print(prime, "\n");
-		ch1 := new(chan int);
-		go Filter(ch, ch1, prime);
-		ch = ch1
-	}
-}
-
-func main() {
-	Sieve()
-}
diff --git a/content/2014/hellogophers/sieve_20090106.go b/content/2014/hellogophers/sieve_20090106.go
deleted file mode 100644
index 6b53b1b..0000000
--- a/content/2014/hellogophers/sieve_20090106.go
+++ /dev/null
@@ -1,38 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-// Send the sequence 2, 3, 4, ... to channel 'ch'.
-func Generate(ch chan <- int) {
-	for i := 2; ; i++ {
-		ch <- i  // Send 'i' to channel 'ch'.
-	}
-}
-
-// Copy the values from channel 'in' to channel 'out',
-// removing those divisible by 'prime'.
-func Filter(in chan <- int, out *<-chan int, prime int) {
-	for {
-		i := <-in;  // Receive value of new variable 'i' from 'in'.
-		if i % prime != 0 {
-			out <- i  // Send 'i' to channel 'out'.
-		}
-	}
-}
-// BREAK OMIT
-// The prime sieve: Daisy-chain Filter processes together.
-func Sieve() {
-	ch := make(chan int);  // Create a new channel.
-	go Generate(ch);       // Start Generate() as a subprocess.
-	for {
-		prime := <-ch;
-		print(prime, "\n");
-		ch1 := make(chan int);
-		go Filter(ch, ch1, prime);
-		ch = ch1
-	}
-}
-
-func main() {
-	Sieve()
-}
diff --git a/content/2014/hellogophers/sieve_20090925.go b/content/2014/hellogophers/sieve_20090925.go
deleted file mode 100644
index 8addea6..0000000
--- a/content/2014/hellogophers/sieve_20090925.go
+++ /dev/null
@@ -1,39 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-// Send the sequence 2, 3, 4, ... to channel 'ch'.
-func generate(ch chan<- int) {
-	for i := 2; ; i++ {
-		ch <- i;	// Send 'i' to channel 'ch'.
-	}
-}
-
-// Copy the values from channel 'in' to channel 'out',
-// removing those divisible by 'prime'.
-func filter(src <-chan int, dst chan<- int, prime int) {
-	for i := range src {	// Loop over values received from 'src'.
-		if i%prime != 0 {
-			dst <- i;	// Send 'i' to channel 'dst'.
-		}
-	}
-}
-// BREAK OMIT
-// The prime sieve: Daisy-chain filter processes together.
-func sieve() {
-	ch := make(chan int);  // Create a new channel.
-	go generate(ch);       // Start generate() as a subprocess.
-	for {
-		prime := <-ch;
-		fmt.Print(prime, "\n");
-		ch1 := make(chan int);
-		go filter(ch, ch1, prime);
-		ch = ch1;
-	}
-}
-
-func main() {
-	sieve();
-}
diff --git a/content/2014/hellogophers/trends.png b/content/2014/hellogophers/trends.png
deleted file mode 100644
index 50da27c..0000000
--- a/content/2014/hellogophers/trends.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/names.slide b/content/2014/names.slide
deleted file mode 100644
index 6ba39ba..0000000
--- a/content/2014/names.slide
+++ /dev/null
@@ -1,235 +0,0 @@
-What's in a name?
-October 2014
-
-Andrew Gerrand
-Google Inc.
-adg@golang.org
-@enneff
-https://golang.org/
-
-
-* Names matter
-
-Readability is the defining quality of good code.
-
-Good names are critical to readability.
-
-This talk is about naming in Go.
-
-
-* Good names
-
-A good name is:
-
-- Consistent (easy to guess),
-- Short (easy to type),
-- Accurate (easy to understand).
-
-
-* A rule of thumb
-
-The greater the distance between a name's declaration and its uses,
-the longer the name should be.
-
-
-* Use MixedCase
-
-Names in Go should use `MixedCase`.
-
-(Don't use `names_with_underscores`.)
-
-Acronyms should be all capitals, as in `ServeHTTP` and `IDProcessor`.
-
-
-* Local variables
-
-Keep them short; long names obscure what the code _does_.
-
-Common variable/type combinations may use really short names:
-
-Prefer `i` to `index`.
-Prefer `r` to `reader`.
-Prefer `b` to `buffer`.
-
-Avoid redundant names, given their context:
-
-Prefer `count` to `runeCount` inside a function named `RuneCount`.
-Prefer `ok` to `keyInMap` in the statement
-
-	v, ok := m[k]
-
-Longer names may help in long functions, or functions with many local variables.
-(But often this just means you should refactor.)
-
-
-* Bad
-
-	func RuneCount(buffer []byte) int {
-		runeCount := 0
-		for index := 0; index < len(buffer); {
-			if buffer[index] < RuneSelf {
-				index++
-			} else {
-				_, size := DecodeRune(buffer[index:])
-				index += size
-			}
-			runeCount++
-		}
-		return runeCount
-	}
-
-
-* Good
-
-	func RuneCount(b []byte) int {
-		count := 0
-		for i := 0; i < len(b); {
-			if b[i] < RuneSelf {
-				i++
-			} else {
-				_, n := DecodeRune(b[i:])
-				i += n
-			}
-			count++
-		}
-		return count
-	}
-
-
-* Parameters
-
-Function parameters are like local variables,
-but they also serve as documentation.
-
-Where the types are descriptive, they should be short:
-
-	func AfterFunc(d Duration, f func()) *Timer
-
-	func Escape(w io.Writer, s []byte)
-
-Where the types are more ambiguous, the names may provide documentation:
-
-	func Unix(sec, nsec int64) Time
-
-	func HasPrefix(s, prefix []byte) bool
-
-
-* Return values
-
-Return values on exported functions should only be named for documentation purposes.
-
-These are good examples of named return values:
-
-	func Copy(dst Writer, src Reader) (written int64, err error)
-
-	func ScanBytes(data []byte, atEOF bool) (advance int, token []byte, err error)
-
-
-* Receivers
-
-Receivers are a special kind of argument.
-
-By convention, they are one or two characters that reflect the receiver type,
-because they typically appear on almost every line:
-
-	func (b *Buffer) Read(p []byte) (n int, err error)
-	
-	func (sh serverHandler) ServeHTTP(rw ResponseWriter, req *Request)
-
-	func (r Rectangle) Size() Point
-
-Receiver names should be consistent across a type's methods.
-(Don't use `r` in one method and `rdr` in another.)
-
-
-* Exported package-level names
-
-Exported names are qualified by their package names.
-
-Remember this when naming exported variables, constants, functions, and types.
-
-That's why we have `bytes.Buffer` and `strings.Reader`,
-not `bytes.ByteBuffer` and `strings.StringReader`.
-
-
-* Interface Types
-
-Interfaces that specify just one method are usually just that function name with 'er' appended to it.
-
-	type Reader interface {
-		Read(p []byte) (n int, err error)
-	}
-
-Sometimes the result isn't correct English, but we do it anyway:
-
-	type Execer interface {
-		Exec(query string, args []Value) (Result, error)
-	}
-
-Sometimes we use English to make it nicer:
-
-	type ByteReader interface {
-		ReadByte() (c byte, err error)
-	}
-
-When an interface includes multiple methods, choose a name that accurately describes its purpose (examples: `net.Conn`, `http.ResponseWriter`, `io.ReadWriter`).
-
-
-* Errors
-
-Error types should be of the form `FooError`:
-
-	type ExitError struct {
-		...
-	}
-
-Error values should be of the form `ErrFoo`:
-
-	var ErrFormat = errors.New("image: unknown format")
-
-
-* Packages
-
-Choose package names that lend meaning to the names they export.
-
-Steer clear of `util`, `common`, and the like.
-
-
-* Import paths
-
-The last component of a package path should be the same as the package name.
-
-	"compress/gzip" // package gzip
-
-Avoid stutter in repository and package paths:
-
-	"code.google.com/p/goauth2/oauth2" // bad; my fault
-
-For libraries, it often works to put the package code in the repo root:
-
-	"github.com/golang/oauth2" // package oauth2
-
-Also avoid upper case letters (not all file systems are case sensitive).
-
-* The standard library
-
-Many examples in this talk are from the standard library.
-
-The standard library is a great place to find good Go code.
-Look to it for inspiration.
-
-But be warned:
-
-When the standard library was written, we were still learning.
-Most of it we got right, but we made some mistakes.
-
-
-* Conclusion
-
-Use short names.
-
-Think about context.
-
-Use your judgment.
-
-
diff --git a/content/2014/organizeio.slide b/content/2014/organizeio.slide
deleted file mode 100644
index 0cff214..0000000
--- a/content/2014/organizeio.slide
+++ /dev/null
@@ -1,333 +0,0 @@
-Organizing Go code
-
-David Crawshaw
-crawshaw@golang.org
-
-
-* Packages
-
-* Go programs are made up of packages
-
-All Go source is part of a package.
-Every file begins with a package statement.
-Programs start in package main.
-
-.play organizeio/hello.go
-
-For very small programs, `main` is the only package you need to write.
-
-The hello world program _imports_ package `fmt`.
-
-The function `Println` is defined in the fmt package.
-
-* An example package: fmt
-
-	// Package fmt implements formatted I/O.
-	package fmt
-
-	// Println formats using the default formats for its
-	// operands and writes to standard output.
-	func Println(a ...interface{}) (n int, err error) {
-		...
-	}
-
-	func newPrinter() *pp {
-		...
-	}
-
-The `Println` function is _exported_. It starts with an upper case
-letter, which means other packages are allowed to call it.
-
-The `newPrinter` function is _unexported_. It starts with a lower
-case letter, so it can only be used inside the fmt package.
-
-* The shape of a package
-
-Packages collect related code.
-
-They can be big or small,
-and may be spread across multiple files.
-
-All the files in a package live in a single directory.
-
-The `net/http` package exports more than 100 names. (18 files)
-The `errors` package exports just one. (1 file)
-
-* The name of a package
-
-Keep package names short and meaningful.
-Don't use underscores, they make package names long.
-
-- `io/ioutil` not `io/util`
-- `suffixarray` not `suffix_array`
-
-Don't overgeneralize. A `util` package could be anything.
-
-The name of a package is part of its type and function names.
-On its own, type `Buffer` is ambiguous. But users see:
-
-	buf := new(bytes.Buffer)
-
-Choose package names carefully.
-
-Choose good names for users.
-
-* The testing of a package
-
-Tests are distinguished by file name. Test files end in `_test.go`.
-
-	package fmt
-
-	import "testing"
-
-	var fmtTests = []fmtTest{
-		{"%d", 12345, "12345"},
-		{"%v", 12345, "12345"},
-		{"%t", true, "true"},
-	}
-
-	func TestSprintf(t *testing.T) {
-		for _, tt := range fmtTests {
-			if s := Sprintf(tt.fmt, tt.val); s != tt.out {
-				t.Errorf("...")
-			}
-		}
-	}
-
-Test well.
-
-* Code organization
-
-* Introducing workspaces
-
-Your Go code is kept in a _workspace_.
-
-A workspace contains _many_ source repositories (git, hg).
-
-The Go tool understands the layout of a workspace.
-You don't need a `Makefile`. The file layout is everything.
-
-Change the file layout, change the build.
-
-	$GOPATH/
-		src/
-			github.com/user/repo/
-				mypkg/
-					mysrc1.go
-					mysrc2.go
-				cmd/mycmd/
-					main.go
-		bin/
-			mycmd
-
-
-* Let's make a workspace
-
-	mkdir /tmp/gows
-	GOPATH=/tmp/gows
-
-The `GOPATH` environment variable tells the Go tool where your workspace is located.
-
-	go get github.com/dsymonds/fixhub/cmd/fixhub
-
-The `go` `get` command fetches source repositories from the internet and places them in your workspace.
-
-Package paths matter to the Go tool. Using "github.com/..."
-means the tool knows how to fetch your repository.
-
-	go install github.com/dsymonds/fixhub/cmd/fixhub
-
-The go install command builds a binary and places it in `$GOPATH/bin/fixhub`.
-
-* Our workspace
-
-	$GOPATH/
-		bin/fixhub                              # installed binary
-		pkg/darwin_amd64/                       # compiled archives
-			code.google.com/p/goauth2/oauth.a
-			github.com/...
-		src/                                    # source repositories
-			code.google.com/p/goauth2/
-				.hg
-				oauth                           # used by package go-github
-				...
-			github.com/
-				golang/lint/...                 # used by package fixhub
-					.git
-				google/go-github/...            # used by package fixhub
-					.git
-				dsymonds/fixhub/
-					.git
-					client.go
-					cmd/fixhub/fixhub.go        # package main
-
-`go` `get` fetched many repositories.
-`go` `install` built a binary out of them.
-
-
-* Why prescribe file layout?
-
-Using file layout for builds means less configuration.
-In fact, it means no configuration.
-No `Makefile`, no `build.xml`.
-
-Less time configuring means more time programming.
-
-Everyone in the community uses the same layout.
-This makes it easier to share code.
-
-The Go tool helps build the Go community.
-
-* Where's your workspace?
-
-It is possible to have multiple workspaces, but most people just use one.
-
-So where do you point your `GOPATH`? A common preference:
-
-.image organizeio/home.png
-
-This puts `src`, `bin`, and `pkg` directories in your home directory.
-
-(Convenient, because `$HOME/bin` is probably already in your `PATH`.)
-
-
-* Working with workspaces
-
-Unix eschews typing:
-
-	CDPATH=$GOPATH/src/github.com:$GOPATH/src/code.google.com/p
-
-	$ cd dsymonds/fixhub
-	/tmp/gows/src/github.com/dsymonds/fixhub
-	$ cd goauth2
-	/tmp/gows/src/code.google.com/p/goauth2
-	$
-
-A shell function for your `~/.profile`:
-
-	gocd () { cd `go list -f '{{.Dir}}' $1` }
-
-This lets you move around using the Go tool's path names:
-
-	$ gocd .../lint
-	/tmp/gows/src/github.com/golang/lint
-	$
-
-
-* The Go tool's many talents
-
-	$ go help
-	Go is a tool for managing Go source code.
-
-	Usage:
-
-		go command [arguments]
-
-	The commands are:
-
-Worth exploring! Some highlights:
-
-	    build       compile packages and dependencies
-	    get         download and install packages and dependencies
-	    install     compile and install packages and dependencies
-	    test        test packages
-
-There are more useful subcommands. Check out `vet` and `fmt`.
-
-* Dependency management
-
-* In production, versions matter.
-
-`go` `get` always fetches the latest code, even if your build breaks.
-
-.image organizeio/gogetversion.png
-
-That's fine when developing. It's not fine when releasing.
-We need other tools.
-
-* Versioning
-
-My favorite technique: vendoring.
-
-For building binaries, import the packages you care about
-into a `_vendor` workspace.
-
-	GOPATH=/tmp/gows/_vendor:/tmp/gows
-
-For building libraries, import the packages you care about
-into your repository. Rename the imports to:
-
-	import "github.com/you/proj/vendor/github.com/them/lib"
-
-Long paths, but trivial to automate. Write a Go program!
-
-Another technique: [[http://gopkg.in][gopkg.in]], provides versioned package paths:
-
-	gopkg.in/user/pkg.v3 -> github.com/user/pkg (branch/tag v3, v3.N, or v.3.N.M)
-
-* Naming
-
-* Names matter
-
-Programs are full of names. Names have costs and benefits.
-
-*Costs*: *space* *and* *time*
-Names need to be in short term memory when reading code.
-You can only fit so many. Longer names take up more space.
-
-*Benefits:* *information*
-A good name is not only a referent, it conveys information.
-
-Use the shortest name that carries the right amount of information in its context.
-
-Devote time to naming.
-
-* Name style
-
-Use `camelCase`, `not_underscores`.
-Local variable names should be short, typically one or two characters.
-
-Package names are usually one lowercase word.
-
-Global variables should have longer names.
-
-Don't stutter.
-
-- `bytes.Buffer` not `bytes.ByteBuffer`
-- `zip.Reader` not `zip.ZipReader`
-- `errors.New` not `errors.NewError`
-- `r` not `bytesReader`
-- `i` not `loopIterator`
-
-* Doc comments
-
-Doc comments precede the declaration of an exported identifier:
-
-        // Join concatenates the elements of elem to create a single string.
-        // The separator string sep is placed between elements in the resulting string.
-        func Join(elem []string, sep string) string {
-
-The godoc tool extracts such comments and presents them on the web:
-
-.image organizeio/godoc.png
-
-* Writing doc comments
-
-Doc comments should be English sentences and paragraphs.
-They use no special formatting beyond indentation for preformatted text.
-
-Doc comments should begin with the noun they describe.
-
-	// Join concatenates… 		good
-	// This function… 			bad
-
-Package docs go above the package declaration:
-
-	// Package fmt…
-	package fmt
-
-Read the world's Go docs on [[godoc.org]]. E.g.
-
-[[http://godoc.org/code.google.com/p/go.tools/cmd/vet]]
-
-* Questions?
diff --git a/content/2014/organizeio/godoc.png b/content/2014/organizeio/godoc.png
deleted file mode 100644
index 1f03b6e..0000000
--- a/content/2014/organizeio/godoc.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/organizeio/gogetversion.png b/content/2014/organizeio/gogetversion.png
deleted file mode 100644
index 67a5d2a..0000000
--- a/content/2014/organizeio/gogetversion.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/organizeio/hello.go b/content/2014/organizeio/hello.go
deleted file mode 100644
index f7b60bd..0000000
--- a/content/2014/organizeio/hello.go
+++ /dev/null
@@ -1,7 +0,0 @@
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Println("Hello, world!")
-}
diff --git a/content/2014/organizeio/home.png b/content/2014/organizeio/home.png
deleted file mode 100644
index 7dd06cd..0000000
--- a/content/2014/organizeio/home.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground.slide b/content/2014/playground.slide
deleted file mode 100644
index fe13fc2..0000000
--- a/content/2014/playground.slide
+++ /dev/null
@@ -1,320 +0,0 @@
-Inside the Go playground
-
-Francesc Campoy Flores
-Developer Advocate, Gopher
-@francesc
-campoy@golang.org
-http://campoy.cat
-
-* Agenda
-
-- What is the Go playground
-
-- What could go wrong
-
-- What did we do to avoid it
-
-- An animated ASCII train
-
-* The Go playground
-
-.image playground/img/play.png 500 _
-.caption [[http://play.golang.org][play.golang.org]]
-
-* De facto pastebin of the Go community
-
-.image playground/img/share.png 500 _
-.caption [[http://play.golang.org/p/bJYnajZ6Kp]]
-
-* The Go tour
-
-.image playground/img/tour.png 500 _
-.caption [[http://tour.golang.org][tour.golang.org]]
-
-* Executable examples on documentation
-
-.image playground/img/examples.png 500 _
-.caption [[http://golang.org/pkg/strings/#example_Fields][golang.org/pkg/strings]]
-
-* Executable code on blog posts
-
-.image playground/img/blog.png 500 _
-.caption [[http://blog.golang.org/slices]]
-
-* Executable slides
-
-.play playground/hello.go
-
-These slides are driven by the `present` Go tool
-
-	go get code.google.com/go.tools/cmd/present
-
-* Naive implementation
-
-* Architecture
-
-.image playground/img/arch.png 500 _
-
-* Backend
-
-Let's start with something simple
-
-- receive code
-- compile it
-- run it
-
-* What could go wrong?
-
-.image playground/img/areyousure.png 500 _
-
-###########
-## Issues #
-###########
-
-* Resource exhaustion
-
-* Exhausting memory on the stack
-
-`stack`overflow`
-
-.play playground/stack.go
-
-The runtime catches the error and panics.
-
-* Too much memory on the heap
-
-`out`of`memory`
-
-.play playground/heap.go
-
-Again the runtime catches the error and panics.
-
-* Too much CPU time
-
-.play playground/loop.go
-
-* Stealing resources by sleeping
-
-.play playground/sleep.go
-
-A sleeping program still consumes resources.
-
-Easy way of having a Denial of Service attack.
-
-* Accessing things you shouldn't
-
-* File system access
-
-User code shouldn't be able to modify the backend's file system.
-
-- Reading sensitive information
-
-- Installing backdoors
-
-- General mayhem
-
-.play playground/removeall.go /func main/,/^}/
-
-* Network access
-
-.play playground/http.go /func main/,/^}/
-
-* Use your imagination
-
-.image playground/img/cat.jpg 500 _
-
-###################
-# Countermeasures #
-###################
-
-* Countermeasures
-
-* Restricting resource usage with ulimit
-
-Default limits are not safe enough.
-
-`ulimit` could solve this.
-
-	-d    maximum size of data segment or heap (in kbytes)
-
-	-s    maximum size of stack segment (in kbytes)
-
-	-t    maximum CPU time (in seconds)
-
-	-v    maximum size of virtual memory (in kbytes)
-
-* Native Client
-
-Originally designed to execute native code in Chrome safely.
-
-NaCl defines restrictions on the binaries being executed.
-
-The code runs in a sandbox isolated from the underlying OS.
-
-- No file access
-- No network access
-
-.image playground/img/nacl.png 300 _
-
-* Isolating process execution with NaCl
-
-We use NaCl to:
-
-- limit CPU time
-
-- limit memory
-
-- isolate from the filesystem
-
-- isolate from the network
-
-Process can only write to stdout/stderr.
-
-* Limiting user time
-
-"No sleeping in the playground."
-
-Custom runtime with a fake `time` package.
-
-	func Sleep(d time.Duration) {
-		panic("No sleeping in the playground")
-	}
-
-* Restoring functionality
-
-* Faking the file system
-
-The `syscall` package is the only link between user code and the OS kernel.
-
-The playground runtime has a custom `syscall` package.
-
-File system operations operate on a fake in-memory file system.
-
-.play playground/file.go /func main/,
-
-* Faking the network
-
-All network operations also use the `syscall` package.
-
-The network stack is also faked in-memory.
-
-.play playground/net.go /func main/,/^}/
-
-* Faking the network (continued)
-
-.play playground/net.go /func dial/,/^}/
-
-##########
-## TIME ##
-##########
-
-* Sleeping in the playground
-
-Go is about concurrency.
-
-We need to demonstrate concurrency in blog posts and talks.
-
-And demonstrating concurrency without `time` is hard.
-
-* What to do if an open source project lacks a feature?
-
-.image playground/img/gopherbw.png 500 _
-
-* File a bug!
-
-.image playground/img/bug.png 500 _
-.caption [[https://code.google.com/p/go/issues/detail?id=4280][bug 4280]]
-
-* Normal behavior
-
-There's a special goroutine managing timers `T`.
-
-A goroutine `G` calls `time.Sleep`:
-
-1. `G` adds a timer to the timer heap.
-
-2. `G` puts itself to sleep.
-
-3. `T` tells the OS to wake it when the next timer expires and puts itself to sleep.
-
-4. When `T` is woken up it looks at the timer on the top of the heap, and wakes the corresponding goroutine.
-
-* Intermission: deadlocks
-
-.play playground/deadlock.go
-
-Many flavors of deadlocks.
-
-One common property: all goroutines are asleep.
-
-* New behavior
-
-A goroutine `G` calls `time.Sleep`:
-
-1. `G` adds a timer to the timer heap.
-
-2. `G` puts itself to sleep.
-
-3. The scheduler detects a deadlock, checks the timer heap for pending timers.
-
-4. The internal clock is advanced to the next timer expiration.
-
-5. The corresponding goroutines are woken up.
-
-* Sleeping fast
-
-Faking time allows precise sleep durations.
-
-.play playground/sleepfast.go
-
-* So there's no actual sleep?
-
-The playground's `write` syscall inserts a timestamp before each write.
-
-The front end translates that into a series of "events" that the browser can play back.
-
-.play playground/sleep.go /func main/,
-
-Returns directly
-
-	{
-		"Errors":"",
-		"Events":[
-			{"Message":"Good night\n","Delay":0},
-			{"Message":"Good morning\n","Delay":28800000000000}
-		]
-	}
-
-* So the bug was fixed
-
-.image playground/img/andrew.png _ 1000
-.caption [[http://play.golang.org/p/3fv0L3-z0s]]
-
-* And people were happy
-
-.image playground/img/brad.png _ 1000
-.caption [[http://play.golang.org/p/rX_3WcpUOZ]]
-
-* Very happy
-
-.image playground/img/jan.png _ 1000
-.caption [[http://play.golang.org/p/P-Dk0NH_vf]]
-
-.image playground/img/mattn.png _ 1000
-.caption [[http://play.golang.org/p/NOycgN2i6b]]
-
-* References
-
-These slides: [[http://talks.golang.org/2014/playground.slide]]
-
-More about the Go tour:
-
-- Inside the Go playground: [[http://blog.golang.org/playground]]
-
-- The Go tour: [[http://tour.golang.org]]
-
-More about Go on NaCl:
-
-- Running Go under Native Client: [[https://code.google.com/p/go-wiki/wiki/NativeClient]]
-
-- Go 1.3 Native Client Support: [[http://golang.org/s/go13nacl]]
\ No newline at end of file
diff --git a/content/2014/playground/deadlock.go b/content/2014/playground/deadlock.go
deleted file mode 100644
index 9726526..0000000
--- a/content/2014/playground/deadlock.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-func main() {
-	c := make(chan int)
-
-	<-c
-}
diff --git a/content/2014/playground/file.go b/content/2014/playground/file.go
deleted file mode 100644
index 0444e7d..0000000
--- a/content/2014/playground/file.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"io/ioutil"
-	"log"
-)
-
-func main() {
-	const filename = "/tmp/file.txt"
-
-	err := ioutil.WriteFile(filename, []byte("Hello, file system\n"), 0644)
-	if err != nil {
-		log.Fatal(err)
-	}
-
-	b, err := ioutil.ReadFile(filename)
-	if err != nil {
-		log.Fatal(err)
-	}
-
-	fmt.Printf("%s", b)
-}
diff --git a/content/2014/playground/heap.go b/content/2014/playground/heap.go
deleted file mode 100644
index c8fd303..0000000
--- a/content/2014/playground/heap.go
+++ /dev/null
@@ -1,15 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-type list struct {
-	buf  [100000]byte
-	next *list
-}
-
-func main() {
-	var l *list
-	for {
-		l = &list{next: l}
-	}
-}
diff --git a/content/2014/playground/hello.go b/content/2014/playground/hello.go
deleted file mode 100644
index c1248a0..0000000
--- a/content/2014/playground/hello.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Println("Hello, gophers!")
-}
diff --git a/content/2014/playground/http.go b/content/2014/playground/http.go
deleted file mode 100644
index 24f32b0..0000000
--- a/content/2014/playground/http.go
+++ /dev/null
@@ -1,29 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/json"
-	"fmt"
-	"log"
-	"net/http"
-)
-
-func main() {
-	res, err := http.Get("http://api.openweathermap.org/data/2.5/weather?q=Portland")
-	if err != nil {
-		log.Fatal(err)
-	}
-	defer res.Body.Close()
-
-	var w struct {
-		Weather []struct {
-			Desc string `json:"description"`
-		} `json:"weather"`
-	}
-	if err := json.NewDecoder(res.Body).Decode(&w); err != nil {
-		log.Fatal(err)
-	}
-
-	fmt.Printf("No need to rush outside, we have %v.", w.Weather[0].Desc)
-}
diff --git a/content/2014/playground/img/andrew.png b/content/2014/playground/img/andrew.png
deleted file mode 100644
index 1731823..0000000
--- a/content/2014/playground/img/andrew.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground/img/arch.png b/content/2014/playground/img/arch.png
deleted file mode 100644
index 9f1dfd1..0000000
--- a/content/2014/playground/img/arch.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground/img/areyousure.png b/content/2014/playground/img/areyousure.png
deleted file mode 100644
index b0555ed..0000000
--- a/content/2014/playground/img/areyousure.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground/img/blog.png b/content/2014/playground/img/blog.png
deleted file mode 100644
index 14a78d2..0000000
--- a/content/2014/playground/img/blog.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground/img/brad.png b/content/2014/playground/img/brad.png
deleted file mode 100644
index 0da6995..0000000
--- a/content/2014/playground/img/brad.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground/img/bug.png b/content/2014/playground/img/bug.png
deleted file mode 100644
index 2711556..0000000
--- a/content/2014/playground/img/bug.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground/img/cat.jpg b/content/2014/playground/img/cat.jpg
deleted file mode 100644
index 022cc53..0000000
--- a/content/2014/playground/img/cat.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground/img/examples.png b/content/2014/playground/img/examples.png
deleted file mode 100644
index 7766e68..0000000
--- a/content/2014/playground/img/examples.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground/img/gopherbw.png b/content/2014/playground/img/gopherbw.png
deleted file mode 100644
index 23c425f..0000000
--- a/content/2014/playground/img/gopherbw.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground/img/jan.png b/content/2014/playground/img/jan.png
deleted file mode 100644
index e0afdee..0000000
--- a/content/2014/playground/img/jan.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground/img/mattn.png b/content/2014/playground/img/mattn.png
deleted file mode 100644
index 501359f..0000000
--- a/content/2014/playground/img/mattn.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground/img/nacl.png b/content/2014/playground/img/nacl.png
deleted file mode 100644
index 46d5ca6..0000000
--- a/content/2014/playground/img/nacl.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground/img/play.png b/content/2014/playground/img/play.png
deleted file mode 100644
index 8e7119e..0000000
--- a/content/2014/playground/img/play.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground/img/share.png b/content/2014/playground/img/share.png
deleted file mode 100644
index 8973ce6..0000000
--- a/content/2014/playground/img/share.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground/img/sleepbug.png b/content/2014/playground/img/sleepbug.png
deleted file mode 100644
index 9b74227..0000000
--- a/content/2014/playground/img/sleepbug.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground/img/tour.png b/content/2014/playground/img/tour.png
deleted file mode 100644
index 3999bdf..0000000
--- a/content/2014/playground/img/tour.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/playground/loop.go b/content/2014/playground/loop.go
deleted file mode 100644
index 26005a9..0000000
--- a/content/2014/playground/loop.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-func main() {
-	for {
-	}
-}
diff --git a/content/2014/playground/net.go b/content/2014/playground/net.go
deleted file mode 100644
index eebdc46..0000000
--- a/content/2014/playground/net.go
+++ /dev/null
@@ -1,37 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"io"
-	"log"
-	"net"
-	"os"
-)
-
-func main() {
-	l, err := net.Listen("tcp", "127.0.0.1:4000")
-	if err != nil {
-		log.Fatal(err)
-	}
-	defer l.Close()
-
-	go dial()
-
-	c, err := l.Accept()
-	if err != nil {
-		log.Fatal(err)
-	}
-	defer c.Close()
-
-	io.Copy(os.Stdout, c)
-}
-
-func dial() {
-	c, err := net.Dial("tcp", "127.0.0.1:4000")
-	if err != nil {
-		log.Fatal(err)
-	}
-	defer c.Close()
-	c.Write([]byte("Hello, network\n"))
-}
diff --git a/content/2014/playground/removeall.go b/content/2014/playground/removeall.go
deleted file mode 100644
index def5665..0000000
--- a/content/2014/playground/removeall.go
+++ /dev/null
@@ -1,15 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"log"
-	"os"
-)
-
-func main() {
-	err := os.RemoveAll("/foo")
-	if err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/content/2014/playground/rm.go b/content/2014/playground/rm.go
deleted file mode 100644
index de69f3a..0000000
--- a/content/2014/playground/rm.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"log"
-	"os/exec"
-)
-
-func main() {
-	err := exec.Command("mkdir", "/tmp/foo").Run()
-	if err != nil {
-		log.Fatal(err)
-	}
-
-	err = exec.Command("rm", "-rf", "/tmp/foo").Run()
-	if err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/content/2014/playground/sleep.go b/content/2014/playground/sleep.go
deleted file mode 100644
index 6d6e271..0000000
--- a/content/2014/playground/sleep.go
+++ /dev/null
@@ -1,14 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func main() {
-	fmt.Println("Good night")
-	time.Sleep(8 * time.Hour)
-	fmt.Println("Good morning")
-}
diff --git a/content/2014/playground/sleepfast.go b/content/2014/playground/sleepfast.go
deleted file mode 100644
index e275d1d..0000000
--- a/content/2014/playground/sleepfast.go
+++ /dev/null
@@ -1,18 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func main() {
-	start := time.Now()
-	fmt.Println(start)
-
-	for i := 0; i < 10; i++ {
-		time.Sleep(time.Nanosecond)
-		fmt.Println(time.Since(start))
-	}
-}
diff --git a/content/2014/playground/stack.go b/content/2014/playground/stack.go
deleted file mode 100644
index 0f884f6..0000000
--- a/content/2014/playground/stack.go
+++ /dev/null
@@ -1,11 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-func foo(a [1000]byte) {
-	foo(a)
-}
-
-func main() {
-	foo([1000]byte{})
-}
diff --git a/content/2014/readability.slide b/content/2014/readability.slide
deleted file mode 100644
index bb6246a..0000000
--- a/content/2014/readability.slide
+++ /dev/null
@@ -1,383 +0,0 @@
-When in Go, do as Gophers do
-Go Conference 2014 autumn
-30 Nov 2014
-
-Fumitoshi Ukai
-Google Software Engineer - Chrome Infra team
-ukai@google.com
-https://plus.google.com/+FumitoshiUkai
-@fumitoshi_ukai
-
-* Go Readability Approver
-
-A team to review Go readability.
-
-- help to learn idiomatic Go though code review
-- review code of projects that are not main project of the reviewer
-
-- [[http://blogger.ukai.org/2013/12/code-readability.html][I joined the team about a year ago]] as 20% time, and reviewed ~200 CLs
-- For now, I'm reviewing at most 3 CLs per day, 12 CLs per week.
-
-.image readability/project.png
-.caption _Gopher_ by [[http://www.reneefrench.com][Renée French]]
-
-* What is Readability skill?
-
-Literacy of a programming language.
-
-A skill to read or write *idiomatic* code.
-
-Each programming language has its own preferred style.
-In C++, each project chooses a preferred style.
-
-- [[http://google-styleguide.googlecode.com/svn/trunk/cppguide.html][google]] ([[http://www.chromium.org/developers/coding-style][chromium]]), [[https://www.webkit.org/coding/coding-style.html][webkit]] ([[http://www.chromium.org/blink/coding-style][blink]])
-
-Don't write Go code as you write code in C++/Java/Python.
-Write Go code as Gophers write code.
-
-* Go code should ...
-
-- be articulate, concise.
-- provide a simple API.
-- have precise comments.
-- be readable, top-down code.
-
-_"_Want_to_understand_something_in_google_servers?_Read_the_Go_implementation!_"_
-
-.caption by some Googler
-
-.image readability/pkg.png
-.caption _Gopher_ by [[http://www.reneefrench.com][Renée French]]
-
-
-* Good tools
-
-[[https://golang.org/cmd/gofmt/][go fmt]] - format Go programs.
-[[https://godoc.org/golang.org/x/tools/cmd/vet][go vet]] - report suspicious code
-[[https://github.com/golang/lint][golint]] - report coding style errors.
-[[http://blog.golang.org/godoc-documenting-go-code][godoc]] - browse documenation
-
-# Go code is easy to read for tools too.
-
-* Tools are not enough
-
-# Developer doesn't read code the same as tools.
-# Programs(compiler, etc) will read code if its syntax is ok.
-# Tools are not enough, have false-positive/false-negative.
-# Needs human judgments.
-
-Readable code == easy to recognize, less burden for brain.
-Both writer and reader should have readability skills.
-Go is very simple ([[https://golang.org/ref/spec][lang spec]] is about 50 pages)
-
-.image readability/gophers5th.jpg
-.caption _Gopher_ by [[http://www.reneefrench.com][Renée French]]
-
-* Readability Reviews
-
-- Any mistakes/bugs?
-- Layout?
-- Simple code flow?
-- Simple API?
-
-.image readability/gopher-ok-no.png
-.caption _Gopher_ by [[http://www.reneefrench.com][Renée French]], and [[https://github.com/tenntenn/gopher-stickers/][tenntenn]]
-
-* mistakes/bugs
-
-* error check
-
-original code
-
-.code readability/err_regexp_bad.go
-
-revised
-
-.code readability/err_regexp_good.go
-
-- Check error with [[https://golang.org/pkg/regexp/#MustCompile][regexp.MustCompile]].
-- Must should be used only in [[http://golang.org/ref/spec#Package_initialization][initialization]] (package `var` or `init()`).
-
-- [[http://golang.org/ref/spec#String_literals][Raw string literal]] makes it easy to read regexp.
-
-* error check: original code
-
-.code readability/err_close_write_bad.go
-
-* error check: revised
-
-.code readability/err_close_write_good.go
-
-- Check error of Close for write.
-- No need to use defer, when it's simpler.
-
-* in-band error: original code
-
-.code readability/in-band-error-client.go
-
-.code readability/in-band-error.go
-
-* return value and error: revised
-
-.code readability/val-and-error.go
-
-[[http://golang.org/doc/effective_go.html#multiple-returns][Return error as error, not as some value]]
-
-* error design
-
-If client doesn't need to distinguish errors, e.g. ok with `err` `!=` `nil` check only.
-
-	fmt.Errorf("error in %s", val) or errors.New("error msg")
-
-If client wants to distinguish several errors by error code.
-
-	var (
-	  ErrInternal   = errors.New("foo: inetrnal error")
-	  ErrBadRequest = errors.New("foo: bad request")
-	)
-
-If you want to put detailed information in error.
-
-	type FooError struct { /* fields of error information */ }
-	func (e *FooError) Error() string { return /* error message */ }
-
-	&FooError{ /* set error data */ }
-
-Don't use `panic`.
-But when you do, use it only within the package, and [[http://golang.org/doc/effective_go.html#recover][return error with catching it by recover]].
-
-* nil error
-
-.code readability/nil_error.go
-
-[[https://golang.org/doc/faq#nil_error][FAQ: Why is my nil error value not equal to nil?]]
-
-[[http://blog.golang.org/laws-of-reflection][interface has 2 data]] (type and value). interface value is nil == both are nil.
-
-* embed interface: original code
-
-.code readability/implement-interface-bad.go
-
-- `scan.Writer` is an interface.
-- `ColumnWriter` will have methods of the `scan.Writer` interface (i.e. `ColumnWriter` implements the `scan.Writer` interface), but ...
-
-* check interface implementation: revised
-
-.code readability/implement-interface-good.go
-
-- The original author wanted to check `ColumnWriter` [[http://golang.org/doc/effective_go.html#blank_implements][implements]] the `scan.Writer` interface.
-
-* embed interface
-
-If a struct doesn't have a method of a interface explicitly, the interface is embedded in the struct, and you didn't set the interface field to a concrete value (i.e. the interface field value is nil), the method call will panic.
-
-.code readability/nil_interface_en.go
-
-It would be useful in a test when you want to implement only a subset of methods in the huge interface.
-
-* Readable layout
-
-* layout of fields in struct: original code
-
-.code readability/struct-field-bad.go
-
-* layout of fields in struct: revised
-
-.code readability/struct-field-good.go
-
-- Organize fields in groups, with blank lines between them.
-- Put [[https://golang.org/pkg/sync/#Mutex][sync.Mutex]] in top of a block of fields that the mutex protects.
-
-* Long line
-
-.code readability/long-line-fold.go
-
-* Merge into one line
-
-.code readability/long-line-nofold.go
-
-- [[https://golang.org/s/comments#Line_Length][No rigid line length limit]]
-- though, can't we make it shorter?
-
-* Choose concise names
-
-[[https://golang.org/s/comments#Variable_Names][Choose good name in the context]]
-
-- Long names are not always better than short names.
-
-Short and accurate names.
-
-- [[https://golang.org/s/comments#Package_Names][SamplingServer in sampling package is stutter]]. Name `Server`, which clients will write as `sampling.Server`.
-- Use [[https://golang.org/s/comments#Receiver_Names][one or two letters for receiver names]].
-- Use short names for parameters since type name will give some information.
-- Use descriptive names for basic types, though.
-- Use short names for local variables: prefer `i` to `index`, `r` to `reader`.
-- Short names should be fine if function is not long.
-
-* Revised one line version
-
-.code readability/long-line-short.go
-
-* top-down code
-
-* conditional branch
-
-- [[https://golang.org/s/comments#Indent_Error_Flow][Keep the normal code path at a minimal indentation.]]
-
-original code
-
-.code readability/if-else-bad.go
-
-revised
-
-.code readability/if-else-good.go
-
-* conditional branch (2): original code
-
-.code readability/resthandler.go
-
-* conditional branch (2): revised
-
-.code readability/resthandler-fix2.go
-
-- factor out function.
-
-* conditional branch (3): original code
-
-.code readability/if-switch-bad.go
-
-* conditional branch (3): revised
-
-.code readability/if-switch-good.go
-
-- use [[http://golang.org/ref/spec#Switch_statements][switch]]
-
-* Simpler code
-
-* time.Duration
-
-Use [[https://golang.org/pkg/time/#Duration][time.Duration]] ([[https://golang.org/pkg/flag/#Duration][flag.Duration]]) rather than `int` or `float` to represent time duration.
-
-original code
-
-.code readability/time_duration_bad.go
-.code readability/time_duration_bad1.go
-.code readability/time_duration_bad2.go
-
-revised
-
-.code readability/time_duration_good.go
-
-- Don't write unnecessary type conversion.
-- Since [[http://blog.golang.org/constants][const is untyped]], no need to convert 30 to `time.Duration`.
-- Don't write unnecessary comments.
-
-* sync.Mutex and sync.Cond: original code
-
-.code readability/close-cond-bad.go
-
-* chan: revised
-
-.code readability/close-cond-good.go
-
-- You could use [[http://golang.org/ref/spec#Channel_types][chan]], instead of [[https://golang.org/pkg/sync/#Mutex][sync.Mutex]] and [[https://golang.org/pkg/sync/#Cond][sync.Cond]].
-
-* reflect: original code
-
-.code readability/reflect-bad.go
-
-* without reflect: revised
-
-.code readability/reflect-good.go
-
-- Don't use [[https://golang.org/pkg/reflect/][reflect]], if you know the type at compilation time.
-
-* Test
-
-* Test code
-
-.code readability/test-pattern_en.go
-
-- [[https://golang.org/s/comments#Useful_Test_Failures][Have helpful test failure messages]]
-- Don't create yet-another assert function. Use existing programming language features.
-- Write [[https://golang.org/pkg/testing/#hdr-Examples][an example test]] rather than writing how to use API in a doc comment.
-
-.code readability/example_test.go
-
-* Comment
-
-* Comment
-
-[[https://golang.org/s/comments#Package_Comments][Write package comment.]]  Write command comment in main package.
-[[https://golang.org/s/comments#Doc_Comments][Write comments on exported names.]]
-[[https://golang.org/s/comments#Comment_Sentences][Doc comment should be a complete sentence that starts with the name being declared.]]
-
-	// Package math provides basic constants and mathematical functions.
-	package math
-
-	// A Request represents a request to run a command.
-	type Request struct { ..
-
-	// Encode writes the JSON encoding of req to w.
-	func Encode(w io.Writer, req *Request) {
-
-Browse with [[http://blog.golang.org/godoc-documenting-go-code][godoc]]
-
-	$ godoc bytes Buffer
-
-	$ godoc -http=:6060  # http://localhost:6060/pkg
-
-If you feel comments are unclear or hard to write concisely, reconsider your API design.
-
-* API design
-
-Important to choose a good package name.
-
-- e.g. package `util` is not good name, since most packages are utilities of something.
-# split it into smaller packages, or merge it in bigger package, or wrong package boundary.
-
-Make API simple.
-
-- [[http://golang.org/doc/effective_go.html#multiple-returns][Use multiple returns]]. Don't use pointers as output parameters.
-- Don't use pointer to slice, map, chan or interface.
-- [[http://golang.org/doc/effective_go.html#multiple-returns][Return error as error]]: [[https://golang.org/s/comments#Don't_Panic][don't panic]]
-- Implement common interfaces ([[https://golang.org/pkg/fmt/#Stringer][fmt.Stringer]], [[https://golang.org/pkg/io/#Reader][io.Reader]] and so on) if they match your code.
-- Use interfaces for parameters. They makes it easier to test. e.g.: If a function reads from a file, use [[https://golang.org/pkg/io/#Reader][io.Reader]] as a parameter instead of [[https://golang.org/pkg/os/#File][*os.File]].
-- Prefer synchronous API to async API: refrain from using chan across package boundary.
-- Clients can easily run synchronous API concurrently with goroutine and chan.
-
-* To write readable code
-
-* Code is communication
-
-Be articulate:
-
-- Choose good names.
-- Design simple APIs.
-- Write precise documentation.
-- Don't be too complicated.
-
-.image readability/talks.png
-.caption _Gopher_ by [[http://www.reneefrench.com][Renée French]]
-
-* When you write code
-
-Keep in mind
-
-- Articulate, concise.
-- Provide simple API.
-- Have precise comment.
-- Readable, top-down code.
-
-* References
-
-- Effective Go: [[https://golang.org/doc/effective_go.html][https://golang.org/doc/effective_go.html]]
-- standard package:  [[https://golang.org/pkg/][https://golang.org/pkg/]]
-- Code Review Comments:  [[https://golang.org/s/comments][https://golang.org/s/comments]]
-
-- Go for gophers: [[http://talks.golang.org/2014/go4gophers.slide][http://talks.golang.org/2014/go4gophers.slide]]
-- What's in a name? [[http://talks.golang.org/2014/names.slide][http://talks.golang.org/2014/names.slide]]
-- Organizing Go code: [[http://talks.golang.org/2014/organizeio.slide][http://talks.golang.org/2014/organizeio.slide]]
-
-.image readability/ref.png
-.caption _Gopher_ by [[http://www.reneefrench.com][Renée French]]
diff --git a/content/2014/readability/close-cond-bad.go b/content/2014/readability/close-cond-bad.go
deleted file mode 100644
index b00b638..0000000
--- a/content/2014/readability/close-cond-bad.go
+++ /dev/null
@@ -1,28 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-type Stream struct {
-	// some fields
-	isConnClosed     bool
-	connClosedCond   *sync.Cond
-	connClosedLocker sync.Mutex
-}
-
-func (s *Stream) Wait() error {
-	s.connClosedCond.L.Lock()
-	for !s.isConnClosed {
-		s.connClosedCond.Wait()
-	}
-	s.connClosedCond.L.Unlock()
-	// some code
-}
-func (s *Stream) Close() {
-	// some code
-	s.connClosedCond.L.Lock()
-	s.isConnClosed = true
-	s.connClosedCond.L.Unlock()
-	s.connClosedCond.Broadcast()
-}
-func (s *Stream) IsClosed() bool {
-	return s.isConnClosed
-}
diff --git a/content/2014/readability/close-cond-good.go b/content/2014/readability/close-cond-good.go
deleted file mode 100644
index 530e9b4..0000000
--- a/content/2014/readability/close-cond-good.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-type Stream struct {
-	// some fields
-	cc chan struct{} // HL
-}
-
-func (s *Stream) Wait() error {
-	<-s.cc
-	// some code
-}
-func (s *Stream) Close() {
-	// some code
-	close(s.cc)
-}
-func (s *Stream) IsClosed() bool {
-	select {
-	case <-s.cc:
-		return true
-	default:
-		return false
-	}
-}
diff --git a/content/2014/readability/err_close_write_bad.go b/content/2014/readability/err_close_write_bad.go
deleted file mode 100644
index 8de9497..0000000
--- a/content/2014/readability/err_close_write_bad.go
+++ /dev/null
@@ -1,18 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-func run() error {
-	in, err := os.Open(*input)
-	if err != nil {
-		return err
-	}
-	defer in.Close()
-
-	out, err := os.Create(*output)
-	if err != nil {
-		return err
-	}
-	defer out.Close() // HL
-	// some code
-}
diff --git a/content/2014/readability/err_close_write_good.go b/content/2014/readability/err_close_write_good.go
deleted file mode 100644
index 8a227ab..0000000
--- a/content/2014/readability/err_close_write_good.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-func run() (err error) {
-	in, err := os.Open(*input)
-	if err != nil {
-		return err
-	}
-	defer in.Close()
-
-	out, err := os.Create(*output)
-	if err != nil {
-		return err
-	}
-	defer func() { // HL
-		if cerr := out.Close(); err == nil { // HL
-			err = cerr // HL
-		} // HL
-	}() // HL
-	// some code
-}
diff --git a/content/2014/readability/err_regexp_bad.go b/content/2014/readability/err_regexp_bad.go
deleted file mode 100644
index b640203..0000000
--- a/content/2014/readability/err_regexp_bad.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-import "regex" // OMIT
-
-var whitespaceRegex, _ = regexp.Compile("\\s+")
diff --git a/content/2014/readability/err_regexp_good.go b/content/2014/readability/err_regexp_good.go
deleted file mode 100644
index b68c5ff..0000000
--- a/content/2014/readability/err_regexp_good.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-import "regex" // OMIT
-
-var whitespaceRegex = regexp.MustCompile(`\s+`)
diff --git a/content/2014/readability/example_test.go b/content/2014/readability/example_test.go
deleted file mode 100644
index b6686f8..0000000
--- a/content/2014/readability/example_test.go
+++ /dev/null
@@ -1,14 +0,0 @@
-// +build ignore,OMIT
-
-package binary // OMIT
-
-func ExampleWrite() {
-	var buf bytes.Buffer
-	var pi float64 = math.Pi
-	err := binary.Write(&buf, binary.LittleEndian, pi)
-	if err != nil {
-		fmt.Println("binary.Write failed:", err)
-	}
-	fmt.Printf("% x", buf.Bytes())
-	// Output: 18 2d 44 54 fb 21 09 40
-}
diff --git a/content/2014/readability/gopher-ok-no.png b/content/2014/readability/gopher-ok-no.png
deleted file mode 100644
index 14f1168..0000000
--- a/content/2014/readability/gopher-ok-no.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/readability/gophers5th.jpg b/content/2014/readability/gophers5th.jpg
deleted file mode 100644
index 9f50d8a..0000000
--- a/content/2014/readability/gophers5th.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/readability/if-else-bad.go b/content/2014/readability/if-else-bad.go
deleted file mode 100644
index c5a2a71..0000000
--- a/content/2014/readability/if-else-bad.go
+++ /dev/null
@@ -1,13 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-func sample() { // OMIT
-	if _, ok := f.dirs[dir]; !ok { // HL
-		f.dirs[dir] = new(feedDir) // HL
-	} else {
-		f.addErr(fmt.Errorf("..."))
-		return
-	}
-	// some code
-} // OMIT
diff --git a/content/2014/readability/if-else-good.go b/content/2014/readability/if-else-good.go
deleted file mode 100644
index a033a00..0000000
--- a/content/2014/readability/if-else-good.go
+++ /dev/null
@@ -1,13 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-func sample() { // OMIT
-
-	if _, found := f.dirs[dir]; found { // HL
-		f.addErr(fmt.Errorf("..."))
-		return
-	}
-	f.dirs[dir] = new(feedDir) // HL
-	// some code
-} // OMIT
diff --git a/content/2014/readability/if-switch-bad.go b/content/2014/readability/if-switch-bad.go
deleted file mode 100644
index e0f9874..0000000
--- a/content/2014/readability/if-switch-bad.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-func BrowserHeightBucket(s *session.Event) string {
-	browserSize := sizeFromSession(s)
-	if h := browserSize.GetHeight(); h > 0 { // HL
-		browserHeight := int(h)
-		if browserHeight <= 480 { // HL
-			return "small"
-		} else if browserHeight <= 640 { // HL
-			return "medium"
-		} else {
-			return "large"
-		}
-	} else {
-		return "null"
-	}
-}
diff --git a/content/2014/readability/if-switch-good.go b/content/2014/readability/if-switch-good.go
deleted file mode 100644
index cc20864..0000000
--- a/content/2014/readability/if-switch-good.go
+++ /dev/null
@@ -1,18 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-func BrowserHeightBucket(s *session.Event) string {
-	size := sizeFromSession(s)
-	h := size.GetHeight()
-	switch {
-	case h <= 0: // HL
-		return "null"
-	case h <= 480: // HL
-		return "small"
-	case h <= 640: // HL
-		return "medium"
-	default: // HL
-		return "large"
-	}
-}
diff --git a/content/2014/readability/implement-interface-bad.go b/content/2014/readability/implement-interface-bad.go
deleted file mode 100644
index c96f4c3..0000000
--- a/content/2014/readability/implement-interface-bad.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-import "scan" // OMIT
-
-// Column writer implements the scan.Writer interface.
-type ColumnWriter struct {
-	scan.Writer // HL
-	tmpDir      string
-	// some other fields
-}
diff --git a/content/2014/readability/implement-interface-good.go b/content/2014/readability/implement-interface-good.go
deleted file mode 100644
index 697ba95..0000000
--- a/content/2014/readability/implement-interface-good.go
+++ /dev/null
@@ -1,13 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-import "scan" // OMIT
-
-// ColumnWriter is a writer to write ...
-type ColumnWriter struct {
-	tmpDir string
-	// some other fields
-}
-
-var _ scan.Writer = (*ColumnWriter)(nil) // HL
diff --git a/content/2014/readability/in-band-error-client.go b/content/2014/readability/in-band-error-client.go
deleted file mode 100644
index 0ae4590..0000000
--- a/content/2014/readability/in-band-error-client.go
+++ /dev/null
@@ -1,13 +0,0 @@
-// +build ignore,OMIT
-
-package client // OMIT
-
-func proc(it Iterator) (ret time.Duration) {
-	d := it.DurationAt()
-	if d == duration.Unterminated { // HL
-		ret = -1
-	} else {
-		ret = d
-	}
-	// some code
-}
diff --git a/content/2014/readability/in-band-error.go b/content/2014/readability/in-band-error.go
deleted file mode 100644
index cc8cb5e..0000000
--- a/content/2014/readability/in-band-error.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-import ( // OMIT
-	"duration" // OMIT
-	"time"     // OMIT
-) // OMIT
-
-// duration.Unterminated = -1 * time.Second
-
-func (it Iterator) DurationAt() time.Duration {
-	// some code
-	switch durationUsec := m.GetDurationUsec(); durationUsec {
-	case -1:
-		return duration.Unterminated // HL
-	case -2:
-		return -2 // HL
-	default:
-		return time.Duration(durationUsec) * time.Microsecond // HL
-	}
-	return -3 // HL
-}
diff --git a/content/2014/readability/long-line-fold.go b/content/2014/readability/long-line-fold.go
deleted file mode 100644
index 324327a..0000000
--- a/content/2014/readability/long-line-fold.go
+++ /dev/null
@@ -1,17 +0,0 @@
-// +build ignore,OMIT
-
-package sampling
-
-import (
-	servicepb "foo/bar/service_proto"
-)
-
-type SamplingServer struct {
-	// some fields
-}
-
-func (server *SamplingServer) SampleMetrics( // HL
-	sampleRequest *servicepb.Request, sampleResponse *servicepb.Response, // HL
-	latency time.Duration) { // HL
-	// some code
-}
diff --git a/content/2014/readability/long-line-nofold.go b/content/2014/readability/long-line-nofold.go
deleted file mode 100644
index 0baec8b..0000000
--- a/content/2014/readability/long-line-nofold.go
+++ /dev/null
@@ -1,15 +0,0 @@
-// +build ignore,OMIT
-
-package sampling
-
-import (
-	servicepb "foo/bar/service_proto"
-)
-
-type SamplingServer struct {
-	// some fields
-}
-
-func (server *SamplingServer) SampleMetrics(sampleRequest *servicepb.Request, sampleResponse *servicepb.Response, latency time.Duration) { // HL
-	// some code
-}
diff --git a/content/2014/readability/long-line-short.go b/content/2014/readability/long-line-short.go
deleted file mode 100644
index 1b91da9..0000000
--- a/content/2014/readability/long-line-short.go
+++ /dev/null
@@ -1,15 +0,0 @@
-// +build ignore,OMIT
-
-package sampling
-
-import (
-	spb "foo/bar/service_proto"
-)
-
-type Server struct {
-	// some fields
-}
-
-func (s *Server) SampleMetrics(req *spb.Request, resp *spb.Response, latency time.Duration) { // HL
-	// some code
-}
diff --git a/content/2014/readability/nil_error.go b/content/2014/readability/nil_error.go
deleted file mode 100644
index 0ad26b7..0000000
--- a/content/2014/readability/nil_error.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main // OMIT
-
-import "log"
-
-type FooError struct{}
-
-func (e *FooError) Error() string { return "foo error" }
-
-func foo() error {
-	var ferr *FooError // ferr == nil // HL
-	return ferr
-}
-func main() {
-	err := foo()
-	if err != nil { // HL
-		log.Fatal(err)
-	}
-}
diff --git a/content/2014/readability/nil_interface_en.go b/content/2014/readability/nil_interface_en.go
deleted file mode 100644
index 8969e88..0000000
--- a/content/2014/readability/nil_interface_en.go
+++ /dev/null
@@ -1,18 +0,0 @@
-// +build ignore,OMIT
-
-package main // OMIT
-
-import "fmt"
-
-type I interface {
-	Key() string
-	Value() string
-}
-type S struct{ I }      // S has method sets of I.
-func (s S) Key() string { return "type S" }
-
-func main() {
-	var s S
-	fmt.Println("key", s.Key())
-	fmt.Println(s.Value()) // runtime error: invalid memory address or nil pointer deference  // HL
-}
diff --git a/content/2014/readability/pkg.png b/content/2014/readability/pkg.png
deleted file mode 100644
index ac96551..0000000
--- a/content/2014/readability/pkg.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/readability/project.png b/content/2014/readability/project.png
deleted file mode 100644
index 24603f3..0000000
--- a/content/2014/readability/project.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/readability/ref.png b/content/2014/readability/ref.png
deleted file mode 100644
index 0508f6e..0000000
--- a/content/2014/readability/ref.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/readability/reflect-bad.go b/content/2014/readability/reflect-bad.go
deleted file mode 100644
index adbc01a..0000000
--- a/content/2014/readability/reflect-bad.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-type Layers struct {
-	UI, Launch /* more fields */ string
-}
-
-func sample() { // OMIT
-	layers := NewLayers(s.Entries)
-	v := reflect.ValueOf(*layers) // HL
-	r := v.Type()                 // type Layers  // HL
-	for i := 0; i < r.NumField(); i++ {
-		if e := v.Field(i).String(); e != "-" {
-			eid := &pb.ExperimentId{
-				Layer:        proto.String(r.Field(i).Name()),
-				ExperimentId: &e,
-			}
-			experimentIDs = append(experimentIDs, eid)
-		}
-	}
-} // OMIT
diff --git a/content/2014/readability/reflect-good.go b/content/2014/readability/reflect-good.go
deleted file mode 100644
index 55a6d92..0000000
--- a/content/2014/readability/reflect-good.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-type LayerExperiment struct{ Layer, Experiment string } // HL
-
-func (t *Layers) Slice() []LayerExperiment { // HL
-	return []LayerExperiment{
-		{"UI", t.UI},
-		{"Launch", t.Launch},
-		/* more fields */
-	}
-}
-
-func sample() { // OMIT
-	layers := NewLayers(s.Entries).Slice() // HL
-	for _, l := range layers {
-		if l.Experiment != "-" {
-			eid := &pb.ExperimentId{
-				Layer:        proto.String(l.Layer),
-				ExperimentId: proto.String(l.Experiment),
-			}
-			experimentIDs = append(experimentIDs, eid)
-		}
-	}
-} // OMIT
diff --git a/content/2014/readability/resthandler-fix2.go b/content/2014/readability/resthandler-fix2.go
deleted file mode 100644
index 2f26b35..0000000
--- a/content/2014/readability/resthandler-fix2.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// +build ignore,OMIT
-
-package resthandler // OMIT
-
-func finishStatus(r Result, complete bool) int {
-	if !complete {
-		return http.StatusAccepted // HL
-	}
-	if stat, ok := r.Object.(*api.Status); ok && stat.Code != 0 {
-		return stat.Code // HL
-	}
-	if r.Created {
-		return http.StatusCreated // HL
-	}
-	return http.StatusOK // HL
-}
-
-func (h *RESTHandler) finishReq(op *Operation, w http.ResponseWriter, req *http.Request) {
-	result, complete := op.StatusOrResult()
-	status := finishStatus(result, complete)     // HL
-	writeJSON(status, h.codec, result.Object, w) // HL
-}
diff --git a/content/2014/readability/resthandler.go b/content/2014/readability/resthandler.go
deleted file mode 100644
index d5c790a..0000000
--- a/content/2014/readability/resthandler.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore,OMIT
-
-package resthandler // OMIT
-
-func (h *RESTHandler) finishReq(op *Operation, req *http.Request, w http.ResponseWriter) {
-	result, complete := op.StatusOrResult()
-	obj := result.Object
-	if complete {
-		status := http.StatusOK // HL
-		if result.Created {
-			status = http.StatusCreated // HL
-		}
-		switch stat := obj.(type) {
-		case *api.Status:
-			if stat.Code != 0 {
-				status = stat.Code // HL
-			}
-		}
-		writeJSON(status, h.codec, obj, w) // HL
-	} else {
-		writeJSON(http.StatusAccepted, h.codec, obj, w) // HL
-	}
-}
diff --git a/content/2014/readability/struct-field-bad.go b/content/2014/readability/struct-field-bad.go
deleted file mode 100644
index c3afe11..0000000
--- a/content/2014/readability/struct-field-bad.go
+++ /dev/null
@@ -1,10 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-type Modifier struct {
-	pmod   *profile.Modifier
-	cache  map[string]time.Time
-	client *client.Client
-	mu     sync.RWMutex // HL
-}
diff --git a/content/2014/readability/struct-field-good.go b/content/2014/readability/struct-field-good.go
deleted file mode 100644
index 9774716..0000000
--- a/content/2014/readability/struct-field-good.go
+++ /dev/null
@@ -1,11 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-type Modifier struct {
-	client *client.Client
-
-	mu    sync.RWMutex // HL
-	pmod  *profile.Modifier
-	cache map[string]time.Time
-}
diff --git a/content/2014/readability/talks.png b/content/2014/readability/talks.png
deleted file mode 100644
index 589db47..0000000
--- a/content/2014/readability/talks.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/readability/test-pattern_en.go b/content/2014/readability/test-pattern_en.go
deleted file mode 100644
index 6312e09..0000000
--- a/content/2014/readability/test-pattern_en.go
+++ /dev/null
@@ -1,10 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-func TestSample(t *testing.T) { // OMIT
-	// Typical test code
-	if got, want := testTargetFunc(input), expectedValue; !checkTestResult(got, want) {
-		t.Errorf("testTargetFunc(%v) = %v; want %v", input, got, want)
-	}
-} // OMIT
diff --git a/content/2014/readability/time_duration_bad.go b/content/2014/readability/time_duration_bad.go
deleted file mode 100644
index afa1d5e..0000000
--- a/content/2014/readability/time_duration_bad.go
+++ /dev/null
@@ -1,5 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-var rpcTimeoutSecs = 30 // Thirty seconds  // HL
diff --git a/content/2014/readability/time_duration_bad1.go b/content/2014/readability/time_duration_bad1.go
deleted file mode 100644
index e78f819..0000000
--- a/content/2014/readability/time_duration_bad1.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-import "time" // OMIT
-
-var rpcTimeout = time.Duration(30 * time.Second) // Thirty seconds  // HL
diff --git a/content/2014/readability/time_duration_bad2.go b/content/2014/readability/time_duration_bad2.go
deleted file mode 100644
index a185385..0000000
--- a/content/2014/readability/time_duration_bad2.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-import "time" // OMIT
-
-var rpcTimeout = time.Duration(30) * time.Second // Thirty seconds  // HL
diff --git a/content/2014/readability/time_duration_good.go b/content/2014/readability/time_duration_good.go
deleted file mode 100644
index 6af1e5d..0000000
--- a/content/2014/readability/time_duration_good.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-import "time" // OMIT
-
-var rpcTimeout = 30 * time.Second // HL
diff --git a/content/2014/readability/val-and-error.go b/content/2014/readability/val-and-error.go
deleted file mode 100644
index ae6aeb7..0000000
--- a/content/2014/readability/val-and-error.go
+++ /dev/null
@@ -1,27 +0,0 @@
-// +build ignore,OMIT
-
-package sample // OMIT
-
-import ( // OMIT
-	"errors" // OMIT
-	"time"   // OMIT
-) // OMIT
-
-var (
-	ErrDurationUnterminated = errors.new("duration: unterminated")
-	ErrNoDuration           = errors.New("duration: not found")
-	ErrNoIteration          = errors.New("duration: not interation")
-)
-
-func (it Iterator) DurationAt() (time.Duration, error) { // HL
-	// some code
-	switch durationUsec := m.GetDurationUsec(); durationUsec {
-	case -1:
-		return 0, ErrDurationUnterminated // HL
-	case -2:
-		return 0, ErrNoDuration // HL
-	default:
-		return time.Duation(durationUsec) * time.Microsecond, nil // HL
-	}
-	return 0, ErrNoIteration // HL
-}
diff --git a/content/2014/research.slide b/content/2014/research.slide
deleted file mode 100644
index 4498d7c..0000000
--- a/content/2014/research.slide
+++ /dev/null
@@ -1,323 +0,0 @@
-The Research Problems of Implementing Go
-
-Russ Cox
-Google
-
-http://golang.org/
-
-* About the Talk
-
-I gave this talk at Google's Cambridge, Massachusetts office at an event for area Ph.D. students. The purpose of the event and the talk was to give a sense of some of the research that goes on at Google. The talk presents some research questions motivated by Go. We have answered some well, but others remain open.
-
-* About Go
-
-Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
-
-Design began in late 2007.
-
-- Robert Griesemer, Rob Pike, Ken Thompson
-- Russ Cox, Ian Lance Taylor
-
-Became open source in November 2009.
-
-Developed entirely in the open; very active community.
-Language stable as of Go 1, early 2012.
-Work continues.
-
-* Motivation for Go
-
-.image ../2012/splash/datacenter.jpg
-
-* Motivation for Go
-
-Started as an answer to software problems at Google:
-
-- multicore processors
-- networked systems
-- massive computation clusters
-- scale: 10⁷ lines of code
-- scale: 10³ programmers
-- scale: 10⁶⁺ machines (design point)
-
-Deployed: parts of YouTube, dl.google.com, Blogger, Google Code, Google Fiber, ...
-
-* Go
-
-A simple but powerful and fun language.
-
-- start with C, remove complex parts
-- add interfaces, concurrency
-- also: garbage collection, closures, reflection, strings, ...
-
-For more background on design:
-
-- [[http://commandcenter.blogspot.com/2012/06/less-is-exponentially-more.html][Less is exponentially more]]
-- [[http://talks.golang.org/2012/splash.article][Go at Google: Language Design in the Service of Software Engineering]]
-
-* Research and Go
-
-Go is designed for building production systems at Google.
-
-- Goal: make that job easier, faster, better.
-- Non-goal: break new ground in programming language research
-
-Plenty of research questions about how to implement Go well.
-
-- Concurrency
-- Polymorphism
-- Garbage collection
-- Program translation
-
-* Concurrency
-
-* Concurrency
-
-Go provides two important concepts:
-
-A goroutine is a thread of control within the program, with its own local variables and stack. Cheap, easy to create.
-
-A channel carries typed messages between goroutines.
-
-* Concurrency
-
-.play ../2013/distsys/hello.go
-
-* Concurrency: CSP
-
-Channels adopted from Hoare's Communicating Sequential Processes.
-
-- Orthogonal to rest of language
-- Can keep familiar model for computation
-- Focus on _composition_ of regular code
-
-Go _enables_ simple, safe concurrent programming.
-It doesn't _forbid_ bad programming.
-
-Caveat: not purely memory safe; sharing is legal.
-Passing a pointer over a channel is idiomatic.
-
-Experience shows this is practical.
-
-* Concurrency
-
-Sequential network address resolution, given a work list:
-
-.play ../2013/distsys/addr1.go /lookup/+1,/^}/-1
-
-* Concurrency
-
-Parallel network address resolution, given a work list:
-
-.play ../2013/distsys/addr2.go /lookup/+1,/^}/-1
-
-* Implementing Concurrency
-
-Challenge: Make channel communication scale
-
-- start with one global channel lock
-- per-channel locks, locked in address order for multi-channel operations
-
-Research question: lock-free channels?
-
-* Polymorphism
-
-* Interfaces
-
-An interface defines a set of methods.
-
-	package io
-	
-	type Writer interface {
-		Write(data []byte) (n int, err error)
-	}
-
-* Interfaces
-
-A type implements the interface by implementing the methods.
-
-	package bytes
-	
-	type Buffer struct {
-		...
-	}
-	
-	func (b *Buffer) Write(data []byte) (n int, err error) {
-		...
-	}
-
-* Interfaces
-
-An implementation of an interface can be assigned to a variable of that interface type.
-
-	package fmt
-	
-	func Fprintf(w io.Writer, format string, args ...interface{})
-
-* Interfaces
-
-.play ../2013/distsys/writebuffer.go /^func.main/+1,/^}/-1
-
-* Interface Advantages
-
-- no dependence between interface and implementation
-- easy testing
-- avoids overdesign, rigid hierarchy of inheritance-based OO
-
-The source of all generality in the Go language.
-
-* Implementing Interfaces
-
-How do you make method dispatch efficient?
-
-	b := new(bytes.Buffer)
-	var w io.Writer
-	w = b
-	fmt.Fprintf(w, "hello, %s\n", "world")
-		... w.Write(text) // what happens here?
-
-At w.Write call, how does the runtime find the method to call?
-
-* Implementing Interfaces
-
-How do you make method dispatch efficient?
-
-	b := new(bytes.Buffer)
-	var w io.Writer
-	w = b                 // do the work here!
-	fmt.Fprintf(w, "hello, %s\n", "world")
-		... w.Write(text) // plain indirect function call
-
-Interface holds two words: "itable" and actual value (or pointer to value).
-
-Itable contains type information plus list of function pointers for methods in interface.
-
-	w.itable.fn[1](w.data, text)
-
-Conversion sites usually trivial to cache.
-
-* Interfaces for Algorithms
-
-	package sort
-	
-	type Interface interface {
-		Len() int           // return number of elements, len(x)
-		Less(i, j int) bool // report whether x[i] < x[j]
-		Swap(i, j int)      // x[i], x[j] = x[j], x[i]
-	}
-	
-	func Sort(data Interface)
-
-Requires some boilerplate for each use:
-
-	type bySubject []Thread
-	
-	func (x bySubject) Less(i, j int) bool { return x[i].Subject < x[j].Subject }
-	func (x bySubject) Swap(i, j int)      { x[i], x[j] = x[j], x[i] }
-	func (x bySubject) Len() int           { return len(x) }
-
-	sort.Sort(bySubject(threads))
-
-* Polymorphism: Can we do better?
-
-	func Sort(data []T, less func(x, y *T) bool)
-
-	sort.Sort(threads, func(x, y *Thread) bool {
-		return x.Subject < y.Subject
-	})
-	
-Research question: what's a reasonable semantics?
-Research question: what's a reasonable implementation?
-
-- C says don't bother.
-- C++ makes many copies of the same function.
-- Java boxes everything implicitly: one function, but expensive data model.
-- Java discards run-time type information.
-
-Do you want slow programmers, slow compilers and bloated binaries, or slow execution?
-
-* Garbage Collection
-
-* Garbage Collection
-
-Garbage collection simplifies APIs.
-
-- In C and C++, too much API design (and too much programming effort!) is about memory management.
-
-Fundamental to concurrency: too hard to track ownership otherwise.
-
-Fundamental to interfaces: memory management details do not bifurcate otherwise-similar APIs.
-
-Of course, adds cost, latency, complexity in run time system.
-
-* Avoiding Garbage Collection
-
-Observation: garbage collection is a service, and like any service it can be overloaded, oversubscribed.
-
-Go lets you limit allocation by controlling memory layout.
-
-	type Point struct {
-		X, Y int
-	}
-	
-	type Rectangle struct {
-		Min, Max Point
-	}
-
-* Implementing Garbage Collection
-
-Language decision: interior pointers are allowed, as are foreign pointers
-
-- Cannot reuse Java GC algorithms directly.
-- But gives _programmer_ more control over allocation.
-
-Allocator: objects are allocated in pages with other objects of the same size.
-
-Current GC: stop the world, parallel mark, start the world, background sweep.
-
-Research question: how to make collector lower latency, possibly incremental?
-
-* Program Translation
-
-* Program Translation
-
-Go programs can be parsed without context (unlike C and C++).
-Go ships with a standard program formatter.
-
-Makes automated edits indistinguishable from manual edits.
-
-	$ cat x.go
-	package main
-	
-	var b bytes.Buffer
-	
-	$ gofmt -r 'bytes.Buffer -> bytes.Writer' x.go
-	package main
-	
-	var b bytes.Writer
-	
-	$ 
-
-More advanced rewrites: "go fix" for API adjustments.
-
-* Program Translation
-
-Research Question: What about translating other programs to Go?
-
-Exploring the conversion of C programs to Go today.
-
-- Decide return type (for example, int vs bool).
-- Decide which variables are pointers vs arrays.
-- Decide which functions are really methods.
-- Decide natural package boundaries.
-
-What about other languages?
-
-* Research and Go
-
-Plenty of research questions about how to implement Go well.
-
-- Concurrency
-- Polymorphism
-- Garbage collection
-- Program translation
-
diff --git a/content/2014/research2.slide b/content/2014/research2.slide
deleted file mode 100644
index b947170..0000000
--- a/content/2014/research2.slide
+++ /dev/null
@@ -1,440 +0,0 @@
-More Research Problems of Implementing Go
-
-Dmitry Vyukov
-Google
-
-http://golang.org/
-
-* About Go
-
-Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
-
-Design began in late 2007.
-
-- Robert Griesemer, Rob Pike, Ken Thompson
-- Russ Cox, Ian Lance Taylor
-
-Became open source in November 2009.
-
-Developed entirely in the open; very active community.
-Language stable as of Go 1, early 2012.
-Work continues.
-
-* Motivation for Go
-
-.image research2/datacenter.jpg
-
-* Motivation for Go
-
-Started as an answer to software problems at Google:
-
-- multicore processors
-- networked systems
-- massive computation clusters
-- scale: 10⁷⁺ lines of code
-- scale: 10³⁺ programmers
-- scale: 10⁶⁺ machines (design point)
-
-Deployed: parts of YouTube, dl.google.com, Blogger, Google Code, Google Fiber, ...
-
-* Go
-
-A simple but powerful and fun language.
-
-- start with C, remove complex parts
-- add interfaces, concurrency
-- also: garbage collection, closures, reflection, strings, ...
-
-For more background on design:
-
-- [[http://commandcenter.blogspot.com/2012/06/less-is-exponentially-more.html][Less is exponentially more]]
-- [[http://talks.golang.org/2012/splash.article][Go at Google: Language Design in the Service of Software Engineering]]
-
-* Research and Go
-
-Go is designed for building production systems at Google.
-
-- Goal: make that job easier, faster, better.
-- Non-goal: break new ground in programming language research
-
-Plenty of research questions about how to implement Go well.
-
-- Concurrency
-- Scheduling
-- Garbage collection
-- Race and deadlock detection
-- Testing of the implementation
-
-
-
-
-* Concurrency
-
-.image research2/busy.jpg
-
-* Concurrency
-
-Go provides two important concepts:
-
-A goroutine is a thread of control within the program, with its own local variables and stack. Cheap, easy to create.
-
-A channel carries typed messages between goroutines.
-
-* Concurrency
-
-.play research2/hello.go
-
-* Concurrency: CSP
-
-Channels adopted from Hoare's Communicating Sequential Processes.
-
-- Orthogonal to rest of language
-- Can keep familiar model for computation
-- Focus on _composition_ of regular code
-
-Go _enables_ simple, safe concurrent programming.
-It doesn't _forbid_ bad programming.
-
-Caveat: not purely memory safe; sharing is legal.
-Passing a pointer over a channel is idiomatic.
-
-Experience shows this is practical.
-
-* Concurrency
-
-Sequential network address resolution, given a work list:
-
-.play research2/addr1.go /lookup/+1,/^}/-1
-
-* Concurrency
-
-Concurrent network address resolution, given a work list:
-
-.play research2/addr2.go /lookup/+1,/^}/-1
-
-* Concurrency
-
-Select statements: switch for communication.
-
-.play research2/select.go /select/,/^}/-1
-
-That's select that makes efficient implementation difficult.
-
-* Implementing Concurrency
-
-Challenge: Make channel communication scale
-
-- start with one global channel lock
-- per-channel locks, locked in address order for multi-channel operations
-
-Research question: lock-free channels?
-
-
-
-
-* Scheduling
-
-.image research2/gophercomplex6.jpg
-
-* Scheduling
-
-On the one hand we have arbitrary user programs:
-
-- fine-grained goroutines, coarse-grained goroutines or a mix of both
-- computational goroutines, IO-bound goroutines or a mix of both
-- arbitrary dynamic communication patterns
-- busy, idle, bursty programs
-
-No user hints!
-
-* Scheduling
-
-On the other hand we have complex hardware topology:
-
-- per-core caches
-- caches shared between cores
-- cores shared between hyper threads (HT)
-- multiple processors with non-uniform memory access (NUMA)
-
-* Scheduling
-
-Challenge: make it all magically work efficiently
-
-- start with one global lock for all scheduler state
-- distributed work-stealing scheduler with per-"processor" state
-- integrated network poller into scheduler
-- lock-free work queues
-
-* Scheduling
-
-Current scheduler:
-
- ┌─┐         ┌─┐         ┌─┐         ┌─┐                  ┌─┐
- │ │         │ │         │ │         │ │                  │ │
- ├─┤         ├─┤         ├─┤         ├─┤                  ├─┤ Global
- │ │         │G│         │ │         │ │                  │ │ state
- ├─┤         ├─┤         ├─┤         ├─┤                  ├─┤
- │G│         │G│         │G│         │ │                  │G│
- ├─┤         ├─┤         ├─┤         ├─┤                  ├─┤
- │G│         │G│         │G│         │G│                  │G│
- └┬┘         └┬┘         └┬┘         └┬┘                  └─┘
-  │           │           │           │
-  ↓           ↓           ↓           ↓
- ┌─┬──────┐  ┌─┬──────┐  ┌─┬──────┐  ┌─┬──────┐     ┌────┐┌──────┐┌───────┐
- │P│mcache│  │P│mcache│  │P│mcache│  │P│mcache│     │heap││timers││netpoll│
- └┬┴──────┘  └┬┴──────┘  └┬┴──────┘  └┬┴──────┘     └────┘└──────┘└───────┘
-  │           │           │           │
-  ↓           ↓           ↓           ↓
- ┌─┐         ┌─┐         ┌─┐         ┌─┐               ┌─┐ ┌─┐ ┌─┐
- │M│         │M│         │M│         │M│               │M│ │M│ │M│
- └─┘         └─┘         └─┘         └─┘               └─┘ └─┘ └─┘
-
-G - goroutine; P - logical processor; M - OS thread (machine)
-
-* Scheduling
-
-Want:
-
-- temporal locality to exploit caches
-- spatial locality to exploit NUMA
-- schedule mostly LIFO but ensure weak fairness
-- allocate local memory and stacks
-- scan local memory in GC
-- collocate communicating goroutines
-- distribute non-communicating goroutines
-- distribute timers and network poller
-- poll network on the same core where last read was issued
-
-
-
-
-
-* Garbage Collection
-
-* Garbage Collection
-
-Garbage collection simplifies APIs.
-
-- In C and C++, too much API design (and too much programming effort!) is about memory management.
-
-Fundamental to concurrency: too hard to track ownership otherwise.
-
-Fundamental to interfaces: memory management details do not bifurcate otherwise-similar APIs.
-
-Of course, adds cost, latency, complexity in run time system.
-
-* Garbage Collection
-
-Plenty of research about garbage collection, mostly in Java context.
-
-- Parallel stop-the-world
-- CMS: concurrent mark-and-sweep, stop-the-world compaction
-- G1: region-based incremental copying collector
-
-Java collectors usually:
-
-- are generational/incremental because allocation rate is high
-- compact memory to support generations
-- have pauses because concurrent compaction is tricky and slow
-
-* Garbage Collection
-
-But Go is very different!
-
-- User can avoid lots of allocations by embedding objects:
-
-	type Point struct {
-		X, Y int
-	}
-	type Rectangle struct {
-		Min, Max Point
-	}
-
-- Less pointers.
-- Lots of stack allocations.
-- Interior pointers are allowed:
-
-	p := &rect.Max
-
-- Hundreds of thousands of stacks (goroutines)
-- No object headers so far
-
-* Implementing Garbage Collection
-
-Current GC: stop the world, parallel mark, start the world, concurrent sweep.
-Concurrent mark is almost ready.
-
-Cannot reuse Java GC algorithms directly.
-
-Research question: what GC algorithm is the best fit for Go?
-Do we need generations? Do we need compaction? What are efficient data structures that support interior pointers?
-
-
-
-
-* Race and deadlock detection
-
-.image research2/race.png 160 600
-
-* Race detection
-
-Based on ThreadSanitizer runtime, originally mainly targeted C/C++.
-Traditional happens-before race detector based on vector clocks (devil in details!).
-Works fine for Go, except:
-
- $ go run -race lots_of_goroutines.go
- race: limit on 8192 simultaneously alive goroutines is exceeded, dying
-
-Research question: race dectector that efficiently supports hundreds of thousands of goroutines?
-
-* Deadlock detection
-
-Deadlock on mutexes due to lock order inversion:
-
- // thread 1                       // thread 2
- pthread_mutex_lock(&m1);          pthread_mutex_lock(&m2);
- pthread_mutex_lock(&m2);          pthread_mutex_lock(&m1);
- ...                               ...
- pthread_mutex_unlock(&m2);        pthread_mutex_unlock(&m1);
- pthread_mutex_unlock(&m1);        pthread_mutex_unlock(&m2);
-
-Lock order inversions are easy to detect:
-
-- build "M1 is locked under M2" relation.
-- if it becomes cyclic, there is a potential deadlock.
-- whenever a new edge is added to the graph, do DFS to find cycles.
-
-* Deadlock detection
-
-Go has channels and mutexes. Channels are semaphores. A mutex can be unlocked in
-a different goroutine, so it is essentially a binary semaphore too.
-
-Deadlock example:
-
-	// Parallel file tree walk.
-	func worker(pendingItems chan os.FileInfo)
-		for f := range pendingItems {
-			if f.IsDir() {
-				filepath.Walk(f.Name(), func(path string, info os.FileInfo, err error) error {
-					pendingItems <- info
-				})
-			} else {
-				visit(f)
-			}
-		}
-	}
-
-pendingItems channel has limited capacity. All workers can block on send to pendingItems.
-
-* Deadlock detection
-
-Another deadlock example:
-
- var (
- 	c = make(chan T, 100)
- 	mtx sync.RWMutex
-  )
- 
- // goroutine 1      // goroutine 2         // goroutine 3
- // does send        // does receive        // "resizes" the channel
- mtx.RLock()         mtx.RLock()            mtx.Lock()
- c <- v              v := <-c               tmp := make(chan T, 200)
- mtx.RUnlock()       mtx.RUnlock()          copyAll(c, tmp)
-                                            c = tmp
-                                            mtx.Unlock()
-
-RWMutex is fair for both readers and writers: when a writer arrives, new readers are not let to enter the critical section.
-Goroutine 1 blocks on chan send; then goroutine 3 blocks on mtx.Lock; then goroutine 2 blocks on mtx.RLock.
-
-* Deadlock detection
-
-Research question: how to detect deadlocks on semaphores?
-
-No known theory to date.
-
-
-
-
-* Testing of the implementation
-
-.image research2/gopherswrench.jpg 240 405
-
-* Testing of the implementation
-
-So now we have a new language with several complex implementations:
-
-- lexer
-- parser
-- transformation and optimization passes
-- code generation
-- linker
-- channel and map operations
-- garbage collector
-- ...
-
-*How*do*you*test*it?*
-
-* Testing of the implementation
-
-Csmith is a tool that generates random C programs that statically and dynamically conform to the C99 standard.
-
-.image research2/csmith.png
-
-* Testing of the implementation
-
-Gosmith is a tool that generates random Go programs that statically and dynamically conform to the Go standard.
-
-Turned out to be much simpler than C: no undefined behavior all around!
-
-- no unitialized variables
-- no concurrent mutations between sequence points (x[i++] = --i)
-- no UB during signed overflow
-- total 191 kinds of undefined behavior and 52 kinds of unspecified behavior in C
-
-* Testing of the implementation
-
-But generates uninteresting programs from execution point of view: most of them deadlock or crash on nil deref.
-
-Trophies:
-
-- 31 bugs in gc compiler
-- 18 bugs in gccgo compiler
-- 5 bugs in llgo compiler
-- 1 bug in gofmt
-- 3 bugs in the spec
-
-.image research2/emoji.png
-
-* Testing of the implementation
-
-Research question: how to generate random *interesting*concurrent* Go programs?
-
-Must:
-
-- create and wait for goroutines
-- communicate over channels
-- protect data with mutexes (reader-writer)
-- pass data ownership between goroutines (explicitly and implicitly)
-
-Must not:
-
-- deadlock
-- cause data races
-- have non-deterministic results
-
-
-
-
-
-* Research and Go
-
-Plenty of research questions about how to implement Go well.
-
-- Concurrency
-- Scheduling
-- Garbage collection
-- Race and deadlock detection
-- Testing of the implementation
-- [Polymorphism]
-- [Program translation]
-
diff --git a/content/2014/research2/addr1.go b/content/2014/research2/addr1.go
deleted file mode 100644
index e8cea40..0000000
--- a/content/2014/research2/addr1.go
+++ /dev/null
@@ -1,83 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func lookup() {
-	for _, w := range worklist {
-		w.addrs, w.err = LookupHost(w.host)
-	}
-}
-
-func main() {
-	rand.Seed(time.Now().UnixNano())
-
-	t0 := time.Now()
-	lookup()
-
-	fmt.Printf("\n")
-	for _, w := range worklist {
-		if w.err != nil {
-			fmt.Printf("%s: error: %v\n", w.host, w.err)
-			continue
-		}
-		fmt.Printf("%s: %v\n", w.host, w.addrs)
-	}
-	fmt.Printf("total lookup time: %.3f seconds\n", time.Since(t0).Seconds())
-}
-
-var worklist = []*Work{
-	{host: "fast.com"},
-	{host: "slow.com"},
-	{host: "fast.missing.com"},
-	{host: "slow.missing.com"},
-}
-
-type Work struct {
-	host  string
-	addrs []string
-	err   error
-}
-
-func LookupHost(name string) (addrs []string, err error) {
-	t0 := time.Now()
-	defer func() {
-		fmt.Printf("lookup %s: %.3f seconds\n", name, time.Since(t0).Seconds())
-	}()
-	h := hosts[name]
-	if h == nil {
-		h = failure
-	}
-	return h(name)
-}
-
-type resolver func(string) ([]string, error)
-
-var hosts = map[string]resolver{
-	"fast.com":         delay(10*time.Millisecond, fixedAddrs("10.0.0.1")),
-	"slow.com":         delay(2*time.Second, fixedAddrs("10.0.0.4")),
-	"fast.missing.com": delay(10*time.Millisecond, failure),
-	"slow.missing.com": delay(2*time.Second, failure),
-}
-
-func fixedAddrs(addrs ...string) resolver {
-	return func(string) ([]string, error) {
-		return addrs, nil
-	}
-}
-
-func delay(d time.Duration, f resolver) resolver {
-	return func(name string) ([]string, error) {
-		time.Sleep(d/2 + time.Duration(rand.Int63n(int64(d/2))))
-		return f(name)
-	}
-}
-
-func failure(name string) ([]string, error) {
-	return nil, fmt.Errorf("unknown host %v", name)
-}
diff --git a/content/2014/research2/addr2.go b/content/2014/research2/addr2.go
deleted file mode 100644
index 3475997..0000000
--- a/content/2014/research2/addr2.go
+++ /dev/null
@@ -1,92 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-func lookup() {
-	done := make(chan bool)
-
-	for _, w := range worklist {
-		go func(w *Work) {
-			w.addrs, w.err = LookupHost(w.host)
-			done <- true
-		}(w)
-	}
-
-	for range worklist {
-		<-done
-	}
-}
-
-func main() {
-	rand.Seed(time.Now().UnixNano())
-
-	t0 := time.Now()
-	lookup()
-
-	fmt.Printf("\n")
-	for _, w := range worklist {
-		if w.err != nil {
-			fmt.Printf("%s: error: %v\n", w.host, w.err)
-			continue
-		}
-		fmt.Printf("%s: %v\n", w.host, w.addrs)
-	}
-	fmt.Printf("total lookup time: %.3f seconds\n", time.Since(t0).Seconds())
-}
-
-var worklist = []*Work{
-	{host: "fast.com"},
-	{host: "slow.com"},
-	{host: "fast.missing.com"},
-	{host: "slow.missing.com"},
-}
-
-type Work struct {
-	host  string
-	addrs []string
-	err   error
-}
-
-func LookupHost(name string) (addrs []string, err error) {
-	t0 := time.Now()
-	defer func() {
-		fmt.Printf("lookup %s: %.3f seconds\n", name, time.Since(t0).Seconds())
-	}()
-	h := hosts[name]
-	if h == nil {
-		h = failure
-	}
-	return h(name)
-}
-
-type resolver func(string) ([]string, error)
-
-var hosts = map[string]resolver{
-	"fast.com":         delay(10*time.Millisecond, fixedAddrs("10.0.0.1")),
-	"slow.com":         delay(2*time.Second, fixedAddrs("10.0.0.4")),
-	"fast.missing.com": delay(10*time.Millisecond, failure),
-	"slow.missing.com": delay(2*time.Second, failure),
-}
-
-func fixedAddrs(addrs ...string) resolver {
-	return func(string) ([]string, error) {
-		return addrs, nil
-	}
-}
-
-func delay(d time.Duration, f resolver) resolver {
-	return func(name string) ([]string, error) {
-		time.Sleep(d/2 + time.Duration(rand.Int63n(int64(d/2))))
-		return f(name)
-	}
-}
-
-func failure(name string) ([]string, error) {
-	return nil, fmt.Errorf("unknown host %v", name)
-}
diff --git a/content/2014/research2/busy.jpg b/content/2014/research2/busy.jpg
deleted file mode 100644
index 35ce9f4..0000000
--- a/content/2014/research2/busy.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/research2/csmith.png b/content/2014/research2/csmith.png
deleted file mode 100644
index 6f2e3d7..0000000
--- a/content/2014/research2/csmith.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/research2/datacenter.jpg b/content/2014/research2/datacenter.jpg
deleted file mode 100644
index c2de0f3..0000000
--- a/content/2014/research2/datacenter.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/research2/emoji.png b/content/2014/research2/emoji.png
deleted file mode 100644
index aae97c0..0000000
--- a/content/2014/research2/emoji.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/research2/gophercomplex6.jpg b/content/2014/research2/gophercomplex6.jpg
deleted file mode 100644
index 7963c1b..0000000
--- a/content/2014/research2/gophercomplex6.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/research2/gopherswrench.jpg b/content/2014/research2/gopherswrench.jpg
deleted file mode 100644
index 690fdb0..0000000
--- a/content/2014/research2/gopherswrench.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/research2/hello.go b/content/2014/research2/hello.go
deleted file mode 100644
index 32efb51..0000000
--- a/content/2014/research2/hello.go
+++ /dev/null
@@ -1,14 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	c := make(chan string)
-	go func() {
-		c <- "Hello"
-		c <- "World"
-	}()
-	fmt.Println(<-c, <-c)
-}
diff --git a/content/2014/research2/race.png b/content/2014/research2/race.png
deleted file mode 100644
index 8934a64..0000000
--- a/content/2014/research2/race.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/research2/select.go b/content/2014/research2/select.go
deleted file mode 100644
index ae1084b..0000000
--- a/content/2014/research2/select.go
+++ /dev/null
@@ -1,23 +0,0 @@
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func main() {
-	c1 := make(chan int, 1)
-	c2 := make(chan int, 1)
-	c1 <- 42
-
-	select {
-	case v := <-c1:
-		fmt.Println("received from c1: ", v)
-	case c2 <- 1:
-		fmt.Println("sent to c2")
-	case <-time.After(time.Second):
-		fmt.Println("timed out")
-	default:
-		fmt.Println("nothing ready at the moment")
-	}
-}
diff --git a/content/2014/state-of-go.slide b/content/2014/state-of-go.slide
deleted file mode 100644
index e8f78d2..0000000
--- a/content/2014/state-of-go.slide
+++ /dev/null
@@ -1,294 +0,0 @@
-The State of Go
-Where we are in June 2014
-
-Andrew Gerrand
-
-* Yesterday
-
-
-* Initial reception
-
-Looking back on the first months.
-
-
-* Complaints
-
-The complaints started right away…
-
-.image state-of-go/msg-wrong.png _ 600
-
-.image state-of-go/msg-lacks.png _ 600
-
-
-* Familiar complaints
-
-.image state-of-go/msg-generics.png _ 600
-
-.image state-of-go/msg-type.png _ 600
-
-.image state-of-go/msg-exceptions1b.png _ 600
-
-
-* Familiar complaints
-
-.image state-of-go/indent.png 500 _
-
-The first HN thread about Go was mostly an argument about braces and indentation.
-
-
-* Historic moments
-
-The first public language change (Dec 10, 2009):
-
-.image state-of-go/msg-semi.png _ 400
-
-
-* The gopher
-
-.image state-of-go/msg-logo1.png _ 800
-
-.image state-of-go/sadgopher.png _ 250
-
-
-* The gopher
-
-.image state-of-go/msg-logo2.png _ 800
-
-
-* The gopher
-
-.image state-of-go/msg-logo3.jpg _ 700
-
-
-* A keen observation
-
-.image state-of-go/msg-exceptions2.png _ 800
-
-
-* Signs of hope
-
-.image state-of-go/msg-nogenerics.png _ 600
-
-
-* Today
-
-
-* Growth
-
-.image state-of-go/redmonk.png _ 600
-
-.image state-of-go/oloh.png
-
-
-* User groups
-
-Today there are 48 active user groups in 15 countries across 5 continents.
-
-
-* GopherCon
-
-.image state-of-go/gophercon.png
-
-Community-driven. 3 days. 700 attendees. 24 talks. 1 panel. 4 hours of lightning talks!
-
-
-* The gopher
-
-.image state-of-go/gophers.jpg
-
-* The gopher
-
-.image state-of-go/bus.jpg
-
-* The gopher
-
-.image state-of-go/tattoo.jpg
-
-
-* Go 1.3
-
-Released last Wednesday, 18 June 2014.
-
-Highlights:
-
-- Native Client support (amd64, 386)
-- DragonFly BSD, Plan 9, and Solaris support
-- Improved performance (GC, contiguous stacks, race detector, regexp)
-- Faster incremental builds (linker overhaul)
-- Precise GC of stacks
-- Static analysis in godoc
-
-
-* Tomorrow
-
-
-* Upcoming conferences
-
-.image state-of-go/dotgo.png
-
-.image state-of-go/india.png
-
-
-* Go 1.4
-
-Due December 1st, 2014.
-
-What might be in it? (Speculative list follows.)
-
-
-* New language features
-
-Nope.
-
-
-* Canonical import paths
-
-A means for a repository to specify its canonical import path.
-
-Goal: stop people from checking out repos from the wrong path.
-
-Applications:
-
-- Stable vanity import paths.
-
-	"camlistore.org" -> "camlistore.googlesource.com/camlistore"
-
-- Make GitHub's fork model less painful.
-
-(Proposal forthcoming.)
-
-
-* Internal packages
-
-Current proposal:
-
-"An import of a path containing the element “internal” is disallowed if the importing code is outside the tree rooted at the parent of the “internal” directory."
-
-- Code in `/a/b/c/internal/d/e/f` can be imported only by code in the directory tree rooted at `/a/b/c`.
-- `$GOROOT/src/pkg/internal/xxx` can be imported only by other code in the standard library (`$GOROOT/src/`).
-
-And, later:
-
-- `$GOPATH/src/mypkg/internal/foo` can be imported only by code in `$GOPATH/src/mypkg`.
-
-.link http://golang.org/s/go14internal
-
-
-* src/pkg → src
-
-Move the standard library from `$GOROOT/src/pkg` to `$GOROOT/src`.
-
-Basically makes `$GOROOT` work just like `$GOPATH`.
-
-(Not a big deal for most, but a nice clean up for the core.)
-
-.link http://golang.org/s/go14nopkg
-
-
-* File system access throttling
-
-Throttling of access to the file system at the `os` package level.
-
-Goal:
-
-- Launch a million goroutines that do file system stuff.
-- Don't launch a million operating system threads to block on the syscalls.
-
-Make it work just as nicely as it does with the network.
-
-(Proposal forthcoming.)
-
-
-* "go generate"
-
-A convenience for generating Go source code. Example uses:
-
-- yacc: generating .go files from yacc grammar (.y) files
-- protobufs: generating .pb.go files from protocol buffer definition (.proto) files
-- HTML: embedding .html files into Go source code
-- Other ideas abound…
-
-Proposed mechanism:
-
-Add generator directive in Go source files:
-
-	//go:generate yacc -o gopher.go gopher.y
-
-Use the Go tool to execute the directives:
-
-	% go generate [packagepath]
-
-(Proposal forthcoming.)
-
-
-* More tool chain work
-
-- `cmd/go` support for `gccgo`
-- `cmd/go` support for embedded data files
-- Race detector improvements
-
-The transition from C to Go continues:
-
-- Linker rewritten in Go (`cmd/link`)
-- Assembler rewritten in Go (`cmd/asm`)
-- Possibly: `cmd/gc` translated to Go
-
-
-* Better GC and malloc
-
-- The existing allocator is based on TCMalloc (designed for C/C++). It can be re-designed to better suit Go.
-- Lighter representation and colocation of GC metadata.
-- Various strategies for reducing GC pause time (concurrent sweep, etc).
-
-Rough estimate: 10-20% overall speedup, 20-50% GC pause reduction, 5-10% RSS reduction.
-
-Details:
-
-.link http://golang.org/s/go14mallocgc
-
-* Other runtime changes
-
-Concurrency improvements:
-
-- Lock-free fast path for non-blocking receive from empty channel.
-- Rewrite select to hold only one channel lock at a time.
-
-C to Go:
-
-- G-stack runtime converted to Go.
-
-
-* Package changes
-
-- Easier structuring features in `text/template`
-- Bring `reflect.Value` back to 3 words
-- Fix embedded field visibility (`reflect`)
-- Safe version of `encoding/gob`
-- Unicode 7 support
-
-
-* Ports
-
-- Native Client `arm`
-- PowerPC 64
-- ARM64
-
-
-* Go support for Android
-
-Go support for the NDK. (Like C/C++ today, but better!)
-
-Goal: enough support for writing games.
-
-Based on the work of Elias Naur and others in the community.
-
-.link http://golang.org/s/go14android
-
-
-* More
-
-.link http://golang.org/s/go14todo
-
-
-* Questions?
-
diff --git a/content/2014/state-of-go/bus.jpg b/content/2014/state-of-go/bus.jpg
deleted file mode 100644
index b8dba8c..0000000
--- a/content/2014/state-of-go/bus.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/dotgo.png b/content/2014/state-of-go/dotgo.png
deleted file mode 100644
index 1c357c8..0000000
--- a/content/2014/state-of-go/dotgo.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/gophercon.png b/content/2014/state-of-go/gophercon.png
deleted file mode 100644
index 9c29865..0000000
--- a/content/2014/state-of-go/gophercon.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/gophers.jpg b/content/2014/state-of-go/gophers.jpg
deleted file mode 100644
index dcd4457..0000000
--- a/content/2014/state-of-go/gophers.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/indent.png b/content/2014/state-of-go/indent.png
deleted file mode 100644
index a3a4d0d..0000000
--- a/content/2014/state-of-go/indent.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/india.png b/content/2014/state-of-go/india.png
deleted file mode 100644
index 7b43e4a..0000000
--- a/content/2014/state-of-go/india.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/msg-exceptions1b.png b/content/2014/state-of-go/msg-exceptions1b.png
deleted file mode 100644
index aa33e1f..0000000
--- a/content/2014/state-of-go/msg-exceptions1b.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/msg-exceptions2.png b/content/2014/state-of-go/msg-exceptions2.png
deleted file mode 100644
index 26f23d1..0000000
--- a/content/2014/state-of-go/msg-exceptions2.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/msg-generics.png b/content/2014/state-of-go/msg-generics.png
deleted file mode 100644
index 4ceb514..0000000
--- a/content/2014/state-of-go/msg-generics.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/msg-lacks.png b/content/2014/state-of-go/msg-lacks.png
deleted file mode 100644
index 0499e53..0000000
--- a/content/2014/state-of-go/msg-lacks.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/msg-logo1.png b/content/2014/state-of-go/msg-logo1.png
deleted file mode 100644
index c6f88f1..0000000
--- a/content/2014/state-of-go/msg-logo1.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/msg-logo2.png b/content/2014/state-of-go/msg-logo2.png
deleted file mode 100644
index af5dfdb..0000000
--- a/content/2014/state-of-go/msg-logo2.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/msg-logo3.jpg b/content/2014/state-of-go/msg-logo3.jpg
deleted file mode 100644
index 129eb4e..0000000
--- a/content/2014/state-of-go/msg-logo3.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/msg-nogenerics.png b/content/2014/state-of-go/msg-nogenerics.png
deleted file mode 100644
index 3e42670..0000000
--- a/content/2014/state-of-go/msg-nogenerics.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/msg-semi.png b/content/2014/state-of-go/msg-semi.png
deleted file mode 100644
index f095348..0000000
--- a/content/2014/state-of-go/msg-semi.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/msg-type.png b/content/2014/state-of-go/msg-type.png
deleted file mode 100644
index f9ded1d..0000000
--- a/content/2014/state-of-go/msg-type.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/msg-wrong.png b/content/2014/state-of-go/msg-wrong.png
deleted file mode 100644
index 4002adb..0000000
--- a/content/2014/state-of-go/msg-wrong.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/oloh.png b/content/2014/state-of-go/oloh.png
deleted file mode 100644
index 7ea9e66..0000000
--- a/content/2014/state-of-go/oloh.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/redmonk.png b/content/2014/state-of-go/redmonk.png
deleted file mode 100644
index e4bfec8..0000000
--- a/content/2014/state-of-go/redmonk.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/sadgopher.png b/content/2014/state-of-go/sadgopher.png
deleted file mode 100644
index b376e4e..0000000
--- a/content/2014/state-of-go/sadgopher.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-go/tattoo.jpg b/content/2014/state-of-go/tattoo.jpg
deleted file mode 100644
index 7b8d9d2..0000000
--- a/content/2014/state-of-go/tattoo.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-the-gopher.slide b/content/2014/state-of-the-gopher.slide
deleted file mode 100644
index 85c9d4a..0000000
--- a/content/2014/state-of-the-gopher.slide
+++ /dev/null
@@ -1,369 +0,0 @@
-The State of the Gopher (Oct)
-10 Oct 2014
-Tags: dotgo, gopher
-
-Brad Fitzpatrick
-Gopher, Google
-@bradfitz
-bradfitz@golang.org
-
-* The State of the Gopher
-
-- where we've been
-- where we're going
-
-.image state-of-the-gopher/gopher.jpg
-
-* bradfitz
-
-- Work on Go's standard library, builders, etc
-- Started contributing to Go May 2010
-- [[http://camlistore.org]], my big, old Go project: personal data storage & indexing for life
-
-* The Past
-
-* Userbase before November 2009
-
-- 3-10 people inside Google?
-
-* November 2009
-
-- Go is [[http://google-opensource.blogspot.com/2009/11/hey-ho-lets-go.html][open sourced]]:
-
-.image state-of-the-gopher/opensource.png
-
-* Website in 2009
-
-.image state-of-the-gopher/website1.png
-
-* Website in 2009
-
-.image state-of-the-gopher/website2.png
-
-* Compilers in 2009
-
-- already two: `gc` and `gccgo`
-
-* Aside: GC vs gc
-
-- `gc`: "Go compiler", based originally on Plan 9's C compiler. The main Go compiler.
-- `GC`: "Garbage Collector"
-
-* Ports in 2009
-
-- linux-386
-- linux-amd64
-- linux-arm, just starting to work
-- darwin-386
-- darwin-amd64
-- nacl-386 (first attempt)
-With gccgo, more.
-
-* Tools in 2009
-
-- gofmt
-- gofix
-- godoc
-
-* Release Highlights
-
-* weekly releases
-
-- "weekly.2009-12-09"
-- break users weekly, not daily
-- gofix appears
-
-* monthly releases
-
-- "r56" ... "r60"
-- break users monthly, not weekly
-- still painful to write and use packages (Makefiles)
-
-* Go 1.0 (2012-03-28)
-
-- the "error" type
-- delete(m, k)
-
-  // before Go 1:
-  latLong[storeID] = LatLong{}, false
-  name[userID] = "", false
-
-  // new:
-  delete(name, userID)
-
-- [[https://golang.org/doc/go1compat][stability promise]] + API check tool:
-
-  pkg net/http, const StatusOK = 200
-  pkg net/http, const StatusOK ideal-int
-  pkg net/http, type RoundTripper interface { RoundTrip }
-  pkg net/http, type Server struct, TLSConfig *tls.Config
-  pkg net/http, var DefaultServeMux *ServeMux
-  pkg time, method (*Timer) Reset(Duration) bool
-  pkg unicode/utf8, func ValidRune(int32) bool
-
-- the `go` tool (get, build, test, ...)
-
-* Go 1.1 (2013-05-03)
-
-- method values
-
-  type S struct { once sync.Once; ... }
-  func (s *S) init() { ... }
-  func (s *S) Foo() {
-      s.once.Do(s.init)
-
-- func "terminating statement"
-
-  func abs(n int) int {
-      switch {
-      case n < 0: return -n
-      default:    return n
-      }
-  }
-
-- 64-bit "int", large heaps
-- 30-40% speed improvement, stdlib++
-- more precise heap GC, usually
-
-* Aside: precise vs conservative GC
-
-Conservative GC: if it "looks like" a pointer, treat it like one.
-
-  [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ]
-  [ ptr? ] [ byte slice (skipped in Go 1.0)                             ]
-  [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ]
-
-Terrible for 32-bit (e.g. ARM) computers: many integers look like pointers.
-
-Precise GC:
-
-  [ int ] [ ptr     ] [ string      ] [ byte slice          ]
-  [ int ] [ t f t f ] [ ptr ] [ int ] [ float64     ] [ ptr ]
-
-Requires knowing what every position in memory _actually_ is.
-
-- no false retention, only look at some memory during GC
-
-* Go 1.2 (2013-12-01)
-
-- 6 month release cycle begins
-- setting slice capacity with s[i:j:k]
-
-  s := make([]byte, 10, 20)
-  foo(s[10:12:15])
-
-  func foo(s []byte) { fmt.Println(len(s), cap(s)) }
-
-- preemption in scheduler
-- go test -cover
-
-* Go 1.3 (2014-06-18)
-
-- no language changes
-- GOOS=solaris,dragonfly,plan9,nacl
-- precise GC of the stack (mostly)
-- contiguous stacks (mostly)
-
-* Aside: Segmented vs. Contiguous stacks
-
-- C++/Java: one huge stack per thread
-- Go <= 1.2: multiple discontiguous 4K stacks, bounce between
-- Go 1.3: one little stack, grow & shrink as needed
-.image state-of-the-gopher/contig-stack.png _ 550
-
-* The present (relative to Nov 2009)
-
-* More ports
-
-- Windows
-- FreeBSD, OpenBSD, NetBSD
-- Solaris, Plan 9, DragonFly BSD
-- NaCl (again)
-
-* Better docs
-
-- [[http://blog.golang.org][Blog]] articles,
-- Community [[https://golang.org/wiki][Wiki]],
-- [[https://golang.org/wiki/Books][Books]]
-
-* Users: up and to the right
-
-- Go [[https://code.google.com/p/go-wiki/wiki/GoUserGroups][user groups]], [[http://go-meetups.appspot.com/][meetups]]
-- GitHub commits, stars, forks
-- Since 2009: `golang-nuts@` (1450 → 14134), `-dev` (37 → 2152)
-.link http://redmonk.com/dberkholz/2014/03/18/go-the-emerging-language-of-cloud-infrastructure/ Go: the emerging language of cloud infrastructure
-
-.image state-of-the-gopher/oloh.png
-
-* The Cloud
-
-- Docker
-- CoreOS, etcd, fleet
-- Juju
-- NATS, gnatsd, Packer, Heka
-- dl.google.com, Vitess, Kubernetes
-- App Engine
-
-* Conferences
-
-[[http://connpass.com/series/312/][GoCon Tokyo]]
-
-* Conferences
-
-.image state-of-the-gopher/gophercon.png
-
-* Conferences
-
-.image state-of-the-gopher/dotgo.png
-
-* Conferences
-
-.image state-of-the-gopher/india.png
-
-* CoreOS
-
-.image state-of-the-gopher/bus.jpg
-
-- increasingly running [[http://build.golang.org]], each in a Docker container
-- Go powering Go development!
-
-* build.golang.org
-
-.image state-of-the-gopher/build.png 400 _
-
-* Better tools
-
-- go/parser: godoc, [[http://godoc.org]], gofmt, gofix →
-- [[http://godoc.org/code.google.com/p/go.tools/cmd/goimports][goimports]]: automatic import lines
-- go/types, gofix+types, 
-- go/ast, go/ssa, [[http://godoc.org/code.google.com/p/go.tools/cmd/oracle][oracle]],
-- [[http://godoc.org/code.google.com/p/go.tools/cmd/eg][eg]], example-based refactoring
-- [[http://godoc.org/code.google.com/p/go.tools/cmd/gorename][gorename]], safe global renaming tool
-
-Tooling begets better tooling!
-
-- goimports + go/types + go/parser == [[https://twitter.com/sqs/status/520203018957250560][goreturns]] (lazy "return err")
-
-* The Future
-
-* Go 1.4
-
-* Go 1.4 (2014-12-01?)
-
-- fully precise GC of the stack + heap
-- segmented stacks & conservative GC deleted
-- stack copier & shrinker requires precise stack types too
-
-- `runtime` conversion from C to Go: maps, channels, interfaces, type checks, println, defer, panic, etc.
-
-- Garbage collector and scheduler are still in C
-
-* Go 1.4
-
-- [[http://golang.org/s/go14android][GOOS=android]] (Elias Naur, David Crawshaw)
-- GOOS=nacl GOARCH=arm
-- [[http://golang.org/s/go14internal]["internal" packages]]
-- [[http://golang.org/s/go1.4-generate]["go generate"]]
-- [[https://docs.google.com/a/golang.org/document/d/1QXzI9I1pOfZPujQzxhyRy6EeHYTQitKKjHfpq0zpxZs][syscall package frozen, go.sys]]
-- "go tool pprof" converted from Perl (!) to Go
-- minor stdlib additions, improvements
-
-* Go 1.5
-
-* Go 1.5 (2014-06-01?)
-
-- Concurrent GC is main theme
-- Roadmap: [[http://golang.org/s/go14gc]] (GC in 1.4, 1.5, 1.6+)
-
-* Go 1.5: ports
-
-- GOOS=ios revival? (Minux, David Crawshaw)
-- GOARCH=ppc64 (minux)
-- GOARCH=arm64 (aram, dfc)
-
-* Go 1.5: removing more C
-
-Didn't make Go 1.4:
-
-- `cmd/link`: linker rewrite in Go
-- `cmd/asm`: assembler rewrite in Go
-- "gc" compiler in Go
-
-* "gc" Compiler in Go
-
-- lots of C
-- C → Go translator == kinda ugly Go
-- refactor that Go with tools: `eg`, `gorename`, etc
-- add packages, tests
-- unify all `8g`, `5g`, `6g`, `9g`
-- SSA form, new optimizations
-
-See rsc's GopherCon [[http://talks.golang.org/2014/c2go.slide#1][slides]], [[http://gophercon.sourcegraph.com/post/83820197495/russ-cox-porting-the-go-compiler-from-c-to-go][notes]], [[https://www.youtube.com/watch?v=QIE5nV5fDwA][video]].
-
-* Go 1.5 Tracing
-
-- Dmitry's GOTRACE + Chrome trace viewer
-
-.image state-of-the-gopher/trace.png
-
-* Go 1.6
-
-- More GC work
-- Ongoing compiler-in-Go cleanup & optimizations
-- PNaCl?
-- [[https://docs.google.com/a/google.com/document/d/1d3iI2QWURgDIsSR6G2275vMeQ_X7w-qxM2Vp7iGwwuM/pub][NUMA-aware scheduler]]?
-- unknown surprises
-Who knows.
-Find out next year at dotGo Paris 2015!
-
-* Go 2.0
-
-- maybe one day
-
-* Outside of the core
-
-* libraries & tools
-
-- HTTP/2, to be merged into `net/http`
-- go.tools: `goimports`, `eg`, `gorename`, `oracle`, ...
-- go.text: Unicode collation, normalization, ...
-- go.mobile: Android, iOS, gaming, 3D graphics, event handling
-- go.crypto
-- go.net
-- go.tools
-- go.syscall
-
-* gccgo
-
-- keeping up with spec
-- better in some ways (codegen, OS, arch)
-- worse in others (precise GC, escape analysis)
-- work underway to improve
-
-All checking & improving each other:
-
-- gc, gccgo, go/types, language spec, unit tests
-
-* Notable other compilers
-
-- [[https://github.com/go-llvm/llgo][llgo]], Go → LLVM → PNaCL, etc
-- [[https://github.com/tardisgo/tardisgo][TARDIS Go]], Go → Haxe → JS, anything
-- [[https://github.com/gopherjs/gopherjs][GopherJS]], Go → JS
-
-And all three written in Go, use `go/parser`, `go/types`, etc.
-We can't wait to join them.
-
-* In summary
-
-* The growth is exciting
-
-- things are getting cleaner,
-- things are getting faster,
-- things are getting more impressive,
-- everything is growing on top of everything else,
-- hard to keep up with golang-dev@, golang-nuts@, bugs, wiki, new github projects, code reviews,
-
-* You all are awesome 
-
-- keep being awesome
-- keep making awesome things
diff --git a/content/2014/state-of-the-gopher/build.png b/content/2014/state-of-the-gopher/build.png
deleted file mode 100644
index 0cd68ea..0000000
--- a/content/2014/state-of-the-gopher/build.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-the-gopher/bus.jpg b/content/2014/state-of-the-gopher/bus.jpg
deleted file mode 100644
index b8dba8c..0000000
--- a/content/2014/state-of-the-gopher/bus.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-the-gopher/contig-stack.png b/content/2014/state-of-the-gopher/contig-stack.png
deleted file mode 100644
index 04559a4..0000000
--- a/content/2014/state-of-the-gopher/contig-stack.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-the-gopher/dotgo.png b/content/2014/state-of-the-gopher/dotgo.png
deleted file mode 100644
index 1c357c8..0000000
--- a/content/2014/state-of-the-gopher/dotgo.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-the-gopher/gopher.jpg b/content/2014/state-of-the-gopher/gopher.jpg
deleted file mode 100644
index a27d109..0000000
--- a/content/2014/state-of-the-gopher/gopher.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-the-gopher/gophercon.png b/content/2014/state-of-the-gopher/gophercon.png
deleted file mode 100644
index 9c29865..0000000
--- a/content/2014/state-of-the-gopher/gophercon.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-the-gopher/india.png b/content/2014/state-of-the-gopher/india.png
deleted file mode 100644
index 7b43e4a..0000000
--- a/content/2014/state-of-the-gopher/india.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-the-gopher/oloh.png b/content/2014/state-of-the-gopher/oloh.png
deleted file mode 100644
index 7ea9e66..0000000
--- a/content/2014/state-of-the-gopher/oloh.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-the-gopher/opensource.png b/content/2014/state-of-the-gopher/opensource.png
deleted file mode 100644
index dfaa92e..0000000
--- a/content/2014/state-of-the-gopher/opensource.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-the-gopher/trace.png b/content/2014/state-of-the-gopher/trace.png
deleted file mode 100644
index 7b71532..0000000
--- a/content/2014/state-of-the-gopher/trace.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-the-gopher/website1.png b/content/2014/state-of-the-gopher/website1.png
deleted file mode 100644
index 0c4e62f..0000000
--- a/content/2014/state-of-the-gopher/website1.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/state-of-the-gopher/website2.png b/content/2014/state-of-the-gopher/website2.png
deleted file mode 100644
index 7fea6aa..0000000
--- a/content/2014/state-of-the-gopher/website2.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/static-analysis.slide b/content/2014/static-analysis.slide
deleted file mode 100644
index 8a4f69b..0000000
--- a/content/2014/static-analysis.slide
+++ /dev/null
@@ -1,286 +0,0 @@
-Static analysis tools
-for Go code comprehension and refactoring
-
-golang nyc meetup
-13 Nov 2014
-
-Alan Donovan
-Google, New York
-adonovan@google.com
-
-* Video
-
-This talk was presented at the GothamGo Kickoff Meetup in New York City, November 2014.
-
-.link http://vimeo.com/114736889 Watch the talk on Vimeo
-
-* Introduction
-
-Programmers say "writing code", but most of that time is spent _reading_
-
-Actually: reading code, and making logical deductions
-
-Machines are good at reading and logic
-
-*Machines* *should* *be* *helping* *us* *read* *code.*
-
-And write it!  Refactoring can be tedious and error-prone.
-
-
-* Outline
-
-- Code comprehension tools: `oracle`, `godoc`
-- Analysis technology
-- Refactoring tools:  `gorename`, `eg`
-
-
-* Demo: the Go oracle
-
-Supports interactive, editor-integrated queries:
-- where is this thing defined?
-- what are the methods of this type?
-- what are the free variables of this selection?
-- what might this expression point to?
-- what dynamic types might this interface or `reflect.Value` contain?
-
-
-* Demo: godoc analysis features
-
-.link http://golang.org/lib/godoc/analysis/help.html godoc -analysis=type,pointer
-
-Package view
-- method set and _implements_ relation for every type
-- internal call graph of every package
-
-Source code view
-- kind, type, definition of every identifier
-- method set and _implements_ relation for every type
-- peers of every channel send/receive
-- callers of every function
-- callees of every call site (even dynamic)
-
-
-* How it works
-
-
-
-* Libraries and tools
-
-.image static-analysis/tools.svg
-
-Mostly in `golang.org/x/tools` repo
-
-
-* go/types: the Go type checker
-
-Computes mappings from:
-- identifiers to definitions
-- constant expressions to values
-- expressions to types
-
-Many subtle corners:
-- method set computation
-- recursive interfaces
-- shifts
-
-Making it correct, fast, and clean was a substantial project
-
-.link http://godoc.org/golang.org/x/tools/go/types golang.org/x/tools/go/types
-
-Author: Robert Griesemer
-
-
-
-* go/ssa: intermediate representation (IR)
-
-Typed abstract syntax trees (ASTs) are too varied and subtle to analyze directly
-
-Programs are lowered into Static Single-Assignment form (SSA):
-- simplifies dataflow analyses since _reaching_ _definitions_ are implicit
-- invented 1991, now mainstream (gcc, llvm)
-
-All Go programs can be expressed using only ~30 basic instructions
-
-Simple, explicit, high-level, high source fidelity
-
-.link http://godoc.org/golang.org/x/tools/go/ssa golang.org/x/tools/go/ssa
-
-The llgo project is using go/ssa as a front-end for LLVM
-
-
-
-* Demo: ssadump
-
-# Simple fibonacci function
-# % ssadump -build=F  fib.go		basic
-# % ssadump -build=FD fib.go		debug info
-# % ssadump -test -run unicode 		toy interpreter
-
-
-
-* go/pointer: pointer analysis
-
-Pointers complicate reasoning about program behaviour
-- functions may be called dynamically
-- a variable may be updated and accessed via different names ("aliases")
-- runtime types are values too: `interface`, `reflect.Type`
-
-We use *pointer* *analysis* to answer the question:
-which variables might this pointer point to?
-
-.link http://godoc.org/golang.org/x/tools/go/pointer golang.org/x/tools/go/pointer
-
-# comment on go's appropriateness for this analysis:
-# (closed program---no dlopen, classloading, no generics, typesafe)
-
-
-* Pointer analysis
-
-Let `pts(p)` be the _points-to_ _set_ of pointer p
-Its elements are abstract variables: globals, locals, unnamed (`new(T)`)
-
-Overview:
-
-- analyze each SSA statement in the whole program
-
-- generate appropriate constraints on the points-to set of each variable
-
-	Statement      Constraint
-	 y = &x         pts(y) ⊇ {x}
-	 y = x          pts(y) ⊇ pts(x)		         	"inclusion-based"
-	*y = x          ∀o ∈ pts(y). pts(o) ⊇ pts(x)
-	 y = *x         ∀o ∈ pts(x). pts(y) ⊇ pts(o)
-	 y = &x->f      \
-	 y = x.(T)       } not shown
-	 reflection     /
-
-- solve the constraint system
-
-
-* Pointer analysis: constraint generation
-
-All Go operations can be expressed in these constraints
-Function, map, slice and channel ops all simplify to struct ops
-
-Treatment of `unsafe.Pointer` conversion is unsound
-But we don't care!  This isn't a compiler
-
-The constraint system is:
-- *field-sensitive*: struct fields x.f and x.g have distinct solutions
-- *flow-insensitive*: the order of statements is ignored
-- *context-insensitive*: each function is analyzed only once
-- *whole-program*: Go source is required for all dependencies
-- *inclusion-based*: i.e. Andersen's analysis
-
-Optimization: don't make constraints for "uninteresting" types
-such as types not related to a one-shot Oracle query
-
-* Pointer analysis: pre-solver optimizations
-
-Constraint system for 124KLoC program (oracle) has:
-
-254,000 variables
-184,000 equations
-
-Solving phase is in O(|v|³), so pre-solver optimisation is crucial
-
-We can bring this down to:
-
-88,000 variables
-65,000 equations
-
-* Pointer Equivalence by Hash-Value Numbering (Hardekopf & Lin '07)
-
-        p = &x                  a = &x                         if ... {
-        q = p                   b = a                            p, q = &x, &y
-        r = q                   c = b                          } else {
-        s = r                   if ... { a = c }                 p, q = &y, &x
-                                                               }
-
-.image static-analysis/hvn.svg
-
-Hash-Value Numbering
-
-* Pointer analysis: solving
-
-It's transitive closure of a graph, essentially
-
-Lots of optimizations, for example:
-
-_sparse_bit_vectors_, a very compact representation for points-to sets
-
-.link http://godoc.org/golang.org/x/tools/container/ints golang.org/x/tools/container/ints
-
-Solver log is >1GB.  Debugging is fun.
-
-
-#* Sparse bit vector
-#`golang.org/x/tools/container/ints`
-#
-#.image sparsebitvector.svg
-#
-#Very compact representation of sparse `set<int>`
-#Doubly-linked list of (offset int, data [256]bit) blocks.
-
-
-* Call graph
-
-The *call* *graph* can be read directly from the solution
-
-The `golang.org/x/tools/cmd/callgraph` tool prints raw call graphs
-
-Demo (time permitting)
-
-
-* Refactoring tools
-
-* gorename: precise, type-safe identifier renaming
-
-A refactoring tool, usable from...
-
-- the command line
-
-	% gorename -from bytes.Buffer.Len -to Size
-	Renamed 105 occurrences in 42 files in 33 packages.
-
-- many editors ([[https://code.google.com/p/go/source/browse/refactor/rename/rename.el?repo=tools&r=511801758bb9a0b83f9bf931342889fbedbc9b48][Emacs]], [[http://quick.as/dgof2p7][Vim]], [[https://github.com/smartystreets/sublime-gorename][Sublime]], [[https://github.com/davidrjenni/agorn][Acme]])
-
-All renamings are reversible
-
-Sound: either a conflict is reported, or the refactoring preserves behaviour*
-
-*except reflection
-
-.link http://godoc.org/golang.org/x/tools/cmd/gorename golang.org/x/tools/cmd/gorename
-
-* Demo: gorename
-
-
-* Example-based refactoring with eg
-
-A Go port of the Java _Refaster_ tool
-
-A template specifies the pattern and replacement as Go expressions:
-
-	package P
-
-	import ( "errors"; "fmt" )
-
-	func before(s string) error { return fmt.Errorf("%s", s) }
-	func after(s string)  error { return errors.New(s) }
-
-Parameters are _wildcards_
-
-	% eg -t template.go <package> ...
-
-.link http://godoc.org/golang.org/x/tools/cmd/eg golang.org/x/tools/cmd/eg
-
-* Demo: eg
-
-* Conclusion
-
-From the outset, Go has been renowned for its tools: `go`, `gofmt`
-
-We have many building blocks for sophisticated source analysis tools
-
-What should we build next?
diff --git a/content/2014/static-analysis/demo.go b/content/2014/static-analysis/demo.go
deleted file mode 100644
index fff9e7a..0000000
--- a/content/2014/static-analysis/demo.go
+++ /dev/null
@@ -1,43 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-type Leaf int
-
-func (l Leaf) Sum() int       { return int(l) }
-func (l Leaf) String() string { return fmt.Sprintf("%d", l) }
-
-type Branch struct{ left, rhs Tree }
-
-func (b *Branch) Sum() int       { return b.left.Sum() + b.rhs.Sum() }
-func (b *Branch) String() string { return fmt.Sprintf("(%s, %s)", b.left, b.rhs) }
-
-type Tree interface {
-	Sum() int
-}
-
-func main() {
-	var tree Tree = Leaf(42)
-	fmt.Println(tree.Sum())
-
-	if unknown {
-		tree = &Branch{tree, Leaf(123)}
-	}
-	fmt.Println(tree.Sum())
-	fmt.Println(tree)
-}
-
-var unknown bool
-
-//
-
-func _() {
-	type Answer struct{ right bool }
-	var x struct {
-		Answer
-		Branch
-	}
-	fmt.Println(x.right)
-}
diff --git a/content/2014/static-analysis/demoscript b/content/2014/static-analysis/demoscript
deleted file mode 100644
index 4a8374f..0000000
--- a/content/2014/static-analysis/demoscript
+++ /dev/null
@@ -1,77 +0,0 @@
-Demos
-
--------------------------------
-oracle
-
-Type info:
-
-describe fmt
-describe tree local var
-describe Branch type
-
-implements on Branch, Leaf, Tree
-
-pointsto on 'tree' var x 2
-
-callees of tree.Sum x 2
-
-callers of Leaf.Sum, Branch.Sum
-
-callers of String
-
-free vars on fmtBytes in print.go
-
--------------------------------
-godoc  (server running at localhost:9999)
-
-Package view
-
-- Internal call graph
-http://localhost:9999/pkg/encoding/json/#MarshalIndent
-
-- Implements / MethodSet
-http://localhost:9999/pkg/net/http/#File
-
-Source view
-
-- Identifier kind, type, definition
-
-- Callers/callees:
-http://localhost:9999/src/pkg/strings/strings_test.go#L402
-http://localhost:9999/src/pkg/testing/example.go
-
-- Channels:
-http://localhost:9999/src/pkg/net/http/transport.go#L870
-
-- Type info
-http://localhost:9999/src/pkg/io/io.go#106
-http://localhost:9999/src/pkg/encoding/json/encode.go?s=8300:8311#L240
-
-- Import
-
--------------------------------
-ssadump:
-
-# Basic
-cd ~/got9/src/demo
-cat hello.go
-ssadump -build=FGI hello.go 
-
-# Debug info
-cat fib.go
-ssadump -build=FGI fib.go
-ssadump -build=FGID fib.go
-
-# Test, interp
-ssadump -test -run unicode -- -test.v
-
--------------------------------
-gorename: in demo.go
-
-Leaf to Tip
-lhs to left
-rhs to right: conflict!
-
-
-
-
diff --git a/content/2014/static-analysis/egtest/test.go b/content/2014/static-analysis/egtest/test.go
deleted file mode 100644
index 07edb3a..0000000
--- a/content/2014/static-analysis/egtest/test.go
+++ /dev/null
@@ -1,16 +0,0 @@
-package egtest
-
-import (
-	"fmt"
-	"log"
-	"strings"
-)
-
-func f() {
-	fmt.Printf("%s\n", strings.ToLower("HELLO"))
-}
-
-func g() {
-	var fmt log.Logger
-	fmt.Printf("%s\n", strings.ToLower("HELLO"))
-}
diff --git a/content/2014/static-analysis/fib.go b/content/2014/static-analysis/fib.go
deleted file mode 100644
index e0c9462..0000000
--- a/content/2014/static-analysis/fib.go
+++ /dev/null
@@ -1,16 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func fib(x int) int {
-	if x < 2 {
-		return x
-	}
-	return fib(x-1) + fib(x-2)
-}
-
-func main() {
-	fmt.Println(fib(7))
-}
diff --git a/content/2014/static-analysis/hello.go b/content/2014/static-analysis/hello.go
deleted file mode 100644
index e4f48ab..0000000
--- a/content/2014/static-analysis/hello.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Println("Hello, 世界")
-}
diff --git a/content/2014/static-analysis/hvn.svg b/content/2014/static-analysis/hvn.svg
deleted file mode 100644
index fd6cff9..0000000
--- a/content/2014/static-analysis/hvn.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-
-<svg version="1.1" viewBox="0.0 0.0 752.0 320.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l752.0 0l0 320.0l-752.0 0l0 -320.0z" clip-rule="nonzero"></path></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l752.0 0l0 320.0l-752.0 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m20.653543 34.842518l0 0c0 -11.837156 9.595913 -21.43307 21.43307 -21.43307l0 0c5.6844025 0 11.13599 2.2581205 15.155468 6.2776012c4.0194817 4.0194798 6.277603 9.4710655 6.277603 15.155468l0 0c0 11.837158 -9.595913 21.433071 -21.433071 21.433071l0 0c-11.837156 0 -21.43307 -9.595913 -21.43307 -21.433071z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m20.653543 34.842518l0 0c0 -11.837156 9.595913 -21.43307 21.43307 -21.43307l0 0c5.6844025 0 11.13599 2.2581205 15.155468 6.2776012c4.0194817 4.0194798 6.277603 9.4710655 6.277603 15.155468l0 0c0 11.837158 -9.595913 21.433071 -21.433071 21.433071l0 0c-11.837156 0 -21.43307 -9.595913 -21.43307 -21.433071z" fill-rule="nonzero"></path><path fill="#000000" d="m38.148754 45.543766l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m20.653543 91.00787l0 0c0 -11.837158 9.595913 -21.433067 21.43307 -21.433067l0 0c5.6844025 0 11.13599 2.2581177 15.155468 6.2775955c4.0194817 4.0194855 6.277603 9.471069 6.277603 15.155472l0 0c0 11.837158 -9.595913 21.433067 -21.433071 21.433067l0 0c-11.837156 0 -21.43307 -9.595909 -21.43307 -21.433067z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m20.653543 91.00787l0 0c0 -11.837158 9.595913 -21.433067 21.43307 -21.433067l0 0c5.6844025 0 11.13599 2.2581177 15.155468 6.2775955c4.0194817 4.0194855 6.277603 9.471069 6.277603 15.155472l0 0c0 11.837158 -9.595913 21.433067 -21.433071 21.433067l0 0c-11.837156 0 -21.43307 -9.595909 -21.43307 -21.433067z" fill-rule="nonzero"></path><path fill="#000000" d="m44.430004 101.70912l0 -4.828125q-0.390625 0.546875 -1.09375 0.90625q-0.6875 0.359375 -1.484375 0.359375q-1.75 0 -3.015625 -1.390625q-1.265625 -1.40625 -1.265625 -3.84375q0 -1.484375 0.515625 -2.65625q0.515625 -1.1875 1.484375 -1.796875q0.984375 -0.609375 2.15625 -0.609375q1.828125 0 2.875 1.546875l0 -1.328125l1.5 0l0 13.640625l-1.671875 0zm-5.140625 -8.734375q0 1.90625 0.796875 2.859375q0.796875 0.9375 1.90625 0.9375q1.0625 0 1.828125 -0.890625q0.78125 -0.90625 0.78125 -2.765625q0 -1.953125 -0.8125 -2.953125q-0.8125 -1.0 -1.90625 -1.0q-1.09375 0 -1.84375 0.9375q-0.75 0.921875 -0.75 2.875z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m20.653543 147.17323l0 0c0 -11.837158 9.595913 -21.433075 21.43307 -21.433075l0 0c5.6844025 0 11.13599 2.2581177 15.155468 6.277603c4.0194817 4.01947 6.277603 9.471069 6.277603 15.155472l0 0c0 11.837158 -9.595913 21.43306 -21.433071 21.43306l0 0c-11.837156 0 -21.43307 -9.5959015 -21.43307 -21.43306z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m20.653543 147.17323l0 0c0 -11.837158 9.595913 -21.433075 21.43307 -21.433075l0 0c5.6844025 0 11.13599 2.2581177 15.155468 6.277603c4.0194817 4.01947 6.277603 9.471069 6.277603 15.155472l0 0c0 11.837158 -9.595913 21.43306 -21.433071 21.43306l0 0c-11.837156 0 -21.43307 -9.5959015 -21.43307 -21.43306z" fill-rule="nonzero"></path><path fill="#000000" d="m40.21465 154.09323l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m20.653543 203.33858l0 0c0 -11.837158 9.595913 -21.43306 21.43307 -21.43306l0 0c5.6844025 0 11.13599 2.2581177 15.155468 6.277588c4.0194817 4.0194855 6.277603 9.471069 6.277603 15.155472l0 0c0 11.837158 -9.595913 21.433075 -21.433071 21.433075l0 0c-11.837156 0 -21.43307 -9.595917 -21.43307 -21.433075z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m20.653543 203.33858l0 0c0 -11.837158 9.595913 -21.43306 21.43307 -21.43306l0 0c5.6844025 0 11.13599 2.2581177 15.155468 6.277588c4.0194817 4.0194855 6.277603 9.471069 6.277603 15.155472l0 0c0 11.837158 -9.595913 21.433075 -21.433071 21.433075l0 0c-11.837156 0 -21.43307 -9.595917 -21.43307 -21.433075z" fill-rule="nonzero"></path><path fill="#000000" d="m38.000675 207.32108l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m42.086613 56.27559l0 13.291336" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m42.086613 56.27559l0 9.86425" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m42.086613 66.13984l-1.1245804 -1.1245804l1.1245804 3.0897675l1.1245842 -3.0897675z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m42.086613 112.27559l0 13.291336" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m42.086613 112.27559l0 9.864258" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m42.086613 122.13984l-1.1245804 -1.1245804l1.1245804 3.0897675l1.1245842 -3.0897675z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m42.086613 168.27559l0 13.291336" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m42.086613 168.27559l0 9.864258" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m42.086613 178.13985l-1.1245804 -1.124588l1.1245804 3.0897675l1.1245842 -3.0897675z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m50.874016 -7.6771655l55.527557 0l0 49.889763l-55.527557 0z" fill-rule="nonzero"></path><path fill="#000000" d="m60.405266 13.570958q0.71875 -0.03125 1.15625 -0.390625q0.453125 -0.359375 0.59375 -1.0q0.15625 -0.640625 0.15625 -2.1875q0.015625 -1.5625 0.0625 -2.0468755q0.09375 -0.78125 0.3125 -1.25q0.234375 -0.484375 0.5625 -0.765625q0.34375 -0.28125 0.859375 -0.421875q0.34375 -0.09375 1.140625 -0.09375l0.53125 0l0 1.453125l-0.296875 0q-0.96875 0 -1.28125 0.34375q-0.3125 0.34375 -0.3125 1.5625005q0 2.421875 -0.09375 3.0625q-0.171875 1.0 -0.578125 1.546875q-0.40625 0.53125 -1.265625 0.9375q1.015625 0.4375 1.46875 1.3125q0.46875 0.87499905 0.46875 2.859374q0 1.8125 0.03125 2.15625q0.078125 0.640625 0.375 0.890625q0.3125 0.25 1.1875 0.25l0.296875 0l0 1.453125l-0.53125 0q-0.90625 0 -1.3125 -0.15625q-0.59375 -0.203125 -0.984375 -0.6875q-0.390625 -0.46875 -0.515625 -1.203125q-0.109375 -0.734375 -0.125 -2.40625q0 -1.671875 -0.15625 -2.3125q-0.140625 -0.64062405 -0.59375 -0.99999905q-0.4375 -0.375 -1.15625 -0.40625l0 -1.5zm5.840271 5.671874l3.59375 -5.124999l-3.328125 -4.734375l2.09375 0l1.515625 2.3125q0.421875 0.65625 0.671875 1.109375q0.421875 -0.609375 0.765625 -1.09375l1.65625 -2.328125l1.984375 0l-3.390625 4.640625l3.65625 5.218749l-2.046875 0l-2.03125 -3.0625l-0.53125 -0.82812405l-2.59375 3.890624l-2.015625 0zm15.0 -5.671874l0 1.5q-0.71875 0.03125 -1.171875 0.40625q-0.453125 0.359375 -0.609375 0.99999905q-0.140625 0.625 -0.15625 2.1875q0 1.546875 -0.046875 2.03125q-0.078125 0.796875 -0.3125 1.265625q-0.21875 0.46875 -0.5625 0.75q-0.328125 0.28125 -0.84375 0.421875q-0.359375 0.109375 -1.15625 0.109375l-0.515625 0l0 -1.453125l0.28125 0q0.96875 0 1.28125 -0.359375q0.3125 -0.34375 0.3125 -1.5625q0 -2.3125 0.09375 -2.9375q0.140625 -1.031249 0.578125 -1.640624q0.453125 -0.625 1.28125 -0.96875q-1.078125 -0.5 -1.515625 -1.34375q-0.4375 -0.84375 -0.4375 -2.828125q0 -1.8125 -0.046875 -2.1718755q-0.0625 -0.625 -0.359375 -0.859375q-0.296875 -0.25 -1.1875 -0.25l-0.28125 0l0 -1.453125l0.515625 0q0.90625 0 1.3125 0.140625q0.59375 0.203125 0.984375 0.6875q0.390625 0.484375 0.5 1.21875q0.125 0.7343755 0.125 2.4062505q0.015625 1.671875 0.15625 2.3125q0.15625 0.625 0.609375 1.0q0.453125 0.359375 1.171875 0.390625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m14.322731 285.0l0 0c0 -15.333527 12.430267 -27.763794 27.763779 -27.763794l0 0c7.363415 0 14.42524 2.9251099 19.631958 8.131836c5.2067184 5.206726 8.131821 12.268555 8.131821 19.631958l0 0c0 15.333527 -12.4302635 27.763794 -27.763779 27.763794l0 0c-15.333511 0 -27.763779 -12.430267 -27.763779 -27.763794z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m14.322731 285.0l0 0c0 -15.333527 12.430267 -27.763794 27.763779 -27.763794l0 0c7.363415 0 14.42524 2.9251099 19.631958 8.131836c5.2067184 5.206726 8.131821 12.268555 8.131821 19.631958l0 0c0 15.333527 -12.4302635 27.763794 -27.763779 27.763794l0 0c-15.333511 0 -27.763779 -12.430267 -27.763779 -27.763794z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m14.328073 261.46594l74.04725 0l0 55.527557l-74.04725 0z" fill-rule="nonzero"></path><path fill="#000000" d="m24.578072 292.16718l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625zm15.141342 8.65625l0 -4.828125q-0.390625 0.546875 -1.09375 0.90625q-0.6875 0.359375 -1.484375 0.359375q-1.75 0 -3.015625 -1.390625q-1.265625 -1.40625 -1.265625 -3.84375q0 -1.484375 0.515625 -2.65625q0.515625 -1.1875 1.484375 -1.796875q0.984375 -0.609375 2.15625 -0.609375q1.828125 0 2.875 1.546875l0 -1.328125l1.5 0l0 13.640625l-1.671875 0zm-5.140625 -8.734375q0 1.90625 0.796875 2.859375q0.796875 0.9375 1.90625 0.9375q1.0625 0 1.828125 -0.890625q0.78125 -0.90625 0.78125 -2.765625q0 -1.953125 -0.8125 -2.953125q-0.8125 -1.0 -1.90625 -1.0q-1.09375 0 -1.84375 0.9375q-0.75 0.921875 -0.75 2.875zm9.219467 4.953125l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm5.556427 -2.9375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m50.874016 227.13722l55.527557 0l0 49.889755l-55.527557 0z" fill-rule="nonzero"></path><path fill="#000000" d="m60.405266 248.38535q0.71875 -0.03125 1.15625 -0.390625q0.453125 -0.359375 0.59375 -1.0q0.15625 -0.640625 0.15625 -2.1875q0.015625 -1.5625 0.0625 -2.046875q0.09375 -0.78125 0.3125 -1.25q0.234375 -0.484375 0.5625 -0.765625q0.34375 -0.28125 0.859375 -0.421875q0.34375 -0.09375 1.140625 -0.09375l0.53125 0l0 1.453125l-0.296875 0q-0.96875 0 -1.28125 0.34375q-0.3125 0.34375 -0.3125 1.5625q0 2.421875 -0.09375 3.0625q-0.171875 1.0 -0.578125 1.546875q-0.40625 0.53125 -1.265625 0.9375q1.015625 0.4375 1.46875 1.3125q0.46875 0.875 0.46875 2.859375q0 1.8125 0.03125 2.15625q0.078125 0.640625 0.375 0.890625q0.3125 0.25 1.1875 0.25l0.296875 0l0 1.453125l-0.53125 0q-0.90625 0 -1.3125 -0.15625q-0.59375 -0.203125 -0.984375 -0.6875q-0.390625 -0.46875 -0.515625 -1.203125q-0.109375 -0.734375 -0.125 -2.40625q0 -1.671875 -0.15625 -2.3125q-0.140625 -0.640625 -0.59375 -1.0q-0.4375 -0.375 -1.15625 -0.40625l0 -1.5zm5.840271 5.671875l3.59375 -5.125l-3.328125 -4.734375l2.09375 0l1.515625 2.3125q0.421875 0.65625 0.671875 1.109375q0.421875 -0.609375 0.765625 -1.09375l1.65625 -2.328125l1.984375 0l-3.390625 4.640625l3.65625 5.21875l-2.046875 0l-2.03125 -3.0625l-0.53125 -0.828125l-2.59375 3.890625l-2.015625 0zm15.0 -5.671875l0 1.5q-0.71875 0.03125 -1.171875 0.40625q-0.453125 0.359375 -0.609375 1.0q-0.140625 0.625 -0.15625 2.1875q0 1.546875 -0.046875 2.03125q-0.078125 0.796875 -0.3125 1.265625q-0.21875 0.46875 -0.5625 0.75q-0.328125 0.28125 -0.84375 0.421875q-0.359375 0.109375 -1.15625 0.109375l-0.515625 0l0 -1.453125l0.28125 0q0.96875 0 1.28125 -0.359375q0.3125 -0.34375 0.3125 -1.5625q0 -2.3125 0.09375 -2.9375q0.140625 -1.03125 0.578125 -1.640625q0.453125 -0.625 1.28125 -0.96875q-1.078125 -0.5 -1.515625 -1.34375q-0.4375 -0.84375 -0.4375 -2.828125q0 -1.8125 -0.046875 -2.171875q-0.0625 -0.625 -0.359375 -0.859375q-0.296875 -0.25 -1.1875 -0.25l-0.28125 0l0 -1.453125l0.515625 0q0.90625 0 1.3125 0.140625q0.59375 0.203125 0.984375 0.6875q0.390625 0.484375 0.5 1.21875q0.125 0.734375 0.125 2.40625q0.015625 1.671875 0.15625 2.3125q0.15625 0.625 0.609375 1.0q0.453125 0.359375 1.171875 0.390625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m219.53543 34.841206l0 0c0 -11.837156 9.595917 -21.43307 21.433075 -21.43307l0 0c5.6844025 0 11.135986 2.2581205 15.155457 6.2776012c4.0195007 4.0194798 6.2776184 9.4710655 6.2776184 15.155468l0 0c0 11.837158 -9.595917 21.433071 -21.433075 21.433071l0 0c-11.837158 0 -21.433075 -9.595913 -21.433075 -21.433071z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m219.53543 34.841206l0 0c0 -11.837156 9.595917 -21.43307 21.433075 -21.43307l0 0c5.6844025 0 11.135986 2.2581205 15.155457 6.2776012c4.0195007 4.0194798 6.2776184 9.4710655 6.2776184 15.155468l0 0c0 11.837158 -9.595917 21.433071 -21.433075 21.433071l0 0c-11.837158 0 -21.433075 -9.595913 -21.433075 -21.433071z" fill-rule="nonzero"></path><path fill="#000000" d="m243.46814 40.542454q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m182.94751 114.19816l0 0c0 -11.837151 9.5959015 -21.433067 21.43306 -21.433067l0 0c5.6844177 0 11.136002 2.2581177 15.155472 6.277603c4.0194855 4.019478 6.277603 9.471062 6.277603 15.155464l0 0c0 11.837158 -9.595917 21.433067 -21.433075 21.433067l0 0c-11.837158 0 -21.43306 -9.595909 -21.43306 -21.433067z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m182.94751 114.19816l0 0c0 -11.837151 9.5959015 -21.433067 21.43306 -21.433067l0 0c5.6844177 0 11.136002 2.2581177 15.155472 6.277603c4.0194855 4.019478 6.277603 9.471062 6.277603 15.155464l0 0c0 11.837158 -9.595917 21.433067 -21.433075 21.433067l0 0c-11.837158 0 -21.43306 -9.595909 -21.43306 -21.433067z" fill-rule="nonzero"></path><path fill="#000000" d="m201.9896 121.11816l-1.546875 0l0 -13.59375l1.65625 0l0 4.84375q1.0625 -1.328125 2.703125 -1.328125q0.90625 0 1.71875 0.375q0.8125 0.359375 1.328125 1.03125q0.53125 0.65625 0.828125 1.59375q0.296875 0.9375 0.296875 2.0q0 2.53125 -1.25 3.921875q-1.25 1.375 -3.0 1.375q-1.75 0 -2.734375 -1.453125l0 1.234375zm-0.015625 -5.0q0 1.765625 0.46875 2.5625q0.796875 1.28125 2.140625 1.28125q1.09375 0 1.890625 -0.9375q0.796875 -0.953125 0.796875 -2.84375q0 -1.921875 -0.765625 -2.84375q-0.765625 -0.921875 -1.84375 -0.921875q-1.09375 0 -1.890625 0.953125q-0.796875 0.953125 -0.796875 2.75z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m272.95276 114.19816l0 0c0 -11.837151 9.595917 -21.433067 21.433075 -21.433067l0 0c5.684387 0 11.135986 2.2581177 15.155457 6.277603c4.01947 4.019478 6.2776184 9.471062 6.2776184 15.155464l0 0c0 11.837158 -9.595917 21.433067 -21.433075 21.433067l0 0c-11.837158 0 -21.433075 -9.595909 -21.433075 -21.433067z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m272.95276 114.19816l0 0c0 -11.837151 9.595917 -21.433067 21.433075 -21.433067l0 0c5.684387 0 11.135986 2.2581177 15.155457 6.277603c4.01947 4.019478 6.2776184 9.471062 6.2776184 15.155464l0 0c0 11.837158 -9.595917 21.433067 -21.433075 21.433067l0 0c-11.837158 0 -21.433075 -9.595909 -21.433075 -21.433067z" fill-rule="nonzero"></path><path fill="#000000" d="m297.40927 117.50878l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m225.81303 49.996677l-21.417328 42.77165" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m225.81303 49.996677l-19.882874 39.70728" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m205.93016 89.70396l-0.5020447 -1.5090866l-0.3778534 3.2662811l2.388977 -2.2592392z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m225.81364 114.19816l47.149612 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m225.81364 114.198166l43.72252 0" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m269.53616 114.198166l-1.1245728 1.1245804l3.0897522 -1.1245804l-3.0897522 -1.124588z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m294.38583 92.76509l-38.26773 -42.771652" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m294.38583 92.76509l-35.982605 -40.217594" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m258.40323 52.547493l1.5879517 0.08825302l-2.8983154 -1.5528183l1.2221069 3.052517z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m249.7559 -7.678478l55.527573 0l0 49.889763l-55.527573 0z" fill-rule="nonzero"></path><path fill="#000000" d="m259.28717 13.569646q0.71875 -0.03125 1.15625 -0.390625q0.453125 -0.359375 0.59375 -1.0q0.15625 -0.640625 0.15625 -2.1875q0.015625 -1.5625 0.0625 -2.0468755q0.09375 -0.78125 0.3125 -1.25q0.234375 -0.484375 0.5625 -0.765625q0.34375 -0.28125 0.859375 -0.421875q0.34375 -0.09375 1.140625 -0.09375l0.53125 0l0 1.453125l-0.296875 0q-0.96875 0 -1.28125 0.34375q-0.3125 0.34375 -0.3125 1.5625005q0 2.421875 -0.09375 3.0625q-0.171875 1.0 -0.578125 1.546875q-0.40625 0.53125 -1.265625 0.9375q1.015625 0.4375 1.46875 1.3125q0.46875 0.87499905 0.46875 2.859374q0 1.8125 0.03125 2.15625q0.078125 0.640625 0.375 0.890625q0.3125 0.25 1.1875 0.25l0.296875 0l0 1.453125l-0.53125 0q-0.90625 0 -1.3125 -0.15625q-0.59375 -0.203125 -0.984375 -0.6875q-0.390625 -0.46875 -0.515625 -1.203125q-0.109375 -0.734375 -0.125 -2.40625q0 -1.671875 -0.15625 -2.3125q-0.140625 -0.64062405 -0.59375 -0.99999905q-0.4375 -0.375 -1.15625 -0.40625l0 -1.5zm5.840271 5.671874l3.59375 -5.124999l-3.328125 -4.734375l2.09375 0l1.515625 2.3125q0.421875 0.65625 0.671875 1.109375q0.421875 -0.609375 0.765625 -1.09375l1.65625 -2.328125l1.984375 0l-3.390625 4.640625l3.65625 5.218749l-2.046875 0l-2.03125 -3.0625l-0.53125 -0.82812405l-2.59375 3.890624l-2.015625 0zm15.0 -5.671874l0 1.5q-0.71875 0.03125 -1.171875 0.40625q-0.453125 0.359375 -0.609375 0.99999905q-0.140625 0.625 -0.15625 2.1875q0 1.546875 -0.046875 2.03125q-0.078125 0.796875 -0.3125 1.265625q-0.21875 0.46875 -0.5625 0.75q-0.328125 0.28125 -0.84375 0.421875q-0.359375 0.109375 -1.15625 0.109375l-0.515625 0l0 -1.453125l0.28125 0q0.96875 0 1.28125 -0.359375q0.3125 -0.34375 0.3125 -1.5625q0 -2.3125 0.09375 -2.9375q0.140625 -1.031249 0.578125 -1.640624q0.453125 -0.625 1.28125 -0.96875q-1.078125 -0.5 -1.515625 -1.34375q-0.4375 -0.84375 -0.4375 -2.828125q0 -1.8125 -0.046875 -2.1718755q-0.0625 -0.625 -0.359375 -0.859375q-0.296875 -0.25 -1.1875 -0.25l-0.28125 0l0 -1.453125l0.515625 0q0.90625 0 1.3125 0.140625q0.59375 0.203125 0.984375 0.6875q0.390625 0.484375 0.5 1.21875q0.125 0.7343755 0.125 2.4062505q0.015625 1.671875 0.15625 2.3125q0.15625 0.625 0.609375 1.0q0.453125 0.359375 1.171875 0.390625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m225.81355 285.0l0 0c0 -15.333527 12.430267 -27.763794 27.763779 -27.763794l0 0c7.3634033 0 14.425232 2.9251099 19.631958 8.131836c5.206726 5.206726 8.131805 12.268555 8.131805 19.631958l0 0c0 15.333527 -12.430267 27.763794 -27.763763 27.763794l0 0c-15.333511 0 -27.763779 -12.430267 -27.763779 -27.763794z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m225.81355 285.0l0 0c0 -15.333527 12.430267 -27.763794 27.763779 -27.763794l0 0c7.3634033 0 14.425232 2.9251099 19.631958 8.131836c5.206726 5.206726 8.131805 12.268555 8.131805 19.631958l0 0c0 15.333527 -12.430267 27.763794 -27.763763 27.763794l0 0c-15.333511 0 -27.763779 -12.430267 -27.763779 -27.763794z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m229.3328 261.46594l74.04724 0l0 55.527557l-74.04724 0z" fill-rule="nonzero"></path><path fill="#000000" d="m246.0203 287.16718q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm5.625717 4.9375l-1.546875 0l0 -13.59375l1.65625 0l0 4.84375q1.0625 -1.328125 2.703125 -1.328125q0.90625 0 1.7187653 0.375q0.8125 0.359375 1.328125 1.03125q0.53125 0.65625 0.828125 1.59375q0.296875 0.9375 0.296875 2.0q0 2.53125 -1.25 3.921875q-1.2500153 1.375 -3.0000153 1.375q-1.75 0 -2.734375 -1.453125l0 1.234375zm-0.015625 -5.0q0 1.765625 0.46875 2.5625q0.796875 1.28125 2.140625 1.28125q1.09375 0 1.890625 -0.9375q0.79689026 -0.953125 0.79689026 -2.84375q0 -1.921875 -0.765625 -2.84375q-0.76564026 -0.921875 -1.8437653 -0.921875q-1.09375 0 -1.890625 0.953125q-0.796875 0.953125 -0.796875 2.75zm15.281967 1.390625l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m262.36484 227.13722l55.527557 0l0 49.889755l-55.527557 0z" fill-rule="nonzero"></path><path fill="#000000" d="m271.8961 248.38535q0.71875 -0.03125 1.15625 -0.390625q0.453125 -0.359375 0.59375 -1.0q0.15625 -0.640625 0.15625 -2.1875q0.015625 -1.5625 0.0625 -2.046875q0.09375 -0.78125 0.3125 -1.25q0.234375 -0.484375 0.5625 -0.765625q0.34375 -0.28125 0.859375 -0.421875q0.34375 -0.09375 1.140625 -0.09375l0.53125 0l0 1.453125l-0.296875 0q-0.96875 0 -1.28125 0.34375q-0.3125 0.34375 -0.3125 1.5625q0 2.421875 -0.09375 3.0625q-0.171875 1.0 -0.578125 1.546875q-0.40625 0.53125 -1.265625 0.9375q1.015625 0.4375 1.46875 1.3125q0.46875 0.875 0.46875 2.859375q0 1.8125 0.03125 2.15625q0.078125 0.640625 0.375 0.890625q0.3125 0.25 1.1875 0.25l0.296875 0l0 1.453125l-0.53125 0q-0.90625 0 -1.3125 -0.15625q-0.59375 -0.203125 -0.984375 -0.6875q-0.390625 -0.46875 -0.515625 -1.203125q-0.109375 -0.734375 -0.125 -2.40625q0 -1.671875 -0.15625 -2.3125q-0.140625 -0.640625 -0.59375 -1.0q-0.4375 -0.375 -1.15625 -0.40625l0 -1.5zm5.840271 5.671875l3.59375 -5.125l-3.328125 -4.734375l2.09375 0l1.515625 2.3125q0.421875 0.65625 0.671875 1.109375q0.421875 -0.609375 0.765625 -1.09375l1.65625 -2.328125l1.984375 0l-3.390625 4.640625l3.65625 5.21875l-2.046875 0l-2.03125 -3.0625l-0.53125 -0.828125l-2.59375 3.890625l-2.015625 0zm15.0 -5.671875l0 1.5q-0.71875 0.03125 -1.171875 0.40625q-0.453125 0.359375 -0.609375 1.0q-0.140625 0.625 -0.15625 2.1875q0 1.546875 -0.046875 2.03125q-0.078125 0.796875 -0.3125 1.265625q-0.21875 0.46875 -0.5625 0.75q-0.328125 0.28125 -0.84375 0.421875q-0.359375 0.109375 -1.15625 0.109375l-0.515625 0l0 -1.453125l0.28125 0q0.96875 0 1.28125 -0.359375q0.3125 -0.34375 0.3125 -1.5625q0 -2.3125 0.09375 -2.9375q0.140625 -1.03125 0.578125 -1.640625q0.453125 -0.625 1.28125 -0.96875q-1.078125 -0.5 -1.515625 -1.34375q-0.4375 -0.84375 -0.4375 -2.828125q0 -1.8125 -0.046875 -2.171875q-0.0625 -0.625 -0.359375 -0.859375q-0.296875 -0.25 -1.1875 -0.25l-0.28125 0l0 -1.453125l0.515625 0q0.90625 0 1.3125 0.140625q0.59375 0.203125 0.984375 0.6875q0.390625 0.484375 0.5 1.21875q0.125 0.734375 0.125 2.40625q0.015625 1.671875 0.15625 2.3125q0.15625 0.625 0.609375 1.0q0.453125 0.359375 1.171875 0.390625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m-3.0 233.0l798.9921 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" stroke-dasharray="1.0,3.0" d="m-3.0 233.0l798.9921 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m-56.0 -352.0l26.740158 26.740143" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" stroke-dasharray="1.0,3.0" d="m-56.0 -352.0l26.740158 26.740143" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m439.8504 114.720474l0 0c0 -11.837158 9.595917 -21.433075 21.433075 -21.433075l0 0c5.684387 0 11.135986 2.2581253 15.155457 6.277603c4.01947 4.019478 6.277588 9.471062 6.277588 15.155472l0 0c0 11.837158 -9.595886 21.43306 -21.433044 21.43306l0 0c-11.837158 0 -21.433075 -9.5959015 -21.433075 -21.43306z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m439.8504 114.720474l0 0c0 -11.837158 9.595917 -21.433075 21.433075 -21.433075l0 0c5.684387 0 11.135986 2.2581253 15.155457 6.277603c4.01947 4.019478 6.277588 9.471062 6.277588 15.155472l0 0c0 11.837158 -9.595886 21.43306 -21.433044 21.43306l0 0c-11.837158 0 -21.433075 -9.5959015 -21.433075 -21.43306z" fill-rule="nonzero"></path><path fill="#000000" d="m462.65924 125.421715l0 -4.828125q-0.390625 0.546875 -1.09375 0.90625q-0.6875 0.359375 -1.484375 0.359375q-1.75 0 -3.015625 -1.390625q-1.265625 -1.40625 -1.265625 -3.84375q0 -1.484375 0.515625 -2.65625q0.515625 -1.1875 1.484375 -1.796875q0.984375 -0.609375 2.15625 -0.609375q1.828125 0 2.875 1.546875l0 -1.328125l1.5 0l0 13.640625l-1.671875 0zm-5.140625 -8.734375q0 1.90625 0.796875 2.859375q0.796875 0.9375 1.90625 0.9375q1.0625 0 1.828125 -0.890625q0.78125 -0.90625 0.78125 -2.765625q0 -1.953125 -0.8125 -2.953125q-0.8125 -1.0 -1.90625 -1.0q-1.09375 0 -1.84375 0.9375q-0.75 0.921875 -0.75 2.875z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m439.8504 34.841206l0 0c0 -11.837156 9.595917 -21.43307 21.433075 -21.43307l0 0c5.684387 0 11.135986 2.2581205 15.155457 6.2776012c4.01947 4.0194798 6.277588 9.4710655 6.277588 15.155468l0 0c0 11.837158 -9.595886 21.433071 -21.433044 21.433071l0 0c-11.837158 0 -21.433075 -9.595913 -21.433075 -21.433071z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m439.8504 34.841206l0 0c0 -11.837156 9.595917 -21.43307 21.433075 -21.43307l0 0c5.684387 0 11.135986 2.2581205 15.155457 6.2776012c4.01947 4.0194798 6.277588 9.4710655 6.277588 15.155468l0 0c0 11.837158 -9.595886 21.433071 -21.433044 21.433071l0 0c-11.837158 0 -21.433075 -9.595913 -21.433075 -21.433071z" fill-rule="nonzero"></path><path fill="#000000" d="m457.3456 45.542454l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m480.6063 -7.6771655l74.04727 0l0 49.889763l-74.04727 0z" fill-rule="nonzero"></path><path fill="#000000" d="m490.13754 13.570958q0.71875 -0.03125 1.15625 -0.390625q0.453125 -0.359375 0.59375 -1.0q0.15625 -0.640625 0.15625 -2.1875q0.015625 -1.5625 0.0625 -2.0468755q0.09375 -0.78125 0.3125 -1.25q0.234375 -0.484375 0.5625 -0.765625q0.34375 -0.28125 0.859375 -0.421875q0.34375 -0.09375 1.140625 -0.09375l0.53125 0l0 1.453125l-0.296875 0q-0.96875 0 -1.28125 0.34375q-0.3125 0.34375 -0.3125 1.5625005q0 2.421875 -0.09375 3.0625q-0.171875 1.0 -0.578125 1.546875q-0.40625 0.53125 -1.265625 0.9375q1.015625 0.4375 1.46875 1.3125q0.46875 0.87499905 0.46875 2.859374q0 1.8125 0.03125 2.15625q0.078125 0.640625 0.375 0.890625q0.3125 0.25 1.1875 0.25l0.296875 0l0 1.453125l-0.53125 0q-0.90625 0 -1.3125 -0.15625q-0.59375 -0.203125 -0.984375 -0.6875q-0.390625 -0.46875 -0.515625 -1.203125q-0.109375 -0.734375 -0.125 -2.40625q0 -1.671875 -0.15625 -2.3125q-0.140625 -0.64062405 -0.59375 -0.99999905q-0.4375 -0.375 -1.15625 -0.40625l0 -1.5zm5.840271 5.671874l3.59375 -5.124999l-3.328125 -4.734375l2.09375 0l1.515625 2.3125q0.421875 0.65625 0.671875 1.109375q0.421875 -0.609375 0.765625 -1.09375l1.65625 -2.328125l1.984375 0l-3.390625 4.640625l3.65625 5.218749l-2.046875 0l-2.03125 -3.0625l-0.53125 -0.82812405l-2.59375 3.890624l-2.015625 0zm10.875 0l0 -1.90625l1.90625 0l0 1.90625q0 1.046875 -0.375 1.6875q-0.375 0.65625 -1.171875 1.0l-0.46875 -0.71875q0.53125 -0.21875 0.78125 -0.671875q0.25 -0.453125 0.28125 -1.296875l-0.953125 0zm4.667694 3.796875l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.874999l1.796875 0l2.046875 5.71875q0.40625 1.078124 0.71875 2.281249q0.28125 -1.15625 0.6875 -2.249999l2.09375 -5.75l1.671875 0l-3.75 10.031249q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125zm13.96875 -9.468749l0 1.5q-0.71875 0.03125 -1.171875 0.40625q-0.453125 0.359375 -0.609375 0.99999905q-0.140625 0.625 -0.15625 2.1875q0 1.546875 -0.046875 2.03125q-0.078125 0.796875 -0.3125 1.265625q-0.21875 0.46875 -0.5625 0.75q-0.328125 0.28125 -0.84375 0.421875q-0.359375 0.109375 -1.15625 0.109375l-0.515625 0l0 -1.453125l0.28125 0q0.96875 0 1.28125 -0.359375q0.3125 -0.34375 0.3125 -1.5625q0 -2.3125 0.09375 -2.9375q0.140625 -1.031249 0.578125 -1.640624q0.453125 -0.625 1.28125 -0.96875q-1.078125 -0.5 -1.515625 -1.34375q-0.4375 -0.84375 -0.4375 -2.828125q0 -1.8125 -0.046875 -2.1718755q-0.0625 -0.625 -0.359375 -0.859375q-0.296875 -0.25 -1.1875 -0.25l-0.28125 0l0 -1.453125l0.515625 0q0.90625 0 1.3125 0.140625q0.59375 0.203125 0.984375 0.6875q0.390625 0.484375 0.5 1.21875q0.125 0.7343755 0.125 2.4062505q0.015625 1.671875 0.15625 2.3125q0.15625 0.625 0.609375 1.0q0.453125 0.359375 1.171875 0.390625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m482.71652 70.097115l74.04727 0l0 49.889763l-74.04727 0z" fill-rule="nonzero"></path><path fill="#000000" d="m492.24777 91.34524q0.71875 -0.03125 1.15625 -0.390625q0.453125 -0.359375 0.59375 -1.0q0.15625 -0.640625 0.15625 -2.1875q0.015625 -1.5625 0.0625 -2.046875q0.09375 -0.78125 0.3125 -1.25q0.234375 -0.484375 0.5625 -0.765625q0.34375 -0.28125 0.859375 -0.421875q0.34375 -0.09375 1.140625 -0.09375l0.53125 0l0 1.453125l-0.296875 0q-0.96875 0 -1.28125 0.34375q-0.3125 0.34375 -0.3125 1.5625q0 2.421875 -0.09375 3.0625q-0.171875 1.0 -0.578125 1.546875q-0.40625 0.53125 -1.265625 0.9375q1.015625 0.4375 1.46875 1.3125q0.46875 0.875 0.46875 2.859375q0 1.8125 0.03125 2.15625q0.078125 0.640625 0.375 0.890625q0.3125 0.25 1.1875 0.25l0.296875 0l0 1.453125l-0.53125 0q-0.90625 0 -1.3125 -0.15625q-0.59375 -0.203125 -0.984375 -0.6875q-0.390625 -0.46875 -0.515625 -1.203125q-0.109375 -0.734375 -0.125 -2.40625q0 -1.671875 -0.15625 -2.3125q-0.140625 -0.640625 -0.59375 -1.0q-0.4375 -0.375 -1.15625 -0.40625l0 -1.5zm5.840271 5.671875l3.59375 -5.125l-3.328125 -4.734375l2.09375 0l1.515625 2.3125q0.421875 0.65625 0.671875 1.109375q0.421875 -0.609375 0.765625 -1.09375l1.65625 -2.328125l1.984375 0l-3.390625 4.640625l3.65625 5.21875l-2.046875 0l-2.03125 -3.0625l-0.53125 -0.828125l-2.59375 3.890625l-2.015625 0zm10.875 0l0 -1.90625l1.90625 0l0 1.90625q0 1.046875 -0.375 1.6875q-0.375 0.65625 -1.171875 1.0l-0.46875 -0.71875q0.53125 -0.21875 0.78125 -0.671875q0.25 -0.453125 0.28125 -1.296875l-0.953125 0zm4.667694 3.796875l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125zm13.96875 -9.46875l0 1.5q-0.71875 0.03125 -1.171875 0.40625q-0.453125 0.359375 -0.609375 1.0q-0.140625 0.625 -0.15625 2.1875q0 1.546875 -0.046875 2.03125q-0.078125 0.796875 -0.3125 1.265625q-0.21875 0.46875 -0.5625 0.75q-0.328125 0.28125 -0.84375 0.421875q-0.359375 0.109375 -1.15625 0.109375l-0.515625 0l0 -1.453125l0.28125 0q0.96875 0 1.28125 -0.359375q0.3125 -0.34375 0.3125 -1.5625q0 -2.3125 0.09375 -2.9375q0.140625 -1.03125 0.578125 -1.640625q0.453125 -0.625 1.28125 -0.96875q-1.078125 -0.5 -1.515625 -1.34375q-0.4375 -0.84375 -0.4375 -2.828125q0 -1.8125 -0.046875 -2.171875q-0.0625 -0.625 -0.359375 -0.859375q-0.296875 -0.25 -1.1875 -0.25l-0.28125 0l0 -1.453125l0.515625 0q0.90625 0 1.3125 0.140625q0.59375 0.203125 0.984375 0.6875q0.390625 0.484375 0.5 1.21875q0.125 0.734375 0.125 2.40625q0.015625 1.671875 0.15625 2.3125q0.15625 0.625 0.609375 1.0q0.453125 0.359375 1.171875 0.390625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m470.71652 226.93701l74.04727 0l0 49.88977l-74.04727 0z" fill-rule="nonzero"></path><path fill="#000000" d="m480.24777 248.18513q0.71875 -0.03125 1.15625 -0.390625q0.453125 -0.359375 0.59375 -1.0q0.15625 -0.640625 0.15625 -2.1875q0.015625 -1.5625 0.0625 -2.046875q0.09375 -0.78125 0.3125 -1.25q0.234375 -0.484375 0.5625 -0.765625q0.34375 -0.28125 0.859375 -0.421875q0.34375 -0.09375 1.140625 -0.09375l0.53125 0l0 1.453125l-0.296875 0q-0.96875 0 -1.28125 0.34375q-0.3125 0.34375 -0.3125 1.5625q0 2.421875 -0.09375 3.0625q-0.171875 1.0 -0.578125 1.546875q-0.40625 0.53125 -1.265625 0.9375q1.015625 0.4375 1.46875 1.3125q0.46875 0.875 0.46875 2.859375q0 1.8125 0.03125 2.15625q0.078125 0.640625 0.375 0.89060974q0.3125 0.25 1.1875 0.25l0.296875 0l0 1.453125l-0.53125 0q-0.90625 0 -1.3125 -0.15625q-0.59375 -0.203125 -0.984375 -0.6875q-0.390625 -0.46875 -0.515625 -1.2031097q-0.109375 -0.734375 -0.125 -2.40625q0 -1.671875 -0.15625 -2.3125q-0.140625 -0.640625 -0.59375 -1.0q-0.4375 -0.375 -1.15625 -0.40625l0 -1.5zm5.840271 5.671875l3.59375 -5.125l-3.328125 -4.734375l2.09375 0l1.515625 2.3125q0.421875 0.65625 0.671875 1.109375q0.421875 -0.609375 0.765625 -1.09375l1.65625 -2.328125l1.984375 0l-3.390625 4.640625l3.65625 5.21875l-2.046875 0l-2.03125 -3.0625l-0.53125 -0.828125l-2.59375 3.890625l-2.015625 0zm10.875 0l0 -1.90625l1.90625 0l0 1.90625q0 1.046875 -0.375 1.6875q-0.375 0.65623474 -1.171875 0.99998474l-0.46875 -0.71873474q0.53125 -0.21875 0.78125 -0.671875q0.25 -0.453125 0.28125 -1.296875l-0.953125 0zm4.667694 3.7968597l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.18748474 0.5625 -0.51560974q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.2343597q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125zm13.96875 -9.468735l0 1.5q-0.71875 0.03125 -1.171875 0.40625q-0.453125 0.359375 -0.609375 1.0q-0.140625 0.625 -0.15625 2.1875q0 1.546875 -0.046875 2.03125q-0.078125 0.79685974 -0.3125 1.2656097q-0.21875 0.46875 -0.5625 0.75q-0.328125 0.28125 -0.84375 0.421875q-0.359375 0.109375 -1.15625 0.109375l-0.515625 0l0 -1.453125l0.28125 0q0.96875 0 1.28125 -0.359375q0.3125 -0.34373474 0.3125 -1.5624847q0 -2.3125 0.09375 -2.9375q0.140625 -1.03125 0.578125 -1.640625q0.453125 -0.625 1.28125 -0.96875q-1.078125 -0.5 -1.515625 -1.34375q-0.4375 -0.84375 -0.4375 -2.828125q0 -1.8125 -0.046875 -2.171875q-0.0625 -0.625 -0.359375 -0.859375q-0.296875 -0.25 -1.1875 -0.25l-0.28125 0l0 -1.453125l0.515625 0q0.90625 0 1.3125 0.140625q0.59375 0.203125 0.984375 0.6875q0.390625 0.484375 0.5 1.21875q0.125 0.734375 0.125 2.40625q0.015625 1.671875 0.15625 2.3125q0.15625 0.625 0.609375 1.0q0.453125 0.359375 1.171875 0.390625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m445.33804 264.11685l74.04727 0l0 55.527557l-74.04727 0z" fill-rule="nonzero"></path><path fill="#000000" d="m455.58804 294.8181l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625zm15.141357 8.65625l0 -4.828125q-0.390625 0.546875 -1.09375 0.90625q-0.6875 0.359375 -1.484375 0.359375q-1.75 0 -3.015625 -1.390625q-1.265625 -1.40625 -1.265625 -3.84375q0 -1.484375 0.515625 -2.65625q0.515625 -1.1875 1.484375 -1.796875q0.984375 -0.609375 2.15625 -0.609375q1.828125 0 2.875 1.546875l0 -1.328125l1.5 0l0 13.640625l-1.671875 0zm-5.140625 -8.734375q0 1.90625 0.796875 2.859375q0.796875 0.9375 1.90625 0.9375q1.0625 0 1.828125 -0.890625q0.78125 -0.90625 0.78125 -2.765625q0 -1.953125 -0.8125 -2.953125q-0.8125 -1.0 -1.90625 -1.0q-1.09375 0 -1.84375 0.9375q-0.75 0.921875 -0.75 2.875z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m437.30435 289.23096l0 0c0 -15.333496 12.430267 -27.763763 27.763763 -27.763763l0 0c7.3634033 0 14.425232 2.9251099 19.631958 8.131836c5.206726 5.2066956 8.131836 12.268524 8.131836 19.631927l0 0c0 15.333527 -12.430267 27.763794 -27.763794 27.763794l0 0c-15.333496 0 -27.763763 -12.430267 -27.763763 -27.763794z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m437.30435 289.23096l0 0c0 -15.333496 12.430267 -27.763763 27.763763 -27.763763l0 0c7.3634033 0 14.425232 2.9251099 19.631958 8.131836c5.206726 5.2066956 8.131836 12.268524 8.131836 19.631927l0 0c0 15.333527 -12.430267 27.763794 -27.763794 27.763794l0 0c-15.333496 0 -27.763763 -12.430267 -27.763763 -27.763794z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m624.0 191.0l317.10236 0l0 37.007874l-317.10236 0z" fill-rule="nonzero"></path><path fill="#000000" d="m635.7969 217.92l-1.546875 0l0 -13.59375l1.65625 0l0 4.84375q1.0625 -1.328125 2.703125 -1.328125q0.90625 0 1.71875 0.375q0.8125 0.359375 1.328125 1.03125q0.53125 0.65625 0.828125 1.59375q0.296875 0.9375 0.296875 2.0q0 2.53125 -1.25 3.921875q-1.25 1.375 -3.0 1.375q-1.75 0 -2.734375 -1.453125l0 1.234375zm-0.015625 -5.0q0 1.765625 0.46875 2.5625q0.796875 1.28125 2.140625 1.28125q1.09375 0 1.890625 -0.9375q0.796875 -0.953125 0.796875 -2.84375q0 -1.921875 -0.765625 -2.84375q-0.765625 -0.921875 -1.84375 -0.921875q-1.09375 0 -1.890625 0.953125q-0.796875 0.953125 -0.796875 2.75zm15.594482 1.828125l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.516357 5.875l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.1520386 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.266296 4.921875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm12.9783325 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m624.7559 235.99213l317.10236 0l0 37.007874l-317.10236 0z" fill-rule="nonzero"></path><path fill="#000000" d="m641.4434 261.69336q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.0156097 -0.46875 -1.4374847q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.4687347l-1.640625 -0.23435974q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.5312347l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.4851074 4.9375l0 -8.54686l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.54686l-1.65625 0zm8.433289 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.6562347l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.7499847q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm8.277039 -1.671875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.4843597 1.265625 -3.8593597q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.7968597q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.2343597 -0.625 -1.8593597q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.0468597zm9.094482 5.875l0 -9.85936l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.89060974 -0.28125 1.9531097l0 5.15625l-1.671875 0z" fill-rule="nonzero"></path></g></svg>
-
diff --git a/content/2014/static-analysis/template.go b/content/2014/static-analysis/template.go
deleted file mode 100644
index 7c16792..0000000
--- a/content/2014/static-analysis/template.go
+++ /dev/null
@@ -1,8 +0,0 @@
-// +build ignore,OMIT
-
-package P
-
-import "fmt"
-
-func before(s string) { fmt.Printf("%s\n", s) }
-func after(s string)  { fmt.Println(s) }
diff --git a/content/2014/static-analysis/tools.svg b/content/2014/static-analysis/tools.svg
deleted file mode 100644
index 82fb374..0000000
--- a/content/2014/static-analysis/tools.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-
-<svg version="1.1" viewBox="0.0 0.0 871.0 380.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l871.0 0l0 380.0l-871.0 0l0 -380.0z" clip-rule="nonzero"></path></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l871.3622 0l0 380.9685l-871.3622 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m286.063 255.37534l271.30707 0l0 114.77164l-271.30707 0z" fill-rule="nonzero"></path><path fill="#fff2cc" d="m761.2782 249.90572l0 0c0 -5.7635803 4.6723022 -10.435898 10.435913 -10.435898l84.76599 0c2.7677612 0 5.42218 1.0994873 7.3792725 3.05661c1.9571533 1.9571075 3.0566406 4.611511 3.0566406 7.3792877l0 41.742355c0 5.763611 -4.6723022 10.435913 -10.435913 10.435913l-84.76599 0c-5.763611 0 -10.435913 -4.6723022 -10.435913 -10.435913z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m761.2782 249.90572l0 0c0 -5.7635803 4.6723022 -10.435898 10.435913 -10.435898l84.76599 0c2.7677612 0 5.42218 1.0994873 7.3792725 3.05661c1.9571533 1.9571075 3.0566406 4.611511 3.0566406 7.3792877l0 41.742355c0 5.763611 -4.6723022 10.435913 -10.435913 10.435913l-84.76599 0c-5.763611 0 -10.435913 -4.6723022 -10.435913 -10.435913z" fill-rule="nonzero"></path><path fill="#000000" d="m791.7208 278.5094l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.265625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875zm8.672607 0.1875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.688171 4.921875l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.7770996 0l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm19.197021 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m22.585302 179.2023l0 0c0 -5.7635803 4.6723137 -10.435898 10.435904 -10.435898l447.6321 0c2.7677612 0 5.42218 1.0994873 7.379303 3.05661c1.9570923 1.9571075 3.05661 4.6115265 3.05661 7.3792877l0 41.74237c0 5.7635956 -4.672333 10.435898 -10.435913 10.435898l-447.6321 0c-5.76359 0 -10.435904 -4.6723022 -10.435904 -10.435898z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m22.585302 179.2023l0 0c0 -5.7635803 4.6723137 -10.435898 10.435904 -10.435898l447.6321 0c2.7677612 0 5.42218 1.0994873 7.379303 3.05661c1.9570923 1.9571075 3.05661 4.6115265 3.05661 7.3792877l0 41.74237c0 5.7635956 -4.672333 10.435898 -10.435913 10.435898l-447.6321 0c-5.76359 0 -10.435904 -4.6723022 -10.435904 -10.435898z" fill-rule="nonzero"></path><path fill="#000000" d="m196.51726 191.61848l1.6875 -0.140625q0.125 1.015625 0.5625 1.671875q0.4375 0.65625 1.359375 1.0625q0.9375 0.40625 2.09375 0.40625q1.03125 0 1.8125 -0.3125q0.796875 -0.3125 1.1875 -0.84375q0.390625 -0.53125 0.390625 -1.15625q0 -0.640625 -0.375 -1.109375q-0.375 -0.484375 -1.234375 -0.8125q-0.546875 -0.21875 -2.421875 -0.65625q-1.875 -0.453125 -2.625 -0.859375q-0.96875 -0.515625 -1.453125 -1.265625q-0.46875 -0.75 -0.46875 -1.6875q0 -1.03125 0.578125 -1.921875q0.59375 -0.90625 1.703125 -1.359375q1.125 -0.46875 2.5 -0.46875q1.515625 0 2.671875 0.484375q1.15625 0.484375 1.765625 1.4375q0.625 0.9375 0.671875 2.140625l-1.71875 0.125q-0.140625 -1.28125 -0.953125 -1.9375q-0.796875 -0.671875 -2.359375 -0.671875q-1.625 0 -2.375 0.609375q-0.75 0.59375 -0.75 1.4375q0 0.734375 0.53125 1.203125q0.515625 0.46875 2.703125 0.96875q2.203125 0.5 3.015625 0.875q1.1875 0.546875 1.75 1.390625q0.578125 0.828125 0.578125 1.921875q0 1.09375 -0.625 2.0625q-0.625 0.953125 -1.796875 1.484375q-1.15625 0.53125 -2.609375 0.53125q-1.84375 0 -3.09375 -0.53125q-1.25 -0.546875 -1.96875 -1.625q-0.703125 -1.078125 -0.734375 -2.453125zm12.443573 0l1.6875 -0.140625q0.125 1.015625 0.5625 1.671875q0.4375 0.65625 1.359375 1.0625q0.9375 0.40625 2.09375 0.40625q1.03125 0 1.8125 -0.3125q0.796875 -0.3125 1.1875 -0.84375q0.390625 -0.53125 0.390625 -1.15625q0 -0.640625 -0.375 -1.109375q-0.375 -0.484375 -1.234375 -0.8125q-0.546875 -0.21875 -2.421875 -0.65625q-1.875 -0.453125 -2.625 -0.859375q-0.96875 -0.515625 -1.453125 -1.265625q-0.46875 -0.75 -0.46875 -1.6875q0 -1.03125 0.578125 -1.921875q0.59375 -0.90625 1.703125 -1.359375q1.125 -0.46875 2.5 -0.46875q1.515625 0 2.671875 0.484375q1.15625 0.484375 1.765625 1.4375q0.625 0.9375 0.671875 2.140625l-1.71875 0.125q-0.140625 -1.28125 -0.953125 -1.9375q-0.796875 -0.671875 -2.359375 -0.671875q-1.625 0 -2.375 0.609375q-0.75 0.59375 -0.75 1.4375q0 0.734375 0.53125 1.203125q0.515625 0.46875 2.703125 0.96875q2.203125 0.5 3.015625 0.875q1.1875 0.546875 1.75 1.390625q0.578125 0.828125 0.578125 1.921875q0 1.09375 -0.625 2.0625q-0.625 0.953125 -1.796875 1.484375q-1.15625 0.53125 -2.609375 0.53125q-1.84375 0 -3.09375 -0.53125q-1.25 -0.546875 -1.96875 -1.625q-0.703125 -1.078125 -0.734375 -2.453125zm11.552948 4.375l5.234375 -13.59375l1.9375 0l5.5625 13.59375l-2.046875 0l-1.59375 -4.125l-5.6875 0l-1.484375 4.125l-1.921875 0zm3.921875 -5.578125l4.609375 0l-1.40625 -3.78125q-0.65625 -1.703125 -0.96875 -2.8125q-0.265625 1.3125 -0.734375 2.59375l-1.5 4.0zm15.501877 5.578125l0 -13.59375l1.8125 0l0 13.59375l-1.8125 0zm4.917679 0l0 -13.59375l6.03125 0q1.8125 0 2.75 0.359375q0.953125 0.359375 1.515625 1.296875q0.5625 0.921875 0.5625 2.046875q0 1.453125 -0.9375 2.453125q-0.921875 0.984375 -2.890625 1.25q0.71875 0.34375 1.09375 0.671875q0.78125 0.734375 1.484375 1.8125l2.3749847 3.703125l-2.2656097 0l-1.796875 -2.828125q-0.796875 -1.21875 -1.3125 -1.875q-0.5 -0.65625 -0.90625 -0.90625q-0.40625 -0.265625 -0.8125 -0.359375q-0.3125 -0.078125 -1.015625 -0.078125l-2.078125 0l0 6.046875l-1.796875 0zm1.796875 -7.59375l3.859375 0q1.234375 0 1.921875 -0.25q0.703125 -0.265625 1.0625 -0.828125q0.375 -0.5625 0.375 -1.21875q0 -0.96875 -0.703125 -1.578125q-0.703125 -0.625 -2.21875 -0.625l-4.296875 0l0 4.5zm18.156235 7.59375l-1.546875 0l0 -13.59375l1.65625 0l0 4.84375q1.0625 -1.328125 2.703125 -1.328125q0.90625 0 1.71875 0.375q0.8125 0.359375 1.328125 1.03125q0.53125 0.65625 0.828125 1.59375q0.296875 0.9375 0.296875 2.0q0 2.53125 -1.25 3.921875q-1.25 1.375 -3.0 1.375q-1.75 0 -2.734375 -1.453125l0 1.234375zm-0.015625 -5.0q0 1.765625 0.46875 2.5625q0.796875 1.28125 2.140625 1.28125q1.09375 0 1.890625 -0.9375q0.796875 -0.953125 0.796875 -2.84375q0 -1.921875 -0.765625 -2.84375q-0.765625 -0.921875 -1.84375 -0.921875q-1.09375 0 -1.890625 0.953125q-0.796875 0.953125 -0.796875 2.75zm15.297607 5.0l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm3.9382324 -11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm4.097931 0l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm10.566681 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm16.016357 1.75l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094482 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0z" fill-rule="nonzero"></path><path fill="#000000" d="m230.30704 218.80598l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.265625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875zm8.672592 0.1875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm8.031967 5.15625l3.9375 -14.0625l1.34375 0l-3.9375 14.0625l-1.34375 0zm5.761429 -3.171875l1.6562347 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.2812347 -2.359375zm9.32811 0l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm16.4375 1.71875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.7812805 0.296875 1.1562805 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.32815552 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m22.593176 249.90572l0 0c0 -5.7635803 4.6723137 -10.435898 10.435904 -10.435898l711.2857 0c2.7677612 0 5.42218 1.0994873 7.3792725 3.05661c1.9571533 1.9571075 3.0566406 4.611511 3.0566406 7.3792877l0 41.742355c0 5.763611 -4.6723022 10.435913 -10.435913 10.435913l-711.2857 0c-5.76359 0 -10.435904 -4.6723022 -10.435904 -10.435913z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m22.593176 249.90572l0 0c0 -5.7635803 4.6723137 -10.435898 10.435904 -10.435898l711.2857 0c2.7677612 0 5.42218 1.0994873 7.3792725 3.05661c1.9571533 1.9571075 3.0566406 4.611511 3.0566406 7.3792877l0 41.742355c0 5.763611 -4.6723022 10.435913 -10.435913 10.435913l-711.2857 0c-5.76359 0 -10.435904 -4.6723022 -10.435904 -10.435913z" fill-rule="nonzero"></path><path fill="#000000" d="m337.60226 266.6969l0 -12.0l-4.46875 0l0 -1.59375l10.765625 0l0 1.59375l-4.5 0l0 12.0l-1.796875 0zm7.645996 3.796875l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125zm9.40625 -0.015625l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625zm15.610077 1.703125l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm20.730896 2.265625l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.890625 3.609375l0 -13.59375l1.671875 0l0 4.875q1.171875 -1.359375 2.953125 -1.359375q1.09375 0 1.890625 0.4375q0.8125 0.421875 1.15625 1.1875q0.359375 0.765625 0.359375 2.203125l0 6.25l-1.671875 0l0 -6.25q0 -1.25 -0.546875 -1.8125q-0.546875 -0.578125 -1.53125 -0.578125q-0.75 0 -1.40625 0.390625q-0.640625 0.375 -0.921875 1.046875q-0.28125 0.65625 -0.28125 1.8125l0 5.390625l-1.671875 0zm17.125702 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm15.547607 2.265625l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.90625 3.609375l0 -13.59375l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203125l-2.0625 0l-3.25 -5.03125l-1.171875 1.125l0 3.90625l-1.671875 0zm16.0625 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094482 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0z" fill-rule="nonzero"></path><path fill="#000000" d="m354.36215 289.5094l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.265625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875zm8.672607 0.1875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm8.031952 5.15625l3.9375 -14.0625l1.34375 0l-3.9375 14.0625l-1.34375 0zm10.089569 -1.734375l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm1.4489136 5.296875l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125zm9.40625 -0.015625l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625zm15.610107 1.703125l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm8.438202 2.9375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m23.889763 320.60913l0 0c0 -5.7635803 4.6723137 -10.435913 10.435905 -10.435913l822.1518 0c2.7677612 0 5.42218 1.0995178 7.3792725 3.05661c1.9571533 1.9571228 3.0566406 4.6115417 3.0566406 7.379303l0 41.74237c0 5.7635803 -4.6723022 10.435913 -10.435913 10.435913l-822.1518 0c-5.763592 0 -10.435905 -4.672333 -10.435905 -10.435913z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m23.889763 320.60913l0 0c0 -5.7635803 4.6723137 -10.435913 10.435905 -10.435913l822.1518 0c2.7677612 0 5.42218 1.0995178 7.3792725 3.05661c1.9571533 1.9571228 3.0566406 4.6115417 3.0566406 7.379303l0 41.74237c0 5.7635803 -4.6723022 10.435913 -10.435913 10.435913l-822.1518 0c-5.763592 0 -10.435905 -4.672333 -10.435905 -10.435913z" fill-rule="nonzero"></path><path fill="#000000" d="m419.3961 337.4003l0 -13.59375l5.125 0q1.359375 0 2.078125 0.125q1.0 0.171875 1.671875 0.640625q0.671875 0.46875 1.078125 1.3125q0.421875 0.84375 0.421875 1.84375q0 1.734375 -1.109375 2.9375q-1.09375 1.203125 -3.984375 1.203125l-3.484375 0l0 5.53125l-1.796875 0zm1.796875 -7.140625l3.515625 0q1.75 0 2.46875 -0.640625q0.734375 -0.65625 0.734375 -1.828125q0 -0.859375 -0.4375 -1.46875q-0.421875 -0.609375 -1.125 -0.796875q-0.453125 -0.125 -1.671875 -0.125l-3.484375 0l0 4.859375zm16.865448 5.921875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.0632324 4.9375l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm5.5563965 -2.9375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm16.75 -0.234375l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094482 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0z" fill-rule="nonzero"></path><path fill="#000000" d="m324.4924 360.2128l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.265625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875zm8.672577 0.1875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm8.031982 5.15625l3.9375 -14.0625l1.34375 0l-3.9375 14.0625l-1.34375 0zm5.7145386 -5.90625q0.71875 -0.03125 1.15625 -0.390625q0.453125 -0.359375 0.59375 -1.0q0.15625 -0.640625 0.15625 -2.1875q0.015625 -1.5625 0.0625 -2.046875q0.09375 -0.78125 0.3125 -1.25q0.234375 -0.484375 0.5625 -0.765625q0.34375 -0.28125 0.859375 -0.421875q0.34375 -0.09375 1.140625 -0.09375l0.53125 0l0 1.453125l-0.296875 0q-0.96875 0 -1.28125 0.34375q-0.3125 0.34375 -0.3125 1.5625q0 2.421875 -0.09375 3.0625q-0.171875 1.0 -0.578125 1.546875q-0.40625 0.53125 -1.265625 0.9375q1.015625 0.4375 1.46875 1.3125q0.46875 0.875 0.46875 2.859375q0 1.8125 0.03125 2.15625q0.078125 0.640625 0.375 0.890625q0.3125 0.25 1.1875 0.25l0.296875 0l0 1.453125l-0.53125 0q-0.90625 0 -1.3125 -0.15625q-0.59375 -0.203125 -0.984375 -0.6875q-0.390625 -0.46875 -0.515625 -1.203125q-0.109375 -0.734375 -0.125 -2.40625q0 -1.671875 -0.15625 -2.3125q-0.140625 -0.640625 -0.59375 -1.0q-0.4375 -0.375 -1.15625 -0.40625l0 -1.5zm6.949646 9.453125l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625zm15.297607 3.65625q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.0632324 4.9375l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm5.5563965 -2.9375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm16.75 -0.234375l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094482 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm6.665802 0l0 -1.90625l1.90625 0l0 1.90625q0 1.046875 -0.375 1.6875q-0.375 0.65625 -1.171875 1.0l-0.46875 -0.71875q0.53125 -0.21875 0.78125 -0.671875q0.25 -0.453125 0.28125 -1.296875l-0.953125 0zm11.183319 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm3.406952 2.0l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm13.65625 1.4375l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm1.9645691 1.5l0 -1.90625l1.90625 0l0 1.90625q0 1.046875 -0.375 1.6875q-0.375 0.65625 -1.171875 1.0l-0.46875 -0.71875q0.53125 -0.21875 0.78125 -0.671875q0.25 -0.453125 0.28125 -1.296875l-0.953125 0zm4.0739136 -2.9375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm16.4375 -0.671875l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm9.328125 2.390625q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.0788574 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm10.375702 0l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm17.125702 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094482 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm6.665802 0l0 -1.90625l1.9062195 0l0 1.90625q0 1.046875 -0.375 1.6875q-0.375 0.65625 -1.171875 1.0l-0.46871948 -0.71875q0.5312195 -0.21875 0.7812195 -0.671875q0.25 -0.453125 0.28125 -1.296875l-0.9530945 0zm8.402069 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm0.9020386 -3.421875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.297607 4.921875l0 -13.59375l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203125l-2.0625 0l-3.25 -5.03125l-1.171875 1.125l0 3.90625l-1.671875 0zm16.0625 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110107 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm14.938171 -5.671875l0 1.5q-0.71875 0.03125 -1.171875 0.40625q-0.453125 0.359375 -0.609375 1.0q-0.140625 0.625 -0.15625 2.1875q0 1.546875 -0.046875 2.03125q-0.078125 0.796875 -0.3125 1.265625q-0.21875 0.46875 -0.5625 0.75q-0.328125 0.28125 -0.84375 0.421875q-0.359375 0.109375 -1.15625 0.109375l-0.515625 0l0 -1.453125l0.28125 0q0.96875 0 1.28125 -0.359375q0.3125 -0.34375 0.3125 -1.5625q0 -2.3125 0.09375 -2.9375q0.140625 -1.03125 0.578125 -1.640625q0.453125 -0.625 1.28125 -0.96875q-1.078125 -0.5 -1.515625 -1.34375q-0.4375 -0.84375 -0.4375 -2.828125q0 -1.8125 -0.046875 -2.171875q-0.0625 -0.625 -0.359375 -0.859375q-0.296875 -0.25 -1.1875 -0.25l-0.28125 0l0 -1.453125l0.515625 0q0.90625 0 1.3125 0.140625q0.59375 0.203125 0.984375 0.6875q0.390625 0.484375 0.5 1.21875q0.125 0.734375 0.125 2.40625q0.015625 1.671875 0.15625 2.3125q0.15625 0.625 0.609375 1.0q0.453125 0.359375 1.171875 0.390625z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m22.585302 106.80336l0 0c0 -5.7635956 4.6723137 -10.435905 10.435904 -10.435905l293.20694 0c2.7677612 0 5.42218 1.0994949 7.379303 3.0566025c1.9570923 1.9571152 3.0565796 4.6115265 3.0565796 7.379303l0 41.742355c0 5.7635956 -4.6723022 10.435913 -10.435883 10.435913l-293.20694 0l0 0c-5.76359 0 -10.435904 -4.6723175 -10.435904 -10.435913z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m22.585302 106.80336l0 0c0 -5.7635956 4.6723137 -10.435905 10.435904 -10.435905l293.20694 0c2.7677612 0 5.42218 1.0994949 7.379303 3.0566025c1.9570923 1.9571152 3.0565796 4.6115265 3.0565796 7.379303l0 41.742355c0 5.7635956 -4.6723022 10.435913 -10.435883 10.435913l-293.20694 0l0 0c-5.76359 0 -10.435904 -4.6723175 -10.435904 -10.435913z" fill-rule="nonzero"></path><path fill="#000000" d="m87.2565 123.594536l0 -13.59375l5.125 0q1.359375 0 2.078125 0.125q1.0 0.171875 1.671875 0.640625q0.671875 0.46875 1.078125 1.3125q0.421875 0.84375 0.421875 1.84375q0 1.734375 -1.109375 2.9375q-1.09375 1.203125 -3.984375 1.203125l-3.484375 0l0 5.53125l-1.796875 0zm1.796875 -7.140625l3.515625 0q1.75 0 2.46875 -0.640625q0.734375 -0.65625 0.734375 -1.828125q0 -0.859375 -0.4375 -1.46875q-0.421875 -0.609375 -1.125 -0.796875q-0.453125 -0.125 -1.671875 -0.125l-3.484375 0l0 4.859375zm9.802948 2.21875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.297592 -6.765625l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm4.129196 0l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm14.031967 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm8.277054 -1.671875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094467 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm14.599106 4.0q-1.375 -1.75 -2.328125 -4.078125q-0.953125 -2.34375 -0.953125 -4.84375q0 -2.21875 0.703125 -4.234375q0.84375 -2.34375 2.578125 -4.671875l1.203125 0q-1.125 1.921875 -1.484375 2.75q-0.5625 1.28125 -0.890625 2.671875q-0.40625 1.734375 -0.40625 3.484375q0 4.46875 2.78125 8.921875l-1.203125 0zm9.462677 -5.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.047592 4.9375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm4.191696 -11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm10.566696 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm3.4069672 2.0l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm11.09375 6.9375l-1.1875 0q2.765625 -4.453125 2.765625 -8.921875q0 -1.734375 -0.390625 -3.453125q-0.328125 -1.390625 -0.890625 -2.671875q-0.359375 -0.84375 -1.484375 -2.78125l1.1875 0q1.75 2.328125 2.578125 4.671875q0.71875 2.015625 0.71875 4.234375q0 2.5 -0.96875 4.84375q-0.953125 2.328125 -2.328125 4.078125zm16.73973 -5.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.078842 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.813217 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.047592 4.9375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm4.097946 3.796875l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125zm8.734375 -6.734375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.1562347 0 1.7031097 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.7031097 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.1718597 0 2.0468597 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.4999847 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.7656097 0.46875 2.4687347 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.0781097 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm10.01561 -8.75l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm3.4573364 -2.9375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375z" fill-rule="nonzero"></path><path fill="#000000" d="m139.0886 146.40704l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.265625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875zm8.672592 0.1875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.0937653 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625153 0 -3.3437653 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.0781403 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.2500153 0 -2.0781403 0.9375q-0.828125 0.9375 -0.828125 2.828125zm8.031967 5.15625l3.9375 -14.0625l1.34375 0l-3.9375 14.0625l-1.34375 0zm6.433319 3.546875l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625zm8.235077 -0.046875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.297607 -6.765625l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm4.129181 0l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm14.031982 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm8.277039 -1.671875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094482 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m379.15222 108.49889l0 0c0 -5.763588 4.672333 -10.435898 10.435913 -10.435898l91.065186 0c2.7677917 0 5.4222107 1.0994873 7.379303 3.0566025c1.9571228 1.9571075 3.05661 4.6115265 3.05661 7.3792953l0 41.742363c0 5.7635956 -4.6723022 10.435913 -10.435913 10.435913l-91.065186 0c-5.7635803 0 -10.435913 -4.6723175 -10.435913 -10.435913z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m379.15222 108.49889l0 0c0 -5.763588 4.672333 -10.435898 10.435913 -10.435898l91.065186 0c2.7677917 0 5.4222107 1.0994873 7.379303 3.0566025c1.9571228 1.9571075 3.05661 4.6115265 3.05661 7.3792953l0 41.742363c0 5.7635956 -4.6723022 10.435913 -10.435913 10.435913l-91.065186 0c-5.7635803 0 -10.435913 -4.6723175 -10.435913 -10.435913z" fill-rule="nonzero"></path><path fill="#000000" d="m421.81894 136.29008l0 -13.593758l1.671875 0l0 13.593758l-1.671875 0zm4.1448364 0l0 -13.593758l1.671875 0l0 13.593758l-1.671875 0zm3.879181 0.8125l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.2031326 1.484375 -1.8437576q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515633q0 2.3125 -0.46875 3.265625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.9218826 -1.921875 -0.9218826q-1.109375 0 -1.890625 0.9062576q-0.78125 0.890625 -0.78125 2.671875zm8.672607 0.1875q0 -2.734375 1.53125 -4.0625076q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.3281326 1.296875 3.6718826q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375076 -2.0625 -0.9375076q-1.25 0 -2.078125 0.9375076q-0.828125 0.9375 -0.828125 2.828125z" fill-rule="nonzero"></path><path fill="#fff2cc" d="m642.81366 179.2023l0 0c0 -5.7635803 4.6723022 -10.435898 10.435913 -10.435898l91.065186 0c2.7677612 0 5.42218 1.0994873 7.3792725 3.05661c1.9571533 1.9571075 3.0566406 4.6115265 3.0566406 7.3792877l0 41.74237c0 5.7635956 -4.6723022 10.435913 -10.435913 10.435913l-91.065186 0c-5.763611 0 -10.435913 -4.6723175 -10.435913 -10.435913z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m642.81366 179.2023l0 0c0 -5.7635803 4.6723022 -10.435898 10.435913 -10.435898l91.065186 0c2.7677612 0 5.42218 1.0994873 7.3792725 3.05661c1.9571533 1.9571075 3.0566406 4.6115265 3.0566406 7.3792877l0 41.74237c0 5.7635956 -4.6723022 10.435913 -10.435913 10.435913l-91.065186 0c-5.763611 0 -10.435913 -4.6723175 -10.435913 -10.435913z" fill-rule="nonzero"></path><path fill="#000000" d="m657.7314 207.80598l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.265625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875zm8.672607 0.1875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.266357 4.921875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm12.9782715 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110107 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.813171 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.85931396 0.3125 -1.843689 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.031189 -0.25 2.984314 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.906189 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.249939 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734314 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96868896 0 1.718689 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.0788574 4.9375l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm22.290833 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875z" fill-rule="nonzero"></path><path fill="#fff2cc" d="m502.37796 178.58812l0 0c0 -5.4243774 4.397339 -9.821716 9.821686 -9.821716l39.285706 0l0 0c2.6049194 0 5.1030884 1.03479 6.9450073 2.876709c1.841919 1.8419342 2.876709 4.3401337 2.876709 6.9450073l0 42.970734c0 5.4243927 -4.397339 9.821732 -9.821716 9.821732l-39.285706 0l0 0c-5.424347 0 -9.821686 -4.397339 -9.821686 -9.821732z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m502.37796 178.58812l0 0c0 -5.4243774 4.397339 -9.821716 9.821686 -9.821716l39.285706 0l0 0c2.6049194 0 5.1030884 1.03479 6.9450073 2.876709c1.841919 1.8419342 2.876709 4.3401337 2.876709 6.9450073l0 42.970734c0 5.4243927 -4.397339 9.821732 -9.821716 9.821732l-39.285706 0l0 0c-5.424347 0 -9.821686 -4.397339 -9.821686 -9.821732z" fill-rule="nonzero"></path><path fill="#000000" d="m523.3833 206.99348l-3.75 -9.859375l1.765625 0l2.125 5.90625q0.34375 0.953125 0.625 1.984375q0.21875 -0.78125 0.625 -1.875l2.1875 -6.015625l1.71875 0l-3.734375 9.859375l-1.5625 0zm13.34375 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm12.766357 4.375l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125z" fill-rule="nonzero"></path><path fill="#fff2cc" d="m22.585302 34.404408l0 0c0 -5.76359 4.6723137 -10.435904 10.435904 -10.435904l63.66363 0c2.7677689 0 5.422188 1.099493 7.3792953 3.0566063c1.9571152 1.9571114 3.05661 4.6115246 3.05661 7.3792973l0 41.742367c0 5.763588 -4.6723175 10.435905 -10.435905 10.435905l-63.66363 0c-5.76359 0 -10.435904 -4.6723175 -10.435904 -10.435905z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m22.585302 34.404408l0 0c0 -5.76359 4.6723137 -10.435904 10.435904 -10.435904l63.66363 0c2.7677689 0 5.422188 1.099493 7.3792953 3.0566063c1.9571152 1.9571114 3.05661 4.6115246 3.05661 7.3792973l0 41.742367c0 5.763588 -4.6723175 10.435905 -10.435905 10.435905l-63.66363 0c-5.76359 0 -10.435904 -4.6723175 -10.435904 -10.435905z" fill-rule="nonzero"></path><path fill="#000000" d="m40.071632 57.273712q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.266342 4.921875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm12.665802 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm10.516342 1.328125l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.859375 3.609375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm10.926071 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.2500076 1.34375 1.2500076 3.796875q0 0.140625 -0.015625 0.4375l-7.3437576 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875z" fill-rule="nonzero"></path><path fill="#fff2cc" d="m116.25197 33.34929l0 0c0 -5.76359 4.67231 -10.435904 10.435905 -10.435904l84.76598 0c2.7677765 0 5.42218 1.0994949 7.379303 3.0566063c1.9571075 1.9571114 3.0565948 4.6115246 3.0565948 7.3792973l0 41.742363c0 5.7635956 -4.6723022 10.435905 -10.435898 10.435905l-84.76598 0c-5.7635956 0 -10.435905 -4.67231 -10.435905 -10.435905z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m116.25197 33.34929l0 0c0 -5.76359 4.67231 -10.435904 10.435905 -10.435904l84.76598 0c2.7677765 0 5.42218 1.0994949 7.379303 3.0566063c1.9571075 1.9571114 3.0565948 4.6115246 3.0565948 7.3792973l0 41.742363c0 5.7635956 -4.6723022 10.435905 -10.435898 10.435905l-84.76598 0c-5.7635956 0 -10.435905 -4.67231 -10.435905 -10.435905z" fill-rule="nonzero"></path><path fill="#000000" d="m144.60849 50.952972l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.265625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875zm8.672592 0.1875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm15.672592 4.921875l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm8.641342 0q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm15.719467 1.3125l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375z" fill-rule="nonzero"></path><path fill="#000000" d="m132.87332 68.06235l0 -1.6875l5.125 0l0 1.6875l-5.125 0zm13.290802 2.859375q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.078842 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.813217 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.047592 4.9375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm4.097946 3.796875l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125zm8.734375 -6.734375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm10.015625 -8.75l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm3.4573212 -2.9375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375z" fill-rule="nonzero"></path><path fill="#fff2cc" d="m379.15222 41.07631l0 0c0 -5.4011917 4.37854 -9.779722 9.779724 -9.779722l92.37756 0c2.59375 0 5.0812683 1.0303631 6.9153137 2.8644161c1.8340454 1.834053 2.8644104 4.3215637 2.8644104 6.915306l0 39.11772c0 5.4011917 -4.37854 9.779724 -9.779724 9.779724l-92.37756 0c-5.401184 0 -9.779724 -4.3785324 -9.779724 -9.779724z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m379.15222 41.07631l0 0c0 -5.4011917 4.37854 -9.779722 9.779724 -9.779722l92.37756 0c2.59375 0 5.0812683 1.0303631 6.9153137 2.8644161c1.8340454 1.834053 2.8644104 4.3215637 2.8644104 6.915306l0 39.11772c0 5.4011917 -4.37854 9.779724 -9.779724 9.779724l-92.37756 0c-5.401184 0 -9.779724 -4.3785324 -9.779724 -9.779724z" fill-rule="nonzero"></path><path fill="#000000" d="m419.94208 67.55517l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm9.672577 4.921875l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.105194 -2.9375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm16.4375 1.71875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.078827 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0z" fill-rule="nonzero"></path><path fill="#fff2cc" d="m231.021 34.404408l0 0c0 -5.76359 4.6723175 -10.435904 10.435898 -10.435904l84.765976 0c2.7677917 0 5.4222107 1.099493 7.379303 3.0566063c1.9571228 1.9571114 3.05661 4.6115246 3.05661 7.3792973l0 41.742367c0 5.763588 -4.6723022 10.435905 -10.435913 10.435905l-84.765976 0c-5.7635803 0 -10.435898 -4.6723175 -10.435898 -10.435905z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m231.021 34.404408l0 0c0 -5.76359 4.6723175 -10.435904 10.435898 -10.435904l84.765976 0c2.7677917 0 5.4222107 1.099493 7.379303 3.0566063c1.9571228 1.9571114 3.05661 4.6115246 3.05661 7.3792973l0 41.742367c0 5.763588 -4.6723022 10.435905 -10.435913 10.435905l-84.765976 0c-5.7635803 0 -10.435898 -4.6723175 -10.435898 -10.435905z" fill-rule="nonzero"></path><path fill="#000000" d="m261.4524 47.586212l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.265625 -1.3125q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.281952 4.921875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm14.031982 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm8.277039 -1.671875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm8.000732 5.875l3.59375 -5.125l-3.328125 -4.734375l2.09375 0l1.515625 2.3125q0.421875 0.65625 0.671875 1.109375q0.421875 -0.609375 0.765625 -1.09375l1.65625 -2.328125l1.984375 0l-3.390625 4.640625l3.65625 5.21875l-2.046875 0l-2.03125 -3.0625l-0.53125 -0.828125l-2.59375 3.890625l-2.015625 0zm14.09375 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125z" fill-rule="nonzero"></path><path fill="#000000" d="m247.23538 76.97684l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625zm8.828827 4.875l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm10.629211 0l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm3.922577 0l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm17.087677 0l-1.546875 0l0 -13.59375l1.65625 0l0 4.84375q1.0625 -1.328125 2.703125 -1.328125q0.90625 0 1.71875 0.375q0.8125 0.359375 1.328125 1.03125q0.53125 0.65625 0.828125 1.59375q0.296875 0.9375 0.296875 2.0q0 2.53125 -1.25 3.921875q-1.25 1.375 -3.0 1.375q-1.75 0 -2.734375 -1.453125l0 1.234375zm-0.015625 -5.0q0 1.765625 0.46875 2.5625q0.796875 1.28125 2.140625 1.28125q1.09375 0 1.890625 -0.9375q0.796875 -0.953125 0.796875 -2.84375q0 -1.921875 -0.765625 -2.84375q-0.765625 -0.921875 -1.84375 -0.921875q-1.09375 0 -1.890625 0.953125q-0.796875 0.953125 -0.796875 2.75zm8.860107 -6.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm4.129181 0l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm10.078857 0.8125l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.265625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875z" fill-rule="nonzero"></path><path fill="#fff2cc" d="m572.5958 178.58812l0 0c0 -5.4243774 4.397339 -9.821716 9.821716 -9.821716l39.285645 0l0 0c2.6049194 0 5.1030884 1.03479 6.9450073 2.876709c1.84198 1.8419342 2.87677 4.3401337 2.87677 6.9450073l0 42.970734c0 5.4243927 -4.397339 9.821732 -9.821777 9.821732l-39.285645 0l0 0c-5.4243774 0 -9.821716 -4.397339 -9.821716 -9.821732z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m572.5958 178.58812l0 0c0 -5.4243774 4.397339 -9.821716 9.821716 -9.821716l39.285645 0l0 0c2.6049194 0 5.1030884 1.03479 6.9450073 2.876709c1.84198 1.8419342 2.87677 4.3401337 2.87677 6.9450073l0 42.970734c0 5.4243927 -4.397339 9.821732 -9.821777 9.821732l-39.285645 0l0 0c-5.4243774 0 -9.821716 -4.397339 -9.821716 -9.821732z" fill-rule="nonzero"></path><path fill="#000000" d="m599.68463 203.82161l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm8.813232 6.6875l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.265625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875z" fill-rule="nonzero"></path></g></svg>
-
diff --git a/content/2014/taste.slide b/content/2014/taste.slide
deleted file mode 100644
index dbdf2b8..0000000
--- a/content/2014/taste.slide
+++ /dev/null
@@ -1,480 +0,0 @@
-A Taste of Go
-August 14, 2014
-
-Robert Griesemer
-Google
-gri@golang.org
-
-
-* The Go programming language
-
-- Modern
-# OO support but not type-oriented
-# strong support for concurrency
-- Compact, concise, general-purpose
-- Imperative, statically type-checked, dynamically type-safe
-- Garbage-collected
-- Compiles to native code, statically linked
-- Fast compilation, efficient execution
-
-Designed by programmers for programmers!
-
-
-* Hello, World!
-
-.play taste/hello.go
-
-# Unicode
-# Programs are organized in packages
-# A package is a set of package files
-# A package file expresses its dependencies on other packages via import declarations
-# The remainder of a package file is a list of (constant, variable, type, and function) declarations
-
-
-* Hello, World! Internet-style
-
-.play taste/hellohttp.go
-
-
-* Program elements
-
-* Constants
-
-- Maintained precisely:
-	const e = 2.71828182845904523536028747135266249775724709369995957496696763
-	const third = 1.0/3
-- Typed or without type:
-	const M64 int64 = 1<<20
-        const M = 1<<20
-- Evaluated at compile-time:
-	const big = 1<<100 / 1e30  // valid constant expression
-
-Compiler complains if a constant doesn't fit where it is _used_.
-
-
-* Variables
-
-- Statically typed:
-	var x int
-	var s, t string
-- Implicitly or explicitly initialized:
-	var x int
-	var s, t string = "foo", "bar"  // multiple assignment
-
-	var x = 42                      // int
-	var s, b = "foo", true          // string, bool
-- Short variable declaration (inside functions only):
-	x := 42
-	s, b := "foo", true
-- Can safely take address of _any_ variable!
-	return &x
-# compiler will do the right thing
-
-
-* Types
-
-- Predeclared types, the usual suspects:
-	uint8 (byte), uint16, uint32, uint32, uint64,
-	int8, int16, int32, int32 (rune), int64,
-	float32, float64,
-	complex64, complex128,
-	uint, int, uintptr,
-	bool, string,
-	error  // not so usual
-
-- Composite types:
-	array, struct, pointer, function,
-	slice, map, channel
-
-- Abstract type:
-	interface
-
-
-* Type declarations
-
-- Composition from left-to-right (Pascal style):
-	[10]byte  // array of 10 bytes
-
-	struct {
-		name        string
-		left, right *Node
-		action      func(*Node)
-	}
-
-	func(a, b, c int)
-	func(http.ResponseWriter, *http.Request) error
-
-- A type declaration defines a _new_ type:
-	type Weekday int
-
-	type Point struct {
-		x, y int
-	}
-
-
-* Slices
-
-	[]T  // slice of T
-
-- Descriptor for an underlying array segment
-- May grow and shrink
-- Has length and capacity
-- Assigning a slice copies the descriptor, not the underlying array
-
-Common slice operations:
-
-	len(s)
-	s[i]
-	s[i:j]
-	append(s, x)  // append element x to slice s and return new slice
-
-- Slices play the role of dynamically sized arrays
-- Widely used in Go code
-
-
-* Maps
-
-	map[K]V  // map K -> V
-
-- Map is a language-supplied hash table
-- Maps values of key type K to values of type V
-- Assigning a map copies the map reference, not the map contents
-
-Common map operations:
-
-	make(map[K]V)
-	len(m)
-	m[k]
-	delete(m, k)
-
-- Map iteration order is not specified:
-
-	for key, value := range m {
-		// order of key sequence different each time
-	}
-
-* Statements
-
-- Curly braces (C style)
-- Multiple assignments and some other new constructs
-- Many cleanups: mandatory braces, no parentheses for conditionals, implicit break in switches, no semicolons, etc.
-	a, b = b, a                 // swap
-	f, err = os.Open(filename)
-
-	if x < y {
-		return x
-	} else {
-		return y
-	}
-
-	switch day {
-	case Mon:
-		...
-		// break is implicit
-	case Tue, Wed:
-		...
-	}
-
-
-* A few words on syntax
-
-_Syntax_doesn't_matter_unless_you_are_a_programmer._
--- Rob Pike
-
-Corollary:
-
-_Compactness_of_syntax_doesn't_matter_unless_you_are_reading_programs._
-
-Compact is not the same as terse. Readability is crucial.
-
-
-* An example: IndexOfAny in Java
-
-	public static int IndexOfAny(String str, char[] chars) {
-		if (isEmpty(str) || ArrayUtils.isEmpty(chars)) {
-			return -1;
-		}
-		for (int i = 0; i < str.length(); i++) {
-			char ch = str.charAt(i);
-			for (int j = 0; j < chars.length; j++) {
-				if (chars[j] == ch) {
-					return i;
-				}
-			}
-		}
-		return -1;
-	}
-
-299 chars (100%), 101 tokens (100%)
-
-
-* IndexOfAny in Go
-
-.code taste/examples.go /IndexOfAny START/,/IndexOfAny END/
-
-217 chars (73%), 62 tokens (61%)
-
-Almost 30% less text and a surprising 40% fewer tokens to read!
-
-_Less_clutter_means_reduced_cognitive_load._
-
-# minimum improvement
-# typical Go programs tend to require much less than 70% of the code size of equivalent programs in other languages
-
-
-* Functions
-
-- Regular functions
-	func Sin(x float64) float64
-	func AddScale(x, y int, f float64) int
-
-- Multiple return values
-	func Write(data []byte) (written int, err error)
-
-- Variadic parameter lists without magic
-	func Printf(format string, args ...interface{})
-
-- Functions are first-class values
-	var delta int
-	return func(x int) int { return x + delta }
-
-
-* Function values: An example
-
-	// walkStdLib calls f with the filename of each .go
-	// file in the std library until f return false.
-	func walkStdLib(f func(filename string) bool)
-
-Calling walkStdLib with a closure:
-
-.code taste/walk.go /example START/,/example END/
-
-More directly:
-
-.play taste/walk.go /main START/,/main END/
-
-
-* Methods
-
-Methods are functions with a _receiver_ parameter:
-
-.code taste/point.go /String START/,/String END/
-
-The receiver binds the method to its _base_type_ (Point):
-
-.code taste/point.go /Point START/,/Point END/
-
-Methods are invoked via the usual dot notation:
-
-.play taste/point.go /main START/,/main END/
-
-
-* Methods can be defined for any user-defined type!
-
-For the Weekday type:
-
-.code taste/weekday.go /type START/,/type END/
-
-Define String method on Weekday:
-
-.code taste/weekday.go /String START/,/String END/
-
-.play taste/weekday.go /main START/,/main END/
-
-Method calls via non-interface types are statically dispatched.
-
-* Interface types
-
-- Abstract
-- Define (possibly empty) set of method signatures
-- Values of _any_type_ that implement all methods of an interface can be assigned to a variable of that interface.
-
-Examples:
-
-	interface{}  // empty interface
-
-	interface {
-		String() string
-	}
-
-	interface {
-		Len() int
-		Swap(i, j int)
-		Less(i, j int) bool
-	}
-
-
-* Using interfaces
-
-.code taste/stringer.go /Stringer START/,/Stringer END/
-
-Both Weekday and Point define a String method, so values of both can be assigned to
-a variable of Stringer type:
-
-.play taste/stringer.go /main START/,/main END/
-
-Method calls via interface types are dynamically dispatched ("virtual function call").
-
-
-* A larger example
-
-
-* Top 10 identifiers in std library
-
-.code taste/idents.go
-
-	$ cat $(find $GOROOT -name '*.go') | ./idents | sort | uniq -c | sort -nr | sed 10q
-
-
-* A variation: Histogram of Go statements
-
-A histogram is a map from statement name ("if", "for", etc.) to use count:
-
-.code taste/histo0.go /histogram START/,/histogram END/
-
-Algorithm:
-
-- Use walkStdLib to traverse all files of the std library
-- For each file, parse and create abstract syntax tree
-- Traverse syntax tree and add each statement to histogram
-- Print the result
-
-.code taste/histo0.go /main START/,/main END/
-
-
-* Processing a Go source file
-
-.code taste/histo0.go /add START/,/add END/
-
-
-* Printing the histogram
-
-.play taste/histo0.go /print START/,/print END/
-
-Note: Histogram (map) iteration order is not specified.
-
-* Sorting
-
-sort.Sort operates on any type that implements the sort.Interface:
-
-	interface {
-		Len() int
-		Swap(i, j int)
-		Less(i, j int) bool
-	}
-
-For instance, to sort a slice of strings lexically, define:
-
-.code taste/sort.go /lexical START/,/lexical END/
-
-And sort:
-
-	sort.Sort(lexical(s))  // where s is a []string slice
-
-
-* Sorting histogram entries
-
-.code taste/histo.go /byCount START/,/byCount END/
-
-
-* Improved histogram printing
-
-.play taste/histo.go /print START/,/print END/
-
-
-* Concurrency
-
-* Goroutines
-
-- The _go_ statement launches a function call as a goroutine
-	go f()
-	go f(x, y, ...)
-
-- A goroutine runs concurrently (but not necessarily in parallel)
-- A goroutine has its own stack
-
-
-* A simple example
-
-.code taste/concurrency1.go /f START/,/f END/
-
-Function f is launched as 3 different goroutines, all running concurrently:
-
-.play taste/concurrency1.go /main START/,/main END/
-
-
-* Communication via channels
-
-A channel type specifies a channel value type (and possibly a communication direction):
-
-	chan int
-	chan<- string  // send-only channel
-	<-chan T       // receive-only channel
-
-A channel is a variable of channel type:
-
-	var ch chan int
-	ch := make(chan int)  // declare and initialize with newly made channel
-
-A channel permits _sending_ and _receiving_ values:
-
-	ch <- 1   // send value 1 on channel ch
-	x = <-ch  // receive a value from channel ch (and assign to x)
-
-Channel operations synchronize the communicating goroutines.
-
-* Communicating goroutines
-
-Each goroutine sends its results via channel ch:
-
-.code taste/concurrency2.go /f START/,/f END/
-
-The main goroutine receives (and prints) all results from the same channel:
-
-.play taste/concurrency2.go /main START/,/main END/
-
-
-* Putting it all together
-
-
-* Analyze files concurrently, map-reduce style
-
-Mapper:
-
-.code taste/histop.go /mapper START/,/mapper END/
-
-Reducer:
-
-.code taste/histop.go /reducer START/,/reducer END/
-
-.code taste/histop.go /merge START/,/merge END/
-
-
-* From sequential program...
-
-.play taste/histo.go /main START/,/main END/
-
-
-* ... to concurrent program
-
-.play taste/histop.go /main START/,/main END/
-
-
-* There's a lot more!
-
-- Extensive standard library
-
-.link http://golang.org/pkg/
-
-- Powerful tools
-
-.link http://play.golang.org/p/Au02fFpYdf
-# playground, gofmt
-
-- Multi-platform support
-
-.link http://build.golang.org/
-
-- Great documentation
-
-.link http://tour.golang.org/#1
diff --git a/content/2014/taste/concurrency1.go b/content/2014/taste/concurrency1.go
deleted file mode 100644
index f0c456f..0000000
--- a/content/2014/taste/concurrency1.go
+++ /dev/null
@@ -1,28 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// f START OMIT
-func f(msg string, delay time.Duration) {
-	for {
-		fmt.Println(msg)
-		time.Sleep(delay)
-	}
-}
-
-// f END OMIT
-
-// main START OMIT
-func main() {
-	go f("A--", 300*time.Millisecond)
-	go f("-B-", 500*time.Millisecond)
-	go f("--C", 1100*time.Millisecond)
-	time.Sleep(20 * time.Second)
-}
-
-// main END OMIT
diff --git a/content/2014/taste/concurrency2.go b/content/2014/taste/concurrency2.go
deleted file mode 100644
index cc496c1..0000000
--- a/content/2014/taste/concurrency2.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// f START OMIT
-func f(msg string, delay time.Duration, ch chan string) {
-	for {
-		ch <- msg
-		time.Sleep(delay)
-	}
-}
-
-// f END OMIT
-
-// main START OMIT
-func main() {
-	ch := make(chan string)
-	go f("A--", 300*time.Millisecond, ch)
-	go f("-B-", 500*time.Millisecond, ch)
-	go f("--C", 1100*time.Millisecond, ch)
-
-	for i := 0; i < 100; i++ {
-		fmt.Println(i, <-ch)
-	}
-}
-
-// main END OMIT
diff --git a/content/2014/taste/examples.go b/content/2014/taste/examples.go
deleted file mode 100644
index e353e4c..0000000
--- a/content/2014/taste/examples.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package examples
-
-// IndexOfAny START OMIT
-func IndexOfAny(str string, chars []rune) int {
-	if len(str) == 0 || len(chars) == 0 {
-		return -1
-	}
-	for i, ch := range str {
-		for _, match := range chars {
-			if ch == match {
-				return i
-			}
-		}
-	}
-	return -1
-}
-
-// IndexOfAny END OMIT
diff --git a/content/2014/taste/hello.go b/content/2014/taste/hello.go
deleted file mode 100644
index c84b1d7..0000000
--- a/content/2014/taste/hello.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Println("Hello, 世界!")
-}
diff --git a/content/2014/taste/hellohttp.go b/content/2014/taste/hellohttp.go
deleted file mode 100644
index eba1bfd..0000000
--- a/content/2014/taste/hellohttp.go
+++ /dev/null
@@ -1,18 +0,0 @@
-package main
-
-import (
-	"fmt"
-	"log"
-	"net/http"
-)
-
-func HelloServer(w http.ResponseWriter, req *http.Request) {
-	log.Println(req.URL)
-	fmt.Fprintf(w, "Hello, 世界!\nURL = %s\n", req.URL)
-}
-
-func main() {
-	fmt.Println("please connect to localhost:7777/hello")
-	http.HandleFunc("/hello", HelloServer)
-	log.Fatal(http.ListenAndServe(":7777", nil))
-}
diff --git a/content/2014/taste/histo.go b/content/2014/taste/histo.go
deleted file mode 100644
index acf6a4c..0000000
--- a/content/2014/taste/histo.go
+++ /dev/null
@@ -1,113 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"go/ast"
-	"go/parser"
-	"go/token"
-	"io/ioutil"
-	"path/filepath"
-	"runtime"
-	"sort"
-	"strings"
-	"time"
-)
-
-func walk(dir string, f func(string) bool) bool {
-	fis, err := ioutil.ReadDir(dir)
-	if err != nil {
-		panic(err)
-	}
-	// parse all *.go files in directory;
-	// traverse subdirectories, but don't walk into testdata
-	for _, fi := range fis {
-		path := filepath.Join(dir, fi.Name())
-		if fi.IsDir() {
-			if fi.Name() != "testdata" {
-				if !walk(path, f) {
-					return false
-				}
-			}
-		} else if strings.HasSuffix(fi.Name(), ".go") && !strings.HasPrefix(fi.Name(), ".") {
-			if !f(path) {
-				return false
-			}
-		}
-	}
-	return true
-}
-
-func walkStdLib(f func(filename string) bool) {
-	walk(filepath.Join(runtime.GOROOT(), "src"), f)
-}
-
-type histogram map[string]int
-
-func (h histogram) add(filename string) {
-	f, err := parser.ParseFile(token.NewFileSet(), filename, nil, 0)
-	if err != nil {
-		panic(err)
-	}
-
-	ast.Inspect(f, func(n ast.Node) bool {
-		if n, ok := n.(ast.Stmt); ok {
-			h[fmt.Sprintf("%T", n)]++
-		}
-		return true
-	})
-}
-
-// print START OMIT
-func (h histogram) print() {
-	var list []entry
-	var total int
-	for key, count := range h {
-		list = append(list, entry{key, count})
-		total += count
-	}
-	sort.Sort(byCount(list))
-
-	percent := 100 / float64(total)
-	for i, e := range list {
-		fmt.Printf("%4d.  %5.2f%%  %5d  %s\n", i, float64(e.count)*percent, e.count, e.key)
-	}
-}
-
-// print END OMIT
-
-// byCount START OMIT
-type entry struct {
-	key   string
-	count int
-}
-
-type byCount []entry
-
-func (s byCount) Len() int      { return len(s) }
-func (s byCount) Swap(i, j int) { s[i], s[j] = s[j], s[i] }
-func (s byCount) Less(i, j int) bool {
-	x, y := s[i], s[j]
-	if x.count != y.count {
-		return x.count > y.count // want larger count first
-	}
-	return x.key < y.key
-}
-
-// byCount END OMIT
-
-// main START OMIT
-func main() {
-	start := time.Now()
-	h := make(histogram)
-	walkStdLib(func(filename string) bool {
-		h.add(filename)
-		return true
-	})
-
-	h.print()
-	fmt.Println(time.Since(start))
-}
-
-// main END OMIT
diff --git a/content/2014/taste/histo0.go b/content/2014/taste/histo0.go
deleted file mode 100644
index 2c321ed..0000000
--- a/content/2014/taste/histo0.go
+++ /dev/null
@@ -1,97 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"go/ast"
-	"go/parser"
-	"go/token"
-	"io/ioutil"
-	"path/filepath"
-	"runtime"
-	"strings"
-)
-
-func walk(dir string, f func(string) bool) bool {
-	fis, err := ioutil.ReadDir(dir)
-	if err != nil {
-		panic(err)
-	}
-	// parse all *.go files in directory;
-	// traverse subdirectories, but don't walk into testdata
-	for _, fi := range fis {
-		path := filepath.Join(dir, fi.Name())
-		if fi.IsDir() {
-			if fi.Name() != "testdata" {
-				if !walk(path, f) {
-					return false
-				}
-			}
-		} else if strings.HasSuffix(fi.Name(), ".go") && !strings.HasPrefix(fi.Name(), ".") {
-			if !f(path) {
-				return false
-			}
-		}
-	}
-	return true
-}
-
-func walkStdLib(f func(filename string) bool) {
-	walk(filepath.Join(runtime.GOROOT(), "src"), f)
-}
-
-// histogram START OMIT
-type histogram map[string]int
-
-// histogram END OMIT
-
-// add START OMIT
-func (h histogram) add(filename string) {
-	f, err := parser.ParseFile(token.NewFileSet(), filename, nil, 0)
-	if err != nil {
-		panic(err)
-	}
-
-	ast.Inspect(f, func(n ast.Node) bool {
-		if n, ok := n.(ast.Stmt); ok { // type test: is n an ast.Stmt?
-			h[fmt.Sprintf("%T", n)]++
-		}
-		return true
-	})
-}
-
-// add END OMIT
-
-// print START OMIT
-func (h histogram) print() {
-	// determine total number of statements
-	total := 0
-	for _, count := range h {
-		total += count
-	}
-
-	// print map entries
-	i := 0
-	percent := 100 / float64(total)
-	for key, count := range h {
-		fmt.Printf("%4d.  %5.2f%%  %5d  %s\n", i, float64(count)*percent, count, key)
-		i++
-	}
-}
-
-// print END OMIT
-
-// main START OMIT
-func main() {
-	// body START OMIT
-	h := make(histogram)
-	walkStdLib(func(filename string) bool {
-		h.add(filename) // does all the hard work
-		return true
-	})
-	// body END OMIT
-	h.print()
-}
-
-// main END OMIT
diff --git a/content/2014/taste/histop.go b/content/2014/taste/histop.go
deleted file mode 100644
index 6f59e1e..0000000
--- a/content/2014/taste/histop.go
+++ /dev/null
@@ -1,138 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"go/ast"
-	"go/parser"
-	"go/token"
-	"io/ioutil"
-	"path/filepath"
-	"runtime"
-	"sort"
-	"strings"
-	"time"
-)
-
-func walk(dir string, f func(string) bool) bool {
-	fis, err := ioutil.ReadDir(dir)
-	if err != nil {
-		panic(err)
-	}
-	// parse all *.go files in directory;
-	// traverse subdirectories, but don't walk into testdata
-	for _, fi := range fis {
-		path := filepath.Join(dir, fi.Name())
-		if fi.IsDir() {
-			if fi.Name() != "testdata" {
-				if !walk(path, f) {
-					return false
-				}
-			}
-		} else if strings.HasSuffix(fi.Name(), ".go") && !strings.HasPrefix(fi.Name(), ".") {
-			if !f(path) {
-				return false
-			}
-		}
-	}
-	return true
-}
-
-func walkStdLib(f func(filename string) bool) {
-	walk(filepath.Join(runtime.GOROOT(), "src"), f)
-}
-
-type histogram map[string]int
-
-func (h histogram) add(filename string) {
-	f, err := parser.ParseFile(token.NewFileSet(), filename, nil, 0)
-	if err != nil {
-		panic(err)
-	}
-
-	ast.Inspect(f, func(n ast.Node) bool {
-		if n, ok := n.(ast.Stmt); ok {
-			h[fmt.Sprintf("%T", n)]++
-		}
-		return true
-	})
-}
-
-// merge START OMIT
-func (h histogram) merge(h1 histogram) {
-	for key, count := range h1 {
-		h[key] = h[key] + count
-	}
-}
-
-// merge END OMIT
-
-type entry struct {
-	key   string
-	count int
-}
-
-func (h histogram) print() {
-	var list []entry
-	var total int
-	for key, count := range h {
-		list = append(list, entry{key, count})
-		total += count
-	}
-	sort.Sort(byCount(list))
-
-	percent := 100 / float64(total)
-	for i, e := range list {
-		fmt.Printf("%4d.  %5.2f%%  %5d  %s\n", i, float64(e.count)*percent, e.count, e.key)
-	}
-}
-
-type byCount []entry
-
-func (s byCount) Len() int      { return len(s) }
-func (s byCount) Swap(i, j int) { s[i], s[j] = s[j], s[i] }
-func (s byCount) Less(i, j int) bool {
-	x, y := s[i], s[j]
-	if x.count != y.count {
-		return x.count > y.count // want larger count first
-	}
-	return x.key < y.key
-}
-
-func init() {
-	n := runtime.NumCPU()
-	//fmt.Println(n, "cores")
-	runtime.GOMAXPROCS(n)
-}
-
-// main START OMIT
-func main() {
-	start := time.Now()
-	ch := make(chan histogram)
-	count := 0 // goroutine count
-	walkStdLib(func(filename string) bool {
-		count++
-		// mapper START OMIT
-		go func() {
-			h := make(histogram)
-			h.add(filename)
-			ch <- h
-		}()
-		// mapper END OMIT
-		return true
-	})
-
-	// reducer START OMIT
-	h := make(histogram)
-	for count > 0 {
-		h.merge(<-ch)
-		count--
-	}
-	// reducer END OMIT
-
-	h.print()
-	fmt.Println(time.Since(start))
-}
-
-// main END OMIT
diff --git a/content/2014/taste/idents.go b/content/2014/taste/idents.go
deleted file mode 100644
index 767b6d5..0000000
--- a/content/2014/taste/idents.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// +build ignore,OMIT
-
-package main // idents.go
-
-import (
-	"fmt"
-	"os"
-	"text/scanner"
-)
-
-func main() {
-	var s scanner.Scanner
-	s.Init(os.Stdin)
-	for {
-		switch s.Scan() {
-		case scanner.EOF:
-			return // all done
-		case scanner.Ident:
-			fmt.Println(s.TokenText())
-		}
-	}
-}
diff --git a/content/2014/taste/point.go b/content/2014/taste/point.go
deleted file mode 100644
index 248730d..0000000
--- a/content/2014/taste/point.go
+++ /dev/null
@@ -1,28 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-// Point START OMIT
-type Point struct {
-	x, y int
-}
-
-// Point END OMIT
-
-// String START OMIT
-func (p Point) String() string {
-	return fmt.Sprintf("(%d, %d)", p.x, p.y)
-}
-
-// String END OMIT
-
-// main START OMIT
-func main() {
-	p := Point{2, 3}
-	fmt.Println(p.String())
-	fmt.Println(Point{3, 5}.String())
-}
-
-// main END OMIT
diff --git a/content/2014/taste/sort.go b/content/2014/taste/sort.go
deleted file mode 100644
index 19daa8e..0000000
--- a/content/2014/taste/sort.go
+++ /dev/null
@@ -1,48 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"sort"
-)
-
-type Weekday int
-
-const (
-	Mon Weekday = iota
-	Tue
-	Wed
-	Thu
-	Fri
-	Sat
-	Sun
-)
-
-var names = [...]string{"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}
-
-func (d Weekday) String() string { // ...
-	return names[d]
-}
-
-// lexical START OMIT
-type lexical []string
-
-func (a lexical) Len() int           { return len(a) }
-func (a lexical) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
-func (a lexical) Less(i, j int) bool { return a[i] < a[j] }
-
-// lexical END OMIT
-
-func main() {
-	var list []string
-	for d := Mon; d <= Sun; d++ {
-		list = append(list, d.String())
-	}
-
-	sort.Sort(lexical(list))
-
-	for i, x := range list {
-		fmt.Println(i, x)
-	}
-}
diff --git a/content/2014/taste/stringer.go b/content/2014/taste/stringer.go
deleted file mode 100644
index 40a8670..0000000
--- a/content/2014/taste/stringer.go
+++ /dev/null
@@ -1,53 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-type Point struct {
-	x, y int
-}
-
-func (p Point) String() string {
-	return fmt.Sprintf("(%d, %d)", p.x, p.y)
-}
-
-type Weekday int
-
-const (
-	Mon Weekday = iota
-	Tue
-	Wed
-	Thu
-	Fri
-	Sat
-	Sun
-)
-
-var names = [...]string{"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}
-
-func (d Weekday) String() string { // ...
-	return names[d]
-}
-
-// Stringer START OMIT
-type Stringer interface {
-	String() string
-}
-
-// Stringer END OMIT
-
-// main START OMIT
-func main() {
-	var x Stringer
-	x = Point{2, 3}
-	fmt.Println("A", x.String())
-
-	x = Tue
-	fmt.Println("B", x.String())
-
-	fmt.Println("C", Point{2, 3}) // fmt.Println knows about Stringer!
-	fmt.Println("D", Tue)
-}
-
-// main END OMIT
diff --git a/content/2014/taste/walk.go b/content/2014/taste/walk.go
deleted file mode 100644
index 2998af1..0000000
--- a/content/2014/taste/walk.go
+++ /dev/null
@@ -1,62 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"io/ioutil"
-	"path/filepath"
-	"runtime"
-	"strings"
-)
-
-func walk(dir string, f func(string) bool) bool {
-	fis, err := ioutil.ReadDir(dir)
-	if err != nil {
-		panic(err)
-	}
-	// parse all *.go files in directory;
-	// traverse subdirectories, but don't walk into testdata
-	for _, fi := range fis {
-		path := filepath.Join(dir, fi.Name())
-		if fi.IsDir() {
-			if fi.Name() != "testdata" {
-				if !walk(path, f) {
-					return false
-				}
-			}
-		} else if strings.HasSuffix(fi.Name(), ".go") && !strings.HasPrefix(fi.Name(), ".") {
-			if !f(path) {
-				return false
-			}
-		}
-	}
-	return true
-}
-
-func walkStdLib(f func(filename string) bool) {
-	walk(filepath.Join(runtime.GOROOT(), "src"), f)
-}
-
-func _() {
-	// example START OMIT
-	n := 0
-	println := func(s string) bool {
-		fmt.Println(n, s)
-		n++
-		return n < 10
-	}
-	walkStdLib(println)
-	// example END OMIT
-}
-
-func main() {
-	// main START OMIT
-	n := 0
-	walkStdLib(func(s string) bool {
-		fmt.Println(n, s)
-		n++
-		return n < 10
-	})
-	// main END OMIT
-}
diff --git a/content/2014/taste/weekday.go b/content/2014/taste/weekday.go
deleted file mode 100644
index d2c3984..0000000
--- a/content/2014/taste/weekday.go
+++ /dev/null
@@ -1,40 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-// type START OMIT
-type Weekday int
-
-// type END OMIT
-
-const (
-	Mon Weekday = iota
-	Tue
-	Wed
-	Thu
-	Fri
-	Sat
-	Sun
-)
-
-var names = [...]string{"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}
-
-// String START OMIT
-func (d Weekday) String() string { // ...
-	// String END OMIT
-	return names[d]
-}
-
-// main START OMIT
-func main() {
-	fmt.Println(Mon.String())
-	fmt.Println()
-
-	for d := Mon; d <= Sun; d++ {
-		fmt.Println(d.String())
-	}
-}
-
-// main END OMIT
diff --git a/content/2014/testing.slide b/content/2014/testing.slide
deleted file mode 100644
index 1f290cf..0000000
--- a/content/2014/testing.slide
+++ /dev/null
@@ -1,259 +0,0 @@
-Testing Techniques
-Google I/O 2014
-
-Andrew Gerrand
-adg@golang.org
-
-* Video
-
-This talk was presented at golang-syd in July 2014.
-
-.link http://www.youtube.com/watch?v=ndmB0bj7eyw Watch the talk on YouTube
-
-
-* The basics
-
-* Testing Go code
-
-Go has a built-in testing framework.
-
-It is provided by the `testing` package and the `go` `test` command.
-
-Here is a complete test file that tests the `strings.Index` function:
-
-.code testing/test1/string_test.go
-
-
-* Table-driven tests
-
-Go's struct literal syntax makes it easy to write table-driven tests:
-
-.code testing/test2/string_test.go /func TestIndex/,/^}/
-
-
-* T
-
-The `*testing.T` argument is used for error reporting:
-
-	t.Errorf("got bar = %v, want %v", got, want)
-	t.Fatalf("Frobnicate(%v) returned error: %v", arg, err)
-	t.Logf("iteration %v", i)
-
-And enabling parallel tests:
-
-	t.Parallel()
-
-And controlling whether a test runs at all:
-
-	if runtime.GOARCH == "arm" {
-		t.Skip("this doesn't work on ARM")
-	}
-
-
-* Running tests
-
-The `go` `test` command runs tests for the specified package.
-(It defaults to the package in the current directory.)
-
-	$ go test
-	PASS
-
-	$ go test -v
-	=== RUN TestIndex
-	--- PASS: TestIndex (0.00 seconds)
-	PASS
-
-To run the tests for all my projects:
-
-	$ go test github.com/nf/...
-
-Or for the standard library:
-
-	$ go test std
-
-
-* Test coverage
-
-The `go` tool can report test coverage statistics.
-
-	$ go test -cover
-	PASS
-	coverage: 96.4% of statements
-	ok  	strings	0.692s
-
-The `go` tool can generate coverage profiles that may be intepreted by the `cover` tool.
-
-	$ go test -coverprofile=cover.out
-	$ go tool cover -func=cover.out
-	strings/reader.go:    Len             66.7%
-	strings/strings.go:   TrimSuffix     100.0%
-	... many lines omitted ...
-	strings/strings.go:   Replace        100.0%
-	strings/strings.go:   EqualFold      100.0%
-	total:                (statements)    96.4%
-
-* Coverage visualization
-
-	$ go tool cover -html=cover.out
-
-.image testing/cover.png
-
-
-* Advanced techniques
-
-* An example program
-
-*outyet* is a web server that announces whether or not a particular Go version has been tagged.
-
-	go get github.com/golang/example/outyet
-
-.image testing/go1.1.png
-
-
-* Testing HTTP clients and servers
-
-The `net/http/httptest` package provides helpers for testing code that makes or serves HTTP requests.
-
-
-* httptest.Server
-
-An `httptest.Server` listens on a system-chosen port on the local loopback interface, for use in end-to-end HTTP tests.
-
-	type Server struct {
-		URL      string // base URL of form http://ipaddr:port with no trailing slash
-		Listener net.Listener
-
-		// TLS is the optional TLS configuration, populated with a new config
-		// after TLS is started. If set on an unstarted server before StartTLS
-		// is called, existing fields are copied into the new config.
-		TLS *tls.Config
-
-		// Config may be changed after calling NewUnstartedServer and
-		// before Start or StartTLS.
-		Config *http.Server
-	}
-
-	func NewServer(handler http.Handler) *Server
-
-	func (*Server) Close() error
-
-* httptest.Server in action
-
-This code sets up a temporary HTTP server that serves a simple "Hello" response.
-
-.play testing/httpserver.go /START/,/STOP/
-
-
-* httptest.ResponseRecorder
-
-`httptest.ResponseRecorder` is an implementation of `http.ResponseWriter` that records its mutations for later inspection in tests.
-
-	type ResponseRecorder struct {
-		Code      int           // the HTTP response code from WriteHeader
-		HeaderMap http.Header   // the HTTP response headers
-		Body      *bytes.Buffer // if non-nil, the bytes.Buffer to append written data to
-		Flushed   bool
-	}
-
-* httptest.ResponseRecorder in action
-
-By passing a `ResponseRecorder` into an HTTP handler we can inspect the generated response.
-
-.play testing/httprecorder.go /START/,/STOP/
-
-
-* Race Detection
-
-A data race occurs when two goroutines access the same variable concurrently and at least one of the accesses is a write.
-
-To help diagnose such bugs, Go includes a built-in data race detector.
-
-Pass the `-race` flag to the go tool to enable the race detector:
-
-	$ go test -race mypkg    // to test the package
-	$ go run -race mysrc.go  // to run the source file
-	$ go build -race mycmd   // to build the command
-	$ go install -race mypkg // to install the package
-
-
-* Testing with concurrency
-
-When testing concurrent code, there's a temptation to use sleep;
-it's easy and works most of the time.
-
-But "most of the time" isn't always and flaky tests result.
-
-We can use Go's concurrency primitives to make flaky sleep-driven tests reliable.
-
-
-* Finding errors with static analysis: vet
-
-The `vet` tool checks code for common programmer mistakes:
-
-- bad printf formats,
-- bad build tags,
-- bad range loop variable use in closures,
-- useless assignments,
-- unreachable code,
-- bad use of mutexes,
-- and more.
-
-Usage:
-
-	go vet [package]
-
-
-* Testing from the inside
-
-Most tests are compiled as part of the package under test.
-
-This means they can access unexported details, as we have already seen.
-
-
-* Testing from the outside
-
-Occasionally you want to run your tests from outside the package under test.
-
-(Test files as `package` `foo_test` instead of `package` `foo`.)
-
-This can break dependency cycles. For example:
-
-- The `testing` package uses `fmt`.
-- The `fmt` tests must import `testing`.
-- So the `fmt` tests are in package `fmt_test` and can import both `testing` and `fmt`.
-
-
-* Mocks and fakes
-
-Go eschews mocks and fakes in favor of writing code that takes broad interfaces.
-
-For example, if you're writing a file format parser, don't write a function like this:
-
-	func Parse(f *os.File) error
-
-instead, write functions that take the interface you need:
-
-	func Parse(r io.Reader) error
-
-(An `*os.File` implements `io.Reader`, as does `bytes.Buffer` or `strings.Reader`.)
-
-
-* Subprocess tests
-
-Sometimes you need to test the behavior of a process, not just a function.
-
-.code testing/subprocess/subprocess.go /func Crasher/,/^}/
-
-To test this code, we invoke the test binary itself as a subprocess:
-
-.code testing/subprocess/subprocess_test.go /func TestCrasher/,/^}/
-
-
-* More information
-
-.link http://golang.org/pkg/testing/
-
-.link http://golang.org/cmd/go/
-
-.link http://golang.org
-
diff --git a/content/2014/testing/cover.png b/content/2014/testing/cover.png
deleted file mode 100644
index 57d5d67..0000000
--- a/content/2014/testing/cover.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/testing/go1.1.png b/content/2014/testing/go1.1.png
deleted file mode 100644
index beb3325..0000000
--- a/content/2014/testing/go1.1.png
+++ /dev/null
Binary files differ
diff --git a/content/2014/testing/httprecorder.go b/content/2014/testing/httprecorder.go
deleted file mode 100644
index 10dbd27..0000000
--- a/content/2014/testing/httprecorder.go
+++ /dev/null
@@ -1,28 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"log"
-	"net/http"
-	"net/http/httptest"
-)
-
-func main() {
-	// START OMIT
-	handler := func(w http.ResponseWriter, r *http.Request) {
-		http.Error(w, "something failed", http.StatusInternalServerError)
-	}
-
-	req, err := http.NewRequest("GET", "http://example.com/foo", nil)
-	if err != nil {
-		log.Fatal(err)
-	}
-
-	w := httptest.NewRecorder()
-	handler(w, req)
-
-	fmt.Printf("%d - %s", w.Code, w.Body.String())
-	// STOP OMIT
-}
diff --git a/content/2014/testing/httpserver.go b/content/2014/testing/httpserver.go
deleted file mode 100644
index a15aca3..0000000
--- a/content/2014/testing/httpserver.go
+++ /dev/null
@@ -1,33 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"io/ioutil"
-	"log"
-	"net/http"
-	"net/http/httptest"
-)
-
-func main() {
-	// START OMIT
-	ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
-		fmt.Fprintln(w, "Hello, client")
-	}))
-	defer ts.Close()
-
-	res, err := http.Get(ts.URL)
-	if err != nil {
-		log.Fatal(err)
-	}
-
-	greeting, err := ioutil.ReadAll(res.Body)
-	res.Body.Close()
-	if err != nil {
-		log.Fatal(err)
-	}
-
-	fmt.Printf("%s", greeting)
-	// STOP OMIT
-}
diff --git a/content/2014/testing/subprocess/subprocess.go b/content/2014/testing/subprocess/subprocess.go
deleted file mode 100644
index 8fb8fc0..0000000
--- a/content/2014/testing/subprocess/subprocess.go
+++ /dev/null
@@ -1,11 +0,0 @@
-package subprocess
-
-import (
-	"fmt"
-	"os"
-)
-
-func Crasher() {
-	fmt.Println("Going down in flames!")
-	os.Exit(1)
-}
diff --git a/content/2014/testing/subprocess/subprocess_test.go b/content/2014/testing/subprocess/subprocess_test.go
deleted file mode 100644
index 27b05d0..0000000
--- a/content/2014/testing/subprocess/subprocess_test.go
+++ /dev/null
@@ -1,21 +0,0 @@
-package subprocess
-
-import (
-	"os"
-	"os/exec"
-	"testing"
-)
-
-func TestCrasher(t *testing.T) {
-	if os.Getenv("BE_CRASHER") == "1" {
-		Crasher()
-		return
-	}
-	cmd := exec.Command(os.Args[0], "-test.run=TestCrasher")
-	cmd.Env = append(os.Environ(), "BE_CRASHER=1")
-	err := cmd.Run()
-	if e, ok := err.(*exec.ExitError); ok && !e.Success() {
-		return
-	}
-	t.Fatalf("process ran with err %v, want exit status 1", err)
-}
diff --git a/content/2014/testing/test1/string_test.go b/content/2014/testing/test1/string_test.go
deleted file mode 100644
index 6061882..0000000
--- a/content/2014/testing/test1/string_test.go
+++ /dev/null
@@ -1,14 +0,0 @@
-package strings_test
-
-import (
-	"strings"
-	"testing"
-)
-
-func TestIndex(t *testing.T) {
-	const s, sep, want = "chicken", "ken", 4
-	got := strings.Index(s, sep)
-	if got != want {
-		t.Errorf("Index(%q,%q) = %v; want %v", s, sep, got, want)
-	}
-}
diff --git a/content/2014/testing/test2/string_test.go b/content/2014/testing/test2/string_test.go
deleted file mode 100644
index 886597a..0000000
--- a/content/2014/testing/test2/string_test.go
+++ /dev/null
@@ -1,43 +0,0 @@
-package strings_test
-
-import (
-	"fmt"
-	"strings"
-	"testing"
-)
-
-func TestIndex(t *testing.T) {
-	var tests = []struct {
-		s   string
-		sep string
-		out int
-	}{
-		{"", "", 0},
-		{"", "a", -1},
-		{"fo", "foo", -1},
-		{"foo", "foo", 0},
-		{"oofofoofooo", "f", 2},
-		// etc
-	}
-	for _, test := range tests {
-		actual := strings.Index(test.s, test.sep)
-		if actual != test.out {
-			t.Errorf("Index(%q,%q) = %v; want %v", test.s, test.sep, actual, test.out)
-		}
-	}
-}
-
-func BenchmarkIndex(b *testing.B) {
-	const s = "some_text=some☺value"
-	for i := 0; i < b.N; i++ {
-		strings.Index(s, "v")
-	}
-}
-
-func ExampleIndex() {
-	fmt.Println(strings.Index("chicken", "ken"))
-	fmt.Println(strings.Index("chicken", "dmr"))
-	// Output:
-	// 4
-	// -1
-}
diff --git a/content/2015/dynamic-tools.slide b/content/2015/dynamic-tools.slide
deleted file mode 100644
index 8d39afd..0000000
--- a/content/2015/dynamic-tools.slide
+++ /dev/null
@@ -1,355 +0,0 @@
-Go Dynamic Tools
-Gophercon 2015, July 9, 2015
-
-Dmitry Vyukov
-Google
-dvyukov@
-
-
-* Video
-
-A video of this talk was recorded at GopherCon in Denver.
-
-.link https://www.youtube.com/watch?v=a9xrxRsIbSU Watch the talk on YouTube
-
-
-* About me
-
-Did a bunch of work on Go:
-
-- Scalable goroutine scheduler
-- Integrated network poller
-- Parallel GC, concurrent sweeping
-- Memory allocator speed/space improvements
-- Sync primitives
-- Race detector
-- Blocking profile
-- 800+ commits, filed 500+ bugs
-
-But actually on dynamic testing tools team:
-
-- Thread/Address/MemorySanitizer
-
-* Agenda
-
-- Data race detector
-- Go-fuzz, randomized testing system
-- Execution tracer
-
-* Data race detector
-
-.image dynamic-tools/philosoraptor.png
-
-
-* What is a data race?
-
-A data race occurs when two goroutines access the same variable concurrently and at least one of the accesses is a write.
-
-*All*bets*are*off*!*
-
-Any data race can destroy the memory/type-safety of a Go program.
-
-* There are no "benign" data races
-
-	// goroutine 1       // goroutine 2
-	m[k1] = v1           m[k2] = v2
-
-Bad!
-
-	// goroutine 1       // goroutine 2
-	stat++               stat++
-
-Also bad!
-
-Compilers assume race-free programs and do aggressive optimizations
-based on that assumption (e.g. assume "ownership" over written-to variables).
-
-Races are non-deterministic and hard to debug.
-
-* Usage
-
-	$ go test -race mypkg    // to test the package
-	$ go run -race mysrc.go  // to run the source file
-	$ go build -race mycmd   // to build the command
-	$ go install -race mypkg // to install the package
-
-That's it!
-
-* Example
-
-	package main
-
-	func main() {
-		m := make(map[int]int)
-		go func() {
-			m[1] = 1
-		}()
-		m[2] = 2
-	}
-
-* Example report
-
- WARNING: DATA RACE
- Write by goroutine 5:
-   runtime.mapassign1()
-       runtime/hashmap.go:411 +0x0
-   main.main.func1()
-       race.go:6 +0x60
-
- Previous write by main goroutine:
-   runtime.mapassign1()
-       runtime/hashmap.go:411 +0x0
-   main.main()
-       race.go:8 +0xb6
-
- Goroutine 5 (running) created at:
-   main.main()
-       race.go:7 +0x76
-
-* Achievements
-
-- 70+ bugs in std lib
-- 350+??? bugs in Google internal code base
-- ??? bugs found in the wild
-
-* Instrumentation
-
-Compiler instrumentation pass enabled by -race.
-
-	func foo(p *int) {
-		*p = 1
-	}
-
-Becomes:
-
-	func foo(p *int) {
-		runtime.funcenter(caller_pc)
-		runtime.racewrite(p)
-		*p = 1
-		runtime.funcexit()
-	}
-
-* Run-time module
-
-Handles:
-
-- memory accesses (to catch racy accesses)
-- synchronization (to not produce false reports)
-- function calls (to collect stack traces)
-- goroutine creation/exit (to keep track of live goroutines)
-
-Algorithm is based on dynamic modelling of happens-before relation:
-
-- no false positives
-- false negatives are possible
-
-* Usage tips
-
-Dynamic tools are only as good as your tests are.
-
-- write good *concurrent* tests
-- have continuous build with race detector
-- run integration tests
-- run race-enabled canaries in production
-
-* Go-fuzz
-
-.image dynamic-tools/go-fuzz.png
-
-* Randomized testing
-
-A different approach to testing that finds [lots of] bugs that other testing approaches do not. Intended mostly for programs that parse complex inputs.
-
-Generate random blob -> feed into program -> see if it crashes -> profit!
-
-- cheap to use
-- does not have any bias
-
-Completely random blobs won't uncover lots of bugs.
-
-How can we generate diverse but meaningful inputs that will trigger
-nil derefs, off-by-ones, etc?
-
-* Coverage-guided fuzzing
-
-Genetic algorithms to the rescue!
-
-	Instrument program for code coverage
-	Collect initial corpus of inputs
-	for {
-		Randomly mutate an input from the corpus
-		Execute and collect coverage
-		If the input gives new coverage, add it to corpus
-	}
-
-* Example
-
-The following code wants "ABCD" input:
-
-	if input[0] == 'A' {
-		if input[1] == 'B' {
-			if input[2] == 'C' {
-				if input[3] == 'D' {
-					panic("input must not be ABCD")
-				}
-			}
-		}
-	}
-
-Corpus progression:
-
-	""
-	"", "A"
-	"", "A", "AB"
-	"", "A", "AB", "ABC"
-	"", "A", "AB", "ABC", "ABCD"
-
-* Game over
-
-CRC32 checksum verification in `image/png/reader.go`
-
-	func (d *decoder) verifyChecksum() error {
-		if binary.BigEndian.Uint32(d.tmp[:4]) != d.crc.Sum32() {
-			return FormatError("invalid checksum")
-		}
-		return nil
-	}
-
-Probability that random mutations will alter input in an interesting way and
-guess CRC32 at the same time is basically ZERO.
-
-* Sonar
-
-Don't need to guess, program knows it!
-
-	+ v1 := binary.BigEndian.Uint32(d.tmp[:4])
-	+ v2 := d.crc.Sum32()
-	+ __go_fuzz.Sonar(v1, v2)
-	if v1 != v2 {
-		return FormatError("invalid checksum")
-	}
-
-Then, find v1 in the input and replace it with v2. Done!
-
-* Game over 2
-
-Mutations and sonar do low-level changes ("bit-flipping"):
-
-Original:
-
-	`<item name="foo"><prop name="price">100</prop></item>`
-
-Mutated:
-
-	`<item name="foo"><prop name="price">100</prop><<item>`
-
-Also want high-level changes!
-
-* Versifier
-
-Versifier reverse-engineers [text] protocol and learns its _structure_.
-
-	abc          -> alphanum token
-	123, 1e-2    -> number
-	"..."        -> quoted
-	[...]        -> parenthesized
-	...,...,...  -> list
-	...\n...\n   -> lines
-
-Then, applies _structural_ mutations to inputs.
-
-* Versifier example
-
-Original:
-
-	`<item name="foo"><prop name="price">100</prop></item>`
-
-Versified (all valid xml):
-
-	<item	name="rb54ana"><item  name="foo"><prop name="price"></prop><prop/></item></item>
-	<item name=""><prop name="price">=</prop><prop/> </item>
-	<item name=""><prop F="">-026023767521520230564132665e0333302100</prop><prop/></item>
-	<item SN="foo_P"><prop name="_G_nx">510</prop><prop name="vC">-9e-07036514</prop></item>
-	<item name="foo"><prop name="c8">prop name="p"</prop>/}<prop name="price">01e-6</prop></item>
-	<item name="foo"><item name="foo"><prop JY="">100</prop></item>8<prop/></item>
-
-* Algorithm
-
-.image dynamic-tools/algo.png
-
-* Achievements
-
-- 115 bugs in std lib (66 fixed)
-- 43 bugs in golang.org/x/... (24 fixed)
-- 134 elsewhere
-
-* Achievements
-
-	fmt.Sprintf("%.[]")
-	panic: runtime error: index out of range
-
-	regexp.MustCompile("((0(0){0}))").ReplaceAllString("00000", "00$00")
-	panic: runtime error: slice bounds out of range
-
-	ioutil.ReadAll(flate.NewReader(strings.NewReader("4LJNIMK\a\x00\x00\xff..\xff.....\xff")))
-	runs forever
-
-	var x = 1/"."[0]
-	crashes compiler
-
-	archive/tar: hang
-	archive/zip: cap out of range
-	encoding/gob: stack overflow
-	encoding/asn1: index out of range
-	image/jpeg: Decode hangs
-	image/png: nil deref
-	math/big: incorrect string->Float conversion
-	crypto/x509: division by zero
-	...
-
-* Usage
-
-- go get github.com/dvyukov/go-fuzz/...
-- write test:
-
-	func Fuzz(data []byte) int {
-		gob.NewDecoder(bytes.NewReader(data))
-		return 0
-	}
-
-- build
-
-	$ go-fuzz-build github.com/dvyukov/go-fuzz/examples/gob
-
-- collect corpus
-- run
-
-	$ go-fuzz -bin=gob-fuzz.zip -workdir=examples/gob
-
-* Execution tracer
-
-.image dynamic-tools/tracer.png
-
-* Execution tracer
-
-Gives insight into dynamic execution of a program.
-
-Captures with nanosecond precision:
-
-- goroutine creation/start/end
-- goroutine blocking/unblocking
-- network blocking
-- system calls
-- GC events
-
-* Execution tracer
-
-.image dynamic-tools/trace.png 450 _
-
-* Recap
-
-- race detector: always use for testing (-race)
-- go-fuzz: parsing of complex inputs (github.com/dvyukov/go-fuzz)
-- execution tracer: deep dive into execution (-trace)
-
-
diff --git a/content/2015/dynamic-tools/algo.png b/content/2015/dynamic-tools/algo.png
deleted file mode 100644
index 09a1460..0000000
--- a/content/2015/dynamic-tools/algo.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/dynamic-tools/go-fuzz.png b/content/2015/dynamic-tools/go-fuzz.png
deleted file mode 100644
index c010e0f..0000000
--- a/content/2015/dynamic-tools/go-fuzz.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/dynamic-tools/philosoraptor.png b/content/2015/dynamic-tools/philosoraptor.png
deleted file mode 100644
index 2847d41..0000000
--- a/content/2015/dynamic-tools/philosoraptor.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/dynamic-tools/trace.png b/content/2015/dynamic-tools/trace.png
deleted file mode 100644
index fd89e70..0000000
--- a/content/2015/dynamic-tools/trace.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/dynamic-tools/tracer.png b/content/2015/dynamic-tools/tracer.png
deleted file mode 100644
index edb82dc..0000000
--- a/content/2015/dynamic-tools/tracer.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/go-for-java-programmers.slide b/content/2015/go-for-java-programmers.slide
deleted file mode 100644
index c5841f3..0000000
--- a/content/2015/go-for-java-programmers.slide
+++ /dev/null
@@ -1,454 +0,0 @@
-Go for Java Programmers
-
-Sameer Ajmani
-Tech Lead Manager, Go team
-Google
-@Sajma
-sameer@golang.org
-
-* Video
-
-This talk was presented at [[http://javasig.com][NYJavaSIG]] on April 23, 2015.
-
-.link https://www.youtube.com/watch?v=_c_tQ6_3cCg Watch the talk on YouTube
-
-* Outline
-
-1. What is Go, and who uses it?
-2. Comparing Go and Java
-3. Examples
-4. Concurrency
-5. Tools
-
-# The next several slides are from rsc's 2013/distsys and 2015/mit talks.
-
-* What is Go?
-
-"Go is an open source programming language that makes it easy to build simple, reliable, and efficient software."
-
-.link http://golang.org
-
-* History
-
-Design began in late 2007.
-
-- Robert Griesemer, Rob Pike, and Ken Thompson.
-- Ian Lance Taylor and Russ Cox.
-
-Open source since 2009 with a very active community.
-
-Language stable as of Go 1, early 2012.
-
-* Why Go?
-
-Go is an answer to problems of scale at Google.
-
-.image ../2012/splash/datacenter.jpg 500 _
-
-* System Scale
-
-- designed to scale to 10⁶⁺ machines
-- everyday jobs run on 1000s of machines
-- jobs coordinate, interact with others in the system
-- lots going on at once
-
-Solution: great support for concurrency
-
-.image ../2012/waza/gophercomplex6.jpg
-
-* A Second Problem: Engineering Scale
-
-In 2011:
-
-- 5000+ developers across 40+ offices
-- 20+ changes per minute
-- 50% of code base changes every month
-- 50 million test cases executed per day
-- single code tree
-
-Solution: design the language for large code bases
-
-* Who uses Go at Google?
-
-Lots of projects. Thousands of Go programmers. Millions of lines of Go code.
-
-Public examples:
-
-- SPDY proxy for Chrome on mobile devices
-
-.image go-for-java-programmers/spdy.png 400 _
-
-* Who uses Go at Google?
-
-Lots of projects. Thousands of Go programmers. Millions of lines of Go code.
-
-Public examples:
-
-- SPDY proxy for Chrome on mobile devices
-- Download server for Chrome, ChromeOS, Android SDK, Earth, etc.
-- YouTube Vitess MySQL balancer
-
-The target is networked servers, but it's a great general-purpose language.
-
-* Who uses Go besides Google?
-
-.link http://golang.org/wiki/GoUsers
-
-Apcera, Bitbucket, bitly, Canonical, CloudFlare, Core OS, Digital Ocean, Docker, Dropbox, Facebook, Getty Images, GitHub, Heroku, Iron.io, Kubernetes, Medium, MongoDB services, Mozilla services, New York Times, pool.ntp.org, Secret, SmugMug, SoundCloud, Stripe, Square, Thomson Reuters, Tumblr, ...
-
-.image ../2014/state-of-go/bus.jpg 300 _
-
-* Comparing Go and Java
-
-* Go and Java have much in common
-
-- C family (imperative, braces)
-- Statically typed
-- Garbage collected
-- Memory safe (nil references, runtime bounds checks)
-- Variables are always initialized (zero/nil/false)
-- Methods
-- Interfaces
-- Type assertions (`instanceof`)
-- Reflection
-
-* Go differs from Java in several ways
-
-- Programs compile to machine code.  There's no VM.
-- Statically linked binaries
-- Control over memory layout
-- Function values and lexical closures
-- Built-in strings (UTF-8)
-- Built-in generic maps and arrays/slices
-- Built-in concurrency
-
-* Go intentionally leaves out many features
-
-- No classes
-- No constructors
-- No inheritance
-- No `final`
-- No exceptions
-- No annotations
-- No user-defined generics
-
-* Why does Go leave out those features?
-
-Clarity is critical.
-
-When reading code, it should be clear what the program will do.
-
-When writing code, it should be clear how to make the program do what you want.
-
-Sometimes this means writing out a loop instead of invoking an obscure function.
-
-(Don't DRY out.)
-
-For more background on design:
-
-- [[http://commandcenter.blogspot.com/2012/06/less-is-exponentially-more.html][Less is exponentially more (Pike, 2012)]]
-- [[http://talks.golang.org/2012/splash.article][Go at Google: Language Design in the Service of Software Engineering (Pike, 2012)]]
-
-* Examples
-
-* Go looks familiar to Java programmers
-
-Main.java
-
-.code go-for-java-programmers/hello/Main.java
-
-hello.go
-
-.play go-for-java-programmers/hello/hello.go
-
-* Hello, web server
-
-.play go-for-java-programmers/hello/server.go
-
-Types follow names in declarations.
-Exported names are Capitalized.  Unexported names are not.
-
-* Example: Google Search frontend
-
-.image go-for-java-programmers/frontend-screenshot.png _ 1000
-
-.play go-for-java-programmers/frontend.go /func main/,/func handleSearch/
-
-* Validate the query
-
-.code go-for-java-programmers/frontend.go /func handleSearch/,/ENDQUERY/
-
-`FormValue` is a method on the type `*http.Request`:
-
-  package http
-  type Request struct {...}
-  func (r *Request) FormValue(key string) string {...}
-
-`query`:=`req.FormValue("q")` initializes a new variable `query` with
-the type of the expression on the right hand side, `string`.
-
-* Fetch the search results
-
-.code go-for-java-programmers/frontend.go /Run the Google search/,/ENDSEARCH/
-
-`Search` returns two values, a slice of results and an error.
-
-  func Search(query string) ([]Result, error) {...}
-
-The results are valid only if the error is nil.
-
-  type error interface {
-      Error() string // a useful human-readable error message
-  }
-
-Errors may contain additional information, accessed via type assertions.
-
-* Render the search results
-
-.code go-for-java-programmers/frontend.go /Render the/,/ENDRENDER/
-
-`resultsTemplate.Execute` generates HTML and writes it to an `io.Writer`:
-
-  type Writer interface {
-          Write(p []byte) (n int, err error)
-  }
-
-`http.ResponseWriter` implements the `io.Writer` interface.
-
-* HTML templates operate on Go values
-
-.play go-for-java-programmers/frontend.go /A Result contains/,/\)\)/
-
-* Issue the query to the Google Search API
-
-.code go-for-java-programmers/frontend.go /func Search/,/resp.Body.Close/
-
-The `defer` statement arranges for `resp.Body.Close` to run when `Search` returns.
-
-* Parse the JSON response into a Go struct
-
-.link https://developers.google.com/web-search/docs/#fonje
-
-.code go-for-java-programmers/frontend.go /var jsonResponse/,/^}/
-
-* That's it for the frontend
-
-All the packages are from the standard library:
-
-  import (
-  	"encoding/json"
-  	"fmt"
-  	"html/template"
-  	"log"
-  	"net/http"
-  	"net/url"
-  	"time"
-  )
-
-Go servers scale well: each request runs in its own _goroutine_.
-
-Let's talk about concurrency.
-
-* Communicating Sequential Processes (Hoare, 1978)
-
-Concurrent programs are structured as independent processes that
-execute sequentially and communicate by passing messages.
-
-Sequential execution is easy to understand.  Async callbacks are not.
-
-"Don't communicate by sharing memory, share memory by communicating."
-
-*Go*primitives:* goroutines, channels, and the `select` statement.
-
-* Goroutines
-
-Goroutines are like lightweight threads.
-
-They start with tiny stacks and resize as needed.
-
-Go programs can have hundreds of thousands of them.
-
-Start a goroutine using the `go` statement:
-
-  go f(args)
-
-The Go runtime schedules goroutines onto OS threads.
-
-Blocked goroutines don't use a thread.
-
-* Channels
-
-Channels provide communication between goroutines.
-
-  c := make(chan string)
-
-  // goroutine 1
-  c <- "hello!"
-
-  // goroutine 2
-  s := <-c
-  fmt.Println(s) // "hello!"
-
-* Select
-
-A `select` statement blocks until communication can proceed.
-
-  select {
-  case n := <-in:
-    fmt.Println("received", n)
-  case out <- v:
-    fmt.Println("sent", v)
-  }
-
-Only the selected case runs.
-
-* Example: Google Search (backend)
-
-Q: What does Google search do?
-
-A: Given a query, return a page of search results (and some ads).
-
-Q: How do we get the search results?
-
-A: Send the query to Web search, Image search, YouTube, Maps, News, etc., then mix the results.
-
-How do we implement this?
-
-* Google Search: A fake framework
-
-We can simulate a Search function with a random timeout up to 100ms.
-
-.code go-for-java-programmers/google-serial.go /START2/,/STOP2/
-
-* Google Search: Test the framework
-
-.play go-for-java-programmers/google-serial.go /func.main/,/}/
-
-* Google Search (serial)
-
-The Google function takes a query and returns a slice of Results (which are just strings).
-
-Google invokes Web, Image, and Video searches serially, appending them to the results slice.
-
-.play go-for-java-programmers/google-serial.go /START1/,/STOP1/
-
-* Google Search (parallel)
-
-Run the Web, Image, and Video searches concurrently, and wait for all results.
-
-The `func` literals are closures over `query` and `c`.
-
-.play go-for-java-programmers/google-parallel.go /Google/,/^}/
-
-* Google Search (timeout)
-
-Don't wait for slow servers.
-
-No locks.  No condition variables.  No callbacks.
-
-.play go-for-java-programmers/google-timeout.go /START/,/STOP/
-
-* Avoid timeout
-
-Q: How do we avoid discarding results from slow servers?
-
-A: Replicate the servers.  Send requests to multiple replicas, and use the first response.
-
-.code go-for-java-programmers/first.go /START1/,/STOP1/
-
-* Using the First function
-
-.play go-for-java-programmers/first.go /START2/,/STOP2/
-
-* Google Search (replicated)
-
-Reduce tail latency using replicated search servers.
-
-.play go-for-java-programmers/google-first.go /START/,/STOP/
-
-* And still…
-
-No locks.  No condition variables.  No callbacks.
-
-* Summary
-
-In just a few simple transformations we used Go's concurrency primitives to convert a
-
-- slow
-- sequential
-- failure-sensitive
-
-program into one that is
-
-- fast
-- concurrent
-- replicated
-- robust.
-
-* Tools
-
-* Go has great tools
-
-- gofmt and goimports
-- the go tool
-- godoc
-- IDE and editor support
-
-The language is designed for tooling.
-
-* gofmt and goimports
-
-Gofmt formats code automatically.  No options.
-
-Goimports updates import statements based on your workspace.
-
-Most people run these tools on save.
-
-.link http://play.golang.org/p/GPqra77cBK
-
-* The go tool
-
-The go tool builds Go programs from source in a conventional directory layout.
-No Makefiles or other configs.
-
-Fetch the `present` tool and its dependencies, build it, and install it:
-
-  % go get golang.org/x/tools/cmd/present
-
-Run it:
-
-  % present
-
-* godoc
-
-Generated documentation for the world's open-source Go code:
-
-.link http://godoc.org
-
-* IDE and editor support
-
-Eclipse, IntelliJ, emacs, vim, many others.
-
-- `gofmt`
-- `goimports`
-- `godoc` lookups
-- code completion
-- code navigation
-
-There's no "Go IDE".
-
-Go tools meet you where you are.
-
-* Where to Go next
-
-Take the Go Tour online.
-
-.link http://tour.golang.org
-
-Lots more material.
-
-.link http://golang.org/wiki/Learn
-
-Great community.
-
-.link http://golang.org/project
diff --git a/content/2015/go-for-java-programmers/builtin.go b/content/2015/go-for-java-programmers/builtin.go
deleted file mode 100644
index 989ad9c..0000000
--- a/content/2015/go-for-java-programmers/builtin.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"sort"
-)
-
-func main() {
-	hellos := map[string]string{ // HLbuiltin
-		"English":  "Hello",   // HLstrings
-		"Mandarin": "您好",      // HLstrings
-		"Hindi":    "नमस्कार", // HLstrings
-	}
-	fmt.Println(hellos)               // HLfmt
-	var langs []string                // HLbuiltin
-	for lang, hello := range hellos { // HLbuiltin
-		fmt.Println(lang, ":", hello, "world!") // HLfmt
-		langs = append(langs, lang)             // HLbuiltin
-	}
-	sort.Strings(langs)                           // HLstrings
-	fmt.Printf("len(%v) = %d", langs, len(langs)) // HLfmt
-}
diff --git a/content/2015/go-for-java-programmers/channel.go b/content/2015/go-for-java-programmers/channel.go
deleted file mode 100644
index a1ee2e7..0000000
--- a/content/2015/go-for-java-programmers/channel.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// STARTMAIN1 OMIT
-type Ball struct{ hits int }
-
-func main() {
-	table := make(chan *Ball) // HL
-	go player("ping", table)
-
-	table <- new(Ball) // game on; toss the ball
-	time.Sleep(1 * time.Second)
-	<-table // game over; grab the ball
-}
-
-func player(name string, table chan *Ball) {
-	for i := 0; ; i++ {
-		ball := <-table // HL
-		ball.hits++
-		fmt.Println(name, i, "hit", ball.hits)
-		time.Sleep(100 * time.Millisecond)
-		table <- ball // HL
-	}
-}
-
-// STOPMAIN1 OMIT
diff --git a/content/2015/go-for-java-programmers/closure.go b/content/2015/go-for-java-programmers/closure.go
deleted file mode 100644
index a0daa9c..0000000
--- a/content/2015/go-for-java-programmers/closure.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func div(n, d int) (q, r int, err error) {
-	if d == 0 {
-		err = fmt.Errorf("%d/%d: divide by zero", n, d)
-		return
-	}
-	return n / d, n % d, nil
-}
-
-func main() {
-	var failures int
-
-	f := func(n, d int) { // HL
-		if q, r, err := div(n, d); err != nil {
-			fmt.Println(err)
-			failures++ // HL
-		} else {
-			fmt.Printf("%d/%d = %d leaving %d\n", n, d, q, r)
-		}
-	}
-
-	f(4, 3)
-	f(3, 0)
-	fmt.Println("failures:", failures)
-}
diff --git a/content/2015/go-for-java-programmers/error.go b/content/2015/go-for-java-programmers/error.go
deleted file mode 100644
index 5f68e5e..0000000
--- a/content/2015/go-for-java-programmers/error.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"errors"
-	"fmt"
-)
-
-// div divides n by d and returns the quotient and remainder.
-// It returns an error if d is zero.
-func div(n, d int) (q, r int, err error) { // HL
-	if d == 0 {
-		err = errors.New("divide by zero") // HL
-		return
-	}
-	return n / d, n % d, nil // HL
-}
-
-func main() {
-	fmt.Println(div(4, 3))
-	fmt.Println(div(3, 0))
-}
diff --git a/content/2015/go-for-java-programmers/first.go b/content/2015/go-for-java-programmers/first.go
deleted file mode 100644
index 8cca2ba..0000000
--- a/content/2015/go-for-java-programmers/first.go
+++ /dev/null
@@ -1,48 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-type Result string
-type Search func(query string) Result
-
-// START1 OMIT
-func First(query string, replicas ...Search) Result {
-	c := make(chan Result, len(replicas))
-	searchReplica := func(i int) { c <- replicas[i](query) }
-	for i := range replicas {
-		go searchReplica(i)
-	}
-	return <-c
-}
-
-// STOP1 OMIT
-
-func init() {
-	rand.Seed(time.Now().UnixNano())
-}
-
-// START2 OMIT
-func main() {
-	start := time.Now()
-	result := First("golang", // HL
-		fakeSearch("replica 1"), // HL
-		fakeSearch("replica 2")) // HL
-	elapsed := time.Since(start)
-	fmt.Println(result)
-	fmt.Println(elapsed)
-}
-
-// STOP2 OMIT
-
-func fakeSearch(kind string) Search {
-	return func(query string) Result {
-		time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond)
-		return Result(fmt.Sprintf("%s result for %q\n", kind, query))
-	}
-}
diff --git a/content/2015/go-for-java-programmers/frontend-screenshot.png b/content/2015/go-for-java-programmers/frontend-screenshot.png
deleted file mode 100644
index fa5259d..0000000
--- a/content/2015/go-for-java-programmers/frontend-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/go-for-java-programmers/frontend.go b/content/2015/go-for-java-programmers/frontend.go
deleted file mode 100644
index 1653445..0000000
--- a/content/2015/go-for-java-programmers/frontend.go
+++ /dev/null
@@ -1,122 +0,0 @@
-// +build ignore,OMIT
-
-// The server program issues Google search requests. It serves on port 8080.
-//
-// The /search endpoint accepts these query params:
-//   q=the Google search query
-//
-// For example, http://localhost:8080/search?q=golang serves the first
-// few Google search results for "golang".
-package main
-
-import (
-	"encoding/json"
-	"fmt"
-	"html/template"
-	"log"
-	"net/http"
-	"net/url"
-	"time"
-)
-
-func main() {
-	http.HandleFunc("/search", handleSearch) // HL
-	fmt.Println("serving on http://localhost:8080/search")
-	log.Fatal(http.ListenAndServe("localhost:8080", nil))
-}
-
-// handleSearch handles URLs like "/search?q=golang" by running a
-// Google search for "golang" and writing the results as HTML to w.
-func handleSearch(w http.ResponseWriter, req *http.Request) {
-	log.Println("serving", req.URL)
-
-	// Check the search query.
-	query := req.FormValue("q") // HL
-	if query == "" {
-		http.Error(w, `missing "q" URL parameter`, http.StatusBadRequest)
-		return
-	}
-	// ENDQUERY OMIT
-
-	// Run the Google search.
-	start := time.Now()
-	results, err := Search(query) // HL
-	elapsed := time.Since(start)
-	if err != nil {
-		http.Error(w, err.Error(), http.StatusInternalServerError)
-		return
-	}
-	// ENDSEARCH OMIT
-
-	// Render the results.
-	type templateData struct {
-		Results []Result
-		Elapsed time.Duration
-	}
-	if err := resultsTemplate.Execute(w, templateData{ // HL
-		Results: results,
-		Elapsed: elapsed,
-	}); err != nil {
-		log.Print(err)
-		return
-	}
-	// ENDRENDER OMIT
-}
-
-// A Result contains the title and URL of a search result.
-type Result struct { // HL
-	Title, URL string // HL
-} // HL
-
-var resultsTemplate = template.Must(template.New("results").Parse(`
-<html>
-<head/>
-<body>
-  <ol>
-  {{range .Results}}
-    <li>{{.Title}} - <a href="{{.URL}}">{{.URL}}</a></li>
-  {{end}}
-  </ol>
-  <p>{{len .Results}} results in {{.Elapsed}}</p>
-</body>
-</html>
-`))
-
-// Search sends query to Google search and returns the results.
-func Search(query string) ([]Result, error) {
-	// Prepare the Google Search API request.
-	u, err := url.Parse("https://ajax.googleapis.com/ajax/services/search/web?v=1.0")
-	if err != nil {
-		return nil, err
-	}
-	q := u.Query()
-	q.Set("q", query) // HL
-	u.RawQuery = q.Encode()
-
-	// Issue the HTTP request and handle the response.
-	resp, err := http.Get(u.String()) // HL
-	if err != nil {
-		return nil, err
-	}
-	defer resp.Body.Close() // HL
-
-	// Parse the JSON search result.
-	// https://developers.google.com/web-search/docs/#fonje
-	var jsonResponse struct {
-		ResponseData struct {
-			Results []struct {
-				TitleNoFormatting, URL string
-			}
-		}
-	}
-	if err := json.NewDecoder(resp.Body).Decode(&jsonResponse); err != nil { // HL
-		return nil, err
-	}
-
-	// Extract the Results from jsonResponse and return them.
-	var results []Result
-	for _, r := range jsonResponse.ResponseData.Results { // HL
-		results = append(results, Result{Title: r.TitleNoFormatting, URL: r.URL})
-	}
-	return results, nil
-}
diff --git a/content/2015/go-for-java-programmers/func.go b/content/2015/go-for-java-programmers/func.go
deleted file mode 100644
index 4001d40..0000000
--- a/content/2015/go-for-java-programmers/func.go
+++ /dev/null
@@ -1,15 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-// div divides n by d and returns the quotient and remainder.
-func div(n, d int) (q, r int) { // HL
-	return n / d, n % d
-}
-
-func main() {
-	quot, rem := div(4, 3)
-	fmt.Println(quot, rem)
-}
diff --git a/content/2015/go-for-java-programmers/gofmt-after.go b/content/2015/go-for-java-programmers/gofmt-after.go
deleted file mode 100644
index 85a07d0..0000000
--- a/content/2015/go-for-java-programmers/gofmt-after.go
+++ /dev/null
@@ -1,11 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	for i := 0; i < 3; i++ {
-		fmt.Println("Hello, world")
-	}
-}
diff --git a/content/2015/go-for-java-programmers/goimports-after.go b/content/2015/go-for-java-programmers/goimports-after.go
deleted file mode 100644
index aa8c9f7..0000000
--- a/content/2015/go-for-java-programmers/goimports-after.go
+++ /dev/null
@@ -1,13 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-
-	"golang.org/x/tools/present"
-)
-
-func main() {
-	fmt.Println(present.Image{})
-}
diff --git a/content/2015/go-for-java-programmers/goimports-before.go b/content/2015/go-for-java-programmers/goimports-before.go
deleted file mode 100644
index 6744f32..0000000
--- a/content/2015/go-for-java-programmers/goimports-before.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-func main() {
-	fmt.Println(present.Image{})
-}
diff --git a/content/2015/go-for-java-programmers/google-first.go b/content/2015/go-for-java-programmers/google-first.go
deleted file mode 100644
index 7fd3b96..0000000
--- a/content/2015/go-for-java-programmers/google-first.go
+++ /dev/null
@@ -1,71 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-type Result string
-type Search func(query string) Result
-
-var (
-	Web1   = fakeSearch("web1")
-	Web2   = fakeSearch("web2")
-	Image1 = fakeSearch("image1")
-	Image2 = fakeSearch("image2")
-	Video1 = fakeSearch("video1")
-	Video2 = fakeSearch("video2")
-)
-
-func Google(query string) (results []Result) {
-	// START OMIT
-	c := make(chan Result, 3)
-	go func() { c <- First(query, Web1, Web2) }()     // HL
-	go func() { c <- First(query, Image1, Image2) }() // HL
-	go func() { c <- First(query, Video1, Video2) }() // HL
-	timeout := time.After(80 * time.Millisecond)
-	for i := 0; i < 3; i++ {
-		select {
-		case result := <-c:
-			results = append(results, result)
-		case <-timeout:
-			fmt.Println("timed out")
-			return
-		}
-	}
-	return
-	// STOP OMIT
-}
-
-func First(query string, replicas ...Search) Result {
-	c := make(chan Result, len(replicas))
-	searchReplica := func(i int) {
-		c <- replicas[i](query)
-	}
-	for i := range replicas {
-		go searchReplica(i)
-	}
-	return <-c
-}
-
-func fakeSearch(kind string) Search {
-	return func(query string) Result {
-		time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond)
-		return Result(fmt.Sprintf("%s result for %q\n", kind, query))
-	}
-}
-
-func init() {
-	rand.Seed(time.Now().UnixNano())
-}
-
-func main() {
-	start := time.Now()
-	results := Google("golang")
-	elapsed := time.Since(start)
-	fmt.Println(results)
-	fmt.Println(elapsed)
-}
diff --git a/content/2015/go-for-java-programmers/google-parallel.go b/content/2015/go-for-java-programmers/google-parallel.go
deleted file mode 100644
index 8de0bc5..0000000
--- a/content/2015/go-for-java-programmers/google-parallel.go
+++ /dev/null
@@ -1,50 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-type Result string
-type Search func(query string) Result
-
-var (
-	Web   = fakeSearch("web")
-	Image = fakeSearch("image")
-	Video = fakeSearch("video")
-)
-
-func Google(query string) (results []Result) {
-	c := make(chan Result)
-	go func() { c <- Web(query) }()
-	go func() { c <- Image(query) }()
-	go func() { c <- Video(query) }()
-
-	for i := 0; i < 3; i++ {
-		result := <-c
-		results = append(results, result)
-	}
-	return
-}
-
-func fakeSearch(kind string) Search {
-	return func(query string) Result {
-		time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond)
-		return Result(fmt.Sprintf("%s result for %q\n", kind, query))
-	}
-}
-
-func init() {
-	rand.Seed(time.Now().UnixNano())
-}
-
-func main() {
-	start := time.Now()
-	results := Google("golang")
-	elapsed := time.Since(start)
-	fmt.Println(results)
-	fmt.Println(elapsed)
-}
diff --git a/content/2015/go-for-java-programmers/google-serial.go b/content/2015/go-for-java-programmers/google-serial.go
deleted file mode 100644
index 1573ddd..0000000
--- a/content/2015/go-for-java-programmers/google-serial.go
+++ /dev/null
@@ -1,51 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-type Result string
-
-// START1 OMIT
-func Google(query string) (results []Result) {
-	results = append(results, Web(query))
-	results = append(results, Image(query))
-	results = append(results, Video(query))
-	return
-}
-
-// STOP1 OMIT
-
-// START2 OMIT
-var (
-	Web   = fakeSearch("web")
-	Image = fakeSearch("image")
-	Video = fakeSearch("video")
-)
-
-type Search func(query string) Result // HL
-
-func fakeSearch(kind string) Search {
-	return func(query string) Result {
-		time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond)
-		return Result(fmt.Sprintf("%s result for %q\n", kind, query))
-	}
-}
-
-// STOP2 OMIT
-
-func init() {
-	rand.Seed(time.Now().UnixNano())
-}
-
-func main() {
-	start := time.Now()
-	results := Google("golang") // HL
-	elapsed := time.Since(start)
-	fmt.Println(results)
-	fmt.Println(elapsed)
-}
diff --git a/content/2015/go-for-java-programmers/google-timeout.go b/content/2015/go-for-java-programmers/google-timeout.go
deleted file mode 100644
index 1a2c3c7..0000000
--- a/content/2015/go-for-java-programmers/google-timeout.go
+++ /dev/null
@@ -1,58 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-type Result string
-type Search func(query string) Result
-
-var (
-	Web   = fakeSearch("web")
-	Image = fakeSearch("image")
-	Video = fakeSearch("video")
-)
-
-func Google(query string) (results []Result) {
-	// START OMIT
-	c := make(chan Result, 3)
-	go func() { c <- Web(query) }()
-	go func() { c <- Image(query) }()
-	go func() { c <- Video(query) }()
-
-	timeout := time.After(80 * time.Millisecond)
-	for i := 0; i < 3; i++ {
-		select { // HL
-		case result := <-c: // HL
-			results = append(results, result)
-		case <-timeout: // HL
-			fmt.Println("timed out")
-			return
-		}
-	}
-	return
-	// STOP OMIT
-}
-
-func fakeSearch(kind string) Search {
-	return func(query string) Result {
-		time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond)
-		return Result(fmt.Sprintf("%s result for %q\n", kind, query))
-	}
-}
-
-func init() {
-	rand.Seed(time.Now().UnixNano())
-}
-
-func main() {
-	start := time.Now()
-	results := Google("golang")
-	elapsed := time.Since(start)
-	fmt.Println(results)
-	fmt.Println(elapsed)
-}
diff --git a/content/2015/go-for-java-programmers/google1.jpg b/content/2015/go-for-java-programmers/google1.jpg
deleted file mode 100644
index e52e5f0..0000000
--- a/content/2015/go-for-java-programmers/google1.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/go-for-java-programmers/google14.jpg b/content/2015/go-for-java-programmers/google14.jpg
deleted file mode 100644
index f83bb9b..0000000
--- a/content/2015/go-for-java-programmers/google14.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/go-for-java-programmers/google17.jpg b/content/2015/go-for-java-programmers/google17.jpg
deleted file mode 100644
index 909b579..0000000
--- a/content/2015/go-for-java-programmers/google17.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/go-for-java-programmers/google20.jpg b/content/2015/go-for-java-programmers/google20.jpg
deleted file mode 100644
index 1ba9213..0000000
--- a/content/2015/go-for-java-programmers/google20.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/go-for-java-programmers/goroutine.go b/content/2015/go-for-java-programmers/goroutine.go
deleted file mode 100644
index 747ea47..0000000
--- a/content/2015/go-for-java-programmers/goroutine.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// STARTMAIN1 OMIT
-type Ball struct{ hits int }
-
-func main() {
-	go player("ping", new(Ball)) // HL
-	time.Sleep(1 * time.Second)
-}
-
-func player(name string, ball *Ball) {
-	for i := 0; ; i++ {
-		ball.hits++
-		fmt.Println(name, i, "hit", ball.hits)
-		time.Sleep(100 * time.Millisecond)
-	}
-}
-
-// STOPMAIN1 OMIT
diff --git a/content/2015/go-for-java-programmers/hello/Main.class b/content/2015/go-for-java-programmers/hello/Main.class
deleted file mode 100644
index cccf827..0000000
--- a/content/2015/go-for-java-programmers/hello/Main.class
+++ /dev/null
Binary files differ
diff --git a/content/2015/go-for-java-programmers/hello/Main.java b/content/2015/go-for-java-programmers/hello/Main.java
deleted file mode 100644
index 73a4d22..0000000
--- a/content/2015/go-for-java-programmers/hello/Main.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class Main {
-    public static void main(String[] args) {
-        System.out.println("Hello, world!");
-    }
-}
diff --git a/content/2015/go-for-java-programmers/hello/hello.go b/content/2015/go-for-java-programmers/hello/hello.go
deleted file mode 100644
index c84b1d7..0000000
--- a/content/2015/go-for-java-programmers/hello/hello.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Println("Hello, 世界!")
-}
diff --git a/content/2015/go-for-java-programmers/hello/server.go b/content/2015/go-for-java-programmers/hello/server.go
deleted file mode 100644
index 69bfac1..0000000
--- a/content/2015/go-for-java-programmers/hello/server.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"log"
-	"net/http"
-)
-
-func main() {
-	http.HandleFunc("/hello", handleHello) // HL
-	fmt.Println("serving on http://localhost:7777/hello")
-	log.Fatal(http.ListenAndServe("localhost:7777", nil))
-}
-
-func handleHello(w http.ResponseWriter, req *http.Request) {
-	log.Println("serving", req.URL)
-	fmt.Fprintln(w, "Hello, 世界!") // HL
-}
diff --git a/content/2015/go-for-java-programmers/interface.go b/content/2015/go-for-java-programmers/interface.go
deleted file mode 100644
index ca1021a..0000000
--- a/content/2015/go-for-java-programmers/interface.go
+++ /dev/null
@@ -1,33 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bytes"
-	"fmt"
-)
-
-type Point struct {
-	X, Y int
-}
-
-type Rectangle struct {
-	Min, Max Point
-}
-
-func (r Rectangle) String() string {
-	var buf bytes.Buffer
-	for h := 0; h < r.Max.Y-r.Min.Y; h++ {
-		for w := 0; w < r.Max.X-r.Min.X; w++ {
-			buf.WriteString("#")
-		}
-		buf.WriteString("\n")
-	}
-	return buf.String()
-}
-
-func main() {
-	fmt.Println(Rectangle{Max: Point{20, 5}})
-}
-
-// EOF OMIT
diff --git a/content/2015/go-for-java-programmers/method.go b/content/2015/go-for-java-programmers/method.go
deleted file mode 100644
index 15077fa..0000000
--- a/content/2015/go-for-java-programmers/method.go
+++ /dev/null
@@ -1,35 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bytes"
-	"fmt"
-)
-
-type Point struct {
-	X, Y int
-}
-
-type Rectangle struct {
-	Min, Max Point
-}
-
-func (r Rectangle) String() string { // HL
-	var buf bytes.Buffer
-	for h := 0; h < r.Max.Y-r.Min.Y; h++ {
-		for w := 0; w < r.Max.X-r.Min.X; w++ {
-			buf.WriteString("#")
-		}
-		buf.WriteString("\n")
-	}
-	return buf.String()
-}
-
-func main() {
-	r := Rectangle{Max: Point{20, 5}}
-	s := r.String() // HL
-	fmt.Println(s)
-}
-
-// EOF OMIT
diff --git a/content/2015/go-for-java-programmers/panic.go b/content/2015/go-for-java-programmers/panic.go
deleted file mode 100644
index d2c935f..0000000
--- a/content/2015/go-for-java-programmers/panic.go
+++ /dev/null
@@ -1,15 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-// div divides n by d and returns the quotient and remainder.
-func div(n, d int) (q, r int) {
-	return n / d, n % d
-}
-
-func main() {
-	quot, rem := div(4, 0) // HL
-	fmt.Println(quot, rem)
-}
diff --git a/content/2015/go-for-java-programmers/pingpipe.go b/content/2015/go-for-java-programmers/pingpipe.go
deleted file mode 100644
index e22b851..0000000
--- a/content/2015/go-for-java-programmers/pingpipe.go
+++ /dev/null
@@ -1,38 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// STARTMAIN1 OMIT
-type Ball struct{ hits int }
-
-func main() {
-	in, out := make(chan *Ball), make(chan *Ball) // HL
-	go player("ping", in, out)
-	go player("pong", in, out)
-
-	go func() {
-		for i := 0; i < 8; i++ {
-			in <- new(Ball) // feed the pipeline // HL
-		}
-	}()
-	for i := 0; i < 8; i++ {
-		<-out // drain the pipeline // HL
-	}
-}
-
-func player(name string, in <-chan *Ball, out chan<- *Ball) { // HL
-	for i := 0; ; i++ {
-		ball := <-in // HL
-		ball.hits++
-		fmt.Println(name, i, "hit", ball.hits)
-		time.Sleep(100 * time.Millisecond)
-		out <- ball // HL
-	}
-}
-
-// STOPMAIN1 OMIT
diff --git a/content/2015/go-for-java-programmers/pingpong.go b/content/2015/go-for-java-programmers/pingpong.go
deleted file mode 100644
index 2d7664a..0000000
--- a/content/2015/go-for-java-programmers/pingpong.go
+++ /dev/null
@@ -1,33 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// STARTMAIN1 OMIT
-type Ball struct{ hits int }
-
-func main() {
-	table := make(chan *Ball)
-	go player("ping", table)
-	go player("pong", table) // HL
-
-	table <- new(Ball) // game on; toss the ball
-	time.Sleep(1 * time.Second)
-	<-table // game over; grab the ball
-}
-
-func player(name string, table chan *Ball) {
-	for i := 0; ; i++ {
-		ball := <-table
-		ball.hits++
-		fmt.Println(name, i, "hit", ball.hits)
-		time.Sleep(100 * time.Millisecond)
-		table <- ball
-	}
-}
-
-// STOPMAIN1 OMIT
diff --git a/content/2015/go-for-java-programmers/pingselect.go b/content/2015/go-for-java-programmers/pingselect.go
deleted file mode 100644
index 03dcb1e..0000000
--- a/content/2015/go-for-java-programmers/pingselect.go
+++ /dev/null
@@ -1,37 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// STARTMAIN1 OMIT
-type Ball struct{ hits int }
-
-func main() {
-	in, out := make(chan *Ball), make(chan *Ball)
-	go player("ping", in, out)
-	go player("pong", in, out)
-
-	for i := 0; i < 8; {
-		select { // HL
-		case in <- new(Ball): // feed the pipeline // HL
-		case <-out: // drain the pipeline // HL
-			i++ // HL
-		} // HL
-	}
-}
-
-func player(name string, in <-chan *Ball, out chan<- *Ball) {
-	for i := 0; ; i++ {
-		ball := <-in
-		ball.hits++
-		fmt.Println(name, i, "hit", ball.hits)
-		time.Sleep(100 * time.Millisecond)
-		out <- ball
-	}
-}
-
-// STOPMAIN1 OMIT
diff --git a/content/2015/go-for-java-programmers/player.go b/content/2015/go-for-java-programmers/player.go
deleted file mode 100644
index 96df122..0000000
--- a/content/2015/go-for-java-programmers/player.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// STARTMAIN1 OMIT
-type Ball struct{ hits int }
-
-func main() {
-	player("ping", new(Ball))
-}
-
-func player(name string, ball *Ball) {
-	for i := 0; ; i++ {
-		ball.hits++
-		fmt.Println(name, i, "hit", ball.hits)
-		time.Sleep(100 * time.Millisecond)
-	}
-}
-
-// STOPMAIN1 OMIT
diff --git a/content/2015/go-for-java-programmers/pointer.go b/content/2015/go-for-java-programmers/pointer.go
deleted file mode 100644
index eb52944..0000000
--- a/content/2015/go-for-java-programmers/pointer.go
+++ /dev/null
@@ -1,36 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-// START TYPES OMIT
-type Point struct {
-	X, Y int
-}
-
-type Rectangle struct {
-	Min, Max Point
-}
-
-// END TYPES OMIT
-
-func main() {
-	var r0 Rectangle
-
-	r1 := r0 // struct copy
-
-	r1.Min.X, r1.Min.Y = -1, -1
-	r1.Max = Point{X: 2}
-
-	fmt.Printf("r0 is %+v\n", r0)
-	fmt.Printf("r1 is %v\n", r1)
-
-	y := &r1.Max.Y // y is a *int // HL
-	*y = 5         // HL
-	fmt.Println(y, "points to", *y)
-
-	min := &r1.Min // min is a *Point // HL
-	min.X = 7      // HL
-	fmt.Printf("r1 is %v\n", r1)
-}
diff --git a/content/2015/go-for-java-programmers/safe.go b/content/2015/go-for-java-programmers/safe.go
deleted file mode 100644
index 234b4d2..0000000
--- a/content/2015/go-for-java-programmers/safe.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func newInt(v int) *int {
-	var n = v
-	return &n // HL
-}
-
-func inc(p *int) {
-	*p++ // try removing * // HL
-}
-
-func main() {
-	p := newInt(3)
-	inc(p)
-	fmt.Println(p, "points to", *p)
-}
diff --git a/content/2015/go-for-java-programmers/spdy.png b/content/2015/go-for-java-programmers/spdy.png
deleted file mode 100644
index bbc0650..0000000
--- a/content/2015/go-for-java-programmers/spdy.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/go-for-java-programmers/struct.go b/content/2015/go-for-java-programmers/struct.go
deleted file mode 100644
index 34fa0fa..0000000
--- a/content/2015/go-for-java-programmers/struct.go
+++ /dev/null
@@ -1,36 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-// START SLICES OMIT
-var arr [8]Rectangle
-
-var (
-	rects  = arr[2:4]
-	rects2 = []Rectangle{rects[0], rects[1]}
-)
-
-// START TYPES OMIT
-type Point struct {
-	X, Y int
-}
-
-type Rectangle struct {
-	Min, Max Point
-}
-
-// END TYPES OMIT
-
-func main() {
-	var r0 Rectangle
-
-	r1 := r0 // struct copy
-
-	r1.Min.X, r1.Min.Y = -1, -1
-	r1.Max = Point{X: 2}
-
-	fmt.Printf("r0 is %+v\n", r0)
-	fmt.Printf("r1 is %v\n", r1)
-}
diff --git a/content/2015/go-gc.pdf b/content/2015/go-gc.pdf
deleted file mode 100644
index c753d86..0000000
--- a/content/2015/go-gc.pdf
+++ /dev/null
Binary files differ
diff --git a/content/2015/go4cpp.slide b/content/2015/go4cpp.slide
deleted file mode 100644
index 1af3d84..0000000
--- a/content/2015/go4cpp.slide
+++ /dev/null
@@ -1,712 +0,0 @@
-Go for C++ developers
-
-Francesc Campoy
-Developer, Advocate, and Gopher at Google
-@francesc
-campoy@golang.org
-
-#go4cpp
-
-* Go for C++ developers
-
-Agenda:
-
-- let's talk about Go
-
-- how do I do X in Go?
-
-- concurrency, because it's awesome
-
-- Q & A: but feel free to interrupt anytime
-
-- We might not go through all the slides
-
-* About me
-
-*2011*  Joined Google as a Software Engineer
-
-- writing mostly in C++ and Python
-- used to think _smart_code_ was better than boring code
-
-*2012* Joined the Go team as a Developer Programs Engineer
-
-*2014*to*today* Developer Advocate for the Google Cloud Platform
-
-* Let's talk about Go
-
-* Go is
-
-Go is
-
-- open source
-
-- statically typed
-
-- object oriented (if you ask me)
-
-- compiled
-
-- memory safe
-
-- type safe
-
-* Why Go?
-
-Go was created for:
-
-- scalability
-
-- concurrency
-
-- simplicity
-
-* Who uses Go?
-
-Google:
-
-- YouTube
-- dl.google.com
-
-Others:
-
-- Docker
-- SoundCloud
-- Canonical
-- CloudFlare
-- Mozilla
-- ...
-
-[[http://golang.org/wiki/GoUsers][golang.org/wiki/GoUsers]]
-
-* Who uses Go?
-
-.image go4cpp/trends.png _ 800
-
-.caption Google Trends for [[http://www.google.com/trends/explore#q=golang][golang]]
-
-* Some Go features
-
-* Go types
-
-- primitive types
-
-	int, uint, int8, uint8, ...
-	bool, string
-	float32, float64
-	complex64, complex128
-
-- structs
-
-	struct {
-		Name string
-		Age  int
-	}
-
-- slices and arrays
-
-	[]int, [3]string, []struct{ Name string }
-
-- maps
-
-	map[string]int
-
-* Kinds of types (continued)
-
-- pointers
-
-	*int, *Person
-
-- functions
-
-	func(int, int) int
-
-- channels
-
-	chan bool
-
-- interfaces
-
-	interface {
-		Start()
-		Stop()
-	}
-
-* Type declarations
-
-	type [name] [specification]
-
-`Person` is a `struct` type.
-
-	type Person struct {
-		name string
-		age  int
-	}
-
-`Celsius` is a `float64` type.
-
-	type Celsius float64
-
-* Function declarations
-
-	func [name] ([params]) [return value]
-	func [name] ([params]) ([return values])
-
-A sum function:
-
-	func sum(a int, b int) int {
-		return a + b
-	}
-
-A function with multiple return values:
-
-	func divMod(a, b int) (int, int) {
-		return a / b, a % b
-	}
-
-Made clearer by naming the return values:
-
-	func divMod(den, div int) (quo, rem int) {
-		return den / div, den % div
-	}
-
-* Method declarations
-
-	func ([receiver]) [name] ([params]) ([return values])
-
-A method on a struct:
-
-	func (p Person) IsMinor() bool {
-		return p.age < 18
-	}
-
-But also a method on a `float64`:
-
-	func (c Celsius) Freezing() bool {
-		return c <= 0
-	}
-
-_Constraint:_ Methods can be defined *only* on types declared in the same package.
-
-	// This won't compile
-	func (s string) Length() int { return len(s) }
-
-* Declaring variables
-
-Normal declaration:
-
-    var text string = "hello"
-
-You can omit types:
-
-    var text = "hello"
-
-And inside of functions:
-
-    text := "hello"
-
-Other types
-
-    a := 0                             // int
-    b := true                          // boolean
-    f := 1.0                           // float64
-    p := Person{"Francesc", "Campoy"}  // Person
-
-* No implicit numeric conversion
-
-Given types:
-
-    type Celsius float64
-
-    type Fahrenheit float64
-
-And the variables:
-
-    var freezing Fahrenheit = 32
-    var boiling Celsius = 100
-
-This code won't compile:
-
-    sauna := (freezing + boiling) / 2
-
-There's no implicit numeric conversion in Go.
-
-* Pointers and memory allocation
-
-* Pointers
-
-Go has pointers:
-
-    var p *int
-    p = new(int)
-
-But no pointer arithmetics:
-
-    var p *int = &a[0]
-    var q = p+2            // invalid
-
-There's `new` but there's no `delete`.
-
-Memory is garbaged collected after it's no longer accessible.
-
-* Memory allocation
-
-The compiler decides where to allocate based on escape analysis.
-
-Using `new` doesn't imply using the heap:
-
-`stack.go`:
-
-    func get() int {
-        n := new(int)
-        return *n
-    }
-
-And not all values in the heap are created with `new`:
-
-`heap.go`:
-
-    func get() *int {
-        n := 4
-        return &n
-    }
-
-* Choosing what allocation you want
-
-You can *not* decide where a value is allocated.
-
-But you can see what kind of allocation is used:
-
-    $ go tool 6g -m stack.go
-
-    stack.go:3: can inline get
-    stack.go:4: get new(int) does not escape
-
-Compare to:
-
-    $ go tool 6g -m heap.go
-
-    heap.go:3: can inline get
-    heap.go:4: moved to heap: n
-    heap.go:5: &n escapes to heap
-
-* RAII
-
-_Resource_Acquisition_Is_Initialization_
-
-Provides:
-
-- encapsulation of acquisition and disposition of resources
-
-- exception safe
-
-An example:
-
-    void write_to_file (const std::string & message) {
-        // mutex to protect file access
-        static std::mutex mutex;
-     
-        // lock mutex before accessing file
-        // at the end of the scope unlock mutex
-        std::lock_guard<std::mutex> lock(mutex);
-
-        // mutual exclusion access section
-        ...
-    }
-
-* RAII in Go: defer
-
-The `defer` statement:
-
-- schedules a function call at the end of the current function
-
-- stacks all deferred calls - last in first out
-
-    var m sync.Mutex
-
-    func writeToFile(msg string) error {
-        m.Lock()
-        defer m.Unlock()
-
-        // mutual exclusion access section
-    }
-
-* Garbage collection
-
-Go is a garbage collected language
-
-But it's easy to limit heap allocations
-
-- many values are allocated on the stack
-
-- object pools: [[sync.Pool][http://golang.org/pkg/sync/#Pool]]
-
-- contiguous area of memory
-
-.play go4cpp/sizes.go /type/,
-
-* More about garbage collection
-
-Trusted in production.
-
-Brad Fitzpatrick's talk on migrating dl.google.com from C++ to Go:
-
-- [[https://talks.golang.org/2013/oscon-dl.slide#1][dl.google.com: Powered by Go]]
-
-Current state and road plan:
-
-- [[http://golang.org/s/go14gc][golang.org/s/go14gc]]
-
-* Inheritance vs Composition
-
-* Inheritance vs Composition
-
-- Inheritance breaks encapsulation
-
-- Composition causes boilerplate to proxy all methods
-
-Example:
-
-    type Engine struct{}
-
-    func (e Engine) Start() { ... }
-    func (e Engine) Stop()  { ... }
-
-We want `Car` to be able to `Start` and `Stop` too.
-
-More detail in my talk [[http://talks.golang.org/2014/go4java.slide#32][Go for Javaneros]]
-
-* Struct embedding
-
-Composition + Proxy of selectors
-
-.play go4cpp/embedding.go /type/,
-
-* Struct embedding and the diamond problem
-
-What if two embedded fields have the same type?
-
-.play go4cpp/diamond.go /type/,
-
-* Struct embedding
-
-It looks like inheritance but _it_is_not_inheritance_.
-
-It is composition.
-
-Used to share implementations between different types.
-
-What if want to share behavior instead?
-
-* Interfaces
-
-* Interfaces
-
-An interface is a set of methods.
-
-In Java (C++ doesn't have interfaces)
-
-    interface Switch {
-        void open();
-        void close();
-    }
-
-In Go:
-
-	type OpenCloser interface {
-		Open()
-		Close()
-	}
-
-* It's all about satisfaction
-
-Java interfaces are satisfied *explicitly*.
-
-C++ abstract classes need to be extended *explicitly*
-
-Go interfaces are satisfied *implicitly*.
-
-.image //upload.wikimedia.org/wikipedia/commons/thumb/2/29/Rolling_Stones_09.jpg/512px-Rolling_Stones_09.jpg _ 512
-
-.caption Picture by Gorupdebesanez [[http://creativecommons.org/licenses/by-sa/3.0][CC-BY-SA-3.0]], via [[http://commons.wikimedia.org/wiki/File%3ARolling_Stones_09.jpg][Wikimedia Commons]]
-
-* Go: implicit satisfaction
-
-_If_a_type_defines_all_the_methods_of_an_interface,_the_type_satisfies_that_interface._
-
-Benefits:
-
-- fewer dependencies
-- no type hierarchy
-- organic composition
-
-* Structural subtyping
-
-Better than duck typing. Verified at compile time.
-
-.image go4cpp/duck.jpg 500 500
-
-* FuncDraw: an example on interfaces
-
-.image go4cpp/funcdraw.png 500 700
-
-* FuncDraw: package parser
-
-Package `parse` provides a parser of strings into functions.
-
-	func Parse(text string) (*Func, error) { ... }
-
-`Func` is a struct type, with an `Eval` method.
-
-	type Func struct { ... }
-
-	func (p *Func) Eval(x float64) float64 { ... }
-
-* FuncDraw: package draw
-
-Package draw generates images given a function.
-
-	func Draw(f *parser.Func) image.Image {
-		for x := start; x < end; x += inc {
-			y := f.Eval(x)
-			...
-		}
-	}
-
-`draw` depends on `parser`, which makes testing hard.
-
-* Breaking dependencies
-
-Let's use an interface instead
-
-	type Evaluable interface {
-		Eval(float64) float64
-	}
-
-	func Draw(f Evaluable) image.Image image.Image {
-		for x := start; x < end; x += inc {
-			y := f.Eval(x)
-			...
-		}
-	}
-
-* Advanced interfaces and composition
-
-* Struct embedding of interfaces
-
-Embedding an interface:
-
-- more types can be used
-- limits what is added to the embedding type
-
-Given:
-
-    type Person struct {
-        First string
-        Last  string
-        Age   int
-    }
-
-`Employee` exposes the `Age` of `Person`
-
-    type Employee struct {
-        Person
-    }
-
-    e := Employee{Person{"John", "Doe", 49}}
-
-* Choosing what to proxy
-
-But we could hide it by choosing an interface:
-
-    type Employee struct {
-        Namer
-    }
-
-    type Namer interface {
-        Name() string
-    }
-
-And we need to make `Person` satisfy `Namer`
-
-    func (e Person) Name() string { return e.First + e.Last }
-
-And the rest of the code still works:
-
-    e := Employee{Person{"John", "Doe", 49}}
-
-* Easy mocking of interfaces
-
-Given this function:
-
-.code go4cpp/mock.go /func/,/^}/
-
-How would you test it?
-
-* Easy mocking of interfaces
-
-`net.Conn` is an interface defined in the `net` package of the standard library.
-
-    type Conn interface {
-        Read(b []byte) (n int, err error)
-        Write(b []byte) (n int, err error)
-        Close() error
-        LocalAddr() Addr
-        RemoteAddr() Addr
-        SetDeadline(t time.Time) error
-        SetReadDeadline(t time.Time) error
-        SetWriteDeadline(t time.Time) error
-    }
-
-We need a fake `net.Conn`!
-
-* One solution
-
-We could define a new type that satisfies `net.Conn`
-
-    type fakeConn struct {}
-
-    func (c fakeConn) Read(b []byte) (n int, err error) {...}
-    func (c fakeConn) Write(b []byte) (n int, err error) {...}
-    func (c fakeConn) Close() error {...}
-    ...
-
-But, is there a better way?
-
-* The better way
-
-.code go4cpp/mock.go /type fakeConn/,/end_fake/
-
-And our test can look like:
-
-.play go4cpp/mock.go /func main/,
-
-* Concurrency
-
-* Concurrency
-
-It is part of the language, not a library.
-
-Based on three concepts:
-
-- goroutines: lightweight threads
-- channels: typed pipes used to communicate and synchronize between goroutines
-- select: control structure to coordinate concurrent operations
-
-.image go4cpp/funnelin.jpg 300 700
-
-* Sleep and talk
-
-.code go4cpp/conc1.go /sleepAndTalk/,/^}/
-
-We want a message per second.
-
-.play go4cpp/conc1.go /func main/,/^}/
-
-What if we started all the `sleepAndTalk` concurrently?
-
-Just add `go`!
-
-* Concurrent sleep and talk
-
-.play go4cpp/conc2.go /func main/,/^}/
-
-That was fast ...
-
-When the `main` goroutine ends, the program ends.
-
-* Concurrent sleep and talk with more sleeping
-
-.play go4cpp/conc3.go /func main/,/^}/
-
-But synchronizing with `Sleep` is a bad idea.
-
-* Communicating through channels
-
-`sleepAndTalk` sends the string into the channel instead of printing it.
-
-.code go4cpp/chan.go /sleepAndTalk/,/^}/
-
-We create the channel and pass it to `sleepAndTalk`, then wait for the values to be sent.
-
-.play go4cpp/chan.go /func main/,/^}/
-
-* Aside: a web server
-
-A production ready web server.
-
-.play go4cpp/webserver.go
-
-* Let's count on the web
-
-Why is this wrong?
-
-.play go4cpp/badcounter.go /nextID/,
-
-* Let's count on the web correctly
-
-We receive the next id from a channel.
-
-.code go4cpp/goodcounter.go /nextID/,/^}/
-
-We need to send ids into the channel.
-
-.code go4cpp/goodcounter.go /counter/,/^}/
-
-* Let's count on the web correctly
-
-And we need to do both at the same time.
-
-.play go4cpp/goodcounter.go /func main/,/^}/
-
-* Let's fight!
-
-`select` allows us to choose among multiple channel operations.
-
-.play go4cpp/battle.go /battle/,/^}/
-
-Go - [[http://localhost:8080/fight?usr=go]]
-C++ - [[http://localhost:8080/fight?usr=cpp]]
-
-* Chain of gophers
-
-.image go4cpp/chain.jpg
-
-Ok, I'm just bragging here
-
-* Chain of gophers
-
-.play go4cpp/goroutines.go /func f/,
-
-* Concurrency is very powerful
-
-And there's lots to learn!
-
-- [[http://talks.golang.org/2012/concurrency.slide#1][Go Concurrency Patterns]], by Rob Pike
-- [[http://talks.golang.org/2013/advconc.slide#1][Advanced Concurrency Patterns]], by Sameer Ajmani
-- [[http://talks.golang.org/2012/waza.slide#1][Concurrency is not Parellelism]], by Rob Pike
-
-.image go4cpp/busy.jpg
-
-* In conclusion
-
-- Go is simple, consistent, readable, and fun.
-
-- All types are equal: methods on any type.
-
-- Implicit satisfaction of interfaces makes code easier to reuse.
-
-- Use composition instead of inheritance.
-
-- Struct embedding is a powerful tool.
-
-- Concurrency is awesome, and you should check it out.
-
-* What to do next?
-
-Learn Go on your browser with [[http://tour.golang.org][tour.golang.org]]
-
-Find more about Go on [[http://golang.org][golang.org]]
-
-Join the community at [[https://groups.google.com/forum/#!forum/Golang-nuts][golang-nuts]]
-
-Link to the slides [[http://talks.golang.org/2015/go4cpp.slide]]
diff --git a/content/2015/go4cpp/badcounter.go b/content/2015/go4cpp/badcounter.go
deleted file mode 100644
index 986d0a7..0000000
--- a/content/2015/go4cpp/badcounter.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"log"
-	"net/http"
-)
-
-var nextID int
-
-func handler(w http.ResponseWriter, q *http.Request) {
-	fmt.Fprintf(w, "<h1>You got %v<h1>", nextID)
-	nextID++
-}
-
-func main() {
-	http.HandleFunc("/", handler)
-	log.Fatal(http.ListenAndServe("localhost:8080", nil))
-}
diff --git a/content/2015/go4cpp/battle.go b/content/2015/go4cpp/battle.go
deleted file mode 100644
index fde600c..0000000
--- a/content/2015/go4cpp/battle.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"net/http"
-)
-
-var battle = make(chan string)
-
-func handler(w http.ResponseWriter, q *http.Request) {
-	select {
-	case battle <- q.FormValue("usr"):
-		fmt.Fprintf(w, "You won!")
-	case won := <-battle:
-		fmt.Fprintf(w, "You lost, %v is better than you", won)
-	}
-}
-
-func main() {
-	http.HandleFunc("/fight", handler)
-	http.ListenAndServe("localhost:8080", nil)
-}
diff --git a/content/2015/go4cpp/busy.jpg b/content/2015/go4cpp/busy.jpg
deleted file mode 100644
index 35ce9f4..0000000
--- a/content/2015/go4cpp/busy.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/go4cpp/chain.jpg b/content/2015/go4cpp/chain.jpg
deleted file mode 100644
index 87f8571..0000000
--- a/content/2015/go4cpp/chain.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/go4cpp/chan.go b/content/2015/go4cpp/chan.go
deleted file mode 100644
index 424fa73..0000000
--- a/content/2015/go4cpp/chan.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func sleepAndTalk(secs time.Duration, msg string, c chan string) {
-	time.Sleep(secs * time.Second)
-	c <- msg
-}
-
-func main() {
-	c := make(chan string)
-
-	go sleepAndTalk(0, "Hello", c)
-	go sleepAndTalk(1, "Gophers!", c)
-	go sleepAndTalk(2, "What's", c)
-	go sleepAndTalk(3, "up?", c)
-
-	for i := 0; i < 4; i++ {
-		fmt.Printf("%v ", <-c)
-	}
-}
diff --git a/content/2015/go4cpp/conc.jpg b/content/2015/go4cpp/conc.jpg
deleted file mode 100644
index 5813956..0000000
--- a/content/2015/go4cpp/conc.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/go4cpp/conc1.go b/content/2015/go4cpp/conc1.go
deleted file mode 100644
index b1a599d..0000000
--- a/content/2015/go4cpp/conc1.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func sleepAndTalk(t time.Duration, msg string) {
-	time.Sleep(t)
-	fmt.Printf("%v ", msg)
-}
-
-func main() {
-	sleepAndTalk(0*time.Second, "Hello")
-	sleepAndTalk(1*time.Second, "Gophers!")
-	sleepAndTalk(2*time.Second, "What's")
-	sleepAndTalk(3*time.Second, "up?")
-}
diff --git a/content/2015/go4cpp/conc2.go b/content/2015/go4cpp/conc2.go
deleted file mode 100644
index 129854e..0000000
--- a/content/2015/go4cpp/conc2.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func sleepAndTalk(t time.Duration, msg string) {
-	time.Sleep(t)
-	fmt.Printf("%v ", msg)
-}
-
-func main() {
-	go sleepAndTalk(0*time.Second, "Hello")
-	go sleepAndTalk(1*time.Second, "Gophers!")
-	go sleepAndTalk(2*time.Second, "What's")
-	go sleepAndTalk(3*time.Second, "up?")
-}
diff --git a/content/2015/go4cpp/conc3.go b/content/2015/go4cpp/conc3.go
deleted file mode 100644
index 1fe09cf..0000000
--- a/content/2015/go4cpp/conc3.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func sleepAndTalk(t time.Duration, msg string) {
-	time.Sleep(t)
-	fmt.Printf("%v ", msg)
-}
-
-func main() {
-	go sleepAndTalk(0*time.Second, "Hello")
-	go sleepAndTalk(1*time.Second, "Gophers!")
-	go sleepAndTalk(2*time.Second, "What's")
-	go sleepAndTalk(3*time.Second, "up?")
-	time.Sleep(4 * time.Second)
-}
diff --git a/content/2015/go4cpp/defer.go b/content/2015/go4cpp/defer.go
deleted file mode 100644
index 48b89af..0000000
--- a/content/2015/go4cpp/defer.go
+++ /dev/null
@@ -1,28 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"io"
-	"net"
-	"net/http"
-	"os"
-)
-
-func dumpURL(u, path string) error {
-	net.Dial()
-	res, err := http.Get(u)
-	if err != nil {
-		return fmt.Errorf("get %v: %v", u, err)
-	}
-	defer res.Body.Close()
-
-	f, err := os.Create(path)
-	if err != nil {
-		return fmt.Errorf("create %v: %v", path, err)
-	}
-	defer f.Close()
-
-	_, err := io.Copy(f, res.Body)
-}
diff --git a/content/2015/go4cpp/diamond.go b/content/2015/go4cpp/diamond.go
deleted file mode 100644
index 96855fe..0000000
--- a/content/2015/go4cpp/diamond.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-type Engine struct{}
-
-func (e Engine) Start() { fmt.Println("Engine started") }
-func (e Engine) Stop()  { fmt.Println("Engine stopped") }
-
-type Radio struct{}
-
-func (r Radio) Start() { fmt.Println("Radio started") }
-func (r Radio) Stop()  { fmt.Println("Radio stopped") }
-
-type Car struct {
-	Engine
-	Radio
-}
-
-func main() {
-	var c Car
-	c.Radio.Start()  // HL
-	c.Engine.Start() // HL
-}
diff --git a/content/2015/go4cpp/duck.jpg b/content/2015/go4cpp/duck.jpg
deleted file mode 100644
index 344b31e..0000000
--- a/content/2015/go4cpp/duck.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/go4cpp/embedding.go b/content/2015/go4cpp/embedding.go
deleted file mode 100644
index efb9569..0000000
--- a/content/2015/go4cpp/embedding.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-type Engine struct{}
-
-func (e Engine) Start() {
-	fmt.Println("Engine started")
-}
-
-func (e Engine) Stop() {
-	fmt.Println("Engine stopped")
-}
-
-type Car struct {
-	Engine // Notice the lack of name // HL
-}
-
-func main() {
-	var c Car
-
-	c.Start()
-	c.Stop()
-}
diff --git a/content/2015/go4cpp/funcdraw.png b/content/2015/go4cpp/funcdraw.png
deleted file mode 100644
index 374ea2e..0000000
--- a/content/2015/go4cpp/funcdraw.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/go4cpp/funnelin.jpg b/content/2015/go4cpp/funnelin.jpg
deleted file mode 100644
index 2bf6873..0000000
--- a/content/2015/go4cpp/funnelin.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/go4cpp/goodcounter.go b/content/2015/go4cpp/goodcounter.go
deleted file mode 100644
index d2819ad..0000000
--- a/content/2015/go4cpp/goodcounter.go
+++ /dev/null
@@ -1,27 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"log"
-	"net/http"
-)
-
-var nextID = make(chan int)
-
-func handler(w http.ResponseWriter, q *http.Request) {
-	fmt.Fprintf(w, "<h1>You got %v<h1>", <-nextID)
-}
-
-func counter() {
-	for i := 0; ; i++ {
-		nextID <- i
-	}
-}
-
-func main() {
-	http.HandleFunc("/", handler)
-	go counter()
-	log.Fatal(http.ListenAndServe("localhost:8080", nil))
-}
diff --git a/content/2015/go4cpp/goroutines.go b/content/2015/go4cpp/goroutines.go
deleted file mode 100644
index cdcdb85..0000000
--- a/content/2015/go4cpp/goroutines.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func f(left, right chan int) {
-	left <- 1 + <-right
-}
-
-func main() {
-	start := time.Now()
-	const n = 1000
-	leftmost := make(chan int)
-
-	right := leftmost
-	left := leftmost
-	for i := 0; i < n; i++ {
-		right = make(chan int)
-		go f(left, right)
-		left = right
-	}
-
-	go func(c chan int) { c <- 0 }(right)
-
-	fmt.Println(<-leftmost, time.Since(start))
-}
diff --git a/content/2015/go4cpp/mock.go b/content/2015/go4cpp/mock.go
deleted file mode 100644
index 8182226..0000000
--- a/content/2015/go4cpp/mock.go
+++ /dev/null
@@ -1,50 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"io"
-	"log"
-	"net"
-	"strings"
-)
-
-func CheckPassword(c net.Conn) error {
-	// read a password from the connection
-	buf := make([]byte, 256)
-	n, err := c.Read(buf)
-	if err != nil {
-		return fmt.Errorf("read: %v", err)
-	}
-
-	// check it's correct
-	got := string(buf[:n])
-	if got != "password" {
-		return fmt.Errorf("wrong password")
-	}
-	return nil
-}
-
-type fakeConn struct {
-	net.Conn
-	r io.Reader
-}
-
-func (c fakeConn) Read(b []byte) (int, error) {
-	return c.r.Read(b)
-}
-
-// end_fake OMIT
-
-func main() {
-	c := fakeConn{
-		r: strings.NewReader("foo"),
-	}
-	err := CheckPassword(c)
-	if err == nil {
-		log.Println("expected error using wrong password")
-	} else {
-		log.Println("OK")
-	}
-}
diff --git a/content/2015/go4cpp/sizes.go b/content/2015/go4cpp/sizes.go
deleted file mode 100644
index b253921..0000000
--- a/content/2015/go4cpp/sizes.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"unsafe"
-)
-
-type Date struct {
-	Day   int
-	Month int
-	Year  int
-}
-
-func main() {
-	fmt.Printf("size of %T: %v\n", 0, unsafe.Sizeof(0))
-	fmt.Printf("size of %T: %v\n", Date{}, unsafe.Sizeof(Date{}))
-	fmt.Printf("size of %T: %v\n", [100]Date{}, unsafe.Sizeof([100]Date{}))
-}
diff --git a/content/2015/go4cpp/trends.png b/content/2015/go4cpp/trends.png
deleted file mode 100644
index 2abc0f0..0000000
--- a/content/2015/go4cpp/trends.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/go4cpp/webserver.go b/content/2015/go4cpp/webserver.go
deleted file mode 100644
index 8d5463c..0000000
--- a/content/2015/go4cpp/webserver.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"log"
-	"net/http"
-)
-
-func handler(w http.ResponseWriter, r *http.Request) { // HL
-	fmt.Fprintln(w, "hello")
-}
-
-func main() {
-	http.HandleFunc("/", handler) // HL
-	err := http.ListenAndServe("localhost:1234", nil)
-	if err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/content/2015/gofmt-cn.slide b/content/2015/gofmt-cn.slide
deleted file mode 100644
index e5eb064..0000000
--- a/content/2015/gofmt-cn.slide
+++ /dev/null
@@ -1,643 +0,0 @@
-## The Cultural Evolution of gofmt
-gofmt 的文化演变
-The Cultural Evolution of gofmt
-
-Robert Griesemer
-Google, Inc.
-gri@golang.org
-
-
-* gofmt
-
-## Go source code formatter
-- Go源代码格式化工具
-
-## Defines _de_facto_ Go formatting
-- 定义了“标准“格式
-
-## All submitted Go code must be formatted with `gofmt` in `golang.org` repos.
-- golang.org代码库中所有提交的Go代码都必须通过gofmt格式化过
-
-## Functionality available outside gofmt via `go/format` library.
-- 除了gofmt之外，相同功能可以通过go/format库获得
-
-## No knobs!
-- 不需要设置！
-
-## Original motivation
-* 初衷
-
-## Code reviews are software engineering best practice.
-- 代码审查是软件工程的最佳实践
-
-## Code reviews are informed by style guides, prescribe formatting.
-- 代码审查是基于代码规范和正规格式的
-# Google C++ style guide: ~65 pages (~15p on formatting)
-# Google C++的规范：～65页（～15页是关于格式）
-# Go spec: ~50 pages
-# Go的细则：50页
-
-## *Much*too*much*time*lost*on*reviewing*formatting*rather*than*code.*
-- *太多时间浪费在审查格式上而不是代码本身了*
-# Example: Formatting review time 10 min/day, 600 engineers => 100 manhours/day!
-# 例子：格式审查需要10分钟／天，600工程师＝>100人时／天
-
-## Yet it's the perfect job for a machine.
-- 但是这工作对机器来说是最好不过了的
-
-## Day 1 decision to write a pretty printer for Go.
-- 第一个决定就是要写一个好的格式美化器
-# informed by experience with Java and C++ code reviews at Google
-# 基于在Google的Java和C＋＋的代码审查经验
-
-## History
-* 历史
-
-## Pretty printers and code beautifiers existed since the early days of computing.
-- 格式美化器和代码美化工具在计算机发展的早期就已出现
-
-## Essential to produce readable Lisp code:
-- 对于产生可读的Lisp代码很重要的：
-
-	GRINDEF  (Bill Gosper, 1967)           第一个计算行长度
-
-## Many others:
-- 其他：
-
-	SOAP     (R. Scowen et al, 1969)       简化了晦涩的算法程序
-	NEATER2  (Ken Conrow, R. Smith, 1970)  PL／1格式器，作为（早期的）纠错工具
-	cb       (Unix Version 7, 1979)        C程序美化器
-	indent   (4.2 BSD, 1983)               缩进和格化化C代码
-	等等
-
-## More recently:
-- 最近的：
-
-	ClangFormat                            C/C++/Objective-C 格式器
-	Uncrustify                             C, C++, C#, ObjectiveC, D, Java, Pawn and VALA的美化器
-	等等
-
-
-## Reality check
-* 事实上
-
-## In 2007, nobody seemed to like source code formatters.
-- 在2007年，没人喜欢代码格式器
-
-## Exception: IDE-imposed formatting.
-- 例外：IDE强制的格式化
-
-## But: Many programmers don't use IDEs…
-- 但是：很多程序员不用IDE...
-
-## Problem: If automatic formatting feels too destructive, it is not used.
-- 问题：如果是格式化太具有毁坏性，那么就没有人会用
-
-## Missing insight: "good enough" uniform formatting style is better than having lots of different formats.
-- 被忽视的观点：“刚刚好“的，统一化的格式是好过于各种不同的格式的。
-
-## Value of style guide: Uniformity, not perfection.
-- 规范的价值在于：整齐划一，而不是完美
-
-
-## The problem with pretty printers
-* 好的格式美化器的问题
-
-## The more people think about their own formatting style, the more they get attached to it.
-- 当越多人思考他们自己的格式风格的时候，他们就变得更加固执于此了
-# religion
-# 宗教
-
-## Wrong conclusion: Automatic formatters must permit a lot of formatting options!
-- 错误的结论：自动格式器必须要有很多选项！
-
-## But: Formatters with too many options defeat the purpose.
-- 但是有很多选项的格式器其实违背他们的目的
-# e.g., indent
-# 比如说indent
-
-## Also: Very hard to do a good job.
-- 此外，支持很多选项是难的
-# combinatorial explosion of styles to test
-# 太多组合需要测试
-
-## Respecting user intent is key.
-- 尊重用户的想法是最关键的
-
-## Dealing with comments is hard.
-- 处理注释是很难的
-
-## Language may add extra complexity (e.g., C macros)
-- 语言本身也会增加很多额外的复杂度（比如，C的宏）
-
-
-## Formatting Go
-* 格式化Go
-
-## Keep it as simple as possible
-* 尽量保证其简单
-
-## Small language makes task much simpler.
-- 小的语言能让事情变得简单
-
-## Don't fret over line length control.
-- 不要为行长度烦恼
-
-## Instead, respect user: Consider line breaks in original source.
-- 相反的，尊重用户：考虑原有代码中的断行
-
-## Don't support any options.
-- 不要支持任何选项
-
-## Make it easy to use.
-- 使其使用傻瓜化
-
-## *One*formatting*style*to*rule*them*all!*
-*一个格化标准搞定所有！*
-
-
-## Basic structure of gofmt
-* gofmt的基本结构
-
-## Parsing of source code
-- 源代码的处理
-
-## Basic formatting
-- 基本的格式化
-
-## Enhancement: Handling of comments
-- 附加：注释的处理
-
-## Make it nice: Alignment of code and comments
-- 完善：代码和注释的对齐
-
-## But: No fancy general layout algorithms.
-- 但是，没有牛X的通用布局算法
-
-## Instead: Node-specific fine tuning.
-- 相反的：基于节点的精细优化
-
-
-## Parsing source code
-* 处理源代码
-
-## Use `go/scanner`, `go/parser`, and friends.
-- 使用`go/scanner`, `go/parser`及其相关的库
-
-## Result is an abstract syntax tree (`go/ast`) for each `.go` file.
-- 给每一个go文件生成一个抽象语法树
-# misnomer: AST is actually a concrete syntax tree
-# 用词不当：抽象语法树其实是一个具体语法树
-
-## Each syntactic construct has a corresponding AST node.
-- 每一个语法结构都有相应的AST节点
-
-	// Syntax of an if statement.
-	IfStmt = "if" [ SimpleStmt ";" ] Expression Block [ "else" ( IfStmt | Block ) ] .
-
-	// An IfStmt node represents an if statement.
-	IfStmt struct {
-		If   token.Pos // position of "if" keyword
-		Init Stmt      // initialization statement; or nil
-		Cond Expr      // condition
-		Body *BlockStmt
-		Else Stmt // else branch; or nil
-	}
-
-## AST nodes have (selected) position information.
-- AST节点有（选择性的）位置信息。
-
-
-## Basic formatting
-* 基本的格式化
-
-## Traverse AST and print nodes.
-- 遍历AST然后打印每个节点
-
-	case *ast.IfStmt:
-		p.print(token.IF)
-		p.controlClause(false, s.Init, s.Cond, nil)
-		p.block(s.Body, 1)
-		if s.Else != nil {
-			p.print(blank, token.ELSE, blank)
-			switch s.Else.(type) {
-			case *ast.BlockStmt, *ast.IfStmt:
-				p.stmt(s.Else, nextIsRBrace)
-			default:
-				p.print(token.LBRACE, indent, formfeed)
-				p.stmt(s.Else, true)
-				p.print(unindent, formfeed, token.RBRACE)
-			}
-		}
-
-## Printer (`p.print`) accepts a sequence of tokens, including position and white space information.
-- 打印器（`p.print`）接收包括位置和空格符等的一系列记号
-
-
-## Fine tuning
-* 细致的调节
-
-## Precedence-dependent spacing between operands.
-- 基于优先级安排操作数之间的空格.
-
-# implemented by rsc in gofmt
-
-## Improves readability of expressions.
-- 提高表达式的可读性.
-
-	x = a + b
-	x = a + b*c
-	if a+b <= d {
-	if a+b*c <= d {
-
-## Use position information to guide line break decisions.
-- 使用位置信息决定何时换行.
-
-## Various other heuristics.
-- 其他一些策略.
-
-
-## Handling of comments
-* 注释的处理
-
-## Comments can appear between any two tokens of a program.
-- 注释可以出现在程序的任何两个词汇之间.
-
-## In general, not obviously clear to which AST node a comment belongs.
-- 通常情况下，不能很明显的知道注释属于哪个 AST 节点.
-
-# In retrospect, a heuristic might have been better than the list of comments
-# we have now. See Lessons learned.
-
-## Comments often come in groups:
-- 注释经常是成组出现:
-
-	// A CommentGroup represents a sequence of comments
-	// with no other tokens and no empty lines between.
-	//
-	type CommentGroup struct {
-		List []*Comment // len(List) > 0
-	}
-
-## Grouped comments treated as a single larger comment.
-- 成组的注释被处理为一个大的注释.
-
-
-## Representation of comments in the AST
-* 注释在 AST 上的表达
-
-## Sequential list of comment groups attached to the ast.File node.
-- 注释组的连续列表被连接到 AST 的文件节点.
-
-# In retrospect this was not a good decision. It's general but puts burden on AST clients.
-
-## Additionally, comments that are identified as _doc_strings_ are attached to declaration nodes.
-- 另外，一些被标示为  _doc_strings_ 的注释被连接到声明节点.
-
-.image ./gofmt/comments.jpg 425 600
-
-
-## Formatting with comments
-* 格式化注释
-
-## Basic idea: Merge "token stream" with "comment stream" based on position information.
-- 基本的办法：基于位置信息合并词汇流和注释流.
-
-.image ./gofmt/merge.jpg 425 700
-
-
-## Devil is in the details
-* 魔鬼就在细节中
-
-# It's an entire hell of devils, really.
-
-## Estimate current position in "source code space".
-- 在源代码中估计当前的位置.
-
-## Compare current position with comment position to decide what's next.
-- 比较当前的位置和注释的位置去决定下一个是什么.
-
-## Token stream also contains "white space" tokens - comments must be properly interspersed!
-- 词汇也包含了空格词汇 - 注释必须被合理的分布!
-
-## Maintain buffer of unprinted white space, flush before next token, intersperse comments.
-- 维持一个未被打印的空格缓冲区，在下一个词汇之前输出，然后分布注释.
-
-## Various heuristics to get white space correct.
-- 多种策略得以正确地处理空格.
-
-## Lots of trial and error.
-- 很多次的尝试和错误.
-
-
-## Formatting individual comments
-* 格式化单独的注释
-
-## Distinguish between line and general comments.
-- 区分代码行和注释.
-
-## Try to properly indent multi-line general comments:
-- 努力对多行注释进行合理的缩进.
-
-	func f() {              func() {
-	 /*                             /*
-	  * foo                          * foo
-	  * bar         ==>              * bar
-	  * bal                          * bal
-	 */                              */
-	        if ...                   if  ...
-	}                       }
-
-## Doesn't always work well.
-- 但并不总是能够处理正确.
-
-## Want both: comments indented, and comment contents left alone. No good solution.
-- 想达到两个效果：注释能够缩进，注释的内容不进行处理。还没有好的解决办法.
-
-
-## Alignment
-* 对齐
-
-## Carefully chosen alignment can make code easier to read:
-- 仔细选择的对齐可以让代码更容易阅读.
-
-        var (                                 var (
-                x, y int = 2, 3 // foo                x, y int     = 2, 3 // foo
-                z float32 // bar         ==>          z    float32        // bar
-                s string // bal                       s    string         // bal
-        )                                     )
-
-## Painful to maintain manually (regular tabs don't do the job).
-- 很难进行手工维护  (制表符并不能够做到）.
-
-## Perfect job for a formatter.
-- 但是却非常适合使用格式化工具.
-
-
-## Elastic tabstops
-* 灵活的制表符宽度
-
-## Regular tabs (`\t`) advance writing position to fixed tab stops.
-通常的制表符把当前的写位置移动到下一个固定的位置.
-
-## Basic idea: Make tab stops _elastic_.
-基本的办法：让制表符宽度更加灵活.
-
-## A tab is used to indicate the _end_ of a text _cell_.
-- 制表符可以标示一个文本单元的结束位置.
-
-## A _column_block_ is a run of uninterrupted vertically adjacent cells.
-- 一个列块是一个连续的相邻的单元.
-
-## A column block is as wide as the widest piece of text in the cells.
-- 一个列块的宽度可以到达多个单元里最宽文本的宽度.
-
-## Proposed by Nick Gravgaard, 2006
-被 Nick Gravgaard 提出于2006
-
-.link http://nickgravgaard.com/elastic-tabstops/
-
-## Implemented by `text/tabwriter` package.
-实现在 `text/tabwriter` 包中.
-
-
-## Elastic tabstops illustrated
-* 灵活制表符宽度的展示
-
-.image ./gofmt/tabstops.jpg 500 700
-
-
-## Putting it all together (1)
-* 综合在一起 (1)
-
-## Parser generates AST.
-- 分析器生成 AST.
-
-## Printer prints AST recursively, uses tabs (`\t`) to indicate elastic tab spots.
-- 打印工具递归地打印AST，使用制表符去灵活的标示制表符的位置.
-
-## The resulting token, position, and whitespace stream is merged with the "stream" of comments.
-- 产生的词汇，位置和空格流会和注释流进行合并.
-
-## Tokens are expanded into strings; all text flows through a tabwriter.
-- 词汇会扩展为字符串，所有的文本流将会被制表符写入器处理.
-
-## Tabwriter replaces tabs with appropriate amount of blanks.
-- 制表符写入器会将制表符替换为合适数量的空格.
-
-## Works well for fixed-width fonts.
-对于固定宽度的字体，处理的很好.
-
-## Proportional fonts could be handled by an editor supporting elastic tab stops.
-比例大小的字体也可以被编辑器支持，如果这个编辑器可以支持灵活的制表符宽度.
-
-# go/printer can produce output containing elastic tab stops
-
-
-## Putting it all together (2)
-* 综合在一起 (2)
-
-.image ./gofmt/bigpic.jpg 550 800
-
-
-## The big picture
-* 从宏观上看
-
-.image ./gofmt/biggerpic.jpg 400 800
-
-
-## gofmt applications
-* gofmt 的应用
-
-## gofmt as source code transformer
-* gofmt 作为源代码变换工具
-
-## Go rewriter (Russ Cox), `gofmt`-r`
-- 改写 Go 的代码 (Russ Cox)， `gofmt`-r`
-
-	gofmt -w -r 'a[i:len(x)] -> a[i:]' *.go
-
-## Go simplifier, `gofmt`-s`
-- 简化 Go 的代码， `gofmt`-s`
-
-## API updater (Russ Cox), `go`fix`
-- 更新 API (Russ Cox), `go`fix`
-
-## Language changes (removal of semicolons, others)
-- 改变语言 （去掉分号，其它）
-
-## goimport
-- goimport (Brad Fitzpatrick)
-
-
-## Reactions
-* 大家的反应
-
-## The Go project mandates that all submitted code is gofmt-ed.
-- Go 项目要求所有提交的源代码都用 gofmt 的格式。
-
-## First, complaints: `gofmt` doesn't do _my_ style!
-- 一开始，大家都抱怨：`gofmt` 不知道怎样格式成我的风格！
-
-## Eventually, acquiescence: The Go Team really means it!
-- 慢慢地，大家不作声了：Go 项目组一定要用 gofmt！
-
-## Finally, insight: gofmt's style is _nobody's_ favorite, yet `gofmt` is everybody's favorite.
-- 最后，大家看清了：gofmt 不是任何人的风格，但所有人都喜欢 gofmt 的风格。
-
-## Now, praise: `gofmt` is one of the many reasons why people like Go.
-- 现在，大家都赞扬： `gofmt` 是大家喜欢 Go 的一个原因。
-
-## Formatting has become a non-issue.
-现在，格式已经不是一个问题。
-
-
-## Others are starting to take note
-* 其它语言也在向我们学习
-
-## Formatter for Google's BUILD files (Russ Cox).
-- Google 的 BUILD 文件现在也有格式器  (Russ Cox).
-
-## Java formatter
-- Java 格式器
-
-## Clang formatter
-- Clang 格式器
-
-- Dartfmt
-.link https://www.dartlang.org/tools/dartfmt/
-
-## etc.
-- 等等
-
-## Automatic source code formatting is becoming a requirement for any kind of language.
-现在，任何语言都被要求带有自动的源代码格式器。
-
-
-## Conclusions
-* 总结
-
-## Evolution in programming culture
-* 编程文化的演变
-
-## `gofmt` is significant selling point for Go
-- `gomft` 是 Go 语言的一个重要的卖点
-
-## Insight is spreading that uniform "good enough" formatting is hugely beneficial.
-- 大家渐渐达成共识：一致的“足够好“的格式很有好处
-
-# no need for detailed formatting style guides
-# 无需详细的格式风格手册
-
-# no time wasted on formatting
-# 无需在格式上浪费时间
-
-# improved readability
-# 代码的可读性提高了
-
-# smaller diffs when changing code
-# 改代码时代码的变动变小了
-
-## Source code manipulation at AST-level enables a new category of tools.
-- 这种在 AST-级别上的源代码操作带动了一系列的新的工具。
-
-# simple to complex automatic source code transformations
-# 各种各样的，从简单到复杂的，自动的源代码变换
-
-# various auto-completion mechanisms (e.g. goimport)
-# 各种自动完成的机制 （例如 goimport）
-
-# enables syntax evolution
-# 使得语法可以慢慢进化
-
-## Others are taking note: Programming culture is slowly evolving.
-- 其它语言也在向我们学习：编程的文化在慢慢演变。
-
-
-## Lessons learned: Application
-* 至今的收获：应用程序
-
-## Basic source code formatting is great initial goal.
-- 一开始，基本的源代码格式化是一个很好的目标。
-
-## True power lies in source code transformation tools.
-- 但是，真正的用处在于源代码的变换工具。
-
-## Avoid formatting options.
-- 不要给大家有选择格式的机会。
-
-## Keep it simple.
-- 越简单越好。
-
-## Want:
-我们想要：
-
-## Go parser: source code => syntax tree
-- Go 分析器：源代码 => 语法树
-
-## Make it easy to manipulate syntax tree in any way possible.
-- 尽可能让语法树的操作变得容易。
-
-## Go printer: syntax tree => source code
-- Go 打印器：语法树 => 源代码
-
-
-## Lessons learned: Implementation
-* 至今的收获：实现过程
-
-## Lots of trial and error in initial version.
-- 最初的版本有很多的尝试和失败。
-
-## Single biggest mistake: comments not attached to AST nodes.
-- 最大的错误：注释没有连到 AST-节点上.
-
-## => Current design makes it extremely hard to manipulate AST
-## and maintain comments in right places.
-=> 现在的设计使得操作 AST 和保持注释在正确的地方十分困难。
-
-## Cludge: ast.CommentMap
-- 很混乱：ast.CommentMap
-
-## Want:
-我们想要：
-
-## Easy to manipulate syntax tree with comments attached.
-- 容易操作语法树，连带注释。
-
-
-## Going forward
-* 将来的计划
-
-## Design of new syntax tree in the works (still experimental).
-- 正在设计新的语法树（仍在试验阶段）
-
-## Syntax tree simpler and easier to manipulate (e.g., declaration nodes)
-- 语法树操作起来更加简单和容易（例如：声明结点）
-
-## Faster and easier to use parser and printer.
-- 更快和更容易地使用分析器和打印器。
-
-## Make it robust and fast. Don't do anything else.
-- 让工具用起来可靠并且快。其它一概不理。
-
-# no semantic analyses in parser
-# 分析器不作语义分析。
-
-# no options in printer
-# 打印器里没有任何选择。
-
-
-# ----------------------------------------------------------------------------------
-#
-#	Implementation size
-#
-#	go/token           849 lines    lexical tokes, source positions
-#	go/scanner         884 lines    tokenization
-#	go/parser         2689 lines    parsing
-#	go/ast            2966 lines    abstract syntax tree, tree traversal
-#	go/printer        2948 lines    actual AST printer
-#	go/format          115 lines    helper library to make printer easy to use
-#	internal/format    161 lines
-#	cmd/gofmt          801 lines    gofmt tool
-#	----------------------------
-#	                 11413 lines
diff --git a/content/2015/gofmt-en.slide b/content/2015/gofmt-en.slide
deleted file mode 100644
index 3efd228..0000000
--- a/content/2015/gofmt-en.slide
+++ /dev/null
@@ -1,461 +0,0 @@
-The Cultural Evolution of gofmt
-gofmt 的文化演变
-
-Robert Griesemer
-Google, Inc.
-gri@golang.org
-
-
-* gofmt
-
-- Go source code formatter
-
-- Defines _de_facto_ Go formatting
-
-- All submitted Go code must be formatted with `gofmt` in `golang.org` repos.
-
-- Functionality available outside gofmt via `go/format` library.
-
-- No knobs!
-
-
-* Original motivation
-
-- Code reviews are software engineering best practice.
-
-- Code reviews are informed by style guides, prescribe formatting.
-# Google C++ style guide: ~65 pages (~15p on formatting)
-# Go spec: ~50 pages
-
-- *Much*too*much*time*lost*on*reviewing*formatting*rather*than*code.*
-# Example: Formatting review time 10 min/day, 600 engineers => 100 manhours/day!
-
-- Yet it's the perfect job for a machine.
-
-- Day 1 decision to write a pretty printer for Go.
-# informed by experience with Java and C++ code reviews at Google
-
-
-* History
-
-- Pretty printers and code beautifiers existed since the early days of computing.
-
-- Essential to produce readable Lisp code:
-	GRINDEF  (Bill Gosper, 1967)           first to measure line length
-
-- Many others:
-	SOAP     (R. Scowen et al, 1969)       Simplifies Obscure Algol Programs
-	NEATER2  (Ken Conrow, R. Smith, 1970)  PL/1 reformatter, use as (early) error detection tool
-	cb       (Unix Version 7, 1979)        C program beautifier
-	indent   (4.2 BSD, 1983)               indent and format C source code
-	etc.
-
-- More recently:
-	ClangFormat                            C/C++/Objective-C formatter
-	Uncrustify                             beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA
-	etc.
-
-
-* Reality check
-
-- In 2007, nobody seemed to like source code formatters.
-
-- Exception: IDE-imposed formatting.
-
-- But: Many programmers don't use IDEs...
-
-- Problem: If automatic formatting feels too destructive, it is not used.
-
-- Missing insight: "good enough" uniform formatting style is better than having lots of different formats.
-
-- Value of style guide: Uniformity, not perfection.
-
-
-* The problem with pretty printers
-
-- The more people think about their own formatting style, the more they get attached to it.
-# religion
-
-- Wrong conclusion: Automatic formatters must permit a lot of formatting options!
-
-- But: Formatters with too many options defeat the purpose.
-# e.g., indent
-
-- Also: Very hard to do a good job.
-# combinatorial explosion of styles to test
-
-- Respecting user intent is key.
-
-- Dealing with comments is hard.
-
-- Language may add extra complexity (e.g., C macros)
-
-
-* Formatting Go
-
-* Keep it as simple as possible
-
-- Small language makes task much simpler.
-
-- Don't fret over line length control.
-
-- Instead, respect user: Consider line breaks in original source.
-
-- Don't support any options.
-
-- Make it easy to use.
-
-*One*formatting*style*to*rule*them*all!*
-
-
-* Basic structure of gofmt
-
-- Parsing of source code
-
-- Basic formatting
-
-- Enhancement: Handling of comments
-
-- Make it nice: Alignment of code and comments
-
-- But: No fancy general layout algorithms.
-
-- Instead: Node-specific fine tuning.
-
-
-* Parsing source code
-
-- Use `go/scanner`, `go/parser`, and friends.
-
-- Result is an abstract syntax tree (`go/ast`) for each `.go` file.
-# misnomer: AST is actually a concrete syntax tree
-
-- Each syntactic construct has a corresponding AST node.
-
-	// Syntax of an if statement.
-	IfStmt = "if" [ SimpleStmt ";" ] Expression Block [ "else" ( IfStmt | Block ) ] .
-
-	// An IfStmt node represents an if statement.
-	IfStmt struct {
-		If   token.Pos // position of "if" keyword
-		Init Stmt      // initialization statement; or nil
-		Cond Expr      // condition
-		Body *BlockStmt
-		Else Stmt // else branch; or nil
-	}
-
-- AST nodes have (selected) position information.
-
-
-* Basic formatting
-
-- Traverse AST and print nodes.
-
-	case *ast.IfStmt:
-		p.print(token.IF)
-		p.controlClause(false, s.Init, s.Cond, nil)
-		p.block(s.Body, 1)
-		if s.Else != nil {
-			p.print(blank, token.ELSE, blank)
-			switch s.Else.(type) {
-			case *ast.BlockStmt, *ast.IfStmt:
-				p.stmt(s.Else, nextIsRBrace)
-			default:
-				p.print(token.LBRACE, indent, formfeed)
-				p.stmt(s.Else, true)
-				p.print(unindent, formfeed, token.RBRACE)
-			}
-		}
-
-- Printer (`p.print`) accepts a sequence of tokens, including position and white space information.
-
-
-* Fine tuning
-
-- Precedence-dependent spacing between operands.
-# implemented by rsc in gofmt
-
-- Improves readability of expressions.
-
-	x = a + b
-	x = a + b*c
-	if a+b <= d {
-	if a+b*c <= d {
-
-- Use position information to guide line break decisions.
-
-- Various other heuristics.
-
-
-* Handling of comments
-
-- Comments can appear between any two tokens of a program.
-
-- In general, not obviously clear to which AST node a comment belongs.
-# In retrospect, a heuristic might have been better than the list of comments
-# we have now. See Lessons learned.
-
-- Comments often come in groups:
-
-	// A CommentGroup represents a sequence of comments
-	// with no other tokens and no empty lines between.
-	//
-	type CommentGroup struct {
-		List []*Comment // len(List) > 0
-	}
-
-- Grouped comments treated as a single larger comment.
-
-
-* Representation of comments in the AST
-
-- Sequential list of comment groups attached to the ast.File node.
-# In retrospect this was not a good decision. It's general but puts burden on AST clients.
-
-- Additionally, comments that are identified as _doc_strings_ are attached to declaration nodes.
-
-.image ./gofmt/comments.jpg 425 600
-
-
-* Formatting with comments
-
-- Basic idea: Merge "token stream" with "comment stream" based on position information.
-
-.image ./gofmt/merge.jpg 425 700
-
-
-* Devil is in the details
-# It's an entire hell of devils, really.
-
-- Estimate current position in "source code space".
-
-- Compare current position with comment position to decide what's next.
-
-- Token stream also contains "white space" tokens - comments must be properly interspersed!
-
-- Maintain buffer of unprinted white space, flush before next token, intersperse comments.
-
-- Various heuristics to get white space correct.
-
-- Lots of trial and error.
-
-
-* Formatting individual comments
-
-- Distinguish between line and general comments.
-
-- Try to properly indent multi-line general comments:
-
-	func f() {              func() {
-	 /*                             /*
-	  * foo                          * foo
-	  * bar         ==>              * bar
-	  * bal                          * bal
-	 */                              */
-	        if ...                   if  ...
-	}                       }
-
-- Doesn't always work well.
-
-- Want both: comments indented, and comment contents left alone. No good solution.
-
-
-* Alignment
-
-- Carefully chosen alignment can make code easier to read:
-
-        var (                                 var (
-                x, y int = 2, 3 // foo                x, y int     = 2, 3 // foo
-                z float32 // bar         ==>          z    float32        // bar
-                s string // bal                       s    string         // bal
-        )                                     )
-
-- Painful to maintain manually (regular tabs don't do the job).
-
-- Perfect job for a formatter.
-
-
-* Elastic tabstops
-
-Regular tabs (`\t`) advance writing position to fixed tab stops.
-
-Basic idea: Make tab stops _elastic_.
-
-- A tab is used to indicate the _end_ of a text _cell_.
-
-- A _column_block_ is a run of uninterrupted vertically adjacent cells.
-
-- A column block is as wide as the widest piece of text in the cells.
-
-Proposed by Nick Gravgaard, 2006
-
-.link http://nickgravgaard.com/elastic-tabstops/
-
-Implemented by `text/tabwriter` package.
-
-
-* Elastic tabstops illustrated
-
-.image ./gofmt/tabstops.jpg 500 700
-
-
-* Putting it all together (1)
-
-- Parser generates AST.
-
-- Printer prints AST recursively, uses tabs (`\t`) to indicate elastic tab spots.
-
-- The resulting token, position, and whitespace stream is merged with the "stream" of comments.
-
-- Tokens are expanded into strings; all text flows through a tabwriter.
-
-- Tabwriter replaces tabs with appropriate amount of blanks.
-
-Works well for fixed-width fonts.
-
-Proportional fonts could be handled by an editor supporting elastic tab stops.
-# go/printer can produce output containing elastic tab stops
-
-
-* Putting it all together (2)
-
-.image ./gofmt/bigpic.jpg 550 800
-
-
-* The big picture
-
-.image ./gofmt/biggerpic.jpg 400 800
-
-
-* gofmt applications
-
-* gofmt as source code transformer
-
-- Go rewriter (Russ Cox), `gofmt`-r`
-
-	gofmt -w -r 'a[i:len(x)] -> a[i:]' *.go
-
-- Go simplifier, `gofmt`-s`
-
-- API updater (Russ Cox), `go`fix`
-
-- Language changes (removal of semicolons, others)
-
-- goimport (Brad Fitzpatrick)
-
-
-* Reactions
-
-- The Go project mandates that all submitted code is gofmt-ed.
-
-- First, complaints: `gofmt` doesn't do _my_ style!
-
-- Eventually, acquiescence: The Go Team really means it!
-
-- Finally, insight: gofmt's style is _nobody's_ favorite, yet
-`gofmt` is everybody's favorite.
-
-- Now, praise: `gofmt` is one of the many reasons why people like Go.
-
-Formatting has become a non-issue.
-
-
-* Others are starting to take note
-
-- Formatter for Google's BUILD files (Russ Cox).
-
-- Java formatter
-
-- Clang formatter
-
-- Dartfmt
-.link https://www.dartlang.org/tools/dartfmt/
-
-- etc.
-
-Automatic source code formatting is becoming a requirement
-for any kind of language.
-
-
-* Conclusions
-
-* Evolution in programming culture
-
-- `gofmt` is significant selling point for Go
-
-- Insight is spreading that uniform "good enough" formatting is hugely beneficial.
-# no need for detailed formatting style guides
-# no time wasted on formatting
-# improved readability
-# smaller diffs when changing code
-
-- Source code manipulation at AST-level enables a new category of tools.
-# simple to complex automatic source code transformations
-# various auto-completion mechanisms (e.g. goimport)
-# enables syntax evolution
-
-- Others are taking note: Programming culture is slowly evolving.
-
-
-* Lessons learned: Application
-
-- Basic source code formatting is great initial goal.
-
-- True power lies in source code transformation tools.
-
-- Avoid formatting options.
-
-- Keep it simple.
-
-Want:
-
-- Go parser: source code => syntax tree
-
-- Make it easy to manipulate syntax tree in any way possible.
-
-- Go printer: syntax tree => source code
-
-
-* Lessons learned: Implementation
-
-- Lots of trial and error in initial version.
-
-- Single biggest mistake: comments not attached to AST nodes.
-
-=> Current design makes it extremely hard to manipulate AST
-and maintain comments in right places.
-
-- Cludge: ast.CommentMap
-
-Want:
-
-- Easy to manipulate syntax tree with comments attached.
-
-
-* Going forward
-
-- Design of new syntax tree in the works (still experimental).
-
-- Syntax tree simpler and easier to manipulate (e.g., declaration nodes)
-
-- Faster and easier to use parser and printer.
-
-- Make it robust and fast. Don't do anything else.
-# no semantic analyses in parser
-# no options in printer
-
-
-# ----------------------------------------------------------------------------------
-#
-#	Implementation size
-#
-#	go/token           849 lines    lexical tokes, source positions
-#	go/scanner         884 lines    tokenization
-#	go/parser         2689 lines    parsing
-#	go/ast            2966 lines    abstract syntax tree, tree traversal
-#	go/printer        2948 lines    actual AST printer
-#	go/format          115 lines    helper library to make printer easy to use
-#	internal/format    161 lines
-#	cmd/gofmt          801 lines    gofmt tool
-#	----------------------------
-#	                 11413 lines
diff --git a/content/2015/gofmt/biggerpic.jpg b/content/2015/gofmt/biggerpic.jpg
deleted file mode 100644
index 7051022..0000000
--- a/content/2015/gofmt/biggerpic.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/gofmt/bigpic.jpg b/content/2015/gofmt/bigpic.jpg
deleted file mode 100644
index 584f4c0..0000000
--- a/content/2015/gofmt/bigpic.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/gofmt/comments.jpg b/content/2015/gofmt/comments.jpg
deleted file mode 100644
index b8c48de..0000000
--- a/content/2015/gofmt/comments.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/gofmt/merge.jpg b/content/2015/gofmt/merge.jpg
deleted file mode 100644
index 128e833..0000000
--- a/content/2015/gofmt/merge.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/gofmt/tabstops.jpg b/content/2015/gofmt/tabstops.jpg
deleted file mode 100644
index e751664..0000000
--- a/content/2015/gofmt/tabstops.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/gogo.slide b/content/2015/gogo.slide
deleted file mode 100644
index 5fea198..0000000
--- a/content/2015/gogo.slide
+++ /dev/null
@@ -1,306 +0,0 @@
-Go in Go
-Gopherfest
-26 May 2015
-
-Rob Pike
-Google
-r@golang.org
-http://golang.org/
-
-* Go in Go
-
-As of the 1.5 release of Go, the entire system is now written in Go.
-(And a little assembler.)
-
-C is gone.
-
-Side note: `gccgo` is still going strong.
-This talk is about the original compiler, `gc`.
-
-* Why was it in C?
-
-Bootstrapping.
-
-(Also Go was not intended primarily as a compiler implementation language.)
-
-* Why move the compiler to Go?
-
-Not for validation; we have more pragmatic motives:
-
-- Go is easier to write (correctly) than C.
-- Go is easier to debug than C (even absent a debugger).
-- Go is the only language you'd need to know; encourages contributions.
-- Go has better modularity, tooling, testing, profiling, ...
-- Go makes parallel execution trivial.
-
-Already seeing benefits, and it's early yet.
-
-Design document: [[http://golang.org/s/go13compiler]]
-
-* Why move the runtime to Go?
-
-We had our own C compiler just to compile the runtime.
-We needed a compiler with the same ABI as Go, such as segmented stacks.
-
-Switching it to Go means we can get rid of the C compiler.
-That's more important than converting the compiler to Go.
-
-(All the reasons for moving the compiler apply to the runtime as well.)
-
-Now only one language in the runtime; easier integration, stack management, etc.
-
-
-As always, simplicity is the overriding consideration.
-
-* History
-
-Why do we have our own tool chain at all?
-Our own ABI?
-Our own file formats?
-
-History, familiarity, and ease of moving forward. And speed.
-
-Many of Go's big changes would be much harder with GCC or LLVM.
-
-.link https://news.ycombinator.com/item?id=8817990
-
-* Big changes
-
-All made easier by owning the tools and/or moving to Go:
-
-- linker rearchitecture
-- new garbage collector
-- stack maps
-- contiguous stacks
-- write barriers
-
-The last three are all but impossible in C:
-
-- C is not type safe; don't always know what's a pointer
-- aliasing of stack slots caused by optimization
-
-(`Gccgo` will have segmented stacks and imprecise (stack) collection for a while yet.)
-
-* Goroutine stacks
-
-- Until 1.2: Stacks were segmented.
-- 1.3: Stacks were contiguous unless executing C code (runtime).
-- 1.4: Stacks made contiguous by restricting C to system stack.
-- 1.5: Stacks made contiguous by eliminating C.
-
-These were each huge steps, made quickly (led by `khr@`).
-
-* Converting the runtime
-
-Mostly done by hand with machine assistance.
-
-Challenge to implement the runtime in a safe language.
-Some use of `unsafe` to deal with pointers as raw bits in the GC, for instance.
-But less than you might think.
-
-The translator (next sections) helped for some of the translation.
-
-* Converting the compiler
-
-Why translate it, not write it from scratch? Correctness, testing.
-
-Steps:
-
-- Write a custom translator from C to Go.
-- Run the translator, iterate until success.
-- Measure success by bit-identical output.
-- Clean up the code by hand and by machine.
-- Turn it from C-in-Go to idiomatic Go (still happening).
-
-* Translator
-
-First output was C line-by-line translated to (bad!) Go.
-Tool to do this written by `rsc@` (talked about at GopherCon 2014).
-Custom written for this job, not a general C-to-Go translator.
-
-Steps:
-
-- Parse C code using new simple C parser (`yacc`)
-- Remove or rewrite C-isms such as `*p++` as an expression
-- Walk the C parse tree, print the C code in Go syntax
-- Compile the output
-- Run, compare generated code
-- Repeat
-
-The `Yacc` grammar was translated by sam-powered hands.
-
-* Translator configuration
-
-Aided by hand-written rewrite rules, such as:
-
-- this field is a bool
-- this function returns a bool
-
-Also diff-like rewrites for things such as using the standard library:
-
-	diff {
-	-	g.Rpo = obj.Calloc(g.Num*sizeof(g.Rpo[0]), 1).([]*Flow)
-	-	idom = obj.Calloc(g.Num*sizeof(idom[0]), 1).([]int32)
-	-	if g.Rpo == nil || idom == nil {
-	-		Fatal("out of memory")
-	-	}
-	+	g.Rpo = make([]*Flow, g.Num)
-	+	idom = make([]int32, g.Num)
-	}
-
-* Another example
-
-This one due to semantic difference between the languages.
-
-	diff {
-	-	if nreg == 64 {
-	-		mask = ^0 // can't rely on C to shift by 64
-	-	} else {
-	-		mask = (1 << uint(nreg)) - 1
-	-	}
-	+	mask = (1 << uint(nreg)) - 1
-	}
-
-* Grind
-
-Once in Go, new tool `grind` deployed (by `rsc@`):
-
-- parses Go, type checks
-- records a list of edits to perform: "insert this text at this position"
-- at end, applies edits to source (hard to edit AST).
-
-Changes guided by profiling and other analysis:
-
-- removes dead code
-- removes gotos
-- removes unused labels, needless indirections, etc.
-- moves `var` declarations nearer to first use
-
-.link http://rsc.io/grind
-
-* Performance problems
-
-Output from translator was poor Go, and ran about 10X slower.
-Most of that slowdown has been recovered.
-
-Problems with C to Go:
-
-- C patterns can be poor Go; e.g.: complex `for` loops
-- C stack variables never escape; Go compiler isn't as sure
-- interfaces such as `fmt.Stringer` vs. C's `varargs`
-- no `unions` in Go, so use `structs` instead: bloat
-- variable declarations in wrong place
-
-C compiler didn't free much memory, but Go has a GC.
-Adds CPU and memory overhead.
-
-* Performance fixes
-
-Profile! (Never done before!)
-
-- move `vars` closer to first use
-- split `vars` into multiple
-- replace code in the compiler with code in the library: e.g. `math/big`
-- use interface or other tricks to combine `struct` fields
-- better escape analysis (`drchase@`).
-- hand tuning code and data layout
-
-Use tools like `grind`, `gofmt` `-r` and `eg` for much of this.
-
-Removing interface argument from a debugging print library got 15% overall!
-
-More remains to be done.
-
-* Technical benefits
-
-Other benefits of the conversion:
-
-Garbage collection means no more worry about introducing a dangling pointer.
-
-Chance to clean up the back ends.
-
-Unified `386` and `amd64` architectures throughout the tool chain.
-
-New architectures are easier to add.
-
-Unified the tools: now one compiler, one assembler, one linker.
-
-* Compiler
-
-`GOOS=YYY` `GOARCH=XXX` `go` `tool` `compile`
-
-One compiler; no more `6g`, `8g` etc.
-
-About 50K lines of portable code.
-Even the registerizer is portable now; architectures well characterized.
-Non-portable: Peepholing, details like registers bound to instructions.
-Typically around 10% of the portable LOC.
-
-* Assembler
-
-`GOOS=YYY` `GOARCH=XXX` `go` `tool` `asm`
-
-New assembler, all in Go, written from scratch by `r@`.
-Clean, idiomatic Go code.
-
-Less than 4000 lines, <10% machine-dependent.
-
-Almost completely compatible with previous `yacc` and C assemblers.
-
-How is this possible?
-
-- shared syntax originating in the Plan 9 assemblers
-- unified back-end logic (old `liblink`, now `internal/obj`)
-
-* Linker
-
-`GOOS=YYY` `GOARCH=XXX` `go` `tool` `link`
-
-Mostly hand- and machine- translated from C code.
-
-New library, `internal/obj`, part of original linker, captures details about machines, writes object files.
-
-27000 lines summed across 4 architectures, mostly tables (plus some ugliness).
-
-- `arm`: 4000
-- `arm64`: 6000
-- `ppc64`: 5000
-- `x86`: 7500 (`386` and `amd64`)
-
-Example benefit: one print routine to print any instruction for any architecture.
-
-* Bootstrap
-
-With no C compiler, bootstrapping requires a Go compiler.
-
-Therefore need to build or download a working Go installation to build 1.5 from source.
-
-We use Go 1.4+ as the base to build the 1.5+ tool chain. (Newer is OK too.)
-
-Details: [[http://golang.org/s/go15bootstrap]]
-
-* Future
-
-Much work still to do, but 1.5 is mostly set.
-
-Future work:
-
-Better escape analysis.
-New compiler back end using SSA (much easier in Go than C).
-Will allow much more optimization.
-
-Generate machine descriptions from PDFs (or maybe XML).
-Will have a purely machine-generated instruction definition:
-"Read in PDF, write out an assembler configuration".
-Already deployed for the disassemblers.
-
-* Conclusions
-
-Getting rid of C was a huge advance for the project.
-Code is cleaner, testable, profilable, easier to work on.
-
-New unified tool chain reduces code size, increases maintainability.
-
-Flexible tool chain, portability still paramount.
-
-
diff --git a/content/2015/gophercon-go-on-mobile.slide b/content/2015/gophercon-go-on-mobile.slide
deleted file mode 100644
index 5afb1a6..0000000
--- a/content/2015/gophercon-go-on-mobile.slide
+++ /dev/null
@@ -1,348 +0,0 @@
-Go on Mobile
-
-GopherCon 2015
-
-Hana Kim
-Google
-
-
-* Video
-
-A video of this talk was recorded at GopherCon in Denver.
-
-.link https://www.youtube.com/watch?v=sQ6-HyPxHKg Watch the talk on YouTube
-
-
-* Caution
-
-.image gophercon-go-on-mobile/caution.png 300 _
-
-The Go Mobile project is experimental. Use this at your own risk.
-
-While we are working hard to improve it, neither Google nor the Go
-team can provide end-user support.
-
-* Background
-
-Mobile support was frequently requested
-
-Some users built their own Go binaries for Android with cgo + external linking through NDK tool chains
-
-Some Android Apps used Go even before Go 1.4
-
-- Camlistore android app (out-of-process model)
-- Goandroid+Mandala (in-process model)
-- ...
-
-* golang.org/x/mobile
-
-Goal: Bring Go to Mobile Platforms
-
-Why?
-
-- Use Go to program a complete system (server/client)
-- Write a single cross-platform Go library
-- Bring a simple language and development tooling to mobile
-
-* Two ways of using Go
-
-Native Apps
-
-- Write the whole app in Go
-- Use Go packages for graphics, event handling, audio, etc.
-
-SDK Apps
-
-- Write Android UI in Java, iOS UI in Objective-C/Swift
-- Write common functionality in Go as a library
-
-* Native Apps
-
-* Challenge #1: Cross-platform APIs
-
-Work for Android, iOS, and Desktop environments
-
-Provide a rich set of APIs
-
-Follow idiomatic Go style
-
-* Demo: Hello, Gopher!
-
-.image gophercon-go-on-mobile/gophercloud.png 400 _
-
-This program uses the packages from golang.org/x/mobile repo
-There is no Java or Objective-C or C in my code
-
-* What's available?
-
-golang.org/x/mobile/...
-
-- [[https://golang.org/x/mobile/app][app: App control]]
-- [[https://golang.org/x/mobile/asset][asset: Asset management]]
-- [[https://golang.org/x/mobile/gl][gl: OpenGL ES 2]]
-- [[https://golang.org/x/mobile/event][event: Events]]
-- [[https://golang.org/x/mobile/geom][geom: Screen geometry]]
-
-golang.org/x/mobile/exp/...
-
-- [[https://golang.org/x/mobile/exp/audio][audio: Audio]]
-- [[https://golang.org/x/mobile/exp/font][font: System font]]
-- [[https://golang.org/x/mobile/exp/sprite][sprite: 2-D rendering]]
-- [[https://golang.org/x/mobile/exp/sensor][sensor: Sensors]]
-
-* Challenge #2: Build systems
-
-Dealing with
-
-- Toolchain installation
-
-- Cross compilation for `GOOS/GOARCH` combos
-
-- Android/iOS-specific build details
-
-That is not fun!
-
-* The gomobile tool
-
-  $ go get golang.org/x/mobile/cmd/gomobile
-
-Simplifies toolchain installation and app deployment
-
-To install the Android/iOS compiler tool chain:
-
-	$ gomobile init
-
-To build an Android APK and an iOS app
-
-	$ gomobile -target=android build
-	$ gomobile -target=ios     build
-
-(Demo)
-
-* SDK Apps
-
-* Go as a library
-
-Go 1.5 can build Go programs as a library that can be used by non-Go programs
-
-- Shared library for dynamic linking (`-buildmode=c-shared`)
-- Archive file for static linking (`-buildmode=c-archive`)
-
-Functions marked with `//export` cgo annotations are callable.
-
-.link https://golang.org/s/execmodes
-
-* Working with Foreign Languages
-
-.image gophercon-go-on-mobile/gobind.png 300 _
-
-Manually mapping data structures and functions between languages is tedious and error-prone!
-
-
-* The gobind tool
-
-	$ go get golang.org/x/mobile/cmd/gobind
-
-Automates language binding through code generation
-
-Defines the language binding from exported Go APIs; no explicit annotation
-
-Currently supports a [[https://golang.org/x/mobile/cmd/gobind][subset of Go types]]
-
-
-* Binding Functions, Basic Types & Errors
-
-Go API
-
-	package mypkg
-
-	func Hello() (string, error) { return "Gopher", nil }
-
-Generated Java API
-
-	public abstract class Mypkg {
-	    public static String Hello() throws Exception { ... }
-	}
-
-Generated Objective-C API
-
-	FOUNDATION_EXPORT BOOL GoMypkgHello(NSString** ret0_, NSError** error);
-
-* Binding Structs
-
-	package mypkg
-
-	type Counter struct {
-		Value int64
-	}
-
-	func (c *Counter) Inc() {
-		c.Value++
-	}
-
-	func NewCounter() *Counter {
-		return &Counter{}
-	}
-
-* Generated Java API
-
-	public abstract class Mypkg {
-		public static final class Counter {
-			public void Inc() { ... }
-			public long GetValue() { ... }
-			public void SetValue(long value) { ... }
-		}
-
-		public static Counter NewCounter() { ... }
-	}
-
-Use it from Java
-
-	Counter counter = NewCounter();
-	counter.SetValue(12345);
-	counter.Inc();
-	
-
-* Generated Objective-C API
-  	
-	@interface GoMypkgCounter : NSObject { }
-	@property(strong, readonly) GoSeqRef *ref;
-	- (int64_t)Value;
-	- (void)setValue:(int64_t)v;
-	- (void)Inc;
-	@end
-	
-	FOUNDATION_EXPORT GoMypkgCounter* GoMypkgNewCounter();
-
-Use it from Objective-C
-
-	GoMypkgCounter* counter = GoMypkgNewCounter();
-	[counter setValue:12345];
-	[counter Inc];
-
-* How to build it?
-
-.image gophercon-go-on-mobile/memegobind.jpg 500 _
-
-
-* The gomobile bind command
-
-Simplifies the build process. For example, for Android,
-
-- Generates language bindings for Go packages
-
-- Compiles Go code to a shared library
-
-- Compiles the generated target language code
-
-- Bundles everything into a `.aar` file (modern way to distribute android libraries)
-
-(DEMO)
-
-iOS support is a work in progress.
-
-* Android Studio Integration
-
-Android Studio 1.2+ supports `.aar` import.
-
-.image gophercon-go-on-mobile/androidstudio2.png 250 _
-
-To update the .aar,
-
-- Build script to invoke `gomobile` `bind`, or
-- Gradle plugin to invoke `gomobile` `bind` and publish the output
-
-
-* The Story of Ivy
-
-The [[robpike.io/ivy][Ivy]] is a command line tool developed by Rob Pike
-
-It's a useful desktop calculator that handles big int, rational and floating-point numbers, vectors, matrices, ...
-
-.image gophercon-go-on-mobile/ivyscreenshot2.png 300 _
-
-It is in fact an interpreter for an [[https://en.wikipedia.org/wiki/APL_(programming_language)][APL]]-like language
-
-* Ivy on Mobile?
-
-~5k lines of Go code (not including tests, docs)
-
-Dependency on `math`, `math/big`, `math/rand`, `unicode`, ...
-
-.image gophercon-go-on-mobile/canihas.jpg 300 _
-
-Rewriting in Java or Objective-C is a non-starter
-
-* Ivy apps
-
-.image gophercon-go-on-mobile/ivymobile.png 300 _
-.caption Ivy logo by [[https://www.reneefrench.com][Renée French]]
-.link https://play.google.com/store/apps/details?id=org.golang.ivy Google Play Store
-.link https://itunes.apple.com/us/app/ivy-big-number-calculator/id1012116478 Apple App Store
-
-* Gomobile bind
-
-Write it once as a library in Go
-
-Enjoy great language features and packages available in Go
-
-* Where are we now?
-
-* Go 1.4: Hello Android!
-
-Released in December 2014
-
-Can build Android apps (`arm`)
-
-Android builder
-　
-The `gobind` tool for Java and Go language binding
-
-Packages for cross-device apps: basic app control, OpenGL ES 2, touch
-
-.link https://golang.org/s/go14android
-.link https://golang.org/s/gobind
-
-* Go 1.5: Hello iOS!
-
-Planned release early August 2015
-
-Experimental support for iOS (`arm,arm64`)
-
-iOS builder
-
-* Go 1.5: Go programs as libraries
-
-Can call Go functions from foreign language in a clean way
-
-.link https://golang.org/s/execmodes
-
-* Go 1.5: Better tools & more packages
-
-`golang.org/x/mobile` repo getting better
-
-- The `gomobile` tool for mobile app/library build
-
-- Extended `gobind` tool: Objective-C binding
-
-- `golang.org/x/mobile/exp`: experimenting with audio, sensor, sprite, ...
-
-* Go 1.6+
-
-- Improvement in GL/UI packages
-
-- More APIs available to "pure Go" apps
-
-- Testing, profiling, debugging
-
-- Support for more platforms (e.g. android/x86, iOS simulator)
-
-- Richer type support in `gobind`
-
-- IDE integration
-
-* Contributions from Go community
-
-.image gophercon-go-on-mobile/contributors.png 480 _
-.caption git log | word_cloud
-
diff --git a/content/2015/gophercon-go-on-mobile/README b/content/2015/gophercon-go-on-mobile/README
deleted file mode 100644
index ff64cf0..0000000
--- a/content/2015/gophercon-go-on-mobile/README
+++ /dev/null
@@ -1,2 +0,0 @@
-Demo source code and set up instruction is in
-https://github.com/hyangah/slides/tree/master/2015-gophercon-mobile
diff --git a/content/2015/gophercon-go-on-mobile/androidstudio2.png b/content/2015/gophercon-go-on-mobile/androidstudio2.png
deleted file mode 100644
index add1106..0000000
--- a/content/2015/gophercon-go-on-mobile/androidstudio2.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/gophercon-go-on-mobile/canihas.jpg b/content/2015/gophercon-go-on-mobile/canihas.jpg
deleted file mode 100644
index 1d94c61..0000000
--- a/content/2015/gophercon-go-on-mobile/canihas.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/gophercon-go-on-mobile/caution.png b/content/2015/gophercon-go-on-mobile/caution.png
deleted file mode 100644
index cdb9faa..0000000
--- a/content/2015/gophercon-go-on-mobile/caution.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/gophercon-go-on-mobile/contributors.png b/content/2015/gophercon-go-on-mobile/contributors.png
deleted file mode 100644
index 0da8a6c..0000000
--- a/content/2015/gophercon-go-on-mobile/contributors.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/gophercon-go-on-mobile/gobind.png b/content/2015/gophercon-go-on-mobile/gobind.png
deleted file mode 100644
index 905b5ea..0000000
--- a/content/2015/gophercon-go-on-mobile/gobind.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/gophercon-go-on-mobile/gophercloud.png b/content/2015/gophercon-go-on-mobile/gophercloud.png
deleted file mode 100644
index 2bb5d25..0000000
--- a/content/2015/gophercon-go-on-mobile/gophercloud.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/gophercon-go-on-mobile/ivyabout.png b/content/2015/gophercon-go-on-mobile/ivyabout.png
deleted file mode 100644
index 3b515f7..0000000
--- a/content/2015/gophercon-go-on-mobile/ivyabout.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/gophercon-go-on-mobile/ivymobile.png b/content/2015/gophercon-go-on-mobile/ivymobile.png
deleted file mode 100644
index 3ea7d21..0000000
--- a/content/2015/gophercon-go-on-mobile/ivymobile.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/gophercon-go-on-mobile/ivyscreenshot2.png b/content/2015/gophercon-go-on-mobile/ivyscreenshot2.png
deleted file mode 100644
index c0701b7..0000000
--- a/content/2015/gophercon-go-on-mobile/ivyscreenshot2.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/gophercon-go-on-mobile/memegobind.jpg b/content/2015/gophercon-go-on-mobile/memegobind.jpg
deleted file mode 100644
index 16b5a75..0000000
--- a/content/2015/gophercon-go-on-mobile/memegobind.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/gophercon-goevolution.slide b/content/2015/gophercon-goevolution.slide
deleted file mode 100644
index 97e25f0..0000000
--- a/content/2015/gophercon-goevolution.slide
+++ /dev/null
@@ -1,403 +0,0 @@
-The Evolution of Go
-GopherCon 2015 Keynote - July 9, 2015
-
-Robert Griesemer
-Google, Inc.
-gri@golang.org
-
-
-* Video
-
-A video of this talk was recorded at GopherCon in Denver.
-
-.link https://www.youtube.com/watch?v=0ReKdcpNyQg Watch the talk on YouTube
-
-
-* 
-
-.image gophercon-goevolution/GopherEvolution.svg
-
-
-* Personal background
-
-- Personal interest in programming languages.
-
-- After grad school, programming in industry felt like a huge step backwards.
-
-- Over the years, spent a lot of time thinking about programming languages.
-
-- Good language design is *hard*.
-
-- After 15 years of using C++, only two ways forward: *sell*out*or*bail*out*!
-
-- Lucky to be on board with Rob and Ken.
-
-
-* Starting points
-
-- Clear goal in mind: We needed a better language for what we do at Google.
-
-- Personal motivation: Wanted a clean, small, compiled language with modern features.
-
-- Clear about what was wrong: Complexity, missing concurrency support, lack of scalability, insane build times.
-
-- Good ideas about how to address issues.
-
-- Unpolished thoughts about the rest.
-
-- Three experienced people's insights on how not to do it.
-
-- Lure: Designing a new language is easy.
-
-What could possibly go wrong?
-
-
-* Guiding principles
-
-- Simplicity, safety, and readability are paramount.
-
-- Striving for orthogonality in design.
-
-- Minimal: One way to write a piece of code.
-
-- It's about *expressing*algorithms*, not the type system.
-
-- Collective unconscious history of programming languages.
-
-Things of interest should be easy; even if that means not everything is possible.
-
-
-* Literature on good language design is sparse
-
-.image gophercon-goevolution/HoaresPLHints.JPG 400 600
-
-- "Hints on Programming Language Design" (C.A.R. Hoare, 1973)
-- "Everything you always wanted to know about programming languages but were afraid to ask" (C.A.R. Hoare, 1978)
-
-
-* First design notes
-
-	Date: Sun, 23 Sep 2007 23:33:41 -0700
-	From: "Robert Griesemer" <gri@google.com>
-	To: "Rob 'Commander' Pike" <r@google.com>, ken@google.com
-	Subject: prog lang discussion
-	...
-	*** General:
-	Starting point: C, fix some obvious flaws, remove crud, add a few missing features
-	  - no includes, instead: import
-	  - no macros (do we need something instead?)
-	  - ideally only one file instead of a .h and .c file, module interface
-	should be extracted automatically
-	  - statements: like in C, though should fix 'switch' statement
-	  - expressions: like in C, though with caveats (do we need ',' expressions?)
-	  - essentially strongly typed, but probably w/ support for runtime types
-	  - want arrays with bounds checking on always (except perhaps in 'unsafe mode'-see section on GC)
-	  - mechanism to hook up GC (I think that most code can live w/ GC, but for a true systems
-	    programming language there should be mode w/ full control over memory allocation)
-	  - support for interfaces (differentiate between concrete, or implementation types, and abstract,
-	    or interface types)
-	  - support for nested and anonymous functions/closures (don't pay if not used)
-	  - a simple compiler should be able to generate decent code
-	  - the various language mechanisms should result in predictable code
-	...
-
-
-* Looking back
-
-Many Day One ideas made it into Go:
-
-- Syntax: Leading keyword notation (const, var, type, etc), many cleanups.
-- Expressions: 5 binary precedence levels maximum.
-- Explicitly sized basic types, rune type, no implicit conversions.
-
-- Packages and imports.
-- Methods with explicit receiver parameter.
-- Interfaces.
-- Understanding that we would somehow add concurrency support based on Rob's previous work.
-
-Many concepts were missing, and even more ideas didn't make it.
-
-However, we were off to a good start. This was not at all obvious at the time!
-
-
-* Most ideas come from previous ideas.
-(Alan Kay)
-
-Or, as some critics would say: There's nothing new in Go!
-
-
-They are missing the point:
-
-The task of the programming language designer *"*is*consolidation*not*innovation*"*.
-(Hoare, 1973).
-
-
-* The Algol family
-
-
-* Algol60
-
-
-(John Backus, John McCarthy, Alan Perlis, et al, 1958-1960)
-
-=> Block structure, nested and recursive functions and procedures, type declarations and static typing, "for" statement, "return" statement, semicolon separated statements, "begin"-"end" blocks, "call by name", etc.
-
-"Here is a language [Algol60] so far ahead of its time, that it was not only an improvement on its predecessors, but also on nearly all its successors." (C.A.R. Hoare)
-
-Coincidentally, a few years before:
-- Backus Naur Normal Form (John Backus, Peter Naur, 1958)
-
-
-* Algol successors
-
-- *Pascal* (N. Wirth, ETH Zürich, 1968-1970)
-=> BEGIN/END for blocks, semicolons as separators, left-to-right declarations,
-principled structured data types, notion of predeclared ("standard") functions, designed for teaching.
-
-- *C* (Dennis Ritchie, Bell Labs, 1969-1973)
-=> Curly braces for blocks, semicolons as terminators, declarations mimic use,
-duality between arrays and pointers, static typing but weak enforcement, designed to write Unix kernel.
-
-
-* Pascal successors
-
-- *Modula*, *Modula-2* (N. Wirth, 1978, 1980)
-=> Modules separate compilation and encapsulation, coroutines and monitors, support for low-level programming.
-
-- *Oberon* (N. Wirth, 1986)
-=> Simplified modules, dynamic type extension and type tests, streamlined syntax.
-
-Philosophy: "Make it as simple as possible, but not simpler." (A. Einstein)
-
-- *Object*Oberon* (J. Templ, H.P. Moessenboeck, 1989)
-=> Experimental Oberon dialect with classes and methods.
-
-- *Oberon-2* (J. Templ, H.P Moessenboeck, N. Wirth, 1991)
-=> Oberon with methods on records (== structs), replaces Object Oberon.
-
-
-* Tree node lookup in Oberon-2
-
-
-	MODULE Trees;
-
-	IMPORT Texts, Oberon;
-
-	TYPE
-		Tree* = POINTER TO Node;  (* star denotes export, not pointer! *)
-		Node* = RECORD
-			name-: POINTER TO ARRAY OF CHAR;  (* minus denotes read-only export *)
-			left, right: Tree
-		END;
-
-	PROCEDURE (t: Tree) Lookup* (name: ARRAY OF CHAR): Tree;
-		VAR p: Tree;
-	BEGIN p := t;
-		WHILE (p # NIL) & (name # p.name^) DO
-			IF name < p.name^ THEN p := p.left ELSE p := p.right END
-		END;
-		RETURN p
-	END Lookup;
-
-	...
-
-
-* Analogous code in Go
-
-
-	package trees
-
-	import ( "fmt"; "runtime" )
-
-	type (
-		Tree *Node
-		Node struct {
-			name        string
-			left, right Tree
-		}
-	)
-
-	func (t *Node) Lookup(name string) Tree {
-		var p Tree
-		p = t
-		for p != nil && name != p.name {
-			if name < p.name { p = p.left } else { p = p.right }
-		}
-		return p
-	}
-
-	...
-
-
-* Observations
-
-- Syntax details are different but structure is the same.
-=> C tokens, Oberon structure.
-
-- Same concepts (packages, imports, types, functions/methods, etc).
-=> Go concepts further distilled (e.g.; just one loop construct).
-
-Go's heritage is at least as much Oberon as it is C!
-(packages, imports, strict memory safety, garbage collection, dynamic type checks, etc.)
-
-
-* Object orientation and generics
-
-Around 1990: OO and type-system "craze" taking its toll on programming languages.
-- C++, Java, others
-- complex OO type systems
-- complex generic type systems
-
-Proliferation of dynamically typed interpreted languages:
-- Erlang, Perl, Python, Lua, Javascript, Ruby, etc.
-
-1990s, 2000s: Backlash.
-- Complex OO code is modern analog to unstructured "spaghetti code" of 1970.
-- Realization that large programs in dynamically typed languages become unmaintainable.
-- Cluttered notation: “Public Static Void” (Rob Pike, OSCON 2010).
-
-
-* Object orientation in Go: Interfaces
-
-Inspiration: Smalltalk (Alan Kay, Dan Ingalls, Adele Goldberg, 1972-1980)
-- Everything is an object.
-- Any message can be sent to any object.
-
-Want: Similar power in (mostly) statically typed language without the type-system fuss.
-- Notion of interfaces for static typing.
-- Usually objects carry type information => restricts object types to "classes".
-
-*Crucial*insight*: Can attach methods to any type if interfaces carry type info rather than objects.
-
-Methods and interfaces are the only additional mechanisms needed for object-oriented programming.
-
-
-* Concurrency
-
-- Good concurrency support was considered essential from day one.
-
-- Rob Pike’s work on NewSqueak turned out to fit really well into Go.
-
-Origins:
-
-- “Newsqueak: A Language for Communicating with Mice”, Rob Pike, 1994.
-
-- “Communicating Sequential Processes”, CACM, C.A.R. Hoare, 1978.
-
-
-* Generics
-
-- Single biggest language feature (what exactly is it?) absent in Go.
-
-- Often missed by newcomers to Go.
-
-- Type-system mechanism; unclear if essential language feature.
-
-- Incredibly complex in both semantics and implementation.
-
-- Significant trade-offs: Larger binary, slower binary, or larger source code.
-
-- Not-orthogonal: Affects many other language features as well as how library is written.
-
-- For now: Hold off and keep thinking about it.
-
-
-* Putting it all together
-
-Luxury to spend two years to hammer out basics (thanks, Google!).
-
-Crucial: *Added*one*feature*at*a*time.*
-
-Initially: Team of three very different people.
-- Intensive discussions, emotional.
-- Humbling experience.
-
-Having multiple people illuminating each new feature from different angles
-made language much stronger.
-
-Later:
-- Russ Cox's razor cutting through the crud, making it work well.
-- Ian Lance Taylor providing a 2nd implementation (validation of design).
-- go/types (now in 1.5!) provides a 3rd frontend (validation of compilers and spec).
-
-Having 3 frontends proved tremendously useful.
-
-
-* Evolving Go
-
-Original design went through many (syntactic and semantic) transitions:
-
-- Parallel library development ensured we didn't design "into the blue".
-
-- gofmt (for language changes) and gofix (for API changes) for existing code.
-
-Features that came in much later:
-
-- Optional semicolons, optional types for composite literals, optional bounds in slice expressions, recover, etc.
-
-- Semantic clarifications (maps, channel ops, etc.).
-
-- Small backward-compatible adjustments still happening at very low rate.
-
-
-* The future of Go
-
-
-* What makes a programming language successful?
-
-- Clear target
-
-- Solid implementation: *language*, *libraries*, and *tools*!
-
-- Market readiness
-
-- Technological breakthrough
-
-- Language features without competitors
-
-- Rarely: Marketing
-
-
-* How about Go?
-
-- Clear target behind design
-- Multi-paradigm (imperative, functional, object-oriented)
-- Syntactically light-weight
-- Language features without competition: goroutines, interfaces, defer
-- Tools without competition: fast compiler, gofmt, go build
-- Strong standard libraries
-- Solid implementation
-- Excellent documentation, online tools (playground, tour)
-- But: No corporate marketing to speak of
-
-
-* Will Go become mainstream?
-
-- Need to cross the chasm from early adopters to early mainstream. Are we there yet?
-- Go community must remain unified behind this goal.
-- Don't make too many mistakes going forward.
-
-It takes about 10 years for a programming language to become "established".
-
-
-* Pitfalls
-
-The language is frozen, but these are a form of "language design":
-
-- +build tags and other specialized comments
-- special interpretation of import paths and canonical import path comments
-- internal packages
-- vendoring descriptions
-
-These mechanisms are not part of the language spec and thus may diverge
-over time or have different semantics on different platforms.
-
-Need to be watchful of this development.
-
-
-* Closing thoughts
-
-- In 1960, language experts from America and Europe teamed up to create Algol 60.
-- In 1970, the Algol tree split into the C and the Pascal branch.
-- ~40 years later, the two branches join again in Go.
-- Let's see if Go can enjoy an equally long run as its predecessors!
diff --git a/content/2015/gophercon-goevolution/GopherEvolution.svg b/content/2015/gophercon-goevolution/GopherEvolution.svg
deleted file mode 100644
index d100de4..0000000
--- a/content/2015/gophercon-goevolution/GopherEvolution.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-
-<svg version="1.1" viewBox="0.0 0.0 960.0 720.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l960.0 0l0 720.0l-960.0 0l0 -720.0z" clip-rule="nonzero"></path></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l960.0 0l0 720.0l-960.0 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m56.69972 134.55632l777.2405 0l0 450.8872l-777.2405 0z" fill-rule="nonzero"></path><g transform="matrix(0.8772465474015747 0.0 0.0 0.8772125049868765 56.6997169057218 134.55631763233598)"><clipPath id="p.1"><path d="m0 2.842171E-14l886.0 0l0 514.0l-886.0 0z" clip-rule="nonzero"></path></clipPath><image clip-path="url(#p.1)" fill="#000" width="886.0" height="514.0" x="0.0" y="0.0" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA3YAAAICCAYAAACDaV/uAACAAElEQVR42uy9B5Qc1bW27Rt8fcMyUeQoQIABgy2SQQZMNhlMkMkCRDYgsogmSiLLZEyOJpqcERlMBoHIOYPIGd977fq/t+6/y7tOn6rumencz7NWrxmNpOnu6lPn7HfHHyQAAAAAAADQ0fyASwAAAAAAAICwAwAAAAAAAIQdAAAAAAAAIOwAAAAAAAAQdgAAAAAAAICwAwAAAAAAAIQdAAAAAAAAIOwAAAAAAAAQdgAAAAAAAICwAwAAAAAAAIQdAAAAAAAAIOwAAAAAAAAQdgAAAAAAAICwAwAAAAAAAIQdAAAAAAAAIOwAAAAAAAAQdgAAAAAAAICwAwAAAAAAAIQdAAAAAAAAIOwAAAAAAAAQdgAAAAAAAICwAwAAAAAAAIQdAAAAAAAAIOwAAAAAAAAQdgAAAAAAAICwAwAAAAAAAIQdAAAAAAAAwg4AAAAAAAAQdgAAAAAAAICwAwAAAAAAAIQdAAAAAAAAwg4AAAAAAAAQdgAAAAAAAICwAwAAAAAAAIQdAAAAAAAAwg4AAAAAAAAQdgAAAAAAAICwAwAAAAAAAIQdAAAAAAAAwg4AAAAAAAAQdgAAAAAAAICwAwAAAAAAAIQdAAAAAAAAwg4AAAAAAAAQdgAAAAAAAICwAwAAAAAAAIQdAAAAAAAAwg4AAAAAAAAQdgAAAAAAAICwAwAAAAAAAIQdAAAAAAAAwg4AAAAAAAAQdgAAAAAAAICwAwAAAAAAQNgBAAAAAAAAwg4AAAAAAAAQdgAAAAAAAICwAwAAAAAAQNgBAAAAAAAAwg4AAAAAAAAQdgAAAAAAAICwAwAAAAAAQNgBAAAAAAAAwg4AAAAAAAAQdgAAAAAAAICwAwAAAAAAQNgBAAAAAAAAwg4AAAAAAAAQdgAAAAAAAICwAwAAAAAAQNgBAAAAAAAAwg4AAAAAAAAQdgAAAAAAAICwAwAAAAAAQNgBAAAAAAAAwg4AAAAAAAAQdgAAAAAAAICwAwAAAAAAQNgBAAAAAAAAwg4AAAAAAAAQdgAAAAAAAAg7AAAAAAAAQNgBAAAAAAAAwg4AAAAAAAAQdgAAAAAAAAg7AAAAAAAAQNgBAAAAAAAAwg4AAAAAAAAQdgAAAAAAAAg7AAAAAAAAQNgBAAAAAAAAwg4AAAAAAAAQdgAAAAAAAAg7AAAAAAAAQNgBAAAAAAAAwg4AAAAAAAAQdgAAAAAAAAg7AAAAAAAAQNgBAAAAAAAAwg4AAAAAAAAQdgAAAAAAAAg7AAAAAAAAQNgBAAAAAAAAwg4AAAAAAABhBwAAAAAAAAg7AAAAAAAAQNgBAAAAAAAAwg4AAAAAAABhBwAAAAAAAAg7AAAAAAAAQNgBAAAAAAAAwg4AAAAAAABhBwAAAAAAAAg7AAAAAAAAQNgBAAAAAAAAwg4AAAAAAABhBwAAAAAAAAg7AAAAAAAAQNgBAAAAAAAAwg4AAAAAAABhBwAAAAAAAAg7AAAAAAAAQNgBAAAAAAAAwg4AAAAAAABhBwAAAAAAAAg7AAAAAAAAQNgBAAAAAAAAwg4AAAAAAABhBwAAAAAAAAg7AAAAAAAAQNgBAAAAAAAg7AAAAAAAAABhBwAAAAAAAAg7AAAAAAAAQNgBAAAAAAAg7AAAAAAAAABhBwAAAAAAAAg7AAAAAAAAQNgBAAAAAAAg7AAAAAAAAABhBwAAAAAAAAg7AAAAAAAAQNgBAABAL/D3v/89+1qvR62/z/87/1pafT3K3kO7vE4AQNgBAAAANEUs1uvftfN7AACEHQAAAEDLxYs9/va3v0W/ho///d//zR7/8z//kz7++7//O/teD/1f+zex32M/86+hXcRU+HrKrgcAIOwAAAAA2gIJFvtqQswLMhNr+ll/xIz+z1//+tf0USQW20nY+ddo18GLu3Z5nQCAsAMAAADIBIqPonkBI1GjSJzn+++/T15++eXk1ltvTS655JLkzDPPTI4++uhk7NixyRFHHJEce+yxybnnnpvcdNNNyVNPPZV8/vnnORGk32cCMRbBa6eInYlaE6Wx1w0ACDsAAACAlgmWsodF6IyPP/44mTBhQnLQQQclSy65ZDLXXHMlgwYNSv7lX/4l+ed//ufkBz/4Qe6hn/3Hf/xHMuOMMybzzTdf8pvf/CYVgJMmTcp+p6VpekEp7Guzr4u/PuH34b8late36zmQ5jp9+fd8JoCwAwAAAAzx/19U+QjdI488kowePToZNmxY8u///u+paPunf/qnVND927/9W/ozCTg9/vM//zP9qp/pob//4Q9/mBN+s8wyS7L11lsnjz/+ePYcEpCtjNjFBIGlYIpbbrklGT58eLLpppsmV199dYXAgPLr2t+/H+i/B0DYAQAAQFcb27HmJb6WTrz++uvJTjvtlEwxxRSZKPvRj36UijcTbvqzfR8+9Hde5Jn4+9d//df0dynat9deeyUffvhh+nxhimOrREh4bT799NNkuummy0Uir7rqqkz4ITZqu55l0bWymksidoCwAwAAACgRdpb6aN0r7XvxxBNPJIsttlgqZBR1CyNxoYAzgVf01T8ssqffq9+/+OKLJ/fee28m7kxktkrs+usj7rrrrvR9/Nd//Vfy4x//OI1UnnjiienfWaQRKvFiLazb9N/rGqpm02oYrZ5RUWN7+MY91bq1IuwAYQcAAAA9I+zsqxnZVusmVAM377zzpumWFmUz8eYFm/9zKOKK/m34kFCSuBs8eHCWmtmKKFhM1ElQ6Hs1gtFr1HVQWqkE3vPPP18R8YTiaxqKPBNp/cUa+tjviI3OAEDYAQAAQFfjG5T49Et9/95776W1dBIyFlULxVhR6mWtjyJxt+yyyyZff/11YepdIw32WFdQqzPcbLPN0ten16k0zCFDhiTffvstAqKPQtmLOuODDz5Ibr755rST6q677ppsu+22yTbbbJNst912ye9+97tk//33T8aNG5dceumlyYMPPph88sknuf8v/AiOohmDfE6AsAMAAICuFHZ+lIGP1smgVqTOGp8oShWKu3oLO6vF09frrrsufR0+EuPFQjOEiF0X8dVXXyVLLbVUJuz0dcMNN4zWKPa6kIuJ8PC6KsVSqH5z1KhRyRxzzJFMOeWUFR1Vw4fqMlWTqcjuL37xi7Qzq0ZtvP/++9lrCCN4sXpNPitA2AEAAEBXGeFhyqG49tpr0/qxaumU9RR2PoVTBvz48eOzCGIzI3ahOLGokNJDp5122jQF04SdIki+cQpiIYmKcF+n6EdZKPqm8Rcm2HRtre7SP5Ty6lOB9e+0Pk3s6XvVgR588MHJiy++WOG4iK15AIQdAAAAdK2wk0BRauGqq66aGswyqGM1c9W6YA4kYqeooLpv3nbbbZloMjEQptc1Wpj4+rorrrgiS0vVQ6mYN954Yy59FeIdMO3PPgJ6yimnpAJZUWGts1rqMmPNd6yRj4m8mWeeORk7dmyWIusbAjFzEBB2AAAA0NVGuI/W3XHHHanBXUvHy3oLO/1MkRuNFLj77rvT12PCKhzH0CyxaxFDpfxZGqYiRLPPPnsWHSJiV3z9wvpNIZEsAW9dVotqN8N1FhN49meL9Fkk77e//W3yxhtvpM+ntE/fRZPPChB2AAAA0LVGuEVSDjjggCwyFTOmGxGx87V7MtD1/GqcYR0PTVw1I+JSJExWWWWVXH3d8ssvn762MJII8Wto4veFF15IO61KgFndZlGUrlrXVftq68dH8vQZrbbaaslnn32WE9+NdgwAwg4AAKDhhlZocMXqYMJ/E/s//RkWDO1tgJswkfG70korZS3961VL15dUTG+oK7Ijmhlxic2v02DymWaaKRUjShvU9VFzGXtt/t+ypvJD7kPHwcYbb5xbXwNpyFM2ekOOCT3P6NGjc8KSPQkQdgAA0FNGWSj2+vL/oDMFv/jmm2+S+eefP4umNFvY+Q6cSsmUmLKUzFYIOxMD999/fy6iqLqwk046KdfcBcEQF8b+Guk6hqmXA2nIE1s/YeRX0cG33norV6/JngUIOwAA6AoDPjbfqWhWWGioFc2kqvbvoL2NcPsclbZmaXL17H5ZzTgvisDodUjcSRCEIqqRmPFv9X1HH310FmWyCNNDDz1UIRYgvq6stm7HHXfM0nzDdMr+rLOi/2u1e5Yyq0Yq4frhMwOEHQAAdLSw86LOGzY+Vcm+t2G/+uq/N0PWdyv00Q2aFHSmAS40q03CzubX1bNRSjXD3H9v4snSHtddd92KVLpmzLKzhjKbbLJJJkgkNmebbbY0uunvKX+f9fqa8qMNLAVTA8iHDh2aCeSYMBuouLO1Y3+n5zrqqKNyIp09CRB2AADQFcKuLGLnRVw1w8eMXhsE7JtMxFrTQ/uvCz2+//77ZIEFFsgJO28oNzNi57tkSkhZ+/pmNE/xz/P555+ng7B945RQaIat9FlXf68Qx3feeWeW3lvU8bIeETu/djSS4qyzzspeB5kEgLADAICONtbL0ih9xzqPDPz33nsvefXVV5OnnnoqHc48ceLE9M+TJ0+u+PdmOMWidRhQ7W+AmyCRqB82bFgqXorayzf64WvtLJ1ujTXWyBwOXtg1YmC5/U57Pq3/QYMGpQLTIogahC0QC+XC2EfyzzvvvFztZqPrNm3tjBw5MlvbfFaAsAMAgI41rorEXkzQffTRR8lVV12V7LXXXukMqCWWWCIZMmRIMuOMM6aGrQb/Kk1Phv/w4cOT3XffPTnttNOSZ599NquhMQPKp2JRd9cZws6+KhplaYeNjtaVGeYm7jSsXLP1QuO8kdExP5j8yiuvzK6HCburr746c2b4tQ7xUQfikEMOyRwGjUzx9XPt9HxLL710GnX1IpP9BxB2AADQUaKuWrTO176MGTMmrX8xw9UeSslTpEIG9g9/+MM0tcn/vX6m5hYSA9ddd13y9ddfp7/T0joxojpnrZgBvtNOO7U0YmfPaxGXDTfcMBNOYXpvoxwGvub097//fW4w+fTTT588/fTT6b8zYYfDovL62edj+4ytq2ZF7PQ82q9mnXXW1PlkjoGY4wsAYQcAAG1rrIce87C2zgyce++9N1lqqaVSA0hGqwScxJ2MInuY99seMrjtYTVQEoAypjbYYIPk9ttvz15LWH9H1K4914oXMoceemj2eTajxq5axGXZZZfNhkxbNDhMJfZiot73j831s/o63S9qMkOjoNr3H6GUyHDwfaPWj61ZOZ6mnHLK5JFHHsml1yLuAGEHAAAdZ1iFqXbeg640SkUffJe6WIfCWhtfWBc6pW3uvPPOyTPPPJO9Hp+yhgHc3sLu7LPPToV+M7piVptNZlG73XbbLdeNNXzN9RRWPnr58ccfJzPMMEPqvDBhN2LEiPTvfLSunsKy0wk7Ytr12XzzzZsy+N7/Xn1u0047bfLYY49ljgFEOCDsAACgY4Wdj2xYh7rzzz8/9WTLo20zpUzcmbe7ljlm/u8toqffKQNu8ODByamnnppFB320pWh+HrTGCPfRDNWzySBuZSpmGCWU0Nxll10qRmrEIsF9vVdCZ4OvxbrnnnsqBl4fc8wxuS6LROyK9x8fsdtss81yswCb1YBHjiY1f/IdOr0gB0DYAQBAxxhWsbbjitTJeDdRF86C8rPEyoww/+/CSIsNudYMsFdeeSUTdwwIbj9h50W/6pHUKEdiqtH1UNUidiao9FWiYPTo0elrNSfBQIVdkcgz0XbcccdVRLQl9orSMBELSUXnUvt+u+22yw0nb6S4884pfdWAe+9cwpEECDsAAOgYw8qM9TD98t133027WqqGyjznschcf9IxYzPILMqx+OKLZw0n7LXQLbO9nAAWpfr000+T5ZdfvimNLmoRdvZza4bhB06H8+P66iwIo8X2uyzKbOmDqjuVo0Jpmbo+to4H8ty94liy+33fffeNDidvdPOUaaaZJh1ZEXbFZK8BhB0AAHQEYVc6e2y//fYVDQxCARcKvFqN8LKIi4SkxN2kSZMqjGJqlNpH2FlEdZtttqmIVLVC2PmosV6LxJXGb2gdWfroQCJ2sciS/T41SFGjFBN2+rriiiuWjvBALFQ6lkwkn3LKKU0Vdvpe60Udf/0+yGcFCDsAAOhoY12odkr1JjGDKvxZXyJ2RfPH7KtvgrHeeusl3333HZ0y28wBYJEVS0G0mWPtFLHT9yawTj/99PR1D3TcQCxl2e6XJ598Mm28oTVsjVM0+sCnYUL5/uNTfDX7zzIFmtE8Rc+1yCKLJN9++236/AN1AgDCDgAAoCWGlX018fT9998na6+9doXHvD8CrpooDEWd/b2aqqh2y6J2XtyRztYea8UidhdddFH2+bUyYucjdxJ1Vmt3zjnnZMb6QBwDPrpkj7/+9a/pzy+//PKKweRXXXVVrgaP5j/xaxqr3VRtol9TjRZ2SsOcd955c8PJidgBwg4AANraiCob1mzRh8suu6xQ0DXSMLc/W73L/PPPn7z33nu5KAle9Navn7AW8+67704b7EiMN1vYxbpi6s8SVqqXUjOeyZMnZ1HGekTs/Dq0a7D//vtn8+t0Haaeeuq0bX44Dw3K15RdKzl0ZppppjQ9spEpvj5rQJ/dhAkTomKczw8QdgAA0LbGVGhYmaEqj/XKK6+cGqlFhnOjIy42U2q++eZLjXLh28V74xxa4xjwjS7UbGLWWWfNxh60MmJnkd4DDzwweeCBB7LXbq93IFGYWGt+E3errrpqbjC5akRtUDrt8mu/pvb5vP/++8miiy7a8BTfcDzFXnvtlb4uPyIj3DMBEHYAANBWhnnojbYUKKXVmZe8qH6p0d5zPyfvN7/5TfLBBx+kr81HPhB2rXMIhDPHJk6cmEZXWhGxC9eo1UqFgq4eqZA+ZdCLtU8++SR9/4oyTzHFFKlA2HDDDSvWLNQmlsU333yTpYNb86ZGCzutnXnmmSd57bXXMnHHPgMIOwAAaEvCkQZhtE71QiuttFIWrWuGsCuq3bNaKRlbq6++evL6669XGFsYXM1fP17YWMTu4YcfTqNkrRB2sREcippdeOGFuVEERQJ1ICLE1uJ9991XEfk54ogjcg4T1mr1axqOPBgxYkTDu62Ge5uez0ZksNcAwg4AADrKiPK1dTfddFNuCHkzo3WxGXd+tt2SSy6Z1tuFERhozfqxRhf6Xh0Mbd20OmJn6+Xggw9OX3NRw5T+rJ1YlFtfJQS8AJHAve222yocKFB8Xb3jya7rLrvs0nBh55s3aQ0r6qo0WnXjZe4gIOwAoOsO2zKjqKwRR7VHf40rqK+wM6GkaJ33kJvB02xxF/Okm7E+cuTInAHI+mkPYTdu3LimjDuIDbcP0+lU5zds2LDkww8/rGi2U28BYg4RNWjxg8mnm266tEaMtTqwdbXffvvVNRUzlhXgH/rsrOnO22+/nfv8ABB2ANAVoq7a33Hoda4BZemX4vHHH09mmGGGirEDrRR1fti0oiAynB955BEMrhbvC+YQMGEjwd3oWqiyGYq+uY+M8wsuuCB9XfVOpQtTmcUXX3yRRpP9YHIJS3tumm/Uvqbsq62rww47rO4Ru9j6sXWz8E8XTnbcccfk3HPPHfDMQ0DYAQC0rbjrT8QuNky6KHIHzRV24YBlfT3yyCNzUZd2EXZhit3o0aNz6VrQmvVjhrgahyy77LItjdj5hjt6HYceemi2thsVsbP198QTT6QRHkUKJWz1/DvttFMuDRMnRN/OGatL9JHgRq0fPexzGzt2bMVrQ5gDwg4AusaA895pP0fMe+z9fCif2hf7P6Rits/n6j8TGVI/+9nPKoyoVtRMxQwvGzit1yePOsKu9evHBnNrpEBYq9RMwe+Nda2RNdZYI3nllVcyAVZPw9wLu++//z79s2Y+WrTO1qg6yxYNJofy6+qF3THHHFN3YRdr1KSHmjRtsMEG6Zk20HmHgLADAGh7ARAKOh2+lo4Uop/r7+3fhL+HA7M9PleL1t1xxx3JoEGD0nTHovqlZgs73/HQd6yTF5+hz603wC1d7g9/+EM00tuMYeQWpdO6VSfMiy++OHutsYyBgeJFou1rfjC5NeB48MEH03+HsKvtmvqopl9bRx99dG6eZr2EnXdCWKq3nmf99dev6HjKZwcIOwDoWIMtPMhCIabDLmwfLs/1V199lXz99dfpQ55830HMPLBlUTuieM0zouyriW+x8847ZzVSrYrSlXnWrdPgLLPMkrz00ks5gxCasx/EHrrXVU+mToIDcQKEKZVFvyMWyTXBv/LKK2dRRMskqLcTKTbHb4UVVsgNJl9ooYWSd999t6IjJmu1tmvqI50+PXygaypcW7Z2rOGNZua98847uWwTnJCAsAOArjpsffc3EwHiueeeS84888xk6623Tn7+85+n0Z6pppoq/arhwBrOe9JJJ6Xznb799tvs/+n3mNGFcd6azzWcY6fh30sttVTD24oPVNjp9e266665dcPaaY3Qs7Vzzz33ZJGqWIS1vyMu/M+1JsP0YC/qTFBZfZRlCXjjvF4OIx/tFh9//HG67/n6OgkEex3+uVmrtV9fE3b77rvvgJryxBwGsTReq931n5uPIOJwBIQdAHS04eYfPkL39NNPJ1tuuWUy00wzpYehHqpNkGGjiIo8n/qz/Z2Mr2WWWSb1vFr7bxN4sagdB2jjMUPFjCelYRbVnbRS2JlQsBb2s802W/LUU0/l0jBZK413AIT3qDUOEdtuu21FGmY9I3b6qv3EUhy9yNNXE1NzzDFHGskNo2T1jrjYvWPPMWHChIoGHNbcR5kM3nHFHLTa1pofUL799tv3qylPUSp5LOKrx0orrZSebb5unIgdIOwAoCuEnfd0m6hTS+/DDz889U7roJWAUwqLGVv+UDXjS3+vw9NEngxzDfKVl9uMI9+1jihMcz9nMzTlFZfx3KwaqVoNM4v+mME8atSoCqcAa6Wx6yQ0cL2o+8tf/pLMPPPMqUNnIPMOiyIpFpH7yU9+kkw99dTZPuIdSvo6++yzJ/fee29OcDXKQRRGlMaMGZMTHnJAXHXVVTmHGA6r2q+rX2vffPNNstZaa/U7YhcKOh9Ntj8r2nvFFVdUlA4U3Q8ACDsA6Ahi3SvNgHvhhRdSj6YOWBlxdsgWGXKhYaaH/o8Nfx06dGhyzTXXZM/tU1/stUBjDSh7fPbZZ8niiy+ea1DQyK6G/THK9Hpk2KshBZ0GW2Nsm7PH9oSJEycmiy22WOYQqJew8z/XXiNH0l133ZU89thjyVlnnZXsvvvuyXLLLZfOG1t00UXTxiWvvvpqTtQ1MhMgbO6x0UYbZR0x7fW+/vrr0fo61mr1PcnXcGtAuO/U29eInd/LYhE7iXDV7NocTy/Ey0b8ACDsAKAjDldvuFgqzJNPPpnMNddcFV7TorbR4Vd/sFokz7ztW221VZaeGQ6DhcYaUWbEXH755ckUU0yR+5zaqXmKvldjjsGDB6e1mo1Ir4NyY9vX2Zqok3PGBE14n/c3FTOcWShHkFK+P//889xr016hNEczyP3+Ee5ljbguJtg0v89fB+1pqi828Ut9Vv+cTea4efzxx1OHjo8I93c92e+w9apInYTdrLPOmjb88s5NRB0g7ACgq4w4M0yeffbZtHalzIArO2yLCtVNIOr3LrDAAsmdd96ZPl9sdlDZUHMO29qEelENiwzjESNG5LphtmMqpgx8ORfUeTU0llkD9Tesw664XtQ988wzaWqkrZkwva2/EbvYDDwJJXWctCiOzRfzn7ntV80S+/5aKIqoCJ1lMeiaqP44NreT/ap4X7LP0b5aqrWcTj5FfCDOoemnnz51EIXpvGr+5evq+JwAYQcAXUGYiikj2joleqM/NLprbUseptZZfYP9fs3CMnz3Taj/52yGkwzTGWaYIfNmt2PEzrzt0003XdqBMWycghHWeLFnQuatt95Kll566agjYCAzD8O6OovY6XnUdCkcl2IOoLAlfTNSuf3608w8c3rZXnbyySdne1iRWIZyx6Jli2yyySa5Tr39TcWU+Fbdo1J5hw8fno7FUGR10003LUybBUDYAUBXGXE2dNcaoBQZcbV2uosZcHpYbYqea4cddki+/PLLCsMo1p2MQ7j2z7TIcNLoAEXDYkK8HUYe+PpMrY8DDzwwfd2+4Q6ff/0N69haUcOjVVZZJZeSHVsvA4mshNE/RWtuu+22qJgvi+A3ck34vUj1fn6P1Os250MsisharVxroTC380fdb+V0CvenvqwrCUKtoXnmmSd1ShhqyvLee+9VODUbvXYAYQcA0NTD1oynSZMmpRES1SAUtTHvi7grqsWLzSlTYwTNyLMD19KvvBFgxiZNVso/U/sa62j48MMPZ2lkYQS23SJ2Fr1ZdtllU4ERetihfsa2j4bZAHvVs2233Xa56EkYsR+IuIv9Hhnkmo+pGYvC7vlq671Z95Wukca4mLDTVwmI1157LXu9XrQgGiqvn93D/qvWm/Z8a0ozkDEa5hBaccUV0zo6Sz/3ryXWDZPPCRB2ANDRmPFhxpPmMIWe6KKZQH2N2MU6HvraOz2vROUll1ySO2Dt8I/NF4LqRpQXde+8804afZE33BraDCSVrpHCztdc6fWee+656Xtgjl3jhJ19tf3gsMMOS+uTimaBDTRiF6bOmVDacccdc/d+u0Ts9PvV9MmcX/Z6dU+Fjih/faE4Yuf3J+39sYH0/YnY6XPZfPPNK8R2UcdSPidA2AFA2xv2sfbfsRQ9oQ50c845Z5YCE/PO1ysSEzZOsJllMpZkSK622mrpjCF1n/MHM+lN1T/rMLVOURehiMKvf/3rirEVAzGgGvnwwk5G2qmnnoqwa8A6CY1tM7L/+Mc/5rqmWoS3nmslJuL1/Z/+9KdcJkH4uhttiMee0wTBDTfckNWmmkNKqeRCUaEwUt5roqHaOgtT7C0FU12YNe9U+3949vQ3YrfbbrsVjklh/wCEHQB03MEa/iz2b814UpG5RXK84KrXbLOiZgu+UYZPv9NDKVmqtfHijkO5+ucf1k1qiLNmf/nPt6zJTbukYurPEvtrrLFG8tFHH5GKWae9IbZX+Dqn8847L+t86VPi6p2263+fnkdG/bzzzpt91kVOnGaJOo+Jg0MOOSQ3+1GvWc057H6LZRb02lotGvQdCjtbby+99FK61+taeqdTOIuurxG7I444InfGMS4FEHYA0PHirlr7eztct9lmm8Kud/Uy+MPUrbKxCJbmpLQnFcBzMNf2WYfNLy677LI0Eus/2zAi1o7jDvyfTzrppPS90BWzvuskjEgJpcNNM800qRMgNgqj1nTs/oh4GfZDhgxJ0x39/R6+7maKu7AOeb311svS1bVOdY1UGxzbn3pxrVY7b0Kn0yuvvJIsv/zy6Wfv0zD760TwtZrnn39+LmJH3SMg7ACgIw/Wsq6S3qNsxsrbb7+dzD333JnHtBHCrtZarvDvddg/9NBDOWOA5in/IBxX4Wukzj777LRRigxRtWVvx2YpZWvAUqrUPGXy5MkVxiH0b1/wqc3eCXD77ben60VGcaNFXVmznP322y99PX7UQbOiYEV7pVBDF7XLNyeJCdHvvvsOsVDDOvODyIUidUsuuWSWSVCvfcnW0bbbbps5hPx5x/4BCDsA6KiD1Rv8sVbmVktj9VeqaSmL1jUzYhemZ0499dTJm2++WfGeOJjzhpQJOjPSjz/++PTa+Q6nsfq1dovYxQZWax1cf/31OSMN+rdOQkPbUls//PDDZP7554+KukZG7MIordarovSatWgiwNZ1M0R9bP80QfDAAw9kKaqWUaAujvb/iNglhfV0Yfrl008/nSy00EJZpC7WjKc/a81nJEgwnnLKKbl9I+yICYCwA4CWCrYig6GsY1xY1+AHgX/22WfJ6quvnmsx7Wsbmm3w23OZ13XNNdcsjD7y+f/jOvi28OPGjUsNTxnJVrMSq6ur5+dV1CGxqEFLte/9z2SgnXDCCdTY1Wn9xMZgjBo1quGp2NWi814wqaOhj/o0q3lSTJhYKp9q6SwN017n2LFjc+uSdVacMWJrTbPqFlhggdxsRN8luV5rSvvf9NNPnzz++OPp8xYNjyc9ExB2ANAWBpo/SMsEgLXi9uhwVSMAzWDyHe9iYwlamYZ38cUXZ4dyr8+xK2pKYMavIrD6TO1za1ajlKI02758X/Sa9B5koJ122mmZgEXY9d/gDodC6/vnn38+mWOOOdLrbGsn7ILZ6EY54fNJON10003pa/dNSZoh7GICWGgMgwk7259uvPHGXOMU1tnfo/W+tne//PLLycI/XTg3VqfeKb52Ztln9Mtf/jJ1YPqob7ifsp8Awg4AWmbUFx1MYRqRjA1LfRGqBbn22muTDTbYIE130qGn1Kta0iKbKewsWqcOee+++25FpIaIXf6zNuP3gAMOyFLFQiOnEQZUWcSu1shctf9rTTUuvPDCnAGNITaw9ePT4o499tjoUOhG3/tFqZ52/6tRybfffptLxWx0Z9xYxMnuryWWWCK7TooizzzzzGnjFO9wYJ3lzyBbZ/qqdF/LDvGRunruSeGasrV08MEHRx1DROwAYQcAbXNgxurnQjEnFJ0bM2ZMVtOgg84G7BbVN9RbAPRH2B144IHp69d8qF4fTh5rSmBRzG+++Sad2eRr6WIGUyPEXa0plrH0Xv8oShXVzy1y6+udMMLqI1gU5R02bFiuhX+z9oFY3V44/uC6665LX6c1UmmGY8eLR3vOd955J5lyyimzOZC6Xssss0x6/cKOi5xTcWGnPSpM9613yn9sD9FnJkempWSauOv19H5A2AFACzFjI+xmZ1+tfsCQwaHZdL/97W+TQYMGpQeqDCVLc6o1da4V4s5EwP33318xh8hfi141zMPmF5Yi5tuFFwmsRnY1rFbLFwq4IqHnZylqSPbQoUOTF154Ib0OdEYduMHt0zA143DaaafNhm43Mrpbq7jzg+mXWmqp5Ouvv872uWbX2Nl1uuaaa7J0URN2I0eOzNYkwiDuQLC6uksvvTQ3bqVR66toP9HnpbPQnIRFtZsACDsAaJqw8x5QHZhhZE5///DDDyeHHXZYWpyuNMtYdK4ogtIuETsZUHq9ijQWNVDoVWFvIl7ISJGoi7ULL/tcG2VEmWgzgRl+X/TawuiizQfT+tXg4k8++aTCuQH9N7i9I+jQQw/NpWEWdbFthqiLrRM5ozRbz9Z+o9PmQgea7jF93XfffbNokwmF8ePHE0UuWWd2XdTVeMEFF6zogNnoDAL/++0zs5pte212trCvAMIOAOp2EIYHYlnnrrCrpb7/y1/+ks5+WmmlldJ0IaudswLyahGcdnuYoX/33XenB28vReyqrQcT81999VWy9dZbR5vbhJ0GG9EBsyjiZs1OvDEloe6FQ1k6pj2X1X7aLCrvZceIrs2wLhoS7Y3Z4cOHFwq7Vs4w9OmYK6ywQvL555/nnDvhe62X2Cvq6rjWWmvlBpPrtVlGQS839Cnbr6xhimUUaJZmGLFvdN2m33O0pyy99NLJxx9/XBG1Q9gBwg4A6n44luGbHQgV7avVttLULG3JjGjfbcxHQ/R9ow/WejxMEOy///6ZeO315il+kPRbb72Vzs8y8V7U/bKen3Xsd4TPJSeCRJ3SJxU11nzEjTfeOGvUIyPd/l0YybM0N2tMsfLKK6fCXg1/mjmguhcEnzmGzjnnnJzwbzdh5+cY6rWKsLNhX/bQvl4ru99UX2cz/sxxocYpcq6EQrBXRV34c7t2mv2n/aBoRmWj10+4lvQZnnzyyZmTtBnpvYCwA4AeM7ZCwys0Fryg++CDD9K0IG8sm0Ecpls2ur6qkc1TZMxNM800yXnnnRc1TnvBWIqtgQcffDD1OvvOckXNBxqdehlreDPTTDNljU5MlKtpgYTeIosskhp5PqJswtS+6nP3s6fCKB0d7GoXcGURX60j7SEWXW0XZ09sjWmPkwNLTYLCGtNGRuwsXVV1iGEL/VVWWaUibbOXI3ZhEy89lMa6xRZbFHZcbXSKb7imzGmkbstKD/XOMqJ1gLADgIYYYj4yYWmIQm2/zzjjjHTunA5KHVAWmavFU9lJqZi+m5neq9LFNIcoNOi6fT34jnL6sz5/zRvzM6CqzamrZ8QuVpcpY0kPCbXBgwcnt956a/o+rDur/5zUBEOzyZReudhii2UdL300zzc58B71mDEJ1ddPbNC2nENyDsRqM9tN2Pl1HNZHFQm8gRAO1Lb7zhwpNpjcOvb2cnpwbK15J5TqveWcs1RsyxhpZNSulvNQn59qS+3zI2IHCDsAqLu3M3z4geJ33nlnsuKKK2YGsHW1LOpA2OkROy8azJA6/vjjc0Zdt3pYffTB1oBEvQxJfd4yxou6yzUyYherhbPv9fksu+yyyaRJk7LPKDT0/HoWmk+odT1u3LhkjTXWSJv9SLQut9xyyRNPPFFhZBOx6/ueEjqLTKjstNNOpV1U2ykV07r46vWqzk3dfhuZmhvWIup7db80YWcRu8svvzwTf70q7MKIpV0vu9cVpbd11g4RO1+3OdtssyWvvfZaz9dIAsIOAOpgsIc1GV7M+Tl08qzvs88+6YFUNNQ1FHftLNr647E3Q2rEiBE5seCvZScb+kWpuLYG3n///bROTV5vm6FlNWll6ZHNrF3Zaqut0rUqvKEbRp99R9fQQFQ0T2JPhntM1EHfhEko6szYvv7666MpvO0k7GLGuPY5NYZSFCgcVF/PoeXhmtNaXfinC2cdHS1F3FKFTSz3erfeUGyrNlbps1Yq0Op1FjtT9tprr/S1x9K9cSIBwg4AajbiY0ZEWEsnA0wtonUAyajxqXeWptiOhlkjamxM2IUGf0wcdcMaMSP8xRdfTKNZNjzaN0mJCfxmR1P0uuR4sHVrIzj0+r2xFA4EtrWudMsw1TI02hF2AxN2PiVW4nvRRRdNo77V6ibbKRXTulBqvam+2IzxRrSrDyOezz//fCoE/GDyJZdcMvn0008roj2kYv5j79KomhlnnLF0FEsr1pWtJb2u2WefPXn55Zdzn2O1MxsAYQcAFeIjVh9iUYwvvvgi2XvvvbMoXayOrpbhvt0g7rxokVF12223pdfI19h0sqgraxH+0UcfpZ0hrblFkRHeTGPJ/34ztK1bYRhBiXnAw5+H/57BwfXbZ/z1M+G95557Zk1ritZQOzp27KHojxpfvPfee9H6unpG7GyP0frW8+r5LSVUNaDhmu91YRdet1NPPTW7brHxK81ea/a8ftam77wc67pMxA4QdgBQs3fTG7Am6l544YWsls46sIXDm4u+7zZR5w9hiw5pWPXkyZOzAcvdIAB8tMGiXV9++WWy2WabZd7uagPlW1H7ZF7vo48+OmdkQ3sZ2ybq1NlRc8R8Cm+n1dxau/oTTzwxfU+NSIP0KZhi1113zWawmRg4/PDDc5HlXp6DFqZiWir1qFGjsvKBdnAcxM4VCc+55547efvtt6PNhnAsAcIOAGoWdmHXyzvuuCOZc845c1G6ss6W3Rqxi6VhWSqqrs0pp5ySM+rCgcWdvCZsLVjTgbL0tGZHW8LnsLS0/fbbL2fYVWu3398H9H1N2f6i5juK/hYZ2p0SsfOjBlTD1YhUyLDZzEorrZTbkyWMb7755vTfErGr3L/0eWi+nz6jsEFPq9eaX+96XbaexowZk50pRfsYAMIOoIcNq/DQK0q5s7S7s88+O/UIh6IuFq3r9kesfszPs1LdoepbTEx4w66dPebhugjXiEUIlG467bTTZrUgrUq7rGZwW/RCg9J9SiWpTO2z39j+ooHMPi2uE+tx/RyyGWaYIXn66adzxnh/7//YGrXr9sorr6TONutEq7RoNU5RraLPuujV+ZqxLBRxwgknZJHhdhx8b2erOQsl3jUj0aeD17spDyDsAKALDkGPPyR8Q4PjjjsuPVxkNFjqZTc2RRlI98VwltqNN96Ya5zQiQdwaIDrq4bmqpNcOHw8FLjNaJRSSyRFaXEaOq4mKBhA7bW2THBInGhofDiIvBOFnb1mCS1lOOj9ae3VS1iF8+s0k9EazVh0R+M4impGe2X9x0SeZRvcf//9ySyzzJKtN59O347zESVA5VR94IEH0tdvUcdwlAMAwg6gx0VdzKMp/KGhJimxjocIu/wYh7DWThFOO4RD46oThJx/nV6Yal6WxFJRF7l2iNh5sSnjTaJBnQOLInakMrVmvzFD22bW+dmHrXAM1CuSb5Hi888/P1fn5p1n/b0v7XfYtVPkybIo7Hl32223ioY/vRaxC6+bRbk+//zzLAXTp/y2Y0Mue1jUzuo2i0YfACDsAHrY0PKRmLA7naVgqkOdr0EoilD1aipmKO50nSxCZC2qvWHVX8OuFYaRTx2zFMwzzjijYvB4UZ1lK9ZEkaBUREMGsPA1Kp3yuXTLXhPWOun7iRMnJjPPPHMqwM1Z0MnCzqcAq6mJGeIDMcBDoeLvzeHDh2cixQTARRddlIvq9UrKnn+PofCxFMxjjjkmWiPeTuKuaD2ttdZa0fmyAAg7AIh6M/2cnD322CMXqSsb/txLoq6oFsJqa9Tq/Mknn0yvYaxxQSdE7LzwMVGn1FLVDdlswqJBza1eE2HdoxlFG264YZoSF9Y84vFunsEdzggURxxxRC56EmYEdNq+4OfZKTJUjwHlYbTOfpdqrmabbbasNtFewz333NOTwi6Wfurr6jRzc5555kmdCO3alKfobLUxGho15NcB+xcg7ACgVNjJ4DJRp0Ml7FDXLtGZdquF8Kl/inSGc8865QC21+e7oarD3lxzzZUaF+Fog9jMp1atifA12c8lRhUVsmYWFpVG2DV/n/HRE3XCXGyxxTIHUqwpUafW2Ok97bDDDnXpilsU7XziiSey57T6uoV/unDaOMXu4V5MxQwbJUng6lrsuOOOFbXBnRCx00PnyvTTT58OVfc1z52Q4g8IOwBokGFVlBblvZqWfmnGQqtnk9Xi2ezLUGxrIa1UHBWk66Hv7bCv1tK86Oe+g9lWW21V0ea8HT3msVoUbxAKNYBQo4GyqEo7tqH34k7fS9ypRiU0ikhpaq6w846OO++8M5l66qmzKFe7Gtt9XX+2D5x33nmZI6EeqZheqOjrSSedlKZ+++dcZ511snu412pJY85Kc05NmDAhmWKKKbIofqfUiPs9TK/7lltuydZUu50ngLADgDYw6H263fjx4zNRZ41S2jXtsux1xGZLmUhV1EnvMfawOh9rRFA0ny9mFJhhKgHx5z//OWfQdVLzFC92Tj/99GTQoEFZN9QyMd3OXeWs9lEtw61DoU87RtQ11+C2/WafffaJNk3p1GZM4f5w9913VzRP6ev9HxtKbddv6623zq6fpX8ecMAB0TTMXnBgxJwIdi3WX3/9rF68HUaz9DfN96abbsqdLYg7QNgB9LhRFXpuzUhQF0fViBXVHnRixM53qLNDXXUKm222WXLQQQclF154YXL11VenkRwZSbPPPnv2byXQYgLPR4J8dMhSoVTLZak/sevdDodwWeRWaLDywQcfnHq4rSV4WYplu4n9WFqo3ocij2rWYYYRNSrNX2smqD/++OO0Lb83tmO1m504x07vSbMs33777fQaDDQVO9YURGmsdv1sn9Kedfnll2dismzf74W1ZlGtG264oVDQddLMVL0HRR5ja4r9CxB2AD2CrzcIuwGaqFO6nYwDGQZFjVLavcbNCy7vwdZjqaWWSkaPHp089NBDyffff194rSZPnpyceeaZydprr51MOeWU6f9VpMeEmz3CyIJ+JlGstvqayeWve7uvDftqQkfF+aoNshQve6/2fotSc9tR3IURVb2ncePG5SIaDPhtzv7jo036Xg0+ysRcp0bszMGjlEh/X/U3Yl8kVp555pm0blT7jok6pZW/9tprFXV9vehIsFRMrbctt9yyIlpXrZNuu60rfb6qsZNjqpfnEwLCDqDnidUdeANh0qRJaWe1ouHj7dgkxQsMS3/0NXQy4HWQL7300qkHW93j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J7kayNi92Kv7khdnV111Va5mwgsv3zJbQ2qVihO7htVm2G288cbRVM92E3Z6jZobpwYkZtiFKfGh0Pjuu2/TFDrNnZMzYb311kvmmWeenNCzej0/U7RaZ9BahErRSBZ5yFUj5Pelblm7QuJHKWE6I1s5LqMREWPfQKXWiJ0Z3X/+858zUedr9x577LE+ddvsJmHno2n6uZxMuh/DSK/uS9laqq97+umnc5kJteynPiq44447tlzYhevryiuvzDk6i9Loy5ygdi0k7jTovSwlM7THtA7V7M9eA6mYCLuONqBiKUu+05DdKAr/zz333Ll0y1i73FrSd3px5lxZtybbXOzQG2jEztfc7LPPPhWRoWauM1tX8s5bHZNvR9ztUbuYt9DqC2655ZboZ9OLh0osvUZsv/32qaFTdECb4FEKjr+WoREVPpelJb366qupyDZjqp0iKzEBu8UWW2QGXeiQswYJPlUuRH+nmhbV36qeR12LJUIUCbT0zVhUr6wZQdG1in1W+r2KZvlmGd0i7Oy9yJk2ePDg7Bp2co1deJ9tsskm2Tgju4eqiQtzDmuObTjmQPPYVEdrQqUXInZFNXb68zbbbFNxRnqHoEYZ+ahptesURgWF1Tm2KhUzlsGy0korJd98803FrEt/b8XWWui8szUpe2OttdaKziX1toe/trfffnsuEgoIu47bWPwG4w0pPxdENRBKDTBBJ2NUN0nsRiFiV5thb38ORz/Uq3mKxOFiiy2Weqw0+PPOO+/MeU1bFa1THZO935ih2As1dvYzq4E85phjss8mNri5V4WdXQultKlJiPadIrFgravV3cyvt2rd4kwAqr7DCurbTdj56L0ZH1ozsYhJUVTS16AUGSxKQXrggQeSY489Nk3fXm655ZIZZpghfW4Te9773Z8aO3sf+j3ao2RE2XnTLevX1tT555/fNnMQ67l/hRG2slb73iA3R8Qaa6yR1T+ZQb/ppptWREm63bEVm8NmqagLLrhg1JFl10vRNlFL2mr49+EcO6vja1UqpheVcoJYDac/C6s1U4k91EBLKMXXouZl3YF9imvMOQgIu7bdQGoxAHxKj1rSq8uceW+9EGE0Qf9TWawznL+utba+Lmsl7n/3mmuumXqsYh7CRm1YRevKNunDDjssfc8ywosiWd38+YftlnUtFI0KU3J6sXlAbB6mOProo7Om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"></image></g><path fill="#000000" d="m883.0406 379.51184c-0.99468994 -1.0623474 -3.5489502 -4.3891296 -5.9681396 -6.3742065c-2.4191284 -1.9850464 -5.6708984 -4.026245 -8.546875 -5.536133c-2.8759155 -1.5099182 -4.945801 -2.7402344 -8.70874 -3.5232544c-3.7628784 -0.78302 -9.783081 -1.2026978 -13.868713 -1.1748352c-4.0856323 0.027832031 -7.285095 0.30740356 -10.64502 1.341919c-3.3598633 1.0345154 -6.880432 2.8799133 -9.514343 4.8651733c-2.6339722 1.9852905 -4.5422363 4.5299377 -6.2894287 7.046509c-1.7471313 2.516571 -3.2529907 5.0890503 -4.1937256 8.0529175c-0.94073486 2.9638977 -1.3701172 6.3472595 -1.4506226 9.730377c-0.08050537 3.3831177 0.5107422 7.1572266 0.9675293 10.56842c0.45672607 3.4111938 1.2893677 6.5434875 1.7730713 9.898773c0.48376465 3.3552551 0.9949341 6.9894714 1.1293945 10.23291c0.13446045 3.2434692 0.13446045 6.1799316 -0.32250977 9.227814c-0.4569702 3.0478516 -1.3978882 6.179474 -2.4193726 9.059387c-1.0214233 2.8798828 -2.6343384 5.3960266 -3.7093506 8.220032c-1.0750122 2.8239746 -2.0686646 5.8718567 -2.7406616 8.723907c-0.67193604 2.8520508 -0.35028076 6.9344177 -1.2911987 8.388428c-0.940979 1.4539795 -3.118164 0.055908203 -4.35437 0.33547974c-1.2362671 0.27957153 -2.7138672 0.3633423 -3.0631714 1.341919c-0.34924316 0.9786072 -0.32250977 3.075714 0.9675293 4.529724c1.289978 1.4539795 5.213501 2.3207397 6.772461 4.194214c1.55896 1.8734436 1.5598145 4.8096924 2.5812988 7.0464783c1.0214233 2.236786 1.8004761 4.277313 3.5474854 6.3742065c1.7469482 2.0968933 4.8916626 4.7809753 6.934387 6.207123c2.0426636 1.426117 2.4456787 1.6784973 5.3218384 2.349701c2.8761597 0.6711731 7.6343994 1.4259033 11.934998 1.6774292c4.300659 0.25149536 9.837097 -0.05657959 13.868774 -0.168396c4.0316772 -0.111846924 7.25708 0.028717041 10.321228 -0.502594c3.064148 -0.5312805 5.6445923 -1.5666809 8.063782 -2.6851807c2.4191284 -1.1184998 4.4890137 -2.2644043 6.451233 -4.025818c1.9621582 -1.7614136 3.7091675 -4.2499084 5.3218384 -6.5426025c1.6127319 -2.292694 3.1986694 -4.725067 4.354431 -7.213562c1.1557007 -2.4885254 1.8004761 -4.8373413 2.579956 -7.7174683c0.77948 -2.880127 1.6131592 -5.6486206 2.0968628 -9.563263c0.48376465 -3.9146423 0.7251587 -10.541443 0.80566406 -13.924591c0.08050537 -3.3831177 -0.10748291 -4.6406555 -0.32250977 -6.3742065c-0.21502686 -1.733551 -0.77948 -0.7555847 -0.9675293 -4.02713c-0.18798828 -3.271515 -0.5100708 -12.554352 -0.1605835 -15.60199c0.3494873 -3.047638 1.854248 -1.6774292 2.2575073 -2.6838684c0.40319824 -1.0064697 -0.18762207 -2.4880676 0.16186523 -3.3548584c0.3494873 -0.86676025 1.4244995 -1.0349426 1.9349976 -1.8458252c0.51049805 -0.81085205 0.6981201 -2.040741 1.1281128 -3.0193481c0.42999268 -0.9786072 1.3981323 -1.957428 1.4519043 -2.8522644c0.053710938 -0.89486694 -0.9411621 -2.097351 -1.1293945 -2.5168152" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m883.0406 379.51184c-0.99468994 -1.0623474 -3.5489502 -4.3891296 -5.9681396 -6.3742065c-2.4191284 -1.9850464 -5.6708984 -4.026245 -8.546875 -5.536133c-2.8759155 -1.5099182 -4.945801 -2.7402344 -8.70874 -3.5232544c-3.7628784 -0.78302 -9.783081 -1.2026978 -13.868713 -1.1748352c-4.0856323 0.027832031 -7.285095 0.30740356 -10.64502 1.341919c-3.3598633 1.0345154 -6.880432 2.8799133 -9.514343 4.8651733c-2.6339722 1.9852905 -4.5422363 4.5299377 -6.2894287 7.046509c-1.7471313 2.516571 -3.2529907 5.0890503 -4.1937256 8.0529175c-0.94073486 2.9638977 -1.3701172 6.3472595 -1.4506226 9.730377c-0.08050537 3.3831177 0.5107422 7.1572266 0.9675293 10.56842c0.45672607 3.4111938 1.2893677 6.5434875 1.7730713 9.898773c0.48376465 3.3552551 0.9949341 6.9894714 1.1293945 10.23291c0.13446045 3.2434692 0.13446045 6.1799316 -0.32250977 9.227814c-0.4569702 3.0478516 -1.3978882 6.179474 -2.4193726 9.059387c-1.0214233 2.8798828 -2.6343384 5.3960266 -3.7093506 8.220032c-1.0750122 2.8239746 -2.0686646 5.8718567 -2.7406616 8.723907c-0.67193604 2.8520508 -0.35028076 6.9344177 -1.2911987 8.388428c-0.940979 1.4539795 -3.118164 0.055908203 -4.35437 0.33547974c-1.2362671 0.27957153 -2.7138672 0.3633423 -3.0631714 1.341919c-0.34924316 0.9786072 -0.32250977 3.075714 0.9675293 4.529724c1.289978 1.4539795 5.213501 2.3207397 6.772461 4.194214c1.55896 1.8734436 1.5598145 4.8096924 2.5812988 7.0464783c1.0214233 2.236786 1.8004761 4.277313 3.5474854 6.3742065c1.7469482 2.0968933 4.8916626 4.7809753 6.934387 6.207123c2.0426636 1.426117 2.4456787 1.6784973 5.3218384 2.349701c2.8761597 0.6711731 7.6343994 1.4259033 11.934998 1.6774292c4.300659 0.25149536 9.837097 -0.05657959 13.868774 -0.168396c4.0316772 -0.111846924 7.25708 0.028717041 10.321228 -0.502594c3.064148 -0.5312805 5.6445923 -1.5666809 8.063782 -2.6851807c2.4191284 -1.1184998 4.4890137 -2.2644043 6.451233 -4.025818c1.9621582 -1.7614136 3.7091675 -4.2499084 5.3218384 -6.5426025c1.6127319 -2.292694 3.1986694 -4.725067 4.354431 -7.213562c1.1557007 -2.4885254 1.8004761 -4.8373413 2.579956 -7.7174683c0.77948 -2.880127 1.6131592 -5.6486206 2.0968628 -9.563263c0.48376465 -3.9146423 0.7251587 -10.541443 0.80566406 -13.924591c0.08050537 -3.3831177 -0.10748291 -4.6406555 -0.32250977 -6.3742065c-0.21502686 -1.733551 -0.77948 -0.7555847 -0.9675293 -4.02713c-0.18798828 -3.271515 -0.5100708 -12.554352 -0.1605835 -15.60199c0.3494873 -3.047638 1.854248 -1.6774292 2.2575073 -2.6838684c0.40319824 -1.0064697 -0.18762207 -2.4880676 0.16186523 -3.3548584c0.3494873 -0.86676025 1.4244995 -1.0349426 1.9349976 -1.8458252c0.51049805 -0.81085205 0.6981201 -2.040741 1.1281128 -3.0193481c0.42999268 -0.9786072 1.3981323 -1.957428 1.4519043 -2.8522644c0.053710938 -0.89486694 -0.9411621 -2.097351 -1.1293945 -2.5168152" fill-rule="nonzero"></path><path fill="#000000" d="m854.00854 371.88174c-0.4840088 -1.5658264 -1.0216675 -1.9291687 -1.7744141 -2.3483887c-0.75268555 -0.4192505 -1.9356079 -0.7262573 -2.7418823 -0.16711426c-0.8062134 0.55914307 -1.6118774 1.8164673 -2.095581 3.5219421c-0.48376465 1.7055054 -0.96813965 4.9215393 -0.80688477 6.7109985c0.16125488 1.7894897 1.0216675 2.879486 1.774353 4.025818c0.7527466 1.1463623 1.9086304 2.3488464 2.7418823 2.8522644c0.83325195 0.5034485 1.5587769 0.6437988 2.2575073 0.168396c0.69873047 -0.4753723 1.6392822 -1.7344055 1.9349976 -3.0206604c0.29571533 -1.2862244 0.054382324 -2.739563 -0.16064453 -4.6967773c-0.21496582 -1.9572144 -0.64538574 -5.4806824 -1.1293335 -7.0464783z" fill-rule="nonzero"></path><path stroke="#ffffff" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m854.00854 371.88174c-0.4840088 -1.5658264 -1.0216675 -1.9291687 -1.7744141 -2.3483887c-0.75268555 -0.4192505 -1.9356079 -0.7262573 -2.7418823 -0.16711426c-0.8062134 0.55914307 -1.6118774 1.8164673 -2.095581 3.5219421c-0.48376465 1.7055054 -0.96813965 4.9215393 -0.80688477 6.7109985c0.16125488 1.7894897 1.0216675 2.879486 1.774353 4.025818c0.7527466 1.1463623 1.9086304 2.3488464 2.7418823 2.8522644c0.83325195 0.5034485 1.5587769 0.6437988 2.2575073 0.168396c0.69873047 -0.4753723 1.6392822 -1.7344055 1.9349976 -3.0206604c0.29571533 -1.2862244 0.054382324 -2.739563 -0.16064453 -4.6967773c-0.21496582 -1.9572144 -0.64538574 -5.4806824 -1.1293335 -7.0464783z" fill-rule="nonzero"></path><path fill="#000000" d="m867.86487 444.09943c-0.8305664 -0.0552063 -1.2858887 -0.8558655 -1.928833 -0.3312683c-0.64294434 0.52459717 -1.7144775 2.3744507 -1.928772 3.4788513c-0.21435547 1.1044006 0.34814453 2.3744507 0.6428833 3.147583c0.2947998 0.77316284 0.911499 0.8010864 1.1257935 1.4913025c0.21429443 0.6902466 -0.05419922 1.9046326 0.16009521 2.6500854c0.21429443 0.74542236 0.56311035 1.2979431 1.1257935 1.8225403c0.5626831 0.52459717 1.5804443 1.1594238 2.2502441 1.3250427c0.66986084 0.1656189 1.1524658 0.08291626 1.7687378 -0.3312683c0.61621094 -0.41418457 1.2053833 -1.6844177 1.928772 -2.1538086c0.7233887 -0.46939087 1.9294434 -0.1656189 2.411621 -0.6625061c0.48223877 -0.4968872 0.8835449 -0.96585083 0.48156738 -2.3188171c-0.4019165 -1.3529663 -2.062622 -4.445984 -2.8931885 -5.79895c-0.8305664 -1.3529358 -1.232727 -1.932312 -2.090149 -2.3187866c-0.8574829 -0.3864746 -2.223999 0.0552063 -3.0545654 0z" fill-rule="nonzero"></path><path stroke="#ffffff" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m867.86487 444.09943c-0.8305664 -0.0552063 -1.2858887 -0.8558655 -1.928833 -0.3312683c-0.64294434 0.52459717 -1.7144775 2.3744507 -1.928772 3.4788513c-0.21435547 1.1044006 0.34814453 2.3744507 0.6428833 3.147583c0.2947998 0.77316284 0.911499 0.8010864 1.1257935 1.4913025c0.21429443 0.6902466 -0.05419922 1.9046326 0.16009521 2.6500854c0.21429443 0.74542236 0.56311035 1.2979431 1.1257935 1.8225403c0.5626831 0.52459717 1.5804443 1.1594238 2.2502441 1.3250427c0.66986084 0.1656189 1.1524658 0.08291626 1.7687378 -0.3312683c0.61621094 -0.41418457 1.2053833 -1.6844177 1.928772 -2.1538086c0.7233887 -0.46939087 1.9294434 -0.1656189 2.411621 -0.6625061c0.48223877 -0.4968872 0.8835449 -0.96585083 0.48156738 -2.3188171c-0.4019165 -1.3529663 -2.062622 -4.445984 -2.8931885 -5.79895c-0.8305664 -1.3529358 -1.232727 -1.932312 -2.090149 -2.3187866c-0.8574829 -0.3864746 -2.223999 0.0552063 -3.0545654 0z" fill-rule="nonzero"></path><path fill="#000000" d="m873.20215 495.60547c-1.451416 -0.13967896 -4.274048 0.5595703 -6.128723 1.510315c-1.8546753 0.95077515 -5.2143555 3.1877747 -4.9993896 4.194214c0.21502686 1.0064697 4.085205 1.7886047 6.2893677 1.8445129c2.2041626 0.055908203 5.6992188 -0.64224243 6.935669 -1.5090332c1.2364502 -0.86676025 0.83258057 -2.684967 0.48309326 -3.6916199c-0.3494873 -1.0066833 -1.12854 -2.2087097 -2.580017 -2.3483887z" fill-rule="nonzero"></path><path stroke="#ffffff" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m873.20215 495.60547c-1.451416 -0.13967896 -4.274048 0.5595703 -6.128723 1.510315c-1.8546753 0.95077515 -5.2143555 3.1877747 -4.9993896 4.194214c0.21502686 1.0064697 4.085205 1.7886047 6.2893677 1.8445129c2.2041626 0.055908203 5.6992188 -0.64224243 6.935669 -1.5090332c1.2364502 -0.86676025 0.83258057 -2.684967 0.48309326 -3.6916199c-0.3494873 -1.0066833 -1.12854 -2.2087097 -2.580017 -2.3483887z" fill-rule="nonzero"></path><path fill="#000000" d="m873.8244 382.13785l0 0c7.630371 -4.5419617 17.321777 -1.8488464 21.646362 6.0152283l0 0c2.0767212 3.7764893 2.612793 8.264709 1.4902954 12.477356c-1.1225586 4.2126465 -3.8117676 7.804657 -7.476013 9.985779l0 0c-7.630371 4.5419617 -17.321777 1.8488464 -21.646362 -6.0152283l0 0c-4.324585 -7.8640747 -1.6447144 -17.921173 5.985718 -22.463135z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m873.8244 382.13785l0 0c7.630371 -4.5419617 17.321777 -1.8488464 21.646362 6.0152283l0 0c2.0767212 3.7764893 2.612793 8.264709 1.4902954 12.477356c-1.1225586 4.2126465 -3.8117676 7.804657 -7.476013 9.985779l0 0c-7.630371 4.5419617 -17.321777 1.8488464 -21.646362 -6.0152283l0 0c-4.324585 -7.8640747 -1.6447144 -17.921173 5.985718 -22.463135z" fill-rule="nonzero"></path></g></svg>
-
diff --git a/content/2015/gophercon-goevolution/HoaresPLHints.JPG b/content/2015/gophercon-goevolution/HoaresPLHints.JPG
deleted file mode 100644
index 9324b87..0000000
--- a/content/2015/gophercon-goevolution/HoaresPLHints.JPG
+++ /dev/null
Binary files differ
diff --git a/content/2015/gotham-grpc.slide b/content/2015/gotham-grpc.slide
deleted file mode 100644
index 7415de0..0000000
--- a/content/2015/gotham-grpc.slide
+++ /dev/null
@@ -1,241 +0,0 @@
-gRPC Go
-GothamGo 2015
-
-Sameer Ajmani
-Tech Lead Manager, Go team, Google
-@Sajma
-sameer@golang.org
-
-* Video
-
-This talk was presented at GothamGo in New York City, October 2015.
-
-.link https://www.youtube.com/watch?v=vTIyz2QfExc&index=7&list=PLeGxIOPLk9ELh9tsPZMzau6CzMjfMzp9- Watch the talk on YouTube
-
-* RPC isn't just Remote Procedure Call
-
-In Go, an RPC *starts*a*goroutine* running on the server and provides _message_passing_ between the client and server goroutines.
-
-*Unary*RPC*: the client sends a _request_ to the server, then the server sends a _response_.
-
-*Streaming*RPC:* the client and server may each send one or more messages.
-
-An RPC ends when:
-
-- both sides are done sending messages
-- either side disconnects
-- the RPC is canceled or times out
-
-This talk will show how we connect RPCs and streams with goroutines and channels.
-
-* Unary RPC: one request, one response
-
-Example: a mobile Maps app requests a route from point A to point B.
-
-On the client side, an RPC blocks until it's done or canceled.
-
-A client uses multiple goroutines to run many RPCs simultaneously.
-
-Each RPC is an exchange between a client goroutine and a server goroutine.
-
-* Streaming RPC provides bidirectional message-passing
-
-A client starts a stream with a server.
-
-Messages sent on a stream are delivered FIFO.
-
-Many streams can run simultaneously between the same client and server.
-
-The transport provides buffering and flow control.
-
-Examples:
-
-- bidirectional stream: chat session
-- server → client stream: stock ticker
-- client → server stream: sensor aggregation
-
-* gRPC is a new RPC system from Google
-
-.link http://grpc.io
-
-Provides RPC and streaming RPC
-
-Ten languages: *C*, *Java*, *Go*, C++, Node.js, Python, Ruby, Objective-C, PHP, and C#
-IDL: *Proto3*
-Transport: *HTTP2*
-
-[[http://golang.org/x/net/context][golang.org/x/net/context]] for deadlines, cancelation, and request-scoped values
-[[http://golang.org/x/net/trace][golang.org/x/net/trace]] for real-time request traces and connection logging
-
-* gRPC users
-
-150+ imports of [[https://godoc.org/google.golang.org/grpc?importers][google.golang.org/grpc]] on [[http://godoc.org][godoc.org]]
-
-- [[https://github.com/apcera/kurma][Apcera/Kurma]]: container OS
-- [[http://bazil.org][Bazil]]: distributed file system
-- [[http://coreos.com/etcd/][CoreOS/Etcd]]: distributed consistent key-value store
-- [[https://godoc.org/google.golang.org/cloud/bigtable][Google Cloud Bigtable]]: sparse table storage
-- [[https://github.com/monetas/bmd][Monetas/Bitmessage]]: transaction platform
-- [[http://www.pachyderm.io/][Pachyderm]]: containerized data analytics
-- [[http://vitess.io/][YouTube/Vitess]]: storage platform for scaling MySQL
-
-* Demos and Code: Google search
-
-* Protocol definition
-
-.code gotham-grpc/search-only/search-only.proto
-
-* Generated code
-
-.code gotham-grpc/search/README.md /protoc/
-.code gotham-grpc/search-only/search-only.pb.go /type GoogleClient/,/^}/
-.code gotham-grpc/search-only/search-only.pb.go /type GoogleServer/,/^}/
-.code gotham-grpc/search-only/search-only.pb.go /type Request/,/^}/
-.code gotham-grpc/search-only/search-only.pb.go /type Result/,/^}/
-
-* System diagram
-
-.image gotham-grpc/system.svg _ 1000
-
-* Frontend runs Search on both backends and returns first result
-
-.image gotham-grpc/search.svg _ 1000
-
-* Demo client --mode=search
-
-- Frontend request traces
-- Backend request traces
-- Connection event logs
-
-* Client code
-
-.image gotham-grpc/client.svg _ 1000
-
-* Client code (main)
-
-  import pb "golang.org/x/talks/content/2015/gotham-grpc/search"
-
-.code gotham-grpc/client/client.go /func main/,/^}/
-
-* Client code (search)
-
-.code gotham-grpc/client/client.go /func search/,/^}/
-
-RPCs block but can be canceled using a Context.
-
-gRPC propagates cancelation from client to server.
-
-* Backend code
-
-.image gotham-grpc/backend.svg _ 1000
-
-* Backend code (main)
-
-.code gotham-grpc/backend/backend.go /net.Listen/,/g.Serve/
-
-`new(server)` must implement the `GoogleServer` interface:
-
-.code gotham-grpc/search/search.pb.go /type GoogleServer/,/^}/
-
-Each call to `Search` or `Watch` runs in its own goroutine.
-
-* Backend code (search)
-
-`ctx.Done` is closed when the RPC is canceled, times out, or returns:
-
-.code gotham-grpc/backend/backend.go /[)] Search/,/^}/
-
-If tracing is enabled, log the sleep duration:
-
-.code gotham-grpc/backend/backend.go /func logSleep/,/^}/
-
-* Frontend code
-
-.image gotham-grpc/frontend.svg _ 1000
-
-* Frontend code (search)
-
-`Search` returns as soon as it gets the first result.
-gRPC cancels the remaining `backend.Search` RPCs by via `ctx`:
-
-.code gotham-grpc/frontend/frontend.go /[)] Search/,/^}/
-
-.code gotham-grpc/frontend/frontend.go /type result/,/^}/
-
-* Streaming RPC
-
-* Add Watch to the Google service
-
-.code gotham-grpc/search/search.proto
-
-* Generated code
-
-.code gotham-grpc/search/search.pb.go /type GoogleClient/,/^}/
-.code gotham-grpc/search/search.pb.go /type GoogleServer/,/^}/
-.code gotham-grpc/search/search.pb.go /type Google_WatchClient/,/^}/
-.code gotham-grpc/search/search.pb.go /type Google_WatchServer/,/^}/
-
-* Frontend runs Watch on both backends and merges results
-
-.image gotham-grpc/watch.svg _ 1000
-
-* Demo client --mode=watch
-
-- Active stream traces
-- Cancelation
-
-* Client code
-
-.image gotham-grpc/client.svg _ 1000
-
-* Client code (watch)
-
-.code gotham-grpc/client/client.go /func watch/,/^}/
-
-* Backend code
-
-.image gotham-grpc/backend.svg _ 1000
-
-* Backend code (watch)
-
-.code gotham-grpc/backend/backend.go /[)] Watch/,/^}/
-
-* Frontend code
-
-.image gotham-grpc/frontend.svg _ 1000
-
-* Frontend code (watch)
-
-.code gotham-grpc/frontend/frontend.go /[)] Watch/,/return nil/
-
-* Frontend code (watchBackend)
-
-`Watch` returns on first error; this closes `ctx.Done` and signals `watchBackend` to exit.
-
-.code gotham-grpc/frontend/frontend.go /func watch/,/^}/
-
-* gRPC extends the Go programming model over the network
-
-Go gRPC works smoothly with goroutines, channels, and cancelation.
-
-It is an excellent fit for building parallel, distributed, and streaming systems.
-
-.image gotham-grpc/watch.svg _ 1000
-
-* References
-
-- [[http://grpc.io][grpc.io]] - gRPC reference and tutorials
-- [[https://github.com/golang/protobuf][github.com/golang/protobuf]] - Protocol buffers
-- [[http://golang.org/x/net/http2][golang.org/x/net/http2]] - HTTP2
-- [[http://golang.org/x/net/trace][golang.org/x/net/trace]] - Request traces and event logs
-- [[http://golang.org/x/net/context][golang.org/x/net/context]] - Cancelation and request-scoped data
-- [[http://blog.golang.org/pipelines][blog.golang.org/pipelines]] - Streaming data pipelines
-
-*Thanks*to* Qi Zhao, David Symonds, Brad Fitzpatrick, and the rest.
-
-*Questions?*
-
-Sameer Ajmani
-Tech Lead Manager, Go team, Google
-[[twitter.com/Sajma][@Sajma]]
-[[mailto:sameer@golang.org][sameer@golang.org]]
diff --git a/content/2015/gotham-grpc/backend.svg b/content/2015/gotham-grpc/backend.svg
deleted file mode 100644
index c8186e6..0000000
--- a/content/2015/gotham-grpc/backend.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-
-<svg version="1.1" viewBox="0.0 0.0 705.1417322834645 253.71391076115486" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l705.1417 0l0 253.71391l-705.1417 0l0 -253.71391z" clip-rule="nonzero"></path></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l705.1417 0l0 253.71391l-705.1417 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m8.616797 93.76937l0 0c0 -9.439766 7.652442 -17.092209 17.092205 -17.092209l139.92583 0c4.533142 0 8.8806 1.8007812 12.086014 5.006195c3.2054138 3.2054062 5.006195 7.5528793 5.006195 12.086014l0 68.36677c0 9.439774 -7.6524353 17.092209 -17.092209 17.092209l-139.92583 0c-9.439764 0 -17.092205 -7.6524353 -17.092205 -17.092209z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m8.616797 93.76937l0 0c0 -9.439766 7.652442 -17.092209 17.092205 -17.092209l139.92583 0c4.533142 0 8.8806 1.8007812 12.086014 5.006195c3.2054138 3.2054062 5.006195 7.5528793 5.006195 12.086014l0 68.36677c0 9.439774 -7.6524353 17.092209 -17.092209 17.092209l-139.92583 0c-9.439764 0 -17.092205 -7.6524353 -17.092205 -17.092209z" fill-rule="nonzero"></path><path fill="#000000" d="m45.290924 120.26338l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.265625 -1.3125q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.281967 4.921875l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm15.540802 0l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm21.978302 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.078842 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766342 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm14.418396 4.921875l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm4.191696 -11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm4.129196 0l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm17.125732 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875z" fill-rule="nonzero"></path><path fill="#000000" d="m81.58316 142.26338l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.859375 3.609375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm4.191696 -11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm10.879196 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110092 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm14.031967 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125z" fill-rule="nonzero"></path><path fill="#d9ead3" d="m253.29134 93.76937l0 0c0 -9.439766 7.6524506 -17.092209 17.092209 -17.092209l139.92581 0c4.533142 0 8.880615 1.8007812 12.086029 5.006195c3.2054138 3.2054062 5.006195 7.5528793 5.006195 12.086014l0 68.36677c0 9.439774 -7.6524353 17.092209 -17.092224 17.092209l-139.92581 0c-9.439758 0 -17.092209 -7.6524353 -17.092209 -17.092209z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m253.29134 93.76937l0 0c0 -9.439766 7.6524506 -17.092209 17.092209 -17.092209l139.92581 0c4.533142 0 8.880615 1.8007812 12.086029 5.006195c3.2054138 3.2054062 5.006195 7.5528793 5.006195 12.086014l0 68.36677c0 9.439774 -7.6524353 17.092209 -17.092224 17.092209l-139.92581 0c-9.439758 0 -17.092209 -7.6524353 -17.092209 -17.092209z" fill-rule="nonzero"></path><path fill="#000000" d="m307.77377 134.87276l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.7614136 0l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm5.603302 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.281982 4.921875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm14.031952 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm8.277069 -1.671875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110077 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766357 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375z" fill-rule="nonzero"></path><path fill="#fce5cd" d="m524.6037 23.21819l0 0c0 -9.439764 7.652405 -17.092205 17.092163 -17.092205l139.92584 0c4.533142 0 8.880615 1.8007808 12.085999 5.0061913c3.2054443 3.20541 5.0062256 7.5528793 5.0062256 12.086014l0 68.366776c0 9.439766 -7.652466 17.092201 -17.092224 17.092201l-139.92584 0c-9.439758 0 -17.092163 -7.6524353 -17.092163 -17.092201z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="8.0" stroke-linejoin="round" stroke-linecap="butt" d="m524.6037 23.21819l0 0c0 -9.439764 7.652405 -17.092205 17.092163 -17.092205l139.92584 0c4.533142 0 8.880615 1.8007808 12.085999 5.0061913c3.2054443 3.20541 5.0062256 7.5528793 5.0062256 12.086014l0 68.366776c0 9.439766 -7.652466 17.092201 -17.092224 17.092201l-139.92584 0c-9.439758 0 -17.092163 -7.6524353 -17.092163 -17.092201z" fill-rule="nonzero"></path><path fill="#000000" d="m562.096 64.32157l0 -13.593746l2.609375 0l0 4.890625q1.203125 -1.375 2.859375 -1.375q1.796875 0 2.96875 1.3125q1.1875 1.296875 1.1875 3.734375q0 2.53125 -1.203125 3.890625q-1.203125 1.3593712 -2.921875 1.3593712q-0.84375 0 -1.671875 -0.421875q-0.8125 -0.4218712 -1.40625 -1.2499962l0 1.4531212l-2.421875 0zm2.59375 -5.140621q0 1.53125 0.484375 2.265625q0.671875 1.03125 1.796875 1.03125q0.859375 0 1.46875 -0.734375q0.609375 -0.734375 0.609375 -2.328125q0 -1.6875 -0.609375 -2.421875q-0.609375 -0.75 -1.578125 -0.75q-0.9375 0 -1.5625 0.734375q-0.609375 0.71875 -0.609375 2.203125zm10.864746 -1.703125l-2.359375 -0.4375q0.390625 -1.421875 1.359375 -2.109375q0.984375 -0.6875 2.90625 -0.6875q1.734375 0 2.59375 0.421875q0.859375 0.40625 1.203125 1.046875q0.34375 0.625 0.34375 2.328125l-0.03125 3.046875q0 1.296875 0.125 1.921875q0.125 0.609375 0.46875 1.3124962l-2.578125 0q-0.09375 -0.265625 -0.25 -0.7656212q-0.0625 -0.234375 -0.09375 -0.3125q-0.65625 0.65625 -1.421875 0.9843712q-0.765625 0.3125 -1.625 0.3125q-1.515625 0 -2.40625 -0.8124962q-0.875 -0.828125 -0.875 -2.09375q0 -0.84375 0.390625 -1.484375q0.40625 -0.65625 1.125 -1.0q0.71875 -0.359375 2.078125 -0.625q1.828125 -0.328125 2.53125 -0.625l0 -0.265625q0 -0.75 -0.375 -1.0625q-0.359375 -0.328125 -1.390625 -0.328125q-0.703125 0 -1.09375 0.28125q-0.390625 0.265625 -0.625 0.953125zm3.484375 2.109375q-0.5 0.171875 -1.59375 0.40625q-1.078125 0.234375 -1.40625 0.453125q-0.515625 0.359375 -0.515625 0.921875q0 0.546875 0.40625 0.953125q0.40625 0.390625 1.046875 0.390625q0.703125 0 1.34375 -0.46875q0.46875 -0.359375 0.625 -0.859375q0.09375 -0.34375 0.09375 -1.28125l0 -0.515625zm13.531982 -2.203125l-2.5625 0.46875q-0.140625 -0.78125 -0.59375 -1.171875q-0.453125 -0.390625 -1.1875 -0.390625q-0.984375 0 -1.5625 0.671875q-0.578125 0.671875 -0.578125 2.25q0 1.765625 0.578125 2.484375q0.59375 0.71875 1.59375 0.71875q0.75 0 1.21875 -0.421875q0.46875 -0.421875 0.671875 -1.453125l2.546875 0.4375q-0.390625 1.765625 -1.53125 2.671875q-1.125 0.8906212 -3.03125 0.8906212q-2.15625 0 -3.453125 -1.3593712q-1.28125 -1.359375 -1.28125 -3.78125q0 -2.4375 1.296875 -3.796875q1.296875 -1.359375 3.484375 -1.359375q1.796875 0 2.859375 0.78125q1.0625 0.765625 1.53125 2.359375zm1.6881714 6.937496l0 -13.593746l2.609375 0l0 7.203125l3.0625 -3.46875l3.203125 0l-3.375 3.609375l3.609375 6.249996l-2.796875 0l-2.484375 -4.421871l-1.21875 1.265625l0 3.1562462l-2.609375 0zm16.172607 -3.1406212l2.609375 0.4375q-0.5 1.4375 -1.59375 2.1875q-1.078125 0.7343712 -2.703125 0.7343712q-2.5625 0 -3.796875 -1.6718712q-0.96875 -1.34375 -0.96875 -3.40625q0 -2.4375 1.265625 -3.828125q1.28125 -1.390625 3.25 -1.390625q2.1875 0 3.453125 1.453125q1.28125 1.453125 1.234375 4.453125l-6.53125 0q0.015625 1.15625 0.625 1.8125q0.609375 0.640625 1.5 0.640625q0.609375 0 1.03125 -0.328125q0.421875 -0.34375 0.625 -1.09375zm0.15625 -2.625q-0.03125 -1.140625 -0.59375 -1.71875q-0.546875 -0.59375 -1.34375 -0.59375q-0.859375 0 -1.40625 0.625q-0.5625 0.609375 -0.546875 1.6875l3.890625 0zm13.485107 5.765621l-2.609375 0l0 -5.031246q0 -1.59375 -0.171875 -2.0625q-0.15625 -0.46875 -0.53125 -0.71875q-0.375 -0.265625 -0.90625 -0.265625q-0.6875 0 -1.234375 0.375q-0.53125 0.359375 -0.734375 0.984375q-0.1875 0.609375 -0.1875 2.25l0 4.468746l-2.609375 0l0 -9.859371l2.421875 0l0 1.453125q1.296875 -1.671875 3.25 -1.671875q0.859375 0 1.578125 0.3125q0.71875 0.3125 1.078125 0.796875q0.359375 0.484375 0.5 1.09375q0.15625 0.609375 0.15625 1.75l0 6.124996zm11.474121 0l-2.421875 0l0 -1.4531212q-0.609375 0.84375 -1.4375 1.2656212q-0.8125 0.40625 -1.640625 0.40625q-1.703125 0 -2.921875 -1.3593712q-1.203125 -1.375 -1.203125 -3.828125q0 -2.5 1.171875 -3.796875q1.1875 -1.3125 2.984375 -1.3125q1.65625 0 2.859375 1.375l0 -4.890625l2.609375 0l0 13.593746zm-6.96875 -5.140621q0 1.578125 0.4375 2.28125q0.640625 1.015625 1.765625 1.015625q0.90625 0 1.53125 -0.765625q0.625 -0.765625 0.625 -2.28125q0 -1.703125 -0.609375 -2.4375q-0.609375 -0.75 -1.5625 -0.75q-0.9375 0 -1.5625 0.734375q-0.625 0.734375 -0.625 2.203125zm14.56366 1.75l-1.25 0l0 -2.03125l1.671875 0l0.546875 -2.75l-2.21875 0l0 -2.046875l2.640625 0l0.734375 -3.609375l2.078125 0l-0.734375 3.609375l2.046875 0l0.71875 -3.609375l2.15625 0l-0.75 3.609375l1.28125 0l0 2.046875l-1.703125 0l-0.546875 2.75l2.25 0l0 2.03125l-2.671875 0l-0.734375 3.6249962l-2.0625 0l0.703125 -3.6249962l-2.046875 0l-0.734375 3.6249962l-2.09375 0l0.71875 -3.6249962zm3.0625 -4.78125l-0.546875 2.75l2.0625 0l0.53125 -2.75l-2.046875 0zm11.110046 -5.484375q1.96875 0 3.078125 1.40625q1.328125 1.671875 1.328125 5.546875q0 3.859375 -1.328125 5.546875q-1.109375 1.3906212 -3.078125 1.3906212q-1.984375 0 -3.203125 -1.5312462q-1.21875 -1.53125 -1.21875 -5.4375q0 -3.84375 1.34375 -5.53125q1.09375 -1.390625 3.078125 -1.390625zm0 2.15625q-0.484375 0 -0.859375 0.3125q-0.359375 0.296875 -0.5625 1.078125q-0.265625 1.015625 -0.265625 3.40625q0 2.390625 0.234375 3.28125q0.25 0.890625 0.609375 1.1875q0.359375 0.296875 0.84375 0.296875q0.46875 0 0.828125 -0.296875q0.375 -0.296875 0.59375 -1.078125q0.265625 -1.0 0.265625 -3.390625q0 -2.390625 -0.25 -3.28125q-0.234375 -0.90625 -0.609375 -1.203125q-0.359375 -0.3125 -0.828125 -0.3125z" fill-rule="nonzero"></path><path fill="#fce5cd" d="m524.6037 164.32056l0 0c0 -9.439774 7.652405 -17.092209 17.092163 -17.092209l139.92584 0c4.533142 0 8.880615 1.8007812 12.085999 5.006195c3.2054443 3.2053986 5.0062256 7.5528717 5.0062256 12.086014l0 68.36676c0 9.439774 -7.652466 17.092209 -17.092224 17.092209l-139.92584 0c-9.439758 0 -17.092163 -7.6524353 -17.092163 -17.092209z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="8.0" stroke-linejoin="round" stroke-linecap="butt" d="m524.6037 164.32056l0 0c0 -9.439774 7.652405 -17.092209 17.092163 -17.092209l139.92584 0c4.533142 0 8.880615 1.8007812 12.085999 5.006195c3.2054443 3.2053986 5.0062256 7.5528717 5.0062256 12.086014l0 68.36676c0 9.439774 -7.652466 17.092209 -17.092224 17.092209l-139.92584 0c-9.439758 0 -17.092163 -7.6524353 -17.092163 -17.092209z" fill-rule="nonzero"></path><path fill="#000000" d="m562.096 205.42393l0 -13.59375l2.609375 0l0 4.890625q1.203125 -1.375 2.859375 -1.375q1.796875 0 2.96875 1.3125q1.1875 1.296875 1.1875 3.734375q0 2.53125 -1.203125 3.890625q-1.203125 1.359375 -2.921875 1.359375q-0.84375 0 -1.671875 -0.421875q-0.8125 -0.421875 -1.40625 -1.25l0 1.453125l-2.421875 0zm2.59375 -5.140625q0 1.53125 0.484375 2.265625q0.671875 1.03125 1.796875 1.03125q0.859375 0 1.46875 -0.734375q0.609375 -0.734375 0.609375 -2.328125q0 -1.6875 -0.609375 -2.421875q-0.609375 -0.75 -1.578125 -0.75q-0.9375 0 -1.5625 0.734375q-0.609375 0.71875 -0.609375 2.203125zm10.864746 -1.703125l-2.359375 -0.4375q0.390625 -1.421875 1.359375 -2.109375q0.984375 -0.6875 2.90625 -0.6875q1.734375 0 2.59375 0.421875q0.859375 0.40625 1.203125 1.046875q0.34375 0.625 0.34375 2.328125l-0.03125 3.046875q0 1.296875 0.125 1.921875q0.125 0.609375 0.46875 1.3125l-2.578125 0q-0.09375 -0.265625 -0.25 -0.765625q-0.0625 -0.234375 -0.09375 -0.3125q-0.65625 0.65625 -1.421875 0.984375q-0.765625 0.3125 -1.625 0.3125q-1.515625 0 -2.40625 -0.8125q-0.875 -0.828125 -0.875 -2.09375q0 -0.84375 0.390625 -1.484375q0.40625 -0.65625 1.125 -1.0q0.71875 -0.359375 2.078125 -0.625q1.828125 -0.328125 2.53125 -0.625l0 -0.265625q0 -0.75 -0.375 -1.0625q-0.359375 -0.328125 -1.390625 -0.328125q-0.703125 0 -1.09375 0.28125q-0.390625 0.265625 -0.625 0.953125zm3.484375 2.109375q-0.5 0.171875 -1.59375 0.40625q-1.078125 0.234375 -1.40625 0.453125q-0.515625 0.359375 -0.515625 0.921875q0 0.546875 0.40625 0.953125q0.40625 0.390625 1.046875 0.390625q0.703125 0 1.34375 -0.46875q0.46875 -0.359375 0.625 -0.859375q0.09375 -0.34375 0.09375 -1.28125l0 -0.515625zm13.531982 -2.203125l-2.5625 0.46875q-0.140625 -0.78125 -0.59375 -1.171875q-0.453125 -0.390625 -1.1875 -0.390625q-0.984375 0 -1.5625 0.671875q-0.578125 0.671875 -0.578125 2.25q0 1.765625 0.578125 2.484375q0.59375 0.71875 1.59375 0.71875q0.75 0 1.21875 -0.421875q0.46875 -0.421875 0.671875 -1.453125l2.546875 0.4375q-0.390625 1.765625 -1.53125 2.671875q-1.125 0.890625 -3.03125 0.890625q-2.15625 0 -3.453125 -1.359375q-1.28125 -1.359375 -1.28125 -3.78125q0 -2.4375 1.296875 -3.796875q1.296875 -1.359375 3.484375 -1.359375q1.796875 0 2.859375 0.78125q1.0625 0.765625 1.53125 2.359375zm1.6881714 6.9375l0 -13.59375l2.609375 0l0 7.203125l3.0625 -3.46875l3.203125 0l-3.375 3.609375l3.609375 6.25l-2.796875 0l-2.484375 -4.421875l-1.21875 1.265625l0 3.15625l-2.609375 0zm16.172607 -3.140625l2.609375 0.4375q-0.5 1.4375 -1.59375 2.1875q-1.078125 0.734375 -2.703125 0.734375q-2.5625 0 -3.796875 -1.671875q-0.96875 -1.34375 -0.96875 -3.40625q0 -2.4375 1.265625 -3.828125q1.28125 -1.390625 3.25 -1.390625q2.1875 0 3.453125 1.453125q1.28125 1.453125 1.234375 4.453125l-6.53125 0q0.015625 1.15625 0.625 1.8125q0.609375 0.640625 1.5 0.640625q0.609375 0 1.03125 -0.328125q0.421875 -0.34375 0.625 -1.09375zm0.15625 -2.625q-0.03125 -1.140625 -0.59375 -1.71875q-0.546875 -0.59375 -1.34375 -0.59375q-0.859375 0 -1.40625 0.625q-0.5625 0.609375 -0.546875 1.6875l3.890625 0zm13.485107 5.765625l-2.609375 0l0 -5.03125q0 -1.59375 -0.171875 -2.0625q-0.15625 -0.46875 -0.53125 -0.71875q-0.375 -0.265625 -0.90625 -0.265625q-0.6875 0 -1.234375 0.375q-0.53125 0.359375 -0.734375 0.984375q-0.1875 0.609375 -0.1875 2.25l0 4.46875l-2.609375 0l0 -9.859375l2.421875 0l0 1.453125q1.296875 -1.671875 3.25 -1.671875q0.859375 0 1.578125 0.3125q0.71875 0.3125 1.078125 0.796875q0.359375 0.484375 0.5 1.09375q0.15625 0.609375 0.15625 1.75l0 6.125zm11.474121 0l-2.421875 0l0 -1.453125q-0.609375 0.84375 -1.4375 1.265625q-0.8125 0.40625 -1.640625 0.40625q-1.703125 0 -2.921875 -1.359375q-1.203125 -1.375 -1.203125 -3.828125q0 -2.5 1.171875 -3.796875q1.1875 -1.3125 2.984375 -1.3125q1.65625 0 2.859375 1.375l0 -4.890625l2.609375 0l0 13.59375zm-6.96875 -5.140625q0 1.578125 0.4375 2.28125q0.640625 1.015625 1.765625 1.015625q0.90625 0 1.53125 -0.765625q0.625 -0.765625 0.625 -2.28125q0 -1.703125 -0.609375 -2.4375q-0.609375 -0.75 -1.5625 -0.75q-0.9375 0 -1.5625 0.734375q-0.625 0.734375 -0.625 2.203125zm14.56366 1.75l-1.25 0l0 -2.03125l1.671875 0l0.546875 -2.75l-2.21875 0l0 -2.046875l2.640625 0l0.734375 -3.609375l2.078125 0l-0.734375 3.609375l2.046875 0l0.71875 -3.609375l2.15625 0l-0.75 3.609375l1.28125 0l0 2.046875l-1.703125 0l-0.546875 2.75l2.25 0l0 2.03125l-2.671875 0l-0.734375 3.625l-2.0625 0l0.703125 -3.625l-2.046875 0l-0.734375 3.625l-2.09375 0l0.71875 -3.625zm3.0625 -4.78125l-0.546875 2.75l2.0625 0l0.53125 -2.75l-2.046875 0zm13.375671 8.171875l-2.609375 0l0 -9.828125q-1.4375 1.34375 -3.375 1.984375l0 -2.375q1.03125 -0.328125 2.21875 -1.25q1.203125 -0.9375 1.640625 -2.1875l2.125 0l0 13.65625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m427.40158 127.95276l97.19687 -70.551186" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="3.0" stroke-linejoin="round" stroke-linecap="butt" d="m427.40158 127.95276l82.62979 -59.97757" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="3.0" stroke-linecap="butt" d="m512.9422 71.98533l8.106934 -12.007488l-13.928558 3.9872055z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m427.40158 127.95276l97.19687 70.55118" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="3.0" stroke-linejoin="round" stroke-linecap="butt" d="m427.40158 127.95276l82.62979 59.97757" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="3.0" stroke-linecap="butt" d="m507.12057 191.94046l13.928558 3.9872131l-8.106934 -12.007492z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m182.72704 127.95276l70.55118 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m182.72704 127.95276l64.55118 0" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m247.27821 129.60449l4.538101 -1.6517334l-4.538101 -1.6517334z" fill-rule="evenodd"></path></g></svg>
-
diff --git a/content/2015/gotham-grpc/backend/backend.go b/content/2015/gotham-grpc/backend/backend.go
deleted file mode 100644
index 92ec6ae..0000000
--- a/content/2015/gotham-grpc/backend/backend.go
+++ /dev/null
@@ -1,86 +0,0 @@
-// +build ignore,OMIT
-
-// The backend command runs a Google server that returns fake results.
-package main
-
-import (
-	"flag"
-	"fmt"
-	"log"
-	"math/rand"
-	"net"
-	"net/http"
-	_ "net/http/pprof"
-	"time"
-
-	"golang.org/x/net/context"
-	"golang.org/x/net/trace"
-	pb "golang.org/x/talks/content/2015/gotham-grpc/search"
-	"google.golang.org/grpc"
-)
-
-var (
-	index = flag.Int("index", 0, "RPC port is 36061+index; debug port is 36661+index")
-)
-
-type server struct{}
-
-// randomDuration returns a random duration up to max, at intervals of max/10.
-func randomDuration(max time.Duration) time.Duration {
-	return time.Duration(1+int64(rand.Intn(10))) * (max / 10)
-}
-
-// Search sleeps for a random interval then returns a string
-// identifying the query and this backend.
-func (s *server) Search(ctx context.Context, req *pb.Request) (*pb.Result, error) { // HL
-	d := randomDuration(100 * time.Millisecond)
-	logSleep(ctx, d) // HL
-	select {
-	case <-time.After(d):
-		return &pb.Result{ // HL
-			Title: fmt.Sprintf("result for [%s] from backend %d", req.Query, *index), // HL
-		}, nil // HL
-	case <-ctx.Done():
-		return nil, ctx.Err()
-	}
-}
-
-func logSleep(ctx context.Context, d time.Duration) {
-	if tr, ok := trace.FromContext(ctx); ok { // HL
-		tr.LazyPrintf("sleeping for %s", d) // HL
-	}
-}
-
-// Watch returns a stream of results identifying the query and this
-// backend, sleeping a random interval between each send.
-func (s *server) Watch(req *pb.Request, stream pb.Google_WatchServer) error { // HL
-	ctx := stream.Context()
-	for i := 0; ; i++ {
-		d := randomDuration(1 * time.Second)
-		logSleep(ctx, d) // HL
-		select {
-		case <-time.After(d):
-			err := stream.Send(&pb.Result{ // HL
-				Title: fmt.Sprintf("result %d for [%s] from backend %d", i, req.Query, *index), // HL
-			}) // HL
-			if err != nil {
-				return err
-			}
-		case <-ctx.Done():
-			return ctx.Err()
-		}
-	}
-}
-
-func main() {
-	flag.Parse()
-	rand.Seed(time.Now().UnixNano())
-	go http.ListenAndServe(fmt.Sprintf(":%d", 36661+*index), nil)   // HTTP debugging
-	lis, err := net.Listen("tcp", fmt.Sprintf(":%d", 36061+*index)) // RPC port // HL
-	if err != nil {
-		log.Fatalf("failed to listen: %v", err)
-	}
-	g := grpc.NewServer()                   // HL
-	pb.RegisterGoogleServer(g, new(server)) // HL
-	g.Serve(lis)                            // HL
-}
diff --git a/content/2015/gotham-grpc/client.svg b/content/2015/gotham-grpc/client.svg
deleted file mode 100644
index 94c1899..0000000
--- a/content/2015/gotham-grpc/client.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-
-<svg version="1.1" viewBox="0.0 0.0 705.1417322834645 253.71391076115486" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l705.1417 0l0 253.71391l-705.1417 0l0 -253.71391z" clip-rule="nonzero"></path></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l705.1417 0l0 253.71391l-705.1417 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m8.616797 93.76937l0 0c0 -9.439766 7.652442 -17.092209 17.092205 -17.092209l139.92583 0c4.533142 0 8.8806 1.8007812 12.086014 5.006195c3.2054138 3.2054062 5.006195 7.5528793 5.006195 12.086014l0 68.36677c0 9.439774 -7.6524353 17.092209 -17.092209 17.092209l-139.92583 0c-9.439764 0 -17.092205 -7.6524353 -17.092205 -17.092209z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="8.0" stroke-linejoin="round" stroke-linecap="butt" d="m8.616797 93.76937l0 0c0 -9.439766 7.652442 -17.092209 17.092205 -17.092209l139.92583 0c4.533142 0 8.8806 1.8007812 12.086014 5.006195c3.2054138 3.2054062 5.006195 7.5528793 5.006195 12.086014l0 68.36677c0 9.439774 -7.6524353 17.092209 -17.092209 17.092209l-139.92583 0c-9.439764 0 -17.092205 -7.6524353 -17.092205 -17.092209z" fill-rule="nonzero"></path><path fill="#000000" d="m42.90615 116.93526l-2.5625 0.46875q-0.140625 -0.78125 -0.59375 -1.171875q-0.453125 -0.390625 -1.1875 -0.390625q-0.984375 0 -1.5625 0.671875q-0.578125 0.671875 -0.578125 2.25q0 1.765625 0.578125 2.484375q0.59375 0.71875 1.59375 0.71875q0.75 0 1.21875 -0.421875q0.46875 -0.421875 0.671875 -1.453125l2.546875 0.4375q-0.390625 1.765625 -1.53125 2.671875q-1.125 0.890625 -3.03125 0.890625q-2.15625 0 -3.453125 -1.359375q-1.28125 -1.359375 -1.28125 -3.78125q0 -2.4375 1.296875 -3.796875q1.296875 -1.359375 3.484375 -1.359375q1.796875 0 2.859375 0.78125q1.0625 0.765625 1.53125 2.359375zm1.1882172 1.875q0 -1.296875 0.640625 -2.515625q0.640625 -1.21875 1.8125 -1.859375q1.171875 -0.640625 2.609375 -0.640625q2.25 0 3.671875 1.453125q1.421875 1.453125 1.421875 3.671875q0 2.234375 -1.4375 3.703125q-1.4375 1.46875 -3.625 1.46875q-1.359375 0 -2.59375 -0.609375q-1.21875 -0.609375 -1.859375 -1.796875q-0.640625 -1.1875 -0.640625 -2.875zm2.671875 0.140625q0 1.46875 0.6875 2.25q0.703125 0.765625 1.71875 0.765625q1.015625 0 1.703125 -0.765625q0.703125 -0.78125 0.703125 -2.265625q0 -1.453125 -0.703125 -2.234375q-0.6875 -0.78125 -1.703125 -0.78125q-1.015625 0 -1.71875 0.78125q-0.6875 0.78125 -0.6875 2.25zm9.130356 -4.9375l2.40625 0l0 1.359375q1.28125 -1.578125 3.0625 -1.578125q0.953125 0 1.640625 0.390625q0.703125 0.390625 1.140625 1.1875q0.65625 -0.796875 1.40625 -1.1875q0.75 -0.390625 1.609375 -0.390625q1.078125 0 1.828125 0.453125q0.75 0.4375 1.125 1.28125q0.265625 0.640625 0.265625 2.046875l0 6.296875l-2.609375 0l0 -5.625q0 -1.46875 -0.265625 -1.90625q-0.359375 -0.546875 -1.109375 -0.546875q-0.546875 0 -1.03125 0.34375q-0.484375 0.328125 -0.703125 0.96875q-0.203125 0.640625 -0.203125 2.03125l0 4.734375l-2.609375 0l0 -5.40625q0 -1.4375 -0.140625 -1.84375q-0.140625 -0.421875 -0.4375 -0.625q-0.28125 -0.203125 -0.78125 -0.203125q-0.609375 0 -1.09375 0.328125q-0.484375 0.3125 -0.6875 0.9375q-0.203125 0.609375 -0.203125 2.03125l0 4.78125l-2.609375 0l0 -9.859375zm16.588394 0l2.40625 0l0 1.359375q1.28125 -1.578125 3.0625 -1.578125q0.953125 0 1.640625 0.390625q0.703125 0.390625 1.140625 1.1875q0.65625 -0.796875 1.40625 -1.1875q0.75 -0.390625 1.609375 -0.390625q1.078125 0 1.828125 0.453125q0.75 0.4375 1.125 1.28125q0.265625 0.640625 0.265625 2.046875l0 6.296875l-2.609375 0l0 -5.625q0 -1.46875 -0.265625 -1.90625q-0.359375 -0.546875 -1.109375 -0.546875q-0.546875 0 -1.03125 0.34375q-0.484375 0.328125 -0.703125 0.96875q-0.203125 0.640625 -0.203125 2.03125l0 4.734375l-2.609375 0l0 -5.40625q0 -1.4375 -0.140625 -1.84375q-0.140625 -0.421875 -0.4375 -0.625q-0.28125 -0.203125 -0.78125 -0.203125q-0.609375 0 -1.09375 0.328125q-0.484375 0.3125 -0.6875 0.9375q-0.203125 0.609375 -0.203125 2.03125l0 4.78125l-2.609375 0l0 -9.859375zm18.72902 3.015625l-2.359375 -0.4375q0.390625 -1.421875 1.359375 -2.109375q0.984375 -0.6875 2.90625 -0.6875q1.734375 0 2.59375 0.421875q0.859375 0.40625 1.203125 1.046875q0.34375 0.625 0.34375 2.328125l-0.03125 3.046875q0 1.296875 0.125 1.921875q0.125 0.609375 0.46875 1.3125l-2.578125 0q-0.09375 -0.265625 -0.25 -0.765625q-0.0625 -0.234375 -0.09375 -0.3125q-0.65625 0.65625 -1.421875 0.984375q-0.765625 0.3125 -1.625 0.3125q-1.515625 0 -2.40625 -0.8125q-0.875 -0.828125 -0.875 -2.09375q0 -0.84375 0.390625 -1.484375q0.40625 -0.65625 1.125 -1.0q0.71875 -0.359375 2.078125 -0.625q1.828125 -0.328125 2.53125 -0.625l0 -0.265625q0 -0.75 -0.375 -1.0625q-0.359375 -0.328125 -1.390625 -0.328125q-0.703125 0 -1.09375 0.28125q-0.390625 0.265625 -0.625 0.953125zm3.484375 2.109375q-0.5 0.171875 -1.59375 0.40625q-1.078125 0.234375 -1.40625 0.453125q-0.515625 0.359375 -0.515625 0.921875q0 0.546875 0.40625 0.953125q0.40625 0.390625 1.046875 0.390625q0.703125 0 1.34375 -0.46875q0.46875 -0.359375 0.625 -0.859375q0.09375 -0.34375 0.09375 -1.28125l0 -0.515625zm13.906967 4.734375l-2.609375 0l0 -5.03125q0 -1.59375 -0.171875 -2.0625q-0.15625 -0.46875 -0.53125 -0.71875q-0.375 -0.265625 -0.90625 -0.265625q-0.6875 0 -1.234375 0.375q-0.53125 0.359375 -0.734375 0.984375q-0.1875 0.609375 -0.1875 2.25l0 4.46875l-2.609375 0l0 -9.859375l2.421875 0l0 1.453125q1.296875 -1.671875 3.25 -1.671875q0.859375 0 1.578125 0.3125q0.71875 0.3125 1.078125 0.796875q0.359375 0.484375 0.5 1.09375q0.15625 0.609375 0.15625 1.75l0 6.125zm11.474106 0l-2.421875 0l0 -1.453125q-0.609375 0.84375 -1.4375 1.265625q-0.8125 0.40625 -1.640625 0.40625q-1.703125 0 -2.921875 -1.359375q-1.203125 -1.375 -1.203125 -3.828125q0 -2.5 1.171875 -3.796875q1.1875 -1.3125 2.984375 -1.3125q1.65625 0 2.859375 1.375l0 -4.890625l2.609375 0l0 13.59375zm-6.96875 -5.140625q0 1.578125 0.4375 2.28125q0.640625 1.015625 1.765625 1.015625q0.90625 0 1.53125 -0.765625q0.625 -0.765625 0.625 -2.28125q0 -1.703125 -0.609375 -2.4375q-0.609375 -0.75 -1.5625 -0.75q-0.9375 0 -1.5625 0.734375q-0.625 0.734375 -0.625 2.203125zm14.50116 5.140625l0 -13.59375l2.6093826 0l0 13.59375l-2.6093826 0zm5.1833115 -11.1875l0 -2.40625l2.609375 0l0 2.40625l-2.609375 0zm0 11.1875l0 -9.859375l2.609375 0l0 9.859375l-2.609375 0zm14.152054 0l-2.609375 0l0 -5.03125q0 -1.59375 -0.171875 -2.0625q-0.15625 -0.46875 -0.53125 -0.71875q-0.375 -0.265625 -0.90625 -0.265625q-0.6875 0 -1.234375 0.375q-0.53125 0.359375 -0.734375 0.984375q-0.1875 0.609375 -0.1875 2.25l0 4.46875l-2.609375 0l0 -9.859375l2.421875 0l0 1.453125q1.296875 -1.671875 3.25 -1.671875q0.859375 0 1.578125 0.3125q0.71875 0.3125 1.078125 0.796875q0.359375 0.484375 0.5 1.09375q0.15625 0.609375 0.15625 1.75l0 6.125zm8.130356 -3.140625l2.609375 0.4375q-0.5 1.4375 -1.59375 2.1875q-1.078125 0.734375 -2.703125 0.734375q-2.5625 0 -3.796875 -1.671875q-0.96875 -1.34375 -0.96875 -3.40625q0 -2.4375 1.265625 -3.828125q1.28125 -1.390625 3.25 -1.390625q2.1875 0 3.453125 1.453125q1.28125 1.453125 1.234375 4.453125l-6.53125 0q0.015625 1.15625 0.625 1.8125q0.609375 0.640625 1.5 0.640625q0.609375 0 1.03125 -0.328125q0.421875 -0.34375 0.625 -1.09375zm0.15625 -2.625q-0.03125 -1.140625 -0.59375 -1.71875q-0.546875 -0.59375 -1.34375 -0.59375q-0.859375 0 -1.40625 0.625q-0.5625 0.609375 -0.546875 1.6875l3.890625 0z" fill-rule="nonzero"></path><path fill="#000000" d="m81.26169 138.93526l-2.5625 0.46875q-0.140625 -0.78125 -0.59375 -1.171875q-0.453125 -0.390625 -1.1875 -0.390625q-0.984375 0 -1.5625 0.671875q-0.578125 0.671875 -0.578125 2.25q0 1.765625 0.578125 2.484375q0.59375 0.71875 1.59375 0.71875q0.75 0 1.21875 -0.421875q0.46875 -0.421875 0.671875 -1.453125l2.546875 0.4375q-0.390625 1.765625 -1.53125 2.671875q-1.125 0.890625 -3.03125 0.890625q-2.15625 0 -3.453125 -1.359375q-1.28125 -1.359375 -1.28125 -3.78125q0 -2.4375 1.296875 -3.796875q1.296875 -1.359375 3.484375 -1.359375q1.796875 0 2.859375 0.78125q1.0625 0.765625 1.53125 2.359375zm1.7819672 6.9375l0 -13.59375l2.609375 0l0 13.59375l-2.609375 0zm5.183304 -11.1875l0 -2.40625l2.609375 0l0 2.40625l-2.609375 0zm0 11.1875l0 -9.859375l2.609375 0l0 9.859375l-2.609375 0zm10.886429 -3.140625l2.609375 0.4375q-0.5 1.4375 -1.59375 2.1875q-1.078125 0.734375 -2.703125 0.734375q-2.5625 0 -3.796875 -1.671875q-0.96875 -1.34375 -0.96875 -3.40625q0 -2.4375 1.265625 -3.828125q1.28125 -1.390625 3.25 -1.390625q2.1875 0 3.453125 1.453125q1.28125 1.453125 1.234375 4.453125l-6.53125 0q0.015625 1.15625 0.625 1.8125q0.609375 0.640625 1.5 0.640625q0.609375 0 1.03125 -0.328125q0.421875 -0.34375 0.625 -1.09375zm0.15625 -2.625q-0.03125 -1.140625 -0.59375 -1.71875q-0.546875 -0.59375 -1.34375 -0.59375q-0.859375 0 -1.40625 0.625q-0.5625 0.609375 -0.546875 1.6875l3.890625 0zm13.485092 5.765625l-2.609375 0l0 -5.03125q0 -1.59375 -0.171875 -2.0625q-0.15625 -0.46875 -0.53125 -0.71875q-0.375 -0.265625 -0.90625 -0.265625q-0.6875 0 -1.234375 0.375q-0.53125 0.359375 -0.734375 0.984375q-0.1875 0.609375 -0.1875 2.25l0 4.46875l-2.609375 0l0 -9.859375l2.421875 0l0 1.453125q1.296875 -1.671875 3.25 -1.671875q0.859375 0 1.578125 0.3125q0.71875 0.3125 1.078125 0.796875q0.359375 0.484375 0.5 1.09375q0.15625 0.609375 0.15625 1.75l0 6.125zm6.942856 -9.859375l0 2.078125l-1.78125 0l0 3.984375q0 1.203125 0.046875 1.40625q0.0625 0.1875 0.234375 0.328125q0.1875 0.125 0.453125 0.125q0.359375 0 1.046875 -0.25l0.21875 2.015625q-0.90625 0.390625 -2.0625 0.390625q-0.703125 0 -1.265625 -0.234375q-0.5625 -0.234375 -0.828125 -0.609375q-0.265625 -0.375 -0.375 -1.015625q-0.078125 -0.453125 -0.078125 -1.84375l0 -4.296875l-1.203125 0l0 -2.078125l1.203125 0l0 -1.953125l2.609375 -1.515625l0 3.46875l1.78125 0z" fill-rule="nonzero"></path><path fill="#d9ead3" d="m253.29134 93.76937l0 0c0 -9.439766 7.6524506 -17.092209 17.092209 -17.092209l139.92581 0c4.533142 0 8.880615 1.8007812 12.086029 5.006195c3.2054138 3.2054062 5.006195 7.5528793 5.006195 12.086014l0 68.36677c0 9.439774 -7.6524353 17.092209 -17.092224 17.092209l-139.92581 0c-9.439758 0 -17.092209 -7.6524353 -17.092209 -17.092209z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m253.29134 93.76937l0 0c0 -9.439766 7.6524506 -17.092209 17.092209 -17.092209l139.92581 0c4.533142 0 8.880615 1.8007812 12.086029 5.006195c3.2054138 3.2054062 5.006195 7.5528793 5.006195 12.086014l0 68.36677c0 9.439774 -7.6524353 17.092209 -17.092224 17.092209l-139.92581 0c-9.439758 0 -17.092209 -7.6524353 -17.092209 -17.092209z" fill-rule="nonzero"></path><path fill="#000000" d="m307.77377 134.87276l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.7614136 0l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm5.603302 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.281982 4.921875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm14.031952 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm8.277069 -1.671875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110077 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766357 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375z" fill-rule="nonzero"></path><path fill="#fce5cd" d="m524.6037 23.21819l0 0c0 -9.439764 7.652405 -17.092205 17.092163 -17.092205l139.92584 0c4.533142 0 8.880615 1.8007808 12.085999 5.0061913c3.2054443 3.20541 5.0062256 7.5528793 5.0062256 12.086014l0 68.366776c0 9.439766 -7.652466 17.092201 -17.092224 17.092201l-139.92584 0c-9.439758 0 -17.092163 -7.6524353 -17.092163 -17.092201z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m524.6037 23.21819l0 0c0 -9.439764 7.652405 -17.092205 17.092163 -17.092205l139.92584 0c4.533142 0 8.880615 1.8007808 12.085999 5.0061913c3.2054443 3.20541 5.0062256 7.5528793 5.0062256 12.086014l0 68.366776c0 9.439766 -7.652466 17.092201 -17.092224 17.092201l-139.92584 0c-9.439758 0 -17.092163 -7.6524353 -17.092163 -17.092201z" fill-rule="nonzero"></path><path fill="#000000" d="m566.2209 64.32157l-1.546875 0l0 -13.593746l1.65625 0l0 4.84375q1.0625 -1.328125 2.703125 -1.328125q0.90625 0 1.71875 0.375q0.8125 0.359375 1.328125 1.03125q0.53125 0.65625 0.828125 1.59375q0.296875 0.9375 0.296875 2.0q0 2.53125 -1.25 3.921875q-1.25 1.3749962 -3.0 1.3749962q-1.75 0 -2.734375 -1.4531212l0 1.2343712zm-0.015625 -4.999996q0 1.765625 0.46875 2.5625q0.796875 1.28125 2.140625 1.28125q1.09375 0 1.890625 -0.9375q0.796875 -0.953125 0.796875 -2.84375q0 -1.921875 -0.765625 -2.84375q-0.765625 -0.921875 -1.84375 -0.921875q-1.09375 0 -1.890625 0.953125q-0.796875 0.953125 -0.796875 2.75zm15.281982 3.78125q-0.9375 0.796875 -1.796875 1.1249962q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.7812462q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.1718712l-1.75 0q-0.265625 -0.5156212 -0.328125 -1.2187462zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm10.516296 1.328125l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.9531212 -2.734375 0.9531212q-2.015625 0 -3.25 -1.3124962q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.90625 3.6093712l0 -13.593746l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203121l-2.0625 0l-3.25 -5.031246l-1.171875 1.125l0 3.9062462l-1.671875 0zm16.0625 -3.1718712l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.8281212 -2.8125 0.8281212q-2.15625 0 -3.421875 -1.3281212q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110107 5.874996l0 -9.859371l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.062496l-1.671875 0l0 -5.999996q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.374996l-1.671875 0zm16.766357 0l0 -1.2499962q-0.9375 1.4687462 -2.75 1.4687462q-1.171875 0 -2.171875 -0.6406212q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.593746l-1.546875 0zm-5.28125 -4.921871q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm14.152771 5.156246l0.8125 -3.9531212l-1.578125 0l0 -1.390625l1.859375 0l0.6875 -3.359375l-2.546875 0l0 -1.390625l2.8125 0l0.8125 -3.96875l1.390625 0l-0.8125 3.96875l2.921875 0l0.8125 -3.96875l1.40625 0l-0.8125 3.96875l1.609375 0l0 1.390625l-1.890625 0l-0.6875 3.359375l2.578125 0l0 1.390625l-2.859375 0l-0.8125 3.9531212l-1.390625 0l0.796875 -3.9531212l-2.90625 0l-0.8125 3.9531212l-1.390625 0zm2.484375 -5.343746l2.90625 0l0.703125 -3.359375l-2.921875 0l-0.6875 3.359375zm7.7194824 -1.59375q0 -2.421875 0.5 -3.890625q0.5 -1.46875 1.46875 -2.265625q0.984375 -0.796875 2.46875 -0.796875q1.09375 0 1.921875 0.4375q0.828125 0.4375 1.359375 1.28125q0.546875 0.828125 0.84375 2.015625q0.3125 1.1875 0.3125 3.21875q0 2.390625 -0.5 3.859375q-0.484375 1.46875 -1.46875 2.28125q-0.96875 0.7968712 -2.46875 0.7968712q-1.96875 0 -3.078125 -1.4062462q-1.359375 -1.703125 -1.359375 -5.53125zm1.71875 0q0 3.34375 0.78125 4.453125q0.796875 1.109375 1.9375 1.109375q1.15625 0 1.9375 -1.109375q0.78125 -1.125 0.78125 -4.453125q0 -3.359375 -0.78125 -4.46875q-0.78125 -1.109375 -1.953125 -1.109375q-1.15625 0 -1.828125 0.984375q-0.875 1.234375 -0.875 4.59375z" fill-rule="nonzero"></path><path fill="#fce5cd" d="m524.6037 164.32056l0 0c0 -9.439774 7.652405 -17.092209 17.092163 -17.092209l139.92584 0c4.533142 0 8.880615 1.8007812 12.085999 5.006195c3.2054443 3.2053986 5.0062256 7.5528717 5.0062256 12.086014l0 68.36676c0 9.439774 -7.652466 17.092209 -17.092224 17.092209l-139.92584 0c-9.439758 0 -17.092163 -7.6524353 -17.092163 -17.092209z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m524.6037 164.32056l0 0c0 -9.439774 7.652405 -17.092209 17.092163 -17.092209l139.92584 0c4.533142 0 8.880615 1.8007812 12.085999 5.006195c3.2054443 3.2053986 5.0062256 7.5528717 5.0062256 12.086014l0 68.36676c0 9.439774 -7.652466 17.092209 -17.092224 17.092209l-139.92584 0c-9.439758 0 -17.092163 -7.6524353 -17.092163 -17.092209z" fill-rule="nonzero"></path><path fill="#000000" d="m566.2209 205.42393l-1.546875 0l0 -13.59375l1.65625 0l0 4.84375q1.0625 -1.328125 2.703125 -1.328125q0.90625 0 1.71875 0.375q0.8125 0.359375 1.328125 1.03125q0.53125 0.65625 0.828125 1.59375q0.296875 0.9375 0.296875 2.0q0 2.53125 -1.25 3.921875q-1.25 1.375 -3.0 1.375q-1.75 0 -2.734375 -1.453125l0 1.234375zm-0.015625 -5.0q0 1.765625 0.46875 2.5625q0.796875 1.28125 2.140625 1.28125q1.09375 0 1.890625 -0.9375q0.796875 -0.953125 0.796875 -2.84375q0 -1.921875 -0.765625 -2.84375q-0.765625 -0.921875 -1.84375 -0.921875q-1.09375 0 -1.890625 0.953125q-0.796875 0.953125 -0.796875 2.75zm15.281982 3.78125q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm10.516296 1.328125l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.90625 3.609375l0 -13.59375l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203125l-2.0625 0l-3.25 -5.03125l-1.171875 1.125l0 3.90625l-1.671875 0zm16.0625 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110107 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766357 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm14.152771 5.15625l0.8125 -3.953125l-1.578125 0l0 -1.390625l1.859375 0l0.6875 -3.359375l-2.546875 0l0 -1.390625l2.8125 0l0.8125 -3.96875l1.390625 0l-0.8125 3.96875l2.921875 0l0.8125 -3.96875l1.40625 0l-0.8125 3.96875l1.609375 0l0 1.390625l-1.890625 0l-0.6875 3.359375l2.578125 0l0 1.390625l-2.859375 0l-0.8125 3.953125l-1.390625 0l0.796875 -3.953125l-2.90625 0l-0.8125 3.953125l-1.390625 0zm2.484375 -5.34375l2.90625 0l0.703125 -3.359375l-2.921875 0l-0.6875 3.359375zm14.016357 5.109375l-1.671875 0l0 -10.640625q-0.59375 0.578125 -1.578125 1.15625q-0.984375 0.5625 -1.765625 0.859375l0 -1.625q1.40625 -0.65625 2.453125 -1.59375q1.046875 -0.9375 1.484375 -1.8125l1.078125 0l0 13.65625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m427.40158 127.95276l97.19687 -70.551186" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m427.40158 127.95276l92.341156 -67.02664" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m520.713 62.262825l2.7023315 -4.002495l-4.6428833 1.3290672z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m427.40158 127.95276l97.19687 70.55118" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m427.40158 127.95276l92.341156 67.02663" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m518.77246 196.31612l4.6428833 1.329071l-2.7023315 -4.0025024z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m182.72704 127.95276l70.55118 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="3.0" stroke-linejoin="round" stroke-linecap="butt" d="m182.72704 127.95276l52.551178 0" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="3.0" stroke-linecap="butt" d="m235.27821 132.90796l13.614288 -4.9552l-13.614288 -4.9552z" fill-rule="evenodd"></path></g></svg>
-
diff --git a/content/2015/gotham-grpc/client/client.go b/content/2015/gotham-grpc/client/client.go
deleted file mode 100644
index 2dbb896..0000000
--- a/content/2015/gotham-grpc/client/client.go
+++ /dev/null
@@ -1,85 +0,0 @@
-// +build ignore,OMIT
-
-// The client command issues RPCs to a Google server and prints the
-// results.
-//
-// In "search" mode, client calls Search on the server and prints the
-// results.
-//
-// In "watch" mode, client starts a Watch on the server and prints the
-// result stream.
-package main
-
-import (
-	"flag"
-	"fmt"
-	"io"
-	"log"
-	"time"
-
-	"golang.org/x/net/context"
-	pb "golang.org/x/talks/content/2015/gotham-grpc/search"
-	"google.golang.org/grpc"
-)
-
-var (
-	server = flag.String("server", "localhost:36060", "server address")
-	mode   = flag.String("mode", "search", `one of "search" or "watch"`)
-	query  = flag.String("query", "test", "query string")
-)
-
-func main() {
-	flag.Parse()
-
-	// Connect to the server.
-	conn, err := grpc.Dial(*server, grpc.WithInsecure()) // HL
-	if err != nil {
-		log.Fatalf("fail to dial: %v", err)
-	}
-	defer conn.Close()
-	client := pb.NewGoogleClient(conn) // HL
-
-	// Run the RPC.
-	switch *mode {
-	case "search":
-		search(client, *query) // HL
-	case "watch":
-		watch(client, *query)
-	default:
-		log.Fatalf("unknown mode: %q", *mode)
-	}
-}
-
-// search issues a search for query and prints the result.
-func search(client pb.GoogleClient, query string) {
-	ctx, cancel := context.WithTimeout(context.Background(), 80*time.Millisecond) // HL
-	defer cancel()
-	req := &pb.Request{Query: query}    // HL
-	res, err := client.Search(ctx, req) // HL
-	if err != nil {
-		log.Fatal(err)
-	}
-	fmt.Println(res) // HL
-}
-
-// watch runs a Watch RPC and prints the result stream.
-func watch(client pb.GoogleClient, query string) {
-	ctx, cancel := context.WithCancel(context.Background())
-	defer cancel()
-	req := &pb.Request{Query: query}      // HL
-	stream, err := client.Watch(ctx, req) // HL
-	if err != nil {
-		log.Fatal(err)
-	}
-	for {
-		res, err := stream.Recv() // HL
-		if err == io.EOF {        // HL
-			fmt.Println("and now your watch is ended")
-			return
-		}
-		if err != nil {
-			log.Fatal(err)
-		}
-		fmt.Println(res) // HL
-	}
-}
diff --git a/content/2015/gotham-grpc/frontend.svg b/content/2015/gotham-grpc/frontend.svg
deleted file mode 100644
index efed5bc..0000000
--- a/content/2015/gotham-grpc/frontend.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-
-<svg version="1.1" viewBox="0.0 0.0 705.1417322834645 253.71391076115486" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l705.1417 0l0 253.71391l-705.1417 0l0 -253.71391z" clip-rule="nonzero"></path></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l705.1417 0l0 253.71391l-705.1417 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m8.616797 93.76937l0 0c0 -9.439766 7.652442 -17.092209 17.092205 -17.092209l139.92583 0c4.533142 0 8.8806 1.8007812 12.086014 5.006195c3.2054138 3.2054062 5.006195 7.5528793 5.006195 12.086014l0 68.36677c0 9.439774 -7.6524353 17.092209 -17.092209 17.092209l-139.92583 0c-9.439764 0 -17.092205 -7.6524353 -17.092205 -17.092209z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m8.616797 93.76937l0 0c0 -9.439766 7.652442 -17.092209 17.092205 -17.092209l139.92583 0c4.533142 0 8.8806 1.8007812 12.086014 5.006195c3.2054138 3.2054062 5.006195 7.5528793 5.006195 12.086014l0 68.36677c0 9.439774 -7.6524353 17.092209 -17.092209 17.092209l-139.92583 0c-9.439764 0 -17.092205 -7.6524353 -17.092205 -17.092209z" fill-rule="nonzero"></path><path fill="#000000" d="m45.290924 120.26338l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.265625 -1.3125q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.281967 4.921875l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm15.540802 0l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm21.978302 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.078842 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766342 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm14.418396 4.921875l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm4.191696 -11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm4.129196 0l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm17.125732 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875z" fill-rule="nonzero"></path><path fill="#000000" d="m81.58316 142.26338l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.859375 3.609375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm4.191696 -11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm10.879196 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110092 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm14.031967 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125z" fill-rule="nonzero"></path><path fill="#d9ead3" d="m253.29134 93.76937l0 0c0 -9.439766 7.6524506 -17.092209 17.092209 -17.092209l139.92581 0c4.533142 0 8.880615 1.8007812 12.086029 5.006195c3.2054138 3.2054062 5.006195 7.5528793 5.006195 12.086014l0 68.36677c0 9.439774 -7.6524353 17.092209 -17.092224 17.092209l-139.92581 0c-9.439758 0 -17.092209 -7.6524353 -17.092209 -17.092209z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="8.0" stroke-linejoin="round" stroke-linecap="butt" d="m253.29134 93.76937l0 0c0 -9.439766 7.6524506 -17.092209 17.092209 -17.092209l139.92581 0c4.533142 0 8.880615 1.8007812 12.086029 5.006195c3.2054138 3.2054062 5.006195 7.5528793 5.006195 12.086014l0 68.36677c0 9.439774 -7.6524353 17.092209 -17.092224 17.092209l-139.92581 0c-9.439758 0 -17.092209 -7.6524353 -17.092209 -17.092209z" fill-rule="nonzero"></path><path fill="#000000" d="m302.74258 125.01338l1.453125 0l0 -0.734375q0 -1.25 0.265625 -1.859375q0.265625 -0.609375 0.96875 -0.984375q0.71875 -0.390625 1.796875 -0.390625q1.109375 0 2.1875 0.328125l-0.359375 1.8125q-0.625 -0.140625 -1.203125 -0.140625q-0.5625 0 -0.8125 0.265625q-0.234375 0.265625 -0.234375 1.015625l0 0.6875l1.9375 0l0 2.0625l-1.9375 0l0 7.796875l-2.609375 0l0 -7.796875l-1.453125 0l0 -2.0625zm9.853302 9.859375l-2.609375 0l0 -9.859375l2.421875 0l0 1.40625q0.625 -0.984375 1.109375 -1.296875q0.5 -0.328125 1.140625 -0.328125q0.890625 0 1.71875 0.5l-0.8125 2.265625q-0.65625 -0.421875 -1.21875 -0.421875q-0.546875 0 -0.9375 0.296875q-0.375 0.296875 -0.59375 1.09375q-0.21875 0.78125 -0.21875 3.296875l0 3.046875zm4.166504 -5.0625q0 -1.296875 0.640625 -2.515625q0.640625 -1.21875 1.8125 -1.859375q1.171875 -0.640625 2.609375 -0.640625q2.25 0 3.671875 1.453125q1.421875 1.453125 1.421875 3.671875q0 2.234375 -1.4375 3.703125q-1.4375 1.46875 -3.625 1.46875q-1.359375 0 -2.59375 -0.609375q-1.21875 -0.609375 -1.859375 -1.796875q-0.640625 -1.1875 -0.640625 -2.875zm2.671875 0.140625q0 1.46875 0.6875 2.25q0.703125 0.765625 1.71875 0.765625q1.015625 0 1.703125 -0.765625q0.703125 -0.78125 0.703125 -2.265625q0 -1.453125 -0.703125 -2.234375q-0.6875 -0.78125 -1.703125 -0.78125q-1.015625 0 -1.71875 0.78125q-0.6875 0.78125 -0.6875 2.25zm18.286621 4.921875l-2.609375 0l0 -5.03125q0 -1.59375 -0.171875 -2.0625q-0.15625 -0.46875 -0.53125 -0.71875q-0.375 -0.265625 -0.90625 -0.265625q-0.6875 0 -1.234375 0.375q-0.53125 0.359375 -0.734375 0.984375q-0.1875 0.609375 -0.1875 2.25l0 4.46875l-2.609375 0l0 -9.859375l2.421875 0l0 1.453125q1.296875 -1.671875 3.25 -1.671875q0.859375 0 1.578125 0.3125q0.71875 0.3125 1.078125 0.796875q0.359375 0.484375 0.5 1.09375q0.15625 0.609375 0.15625 1.75l0 6.125zm6.9428406 -9.859375l0 2.078125l-1.78125 0l0 3.984375q0 1.203125 0.046875 1.40625q0.0625 0.1875 0.234375 0.328125q0.1875 0.125 0.453125 0.125q0.359375 0 1.046875 -0.25l0.21875 2.015625q-0.90625 0.390625 -2.0625 0.390625q-0.703125 0 -1.265625 -0.234375q-0.5625 -0.234375 -0.828125 -0.609375q-0.265625 -0.375 -0.375 -1.015625q-0.078125 -0.453125 -0.078125 -1.84375l0 -4.296875l-1.203125 0l0 -2.078125l1.203125 0l0 -1.953125l2.609375 -1.515625l0 3.46875l1.78125 0zm7.400177 6.71875l2.609375 0.4375q-0.5 1.4375 -1.59375 2.1875q-1.078125 0.734375 -2.703125 0.734375q-2.5625 0 -3.796875 -1.671875q-0.96875 -1.34375 -0.96875 -3.40625q0 -2.4375 1.265625 -3.828125q1.28125 -1.390625 3.25 -1.390625q2.1875 0 3.453125 1.453125q1.28125 1.453125 1.234375 4.453125l-6.53125 0q0.015625 1.15625 0.625 1.8125q0.609375 0.640625 1.5 0.640625q0.609375 0 1.03125 -0.328125q0.421875 -0.34375 0.625 -1.09375zm0.15625 -2.625q-0.03125 -1.140625 -0.59375 -1.71875q-0.546875 -0.59375 -1.34375 -0.59375q-0.859375 0 -1.40625 0.625q-0.5625 0.609375 -0.546875 1.6875l3.890625 0zm13.485107 5.765625l-2.609375 0l0 -5.03125q0 -1.59375 -0.171875 -2.0625q-0.15625 -0.46875 -0.53125 -0.71875q-0.375 -0.265625 -0.90625 -0.265625q-0.6875 0 -1.234375 0.375q-0.53125 0.359375 -0.734375 0.984375q-0.1875 0.609375 -0.1875 2.25l0 4.46875l-2.609375 0l0 -9.859375l2.421875 0l0 1.453125q1.296875 -1.671875 3.25 -1.671875q0.859375 0 1.578125 0.3125q0.71875 0.3125 1.078125 0.796875q0.359375 0.484375 0.5 1.09375q0.15625 0.609375 0.15625 1.75l0 6.125zm11.474091 0l-2.421875 0l0 -1.453125q-0.609375 0.84375 -1.4375 1.265625q-0.8125 0.40625 -1.640625 0.40625q-1.703125 0 -2.921875 -1.359375q-1.203125 -1.375 -1.203125 -3.828125q0 -2.5 1.171875 -3.796875q1.1875 -1.3125 2.984375 -1.3125q1.65625 0 2.859375 1.375l0 -4.890625l2.609375 0l0 13.59375zm-6.96875 -5.140625q0 1.578125 0.4375 2.28125q0.640625 1.015625 1.765625 1.015625q0.90625 0 1.53125 -0.765625q0.625 -0.765625 0.625 -2.28125q0 -1.703125 -0.609375 -2.4375q-0.609375 -0.75 -1.5625 -0.75q-0.9375 0 -1.5625 0.734375q-0.625 0.734375 -0.625 2.203125z" fill-rule="nonzero"></path><path fill="#fce5cd" d="m524.6037 23.21819l0 0c0 -9.439764 7.652405 -17.092205 17.092163 -17.092205l139.92584 0c4.533142 0 8.880615 1.8007808 12.085999 5.0061913c3.2054443 3.20541 5.0062256 7.5528793 5.0062256 12.086014l0 68.366776c0 9.439766 -7.652466 17.092201 -17.092224 17.092201l-139.92584 0c-9.439758 0 -17.092163 -7.6524353 -17.092163 -17.092201z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m524.6037 23.21819l0 0c0 -9.439764 7.652405 -17.092205 17.092163 -17.092205l139.92584 0c4.533142 0 8.880615 1.8007808 12.085999 5.0061913c3.2054443 3.20541 5.0062256 7.5528793 5.0062256 12.086014l0 68.366776c0 9.439766 -7.652466 17.092201 -17.092224 17.092201l-139.92584 0c-9.439758 0 -17.092163 -7.6524353 -17.092163 -17.092201z" fill-rule="nonzero"></path><path fill="#000000" d="m566.2209 64.32157l-1.546875 0l0 -13.593746l1.65625 0l0 4.84375q1.0625 -1.328125 2.703125 -1.328125q0.90625 0 1.71875 0.375q0.8125 0.359375 1.328125 1.03125q0.53125 0.65625 0.828125 1.59375q0.296875 0.9375 0.296875 2.0q0 2.53125 -1.25 3.921875q-1.25 1.3749962 -3.0 1.3749962q-1.75 0 -2.734375 -1.4531212l0 1.2343712zm-0.015625 -4.999996q0 1.765625 0.46875 2.5625q0.796875 1.28125 2.140625 1.28125q1.09375 0 1.890625 -0.9375q0.796875 -0.953125 0.796875 -2.84375q0 -1.921875 -0.765625 -2.84375q-0.765625 -0.921875 -1.84375 -0.921875q-1.09375 0 -1.890625 0.953125q-0.796875 0.953125 -0.796875 2.75zm15.281982 3.78125q-0.9375 0.796875 -1.796875 1.1249962q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.7812462q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.1718712l-1.75 0q-0.265625 -0.5156212 -0.328125 -1.2187462zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm10.516296 1.328125l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.9531212 -2.734375 0.9531212q-2.015625 0 -3.25 -1.3124962q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.90625 3.6093712l0 -13.593746l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203121l-2.0625 0l-3.25 -5.031246l-1.171875 1.125l0 3.9062462l-1.671875 0zm16.0625 -3.1718712l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.8281212 -2.8125 0.8281212q-2.15625 0 -3.421875 -1.3281212q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110107 5.874996l0 -9.859371l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.062496l-1.671875 0l0 -5.999996q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.374996l-1.671875 0zm16.766357 0l0 -1.2499962q-0.9375 1.4687462 -2.75 1.4687462q-1.171875 0 -2.171875 -0.6406212q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.593746l-1.546875 0zm-5.28125 -4.921871q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm14.152771 5.156246l0.8125 -3.9531212l-1.578125 0l0 -1.390625l1.859375 0l0.6875 -3.359375l-2.546875 0l0 -1.390625l2.8125 0l0.8125 -3.96875l1.390625 0l-0.8125 3.96875l2.921875 0l0.8125 -3.96875l1.40625 0l-0.8125 3.96875l1.609375 0l0 1.390625l-1.890625 0l-0.6875 3.359375l2.578125 0l0 1.390625l-2.859375 0l-0.8125 3.9531212l-1.390625 0l0.796875 -3.9531212l-2.90625 0l-0.8125 3.9531212l-1.390625 0zm2.484375 -5.343746l2.90625 0l0.703125 -3.359375l-2.921875 0l-0.6875 3.359375zm7.7194824 -1.59375q0 -2.421875 0.5 -3.890625q0.5 -1.46875 1.46875 -2.265625q0.984375 -0.796875 2.46875 -0.796875q1.09375 0 1.921875 0.4375q0.828125 0.4375 1.359375 1.28125q0.546875 0.828125 0.84375 2.015625q0.3125 1.1875 0.3125 3.21875q0 2.390625 -0.5 3.859375q-0.484375 1.46875 -1.46875 2.28125q-0.96875 0.7968712 -2.46875 0.7968712q-1.96875 0 -3.078125 -1.4062462q-1.359375 -1.703125 -1.359375 -5.53125zm1.71875 0q0 3.34375 0.78125 4.453125q0.796875 1.109375 1.9375 1.109375q1.15625 0 1.9375 -1.109375q0.78125 -1.125 0.78125 -4.453125q0 -3.359375 -0.78125 -4.46875q-0.78125 -1.109375 -1.953125 -1.109375q-1.15625 0 -1.828125 0.984375q-0.875 1.234375 -0.875 4.59375z" fill-rule="nonzero"></path><path fill="#fce5cd" d="m524.6037 164.32056l0 0c0 -9.439774 7.652405 -17.092209 17.092163 -17.092209l139.92584 0c4.533142 0 8.880615 1.8007812 12.085999 5.006195c3.2054443 3.2053986 5.0062256 7.5528717 5.0062256 12.086014l0 68.36676c0 9.439774 -7.652466 17.092209 -17.092224 17.092209l-139.92584 0c-9.439758 0 -17.092163 -7.6524353 -17.092163 -17.092209z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m524.6037 164.32056l0 0c0 -9.439774 7.652405 -17.092209 17.092163 -17.092209l139.92584 0c4.533142 0 8.880615 1.8007812 12.085999 5.006195c3.2054443 3.2053986 5.0062256 7.5528717 5.0062256 12.086014l0 68.36676c0 9.439774 -7.652466 17.092209 -17.092224 17.092209l-139.92584 0c-9.439758 0 -17.092163 -7.6524353 -17.092163 -17.092209z" fill-rule="nonzero"></path><path fill="#000000" d="m566.2209 205.42393l-1.546875 0l0 -13.59375l1.65625 0l0 4.84375q1.0625 -1.328125 2.703125 -1.328125q0.90625 0 1.71875 0.375q0.8125 0.359375 1.328125 1.03125q0.53125 0.65625 0.828125 1.59375q0.296875 0.9375 0.296875 2.0q0 2.53125 -1.25 3.921875q-1.25 1.375 -3.0 1.375q-1.75 0 -2.734375 -1.453125l0 1.234375zm-0.015625 -5.0q0 1.765625 0.46875 2.5625q0.796875 1.28125 2.140625 1.28125q1.09375 0 1.890625 -0.9375q0.796875 -0.953125 0.796875 -2.84375q0 -1.921875 -0.765625 -2.84375q-0.765625 -0.921875 -1.84375 -0.921875q-1.09375 0 -1.890625 0.953125q-0.796875 0.953125 -0.796875 2.75zm15.281982 3.78125q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm10.516296 1.328125l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.90625 3.609375l0 -13.59375l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203125l-2.0625 0l-3.25 -5.03125l-1.171875 1.125l0 3.90625l-1.671875 0zm16.0625 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110107 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766357 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm14.152771 5.15625l0.8125 -3.953125l-1.578125 0l0 -1.390625l1.859375 0l0.6875 -3.359375l-2.546875 0l0 -1.390625l2.8125 0l0.8125 -3.96875l1.390625 0l-0.8125 3.96875l2.921875 0l0.8125 -3.96875l1.40625 0l-0.8125 3.96875l1.609375 0l0 1.390625l-1.890625 0l-0.6875 3.359375l2.578125 0l0 1.390625l-2.859375 0l-0.8125 3.953125l-1.390625 0l0.796875 -3.953125l-2.90625 0l-0.8125 3.953125l-1.390625 0zm2.484375 -5.34375l2.90625 0l0.703125 -3.359375l-2.921875 0l-0.6875 3.359375zm14.016357 5.109375l-1.671875 0l0 -10.640625q-0.59375 0.578125 -1.578125 1.15625q-0.984375 0.5625 -1.765625 0.859375l0 -1.625q1.40625 -0.65625 2.453125 -1.59375q1.046875 -0.9375 1.484375 -1.8125l1.078125 0l0 13.65625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m427.40158 127.95276l97.19687 -70.551186" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="3.0" stroke-linejoin="round" stroke-linecap="butt" d="m427.40158 127.95276l82.62979 -59.97757" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="3.0" stroke-linecap="butt" d="m512.9422 71.98533l8.106934 -12.007488l-13.928558 3.9872055z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m427.40158 127.95276l97.19687 70.55118" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="3.0" stroke-linejoin="round" stroke-linecap="butt" d="m427.40158 127.95276l82.62979 59.97757" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="3.0" stroke-linecap="butt" d="m507.12057 191.94046l13.928558 3.9872131l-8.106934 -12.007492z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m182.72704 127.95276l70.55118 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="3.0" stroke-linejoin="round" stroke-linecap="butt" d="m182.72704 127.95276l52.551178 0" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="3.0" stroke-linecap="butt" d="m235.27821 132.90796l13.614288 -4.9552l-13.614288 -4.9552z" fill-rule="evenodd"></path></g></svg>
-
diff --git a/content/2015/gotham-grpc/frontend/frontend.go b/content/2015/gotham-grpc/frontend/frontend.go
deleted file mode 100644
index 35b5480..0000000
--- a/content/2015/gotham-grpc/frontend/frontend.go
+++ /dev/null
@@ -1,119 +0,0 @@
-// +build ignore,OMIT
-
-// The frontend command runs a Google server that combines results
-// from multiple backends.
-package main
-
-import (
-	"flag"
-	"log"
-	"net"
-	"net/http"
-	_ "net/http/pprof"
-	"strings"
-	"sync"
-
-	"golang.org/x/net/context"
-	pb "golang.org/x/talks/content/2015/gotham-grpc/search"
-	"google.golang.org/grpc"
-)
-
-var (
-	backends = flag.String("backends", "localhost:36061,localhost:36062", "comma-separated backend server addresses")
-)
-
-type server struct {
-	backends []pb.GoogleClient
-}
-
-// Search issues Search RPCs in parallel to the backends and returns
-// the first result.
-func (s *server) Search(ctx context.Context, req *pb.Request) (*pb.Result, error) { // HL
-	c := make(chan result, len(s.backends))
-	for _, b := range s.backends {
-		go func(backend pb.GoogleClient) { // HL
-			res, err := backend.Search(ctx, req) // HL
-			c <- result{res, err}                // HL
-		}(b) // HL
-	}
-	first := <-c                // HL
-	return first.res, first.err // HL
-}
-
-type result struct {
-	res *pb.Result
-	err error
-}
-
-// Watch runs Watch RPCs in parallel on the backends and returns a
-// merged stream of results.
-func (s *server) Watch(req *pb.Request, stream pb.Google_WatchServer) error { // HL
-	ctx := stream.Context()
-	c := make(chan result) // HL
-	var wg sync.WaitGroup
-	for _, b := range s.backends {
-		wg.Add(1)
-		go func(backend pb.GoogleClient) { // HL
-			defer wg.Done()                    // HL
-			watchBackend(ctx, backend, req, c) // HL
-		}(b) // HL
-	}
-	go func() {
-		wg.Wait()
-		close(c) // HL
-	}()
-	for res := range c { // HL
-		if res.err != nil {
-			return res.err
-		}
-		if err := stream.Send(res.res); err != nil { // HL
-			return err // HL
-		} // HL
-	}
-	return nil
-}
-
-// watchBackend runs Watch on a single backend and sends results on c.
-// watchBackend returns when ctx.Done is closed or stream.Recv fails.
-func watchBackend(ctx context.Context, backend pb.GoogleClient, req *pb.Request, c chan<- result) {
-	stream, err := backend.Watch(ctx, req) // HL
-	if err != nil {
-		select {
-		case c <- result{err: err}: // HL
-		case <-ctx.Done():
-		}
-		return
-	}
-	for {
-		res, err := stream.Recv() // HL
-		select {
-		case c <- result{res, err}: // HL
-			if err != nil {
-				return
-			}
-		case <-ctx.Done():
-			return
-		}
-	}
-}
-
-func main() {
-	flag.Parse()
-	go http.ListenAndServe(":36660", nil)   // HTTP debugging
-	lis, err := net.Listen("tcp", ":36060") // RPC port
-	if err != nil {
-		log.Fatalf("failed to listen: %v", err)
-	}
-	s := new(server)
-	for _, addr := range strings.Split(*backends, ",") {
-		conn, err := grpc.Dial(addr, grpc.WithInsecure())
-		if err != nil {
-			log.Fatalf("fail to dial: %v", err)
-		}
-		client := pb.NewGoogleClient(conn)
-		s.backends = append(s.backends, client)
-	}
-	g := grpc.NewServer()
-	pb.RegisterGoogleServer(g, s)
-	g.Serve(lis)
-}
diff --git a/content/2015/gotham-grpc/search-only/README.md b/content/2015/gotham-grpc/search-only/README.md
deleted file mode 100644
index f884708..0000000
--- a/content/2015/gotham-grpc/search-only/README.md
+++ /dev/null
@@ -1 +0,0 @@
-protoc ./search-only.proto --go_out=plugins=grpc:.
diff --git a/content/2015/gotham-grpc/search-only/search-only.pb.go b/content/2015/gotham-grpc/search-only/search-only.pb.go
deleted file mode 100644
index 5112a2d..0000000
--- a/content/2015/gotham-grpc/search-only/search-only.pb.go
+++ /dev/null
@@ -1,112 +0,0 @@
-// Code generated by protoc-gen-go.
-// source: search-only.proto
-// DO NOT EDIT!
-
-// +build ignore,OMIT
-
-/*
-Package search_only is a generated protocol buffer package.
-
-It is generated from these files:
-	search-only.proto
-
-It has these top-level messages:
-	Request
-	Result
-*/
-package search_only
-
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-
-import (
-	context "golang.org/x/net/context"
-	grpc "google.golang.org/grpc"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-type Request struct {
-	Query string `protobuf:"bytes,1,opt,name=query" json:"query,omitempty"`
-}
-
-func (m *Request) Reset()         { *m = Request{} }
-func (m *Request) String() string { return proto.CompactTextString(m) }
-func (*Request) ProtoMessage()    {}
-
-type Result struct {
-	Title   string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"`
-	Url     string `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"`
-	Snippet string `protobuf:"bytes,3,opt,name=snippet" json:"snippet,omitempty"`
-}
-
-func (m *Result) Reset()         { *m = Result{} }
-func (m *Result) String() string { return proto.CompactTextString(m) }
-func (*Result) ProtoMessage()    {}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConn
-
-// Client API for Google service
-
-type GoogleClient interface {
-	// Search returns a Google search result for the query.
-	Search(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Result, error)
-}
-
-type googleClient struct {
-	cc *grpc.ClientConn
-}
-
-func NewGoogleClient(cc *grpc.ClientConn) GoogleClient {
-	return &googleClient{cc}
-}
-
-func (c *googleClient) Search(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Result, error) {
-	out := new(Result)
-	err := grpc.Invoke(ctx, "/.Google/Search", in, out, c.cc, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-// Server API for Google service
-
-type GoogleServer interface {
-	// Search returns a Google search result for the query.
-	Search(context.Context, *Request) (*Result, error)
-}
-
-func RegisterGoogleServer(s *grpc.Server, srv GoogleServer) {
-	s.RegisterService(&_Google_serviceDesc, srv)
-}
-
-func _Google_Search_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
-	in := new(Request)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	out, err := srv.(GoogleServer).Search(ctx, in)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-var _Google_serviceDesc = grpc.ServiceDesc{
-	ServiceName: ".Google",
-	HandlerType: (*GoogleServer)(nil),
-	Methods: []grpc.MethodDesc{
-		{
-			MethodName: "Search",
-			Handler:    _Google_Search_Handler,
-		},
-	},
-	Streams: []grpc.StreamDesc{},
-}
diff --git a/content/2015/gotham-grpc/search-only/search-only.proto b/content/2015/gotham-grpc/search-only/search-only.proto
deleted file mode 100644
index e406e02..0000000
--- a/content/2015/gotham-grpc/search-only/search-only.proto
+++ /dev/null
@@ -1,17 +0,0 @@
-syntax = "proto3";
-
-service Google { // HL
-  // Search returns a Google search result for the query.
-  rpc Search(Request) returns (Result) { // HL
-  }
-}
-
-message Request { // HL
-  string query = 1;
-}
-
-message Result { // HL
-  string title = 1;
-  string url = 2;
-  string snippet = 3;
-}
diff --git a/content/2015/gotham-grpc/search.svg b/content/2015/gotham-grpc/search.svg
deleted file mode 100644
index cba7a0a..0000000
--- a/content/2015/gotham-grpc/search.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-
-<svg version="1.1" viewBox="0.0 0.0 558.5931758530184 277.18110236220474" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l558.5932 0l0 277.1811l-558.5932 0l0 -277.1811z" clip-rule="nonzero"></path></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l558.5932 0l0 277.1811l-558.5932 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m132.46194 30.981627l416.94485 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m132.46194 30.981627l416.94485 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m132.46194 101.177605l416.94485 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m132.46194 101.177605l416.94485 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m132.46194 171.37358l416.94485 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m132.46194 171.37358l416.94485 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m132.46194 241.56955l416.94485 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m132.46194 241.56955l416.94485 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m160.89764 30.887138l18.708649 69.79527" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m160.89764 30.887138l17.155197 63.99987" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m176.45743 95.31466l2.7703705 3.9557037l0.42045593 -4.8110046z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m208.89764 101.11024l19.086609 71.2756" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m208.89764 101.11024l17.534561 65.479805" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m224.8367 167.01729l2.769394 3.9563904l0.42164612 -4.810898z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m200.3622 101.11024l37.637802 140.44095" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m200.3622 101.11024l36.084625 134.64548" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m234.8514 236.18327l2.770172 3.955841l0.4206848 -4.8109894z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m229.0882 163.92287l147.08661 0l0 28.7874l-147.08661 0z" fill-rule="nonzero"></path><path fill="#b7b7b7" d="m242.5257 194.84286q-1.375 -1.75 -2.328125 -4.078125q-0.953125 -2.34375 -0.953125 -4.84375q0 -2.21875 0.703125 -4.234375q0.84375 -2.34375 2.578125 -4.671875l1.203125 0q-1.125 1.921875 -1.484375 2.75q-0.5625 1.28125 -0.890625 2.671875q-0.40625 1.734375 -0.40625 3.484375q0 4.46875 2.78125 8.921875l-1.203125 0zm3.009552 -4.0l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm12.665802 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.078827 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766357 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm8.641327 0q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.281982 4.921875l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm27.114716 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm16.016357 1.75l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.078827 5.875l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm10.613586 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.000702 8.734375l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125zm10.5 0.203125l-1.1875 0q2.765625 -4.453125 2.765625 -8.921875q0 -1.734375 -0.390625 -3.453125q-0.328125 -1.390625 -0.890625 -2.671875q-0.359375 -0.84375 -1.484375 -2.78125l1.1875 0q1.75 2.328125 2.578125 4.671875q0.71875 2.015625 0.71875 4.234375q0 2.5 -0.96875 4.84375q-0.953125 2.328125 -2.328125 4.078125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m286.88782 234.91031l147.08661 0l0 28.787415l-147.08661 0z" fill-rule="nonzero"></path><path fill="#b7b7b7" d="m300.32532 265.83032q-1.375 -1.75 -2.328125 -4.078125q-0.953125 -2.34375 -0.953125 -4.84375q0 -2.2187653 0.703125 -4.2343903q0.84375 -2.34375 2.578125 -4.671875l1.203125 0q-1.125 1.921875 -1.484375 2.75q-0.5625 1.28125 -0.890625 2.671875q-0.40625 1.734375 -0.40625 3.4843903q0 4.46875 2.78125 8.921875l-1.203125 0zm3.009552 -4.0l0 -9.85939l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.9531403l0 5.15625l-1.671875 0zm12.665802 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25001526 2.984375 -0.57814026q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.2343903q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.078827 4.9375l0 -9.85939l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625153l-1.671875 0l0 -6.0000153q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.5781403l0 5.375l-1.671875 0zm16.766357 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.4687653 0.484375 -2.6718903q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.593765l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.0156403 -0.78125 -2.9531403q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.8593903zm8.641327 0q0 -2.7343903 1.53125 -4.0625153q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.6718903q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.8281403 -0.828125 -2.7656403q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.8281403zm9.281982 4.921875l0 -9.85939l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.7656403l-1.671875 0l0 -6.2031403q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.2187653l0 5.71875l-1.671875 0l0 -6.4062653q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625153l0 5.109375l-1.671875 0zm27.114716 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.4687653 0.484375 -2.6718903q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.593765l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.0156403 -0.78125 -2.9531403q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.8593903zm16.016357 1.75l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.4843903 1.265625 -3.8593903q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.7968903q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.7031403l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.078827 5.8750153l0 -13.593765l1.671875 0l0 13.593765l-1.671875 0zm10.613586 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25001526 2.984375 -0.57814026q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.2343903q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.000702 8.734375l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875015l1.796875 0l2.046875 5.7187653q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.7500153l1.671875 0l-3.75 10.031265q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125zm10.5 0.203125l-1.1875 0q2.765625 -4.453125 2.765625 -8.921875q0 -1.7343903 -0.390625 -3.4531403q-0.328125 -1.390625 -0.890625 -2.671875q-0.359375 -0.84375 -1.484375 -2.78125l1.1875 0q1.75 2.328125 2.578125 4.671875q0.71875 2.015625 0.71875 4.2343903q0 2.5 -0.96875 4.84375q-0.953125 2.328125 -2.328125 4.078125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m377.59317 171.37534l18.614166 -69.417336" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m377.59317 171.37534l17.06018 -63.622063" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m396.24872 108.18107l-0.42001343 -4.811043l-2.7707214 3.9554443z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m452.40158 101.86614l18.551178 -69.25984" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m452.40158 101.86614l16.99881 -63.46414" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m470.99588 38.82935l-0.4213562 -4.8109245l-2.7696228 3.9562225z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m444.5013 100.637794l37.700775 140.6614" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m444.5013 100.637794l36.14746 134.86597" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m479.05334 235.93138l2.7702942 3.9557648l0.42056274 -4.8109894z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m172.84251 60.719162l71.27559 0l0 44.15748l-71.27559 0z" fill-rule="nonzero"></path><path fill="#000000" d="m189.37376 91.42041l0 -4.828125q-0.390625 0.546875 -1.09375 0.90625q-0.6875 0.359375 -1.484375 0.359375q-1.75 0 -3.015625 -1.390625q-1.265625 -1.40625 -1.265625 -3.84375q0 -1.484375 0.515625 -2.65625q0.515625 -1.1875 1.484375 -1.796875q0.984375 -0.609375 2.15625 -0.609375q1.828125 0 2.875 1.546875l0 -1.328125l1.5 0l0 13.640625l-1.671875 0zm-5.140625 -8.734375q0 1.90625 0.796875 2.859375q0.796875 0.9375 1.90625 0.9375q1.0625 0 1.828125 -0.890625q0.78125 -0.90625 0.78125 -2.765625q0 -1.953125 -0.8125 -2.953125q-0.8125 -1.0 -1.90625 -1.0q-1.09375 0 -1.84375 0.9375q-0.75 0.921875 -0.75 2.875zm15.688217 4.953125l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm10.672592 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094467 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm6.150177 3.796875l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m225.96379 135.74689l91.68504 0l0 44.15747l-91.68504 0z" fill-rule="nonzero"></path><path fill="#000000" d="m242.49504 166.44814l0 -4.828125q-0.390625 0.546875 -1.09375 0.90625q-0.6875 0.359375 -1.484375 0.359375q-1.75 0 -3.015625 -1.390625q-1.265625 -1.40625 -1.265625 -3.84375q0 -1.484375 0.515625 -2.65625q0.515625 -1.1875 1.484375 -1.796875q0.984375 -0.609375 2.15625 -0.609375q1.828125 0 2.875 1.546875l0 -1.328125l1.5 0l0 13.640625l-1.671875 0zm-5.140625 -8.734375q0 1.90625 0.796875 2.859375q0.796875 0.9375 1.90625 0.9375q1.0625 0 1.828125 -0.890625q0.78125 -0.90625 0.78125 -2.765625q0 -1.953125 -0.8125 -2.953125q-0.8125 -1.0 -1.90625 -1.0q-1.09375 0 -1.84375 0.9375q-0.75 0.921875 -0.75 2.875zm15.688217 4.953125l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm10.672577 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094482 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm6.150177 3.796875l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m410.2021 20.717848l64.09451 0l0 44.15748l-64.09451 0z" fill-rule="nonzero"></path><path fill="#000000" d="m420.43646 47.637844l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm12.978302 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110107 9.65625l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625zm8.828827 4.875l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm4.0979614 3.796875l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m335.15015 91.09194l64.09451 0l0 44.15748l-64.09451 0z" fill-rule="nonzero"></path><path fill="#000000" d="m345.38452 118.01194l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm12.978302 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110107 9.65625l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625zm8.828827 4.875l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm4.0979614 3.796875l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m474.2021 199.74803l78.04724 0l0 44.157486l-78.04724 0z" fill-rule="nonzero"></path><path fill="#000000" d="m490.8896 223.05865l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm9.328125 2.390625q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.0788574 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.813232 -3.609375l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm9.640625 0.4375l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.078796 5.875l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m162.98471 30.888165l305.6063 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m162.98471 30.888165l305.6063 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m180.41277 100.91659l269.7638 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m180.41277 100.91659l269.7638 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m230.67455 172.18373l145.22835 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m230.67455 172.18373l145.22835 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m240.7598 241.55495l238.99213 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m240.7598 241.55495l238.99213 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m236.88286 206.90053l91.68504 0l0 44.157486l-91.68504 0z" fill-rule="nonzero"></path><path fill="#000000" d="m253.41411 237.60178l0 -4.828125q-0.390625 0.546875 -1.09375 0.90625q-0.6875 0.359375 -1.484375 0.359375q-1.75 0 -3.015625 -1.390625q-1.265625 -1.40625 -1.265625 -3.84375q0 -1.484375 0.515625 -2.65625q0.515625 -1.1875 1.484375 -1.796875q0.984375 -0.609375 2.15625 -0.609375q1.828125 0 2.875 1.546875l0 -1.328125l1.5 0l0 13.640625l-1.671875 0zm-5.140625 -8.734375q0 1.90625 0.796875 2.859375q0.796875 0.9375 1.90625 0.9375q1.0625 0 1.828125 -0.890625q0.78125 -0.90625 0.78125 -2.765625q0 -1.953125 -0.8125 -2.953125q-0.8125 -1.0 -1.90625 -1.0q-1.09375 0 -1.84375 0.9375q-0.75 0.921875 -0.75 2.875zm15.688217 4.953125l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm10.672577 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094482 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm6.150177 3.796875l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m11.028872 20.803246l0 0c0 -2.6498604 2.1481361 -4.7979965 4.7979965 -4.7979965l111.41188 0c1.2725143 0 2.492897 0.5055027 3.3926926 1.4053001c0.8998108 0.89979935 1.405304 2.1201878 1.405304 3.3926964l0 19.19141c0 2.6498604 -2.1481323 4.7979965 -4.7979965 4.7979965l-111.41188 0c-2.6498604 0 -4.7979965 -2.1481361 -4.7979965 -4.7979965z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m11.028872 20.803246l0 0c0 -2.6498604 2.1481361 -4.7979965 4.7979965 -4.7979965l111.41188 0c1.2725143 0 2.492897 0.5055027 3.3926926 1.4053001c0.8998108 0.89979935 1.405304 2.1201878 1.405304 3.3926964l0 19.19141c0 2.6498604 -2.1481323 4.7979965 -4.7979965 4.7979965l-111.41188 0c-2.6498604 0 -4.7979965 -2.1481361 -4.7979965 -4.7979965z" fill-rule="nonzero"></path><path fill="#000000" d="m57.444057 33.70957l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.859375 3.609375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm4.1916924 -11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm10.879196 -3.171875l1.7187576 0.21875q-0.40625 1.5 -1.5156326 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.2500076 1.34375 1.2500076 3.796875q0 0.140625 -0.015625 0.4375l-7.3437576 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.1101 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm14.031967 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125z" fill-rule="nonzero"></path><path fill="#d9ead3" d="m11.028872 91.724724l0 0c0 -2.6498642 2.1481361 -4.7979965 4.7979965 -4.7979965l111.41188 0c1.2725143 0 2.492897 0.5055008 3.3926926 1.4052963c0.8998108 0.89980316 1.405304 2.1201859 1.405304 3.3927002l0 19.191406c0 2.6498566 -2.1481323 4.7979965 -4.7979965 4.7979965l-111.41188 0c-2.6498604 0 -4.7979965 -2.14814 -4.7979965 -4.7979965z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m11.028872 91.724724l0 0c0 -2.6498642 2.1481361 -4.7979965 4.7979965 -4.7979965l111.41188 0c1.2725143 0 2.492897 0.5055008 3.3926926 1.4052963c0.8998108 0.89980316 1.405304 2.1201859 1.405304 3.3927002l0 19.191406c0 2.6498566 -2.1481323 4.7979965 -4.7979965 4.7979965l-111.41188 0c-2.6498604 0 -4.7979965 -2.14814 -4.7979965 -4.7979965z" fill-rule="nonzero"></path><path fill="#000000" d="m38.960125 108.240425l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.761429 0l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm5.603302 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.281967 4.921875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.1406212 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0624962 0 -1.8437462 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm14.031963 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm8.277061 -1.671875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.2656326 -1.328125 -1.2656326 -3.734375q0 -2.484375 1.2656326 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110092 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766342 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375z" fill-rule="nonzero"></path><path fill="#fce5cd" d="m11.028872 161.56767l0 0c0 -2.6498566 2.1481361 -4.798004 4.7979965 -4.798004l111.41188 0c1.2725143 0 2.492897 0.5055084 3.3926926 1.405304c0.8998108 0.89979553 1.405304 2.1201935 1.405304 3.3927002l0 19.191406c0 2.6498566 -2.1481323 4.797989 -4.7979965 4.797989l-111.41188 0c-2.6498604 0 -4.7979965 -2.1481323 -4.7979965 -4.797989z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m11.028872 161.56767l0 0c0 -2.6498566 2.1481361 -4.798004 4.7979965 -4.798004l111.41188 0c1.2725143 0 2.492897 0.5055084 3.3926926 1.405304c0.8998108 0.89979553 1.405304 2.1201935 1.405304 3.3927002l0 19.191406c0 2.6498566 -2.1481323 4.797989 -4.7979965 4.797989l-111.41188 0c-2.6498604 0 -4.7979965 -2.1481323 -4.7979965 -4.797989z" fill-rule="nonzero"></path><path fill="#000000" d="m26.094896 178.08337l-1.546875 0l0 -13.59375l1.65625 0l0 4.84375q1.0625 -1.328125 2.703125 -1.328125q0.90625 0 1.71875 0.375q0.8125 0.359375 1.328125 1.03125q0.5312519 0.65625 0.8281269 1.59375q0.296875 0.9375 0.296875 2.0q0 2.53125 -1.2500019 3.921875q-1.25 1.375 -3.0 1.375q-1.75 0 -2.734375 -1.453125l0 1.234375zm-0.015625 -5.0q0 1.765625 0.46875 2.5625q0.796875 1.28125 2.140625 1.28125q1.09375 0 1.890625 -0.9375q0.796875 -0.953125 0.796875 -2.84375q0 -1.921875 -0.765625 -2.84375q-0.765625 -0.921875 -1.84375 -0.921875q-1.09375 0 -1.890625 0.953125q-0.796875 0.953125 -0.796875 2.75zm15.281969 3.78125q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm10.516342 1.328125l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.90625 3.609375l0 -13.59375l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203125l-2.0625 0l-3.25 -5.03125l-1.171875 1.125l0 3.90625l-1.671875 0zm16.062496 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.2656212 -1.328125 -1.2656212 -3.734375q0 -2.484375 1.2656212 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110092 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766342 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm14.152771 5.15625l0.8125 -3.953125l-1.578125 0l0 -1.390625l1.859375 0l0.6875 -3.359375l-2.546875 0l0 -1.390625l2.8125 0l0.8125 -3.96875l1.390625 0l-0.8125 3.96875l2.921875 0l0.8125 -3.96875l1.40625 0l-0.8125 3.96875l1.609375 0l0 1.390625l-1.890625 0l-0.6875 3.359375l2.578125 0l0 1.390625l-2.859375 0l-0.8125 3.953125l-1.390625 0l0.796875 -3.953125l-2.90625 0l-0.8125 3.953125l-1.390625 0zm2.484375 -5.34375l2.90625 0l0.703125 -3.359375l-2.921875 0l-0.6875 3.359375zm7.719467 -1.59375q0 -2.421875 0.5 -3.890625q0.5 -1.46875 1.46875 -2.265625q0.984375 -0.796875 2.46875 -0.796875q1.09375 0 1.921875 0.4375q0.828125 0.4375 1.359375 1.28125q0.546875 0.828125 0.84375 2.015625q0.3125 1.1875 0.3125 3.21875q0 2.390625 -0.5 3.859375q-0.484375 1.46875 -1.46875 2.28125q-0.96875 0.796875 -2.46875 0.796875q-1.96875 0 -3.078125 -1.40625q-1.359375 -1.703125 -1.359375 -5.53125zm1.71875 0q0 3.34375 0.78125 4.453125q0.796875 1.109375 1.9375 1.109375q1.15625 0 1.9375 -1.109375q0.78125 -1.125 0.78125 -4.453125q0 -3.359375 -0.78125 -4.46875q-0.78125 -1.109375 -1.953125 -1.109375q-1.15625 0 -1.828125 0.984375q-0.875 1.234375 -0.875 4.59375z" fill-rule="nonzero"></path><path fill="#fce5cd" d="m11.028872 231.94987l0 0c0 -2.6498566 2.1481361 -4.797989 4.7979965 -4.797989l111.41188 0c1.2725143 0 2.492897 0.50549316 3.3926926 1.405304c0.8998108 0.89979553 1.405304 2.1201782 1.405304 3.392685l0 19.191422c0 2.6498566 -2.1481323 4.797989 -4.7979965 4.797989l-111.41188 0c-2.6498604 0 -4.7979965 -2.1481323 -4.7979965 -4.797989z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m11.028872 231.94987l0 0c0 -2.6498566 2.1481361 -4.797989 4.7979965 -4.797989l111.41188 0c1.2725143 0 2.492897 0.50549316 3.3926926 1.405304c0.8998108 0.89979553 1.405304 2.1201782 1.405304 3.392685l0 19.191422c0 2.6498566 -2.1481323 4.797989 -4.7979965 4.797989l-111.41188 0c-2.6498604 0 -4.7979965 -2.1481323 -4.7979965 -4.797989z" fill-rule="nonzero"></path><path fill="#000000" d="m26.094896 248.46558l-1.546875 0l0 -13.59375l1.65625 0l0 4.84375q1.0625 -1.328125 2.703125 -1.328125q0.90625 0 1.71875 0.375q0.8125 0.359375 1.328125 1.03125q0.5312519 0.65625 0.8281269 1.59375q0.296875 0.9375 0.296875 2.0q0 2.53125 -1.2500019 3.921875q-1.25 1.375 -3.0 1.375q-1.75 0 -2.734375 -1.453125l0 1.234375zm-0.015625 -5.0q0 1.765625 0.46875 2.5625q0.796875 1.28125 2.140625 1.28125q1.09375 0 1.890625 -0.9375q0.796875 -0.953125 0.796875 -2.84375q0 -1.921875 -0.765625 -2.84375q-0.765625 -0.921875 -1.84375 -0.921875q-1.09375 0 -1.890625 0.953125q-0.796875 0.953125 -0.796875 2.75zm15.281969 3.78125q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm10.516342 1.328125l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.90625 3.609375l0 -13.59375l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203125l-2.0625 0l-3.25 -5.03125l-1.171875 1.125l0 3.90625l-1.671875 0zm16.062496 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.2656212 -1.328125 -1.2656212 -3.734375q0 -2.484375 1.2656212 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110092 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766342 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm14.152771 5.15625l0.8125 -3.953125l-1.578125 0l0 -1.390625l1.859375 0l0.6875 -3.359375l-2.546875 0l0 -1.390625l2.8125 0l0.8125 -3.96875l1.390625 0l-0.8125 3.96875l2.921875 0l0.8125 -3.96875l1.40625 0l-0.8125 3.96875l1.609375 0l0 1.390625l-1.890625 0l-0.6875 3.359375l2.578125 0l0 1.390625l-2.859375 0l-0.8125 3.953125l-1.390625 0l0.796875 -3.953125l-2.90625 0l-0.8125 3.953125l-1.390625 0zm2.484375 -5.34375l2.90625 0l0.703125 -3.359375l-2.921875 0l-0.6875 3.359375zm14.016342 5.109375l-1.671875 0l0 -10.640625q-0.59375 0.578125 -1.578125 1.15625q-0.984375 0.5625 -1.765625 0.859375l0 -1.625q1.40625 -0.65625 2.453125 -1.59375q1.046875 -0.9375 1.484375 -1.8125l1.078125 0l0 13.65625z" fill-rule="nonzero"></path></g></svg>
-
diff --git a/content/2015/gotham-grpc/search/README.md b/content/2015/gotham-grpc/search/README.md
deleted file mode 100644
index 7343436..0000000
--- a/content/2015/gotham-grpc/search/README.md
+++ /dev/null
@@ -1 +0,0 @@
-protoc ./search.proto --go_out=plugins=grpc:.
diff --git a/content/2015/gotham-grpc/search/search.pb.go b/content/2015/gotham-grpc/search/search.pb.go
deleted file mode 100644
index f123fa0..0000000
--- a/content/2015/gotham-grpc/search/search.pb.go
+++ /dev/null
@@ -1,175 +0,0 @@
-// Code generated by protoc-gen-go.
-// source: search.proto
-// DO NOT EDIT!
-
-// +build ignore,OMIT
-
-/*
-Package search is a generated protocol buffer package.
-
-It is generated from these files:
-	search.proto
-
-It has these top-level messages:
-	Request
-	Result
-*/
-package search
-
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-
-import (
-	context "golang.org/x/net/context"
-	grpc "google.golang.org/grpc"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-type Request struct {
-	Query string `protobuf:"bytes,1,opt,name=query" json:"query,omitempty"`
-}
-
-func (m *Request) Reset()         { *m = Request{} }
-func (m *Request) String() string { return proto.CompactTextString(m) }
-func (*Request) ProtoMessage()    {}
-
-type Result struct {
-	Title   string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"`
-	Url     string `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"`
-	Snippet string `protobuf:"bytes,3,opt,name=snippet" json:"snippet,omitempty"`
-}
-
-func (m *Result) Reset()         { *m = Result{} }
-func (m *Result) String() string { return proto.CompactTextString(m) }
-func (*Result) ProtoMessage()    {}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConn
-
-// Client API for Google service
-
-type GoogleClient interface {
-	// Search returns a Google search result for the query.
-	Search(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Result, error)
-	// Watch returns a stream of Google search results for the query.
-	Watch(ctx context.Context, in *Request, opts ...grpc.CallOption) (Google_WatchClient, error)
-}
-
-type googleClient struct {
-	cc *grpc.ClientConn
-}
-
-func NewGoogleClient(cc *grpc.ClientConn) GoogleClient {
-	return &googleClient{cc}
-}
-
-func (c *googleClient) Search(ctx context.Context, in *Request, opts ...grpc.CallOption) (*Result, error) {
-	out := new(Result)
-	err := grpc.Invoke(ctx, "/.Google/Search", in, out, c.cc, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *googleClient) Watch(ctx context.Context, in *Request, opts ...grpc.CallOption) (Google_WatchClient, error) {
-	stream, err := grpc.NewClientStream(ctx, &_Google_serviceDesc.Streams[0], c.cc, "/.Google/Watch", opts...)
-	if err != nil {
-		return nil, err
-	}
-	x := &googleWatchClient{stream}
-	if err := x.ClientStream.SendMsg(in); err != nil {
-		return nil, err
-	}
-	if err := x.ClientStream.CloseSend(); err != nil {
-		return nil, err
-	}
-	return x, nil
-}
-
-type Google_WatchClient interface {
-	Recv() (*Result, error)
-	grpc.ClientStream
-}
-
-type googleWatchClient struct {
-	grpc.ClientStream
-}
-
-func (x *googleWatchClient) Recv() (*Result, error) {
-	m := new(Result)
-	if err := x.ClientStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-// Server API for Google service
-
-type GoogleServer interface {
-	// Search returns a Google search result for the query.
-	Search(context.Context, *Request) (*Result, error)
-	// Watch returns a stream of Google search results for the query.
-	Watch(*Request, Google_WatchServer) error
-}
-
-func RegisterGoogleServer(s *grpc.Server, srv GoogleServer) {
-	s.RegisterService(&_Google_serviceDesc, srv)
-}
-
-func _Google_Search_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
-	in := new(Request)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	out, err := srv.(GoogleServer).Search(ctx, in)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func _Google_Watch_Handler(srv interface{}, stream grpc.ServerStream) error {
-	m := new(Request)
-	if err := stream.RecvMsg(m); err != nil {
-		return err
-	}
-	return srv.(GoogleServer).Watch(m, &googleWatchServer{stream})
-}
-
-type Google_WatchServer interface {
-	Send(*Result) error
-	grpc.ServerStream
-}
-
-type googleWatchServer struct {
-	grpc.ServerStream
-}
-
-func (x *googleWatchServer) Send(m *Result) error {
-	return x.ServerStream.SendMsg(m)
-}
-
-var _Google_serviceDesc = grpc.ServiceDesc{
-	ServiceName: ".Google",
-	HandlerType: (*GoogleServer)(nil),
-	Methods: []grpc.MethodDesc{
-		{
-			MethodName: "Search",
-			Handler:    _Google_Search_Handler,
-		},
-	},
-	Streams: []grpc.StreamDesc{
-		{
-			StreamName:    "Watch",
-			Handler:       _Google_Watch_Handler,
-			ServerStreams: true,
-		},
-	},
-}
diff --git a/content/2015/gotham-grpc/search/search.proto b/content/2015/gotham-grpc/search/search.proto
deleted file mode 100644
index f4c48e1..0000000
--- a/content/2015/gotham-grpc/search/search.proto
+++ /dev/null
@@ -1,20 +0,0 @@
-syntax = "proto3";
-
-service Google {
-  // Search returns a Google search result for the query.
-  rpc Search(Request) returns (Result) {
-  }
-  // Watch returns a stream of Google search results for the query.
-  rpc Watch(Request) returns (stream Result) { // HL
-  }
-}
-
-message Request {
-  string query = 1;
-}
-
-message Result {
-  string title = 1;
-  string url = 2;
-  string snippet = 3;
-}
diff --git a/content/2015/gotham-grpc/system.svg b/content/2015/gotham-grpc/system.svg
deleted file mode 100644
index cdc432e..0000000
--- a/content/2015/gotham-grpc/system.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-
-<svg version="1.1" viewBox="0.0 0.0 705.1417322834645 253.71391076115486" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l705.1417 0l0 253.71391l-705.1417 0l0 -253.71391z" clip-rule="nonzero"></path></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l705.1417 0l0 253.71391l-705.1417 0z" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m8.616797 93.76937l0 0c0 -9.439766 7.652442 -17.092209 17.092205 -17.092209l139.92583 0c4.533142 0 8.8806 1.8007812 12.086014 5.006195c3.2054138 3.2054062 5.006195 7.5528793 5.006195 12.086014l0 68.36677c0 9.439774 -7.6524353 17.092209 -17.092209 17.092209l-139.92583 0c-9.439764 0 -17.092205 -7.6524353 -17.092205 -17.092209z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m8.616797 93.76937l0 0c0 -9.439766 7.652442 -17.092209 17.092205 -17.092209l139.92583 0c4.533142 0 8.8806 1.8007812 12.086014 5.006195c3.2054138 3.2054062 5.006195 7.5528793 5.006195 12.086014l0 68.36677c0 9.439774 -7.6524353 17.092209 -17.092209 17.092209l-139.92583 0c-9.439764 0 -17.092205 -7.6524353 -17.092205 -17.092209z" fill-rule="nonzero"></path><path fill="#000000" d="m45.290924 120.26338l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.265625 -1.3125q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.281967 4.921875l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm15.540802 0l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm21.978302 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.078842 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766342 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm14.418396 4.921875l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm4.191696 -11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm4.129196 0l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm17.125732 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875z" fill-rule="nonzero"></path><path fill="#000000" d="m81.58316 142.26338l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.859375 3.609375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm4.191696 -11.6875l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm10.879196 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110092 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm14.031967 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125z" fill-rule="nonzero"></path><path fill="#d9ead3" d="m253.29134 93.76937l0 0c0 -9.439766 7.6524506 -17.092209 17.092209 -17.092209l139.92581 0c4.533142 0 8.880615 1.8007812 12.086029 5.006195c3.2054138 3.2054062 5.006195 7.5528793 5.006195 12.086014l0 68.36677c0 9.439774 -7.6524353 17.092209 -17.092224 17.092209l-139.92581 0c-9.439758 0 -17.092209 -7.6524353 -17.092209 -17.092209z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m253.29134 93.76937l0 0c0 -9.439766 7.6524506 -17.092209 17.092209 -17.092209l139.92581 0c4.533142 0 8.880615 1.8007812 12.086029 5.006195c3.2054138 3.2054062 5.006195 7.5528793 5.006195 12.086014l0 68.36677c0 9.439774 -7.6524353 17.092209 -17.092224 17.092209l-139.92581 0c-9.439758 0 -17.092209 -7.6524353 -17.092209 -17.092209z" fill-rule="nonzero"></path><path fill="#000000" d="m307.77377 134.87276l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.7614136 0l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm5.603302 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.281982 4.921875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm14.031952 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm8.277069 -1.671875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110077 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766357 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375z" fill-rule="nonzero"></path><path fill="#fce5cd" d="m524.6037 23.21819l0 0c0 -9.439764 7.652405 -17.092205 17.092163 -17.092205l139.92584 0c4.533142 0 8.880615 1.8007808 12.085999 5.0061913c3.2054443 3.20541 5.0062256 7.5528793 5.0062256 12.086014l0 68.366776c0 9.439766 -7.652466 17.092201 -17.092224 17.092201l-139.92584 0c-9.439758 0 -17.092163 -7.6524353 -17.092163 -17.092201z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m524.6037 23.21819l0 0c0 -9.439764 7.652405 -17.092205 17.092163 -17.092205l139.92584 0c4.533142 0 8.880615 1.8007808 12.085999 5.0061913c3.2054443 3.20541 5.0062256 7.5528793 5.0062256 12.086014l0 68.366776c0 9.439766 -7.652466 17.092201 -17.092224 17.092201l-139.92584 0c-9.439758 0 -17.092163 -7.6524353 -17.092163 -17.092201z" fill-rule="nonzero"></path><path fill="#000000" d="m566.2209 64.32157l-1.546875 0l0 -13.593746l1.65625 0l0 4.84375q1.0625 -1.328125 2.703125 -1.328125q0.90625 0 1.71875 0.375q0.8125 0.359375 1.328125 1.03125q0.53125 0.65625 0.828125 1.59375q0.296875 0.9375 0.296875 2.0q0 2.53125 -1.25 3.921875q-1.25 1.3749962 -3.0 1.3749962q-1.75 0 -2.734375 -1.4531212l0 1.2343712zm-0.015625 -4.999996q0 1.765625 0.46875 2.5625q0.796875 1.28125 2.140625 1.28125q1.09375 0 1.890625 -0.9375q0.796875 -0.953125 0.796875 -2.84375q0 -1.921875 -0.765625 -2.84375q-0.765625 -0.921875 -1.84375 -0.921875q-1.09375 0 -1.890625 0.953125q-0.796875 0.953125 -0.796875 2.75zm15.281982 3.78125q-0.9375 0.796875 -1.796875 1.1249962q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.7812462q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.1718712l-1.75 0q-0.265625 -0.5156212 -0.328125 -1.2187462zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm10.516296 1.328125l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.9531212 -2.734375 0.9531212q-2.015625 0 -3.25 -1.3124962q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.90625 3.6093712l0 -13.593746l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203121l-2.0625 0l-3.25 -5.031246l-1.171875 1.125l0 3.9062462l-1.671875 0zm16.0625 -3.1718712l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.8281212 -2.8125 0.8281212q-2.15625 0 -3.421875 -1.3281212q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110107 5.874996l0 -9.859371l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.062496l-1.671875 0l0 -5.999996q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.374996l-1.671875 0zm16.766357 0l0 -1.2499962q-0.9375 1.4687462 -2.75 1.4687462q-1.171875 0 -2.171875 -0.6406212q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.593746l-1.546875 0zm-5.28125 -4.921871q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm14.152771 5.156246l0.8125 -3.9531212l-1.578125 0l0 -1.390625l1.859375 0l0.6875 -3.359375l-2.546875 0l0 -1.390625l2.8125 0l0.8125 -3.96875l1.390625 0l-0.8125 3.96875l2.921875 0l0.8125 -3.96875l1.40625 0l-0.8125 3.96875l1.609375 0l0 1.390625l-1.890625 0l-0.6875 3.359375l2.578125 0l0 1.390625l-2.859375 0l-0.8125 3.9531212l-1.390625 0l0.796875 -3.9531212l-2.90625 0l-0.8125 3.9531212l-1.390625 0zm2.484375 -5.343746l2.90625 0l0.703125 -3.359375l-2.921875 0l-0.6875 3.359375zm7.7194824 -1.59375q0 -2.421875 0.5 -3.890625q0.5 -1.46875 1.46875 -2.265625q0.984375 -0.796875 2.46875 -0.796875q1.09375 0 1.921875 0.4375q0.828125 0.4375 1.359375 1.28125q0.546875 0.828125 0.84375 2.015625q0.3125 1.1875 0.3125 3.21875q0 2.390625 -0.5 3.859375q-0.484375 1.46875 -1.46875 2.28125q-0.96875 0.7968712 -2.46875 0.7968712q-1.96875 0 -3.078125 -1.4062462q-1.359375 -1.703125 -1.359375 -5.53125zm1.71875 0q0 3.34375 0.78125 4.453125q0.796875 1.109375 1.9375 1.109375q1.15625 0 1.9375 -1.109375q0.78125 -1.125 0.78125 -4.453125q0 -3.359375 -0.78125 -4.46875q-0.78125 -1.109375 -1.953125 -1.109375q-1.15625 0 -1.828125 0.984375q-0.875 1.234375 -0.875 4.59375z" fill-rule="nonzero"></path><path fill="#fce5cd" d="m524.6037 164.32056l0 0c0 -9.439774 7.652405 -17.092209 17.092163 -17.092209l139.92584 0c4.533142 0 8.880615 1.8007812 12.085999 5.006195c3.2054443 3.2053986 5.0062256 7.5528717 5.0062256 12.086014l0 68.36676c0 9.439774 -7.652466 17.092209 -17.092224 17.092209l-139.92584 0c-9.439758 0 -17.092163 -7.6524353 -17.092163 -17.092209z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m524.6037 164.32056l0 0c0 -9.439774 7.652405 -17.092209 17.092163 -17.092209l139.92584 0c4.533142 0 8.880615 1.8007812 12.085999 5.006195c3.2054443 3.2053986 5.0062256 7.5528717 5.0062256 12.086014l0 68.36676c0 9.439774 -7.652466 17.092209 -17.092224 17.092209l-139.92584 0c-9.439758 0 -17.092163 -7.6524353 -17.092163 -17.092209z" fill-rule="nonzero"></path><path fill="#000000" d="m566.2209 205.42393l-1.546875 0l0 -13.59375l1.65625 0l0 4.84375q1.0625 -1.328125 2.703125 -1.328125q0.90625 0 1.71875 0.375q0.8125 0.359375 1.328125 1.03125q0.53125 0.65625 0.828125 1.59375q0.296875 0.9375 0.296875 2.0q0 2.53125 -1.25 3.921875q-1.25 1.375 -3.0 1.375q-1.75 0 -2.734375 -1.453125l0 1.234375zm-0.015625 -5.0q0 1.765625 0.46875 2.5625q0.796875 1.28125 2.140625 1.28125q1.09375 0 1.890625 -0.9375q0.796875 -0.953125 0.796875 -2.84375q0 -1.921875 -0.765625 -2.84375q-0.765625 -0.921875 -1.84375 -0.921875q-1.09375 0 -1.890625 0.953125q-0.796875 0.953125 -0.796875 2.75zm15.281982 3.78125q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm10.516296 1.328125l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.90625 3.609375l0 -13.59375l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203125l-2.0625 0l-3.25 -5.03125l-1.171875 1.125l0 3.90625l-1.671875 0zm16.0625 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110107 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766357 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm14.152771 5.15625l0.8125 -3.953125l-1.578125 0l0 -1.390625l1.859375 0l0.6875 -3.359375l-2.546875 0l0 -1.390625l2.8125 0l0.8125 -3.96875l1.390625 0l-0.8125 3.96875l2.921875 0l0.8125 -3.96875l1.40625 0l-0.8125 3.96875l1.609375 0l0 1.390625l-1.890625 0l-0.6875 3.359375l2.578125 0l0 1.390625l-2.859375 0l-0.8125 3.953125l-1.390625 0l0.796875 -3.953125l-2.90625 0l-0.8125 3.953125l-1.390625 0zm2.484375 -5.34375l2.90625 0l0.703125 -3.359375l-2.921875 0l-0.6875 3.359375zm14.016357 5.109375l-1.671875 0l0 -10.640625q-0.59375 0.578125 -1.578125 1.15625q-0.984375 0.5625 -1.765625 0.859375l0 -1.625q1.40625 -0.65625 2.453125 -1.59375q1.046875 -0.9375 1.484375 -1.8125l1.078125 0l0 13.65625z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m427.40158 127.95276l97.19687 -70.551186" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m427.40158 127.95276l92.341156 -67.02664" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m520.713 62.262825l2.7023315 -4.002495l-4.6428833 1.3290672z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m427.40158 127.95276l97.19687 70.55118" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m427.40158 127.95276l92.341156 67.02663" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m518.77246 196.31612l4.6428833 1.329071l-2.7023315 -4.0025024z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m182.72704 127.95276l70.55118 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m182.72704 127.95276l64.55118 0" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m247.27821 129.60449l4.538101 -1.6517334l-4.538101 -1.6517334z" fill-rule="evenodd"></path></g></svg>
-
diff --git a/content/2015/gotham-grpc/watch.svg b/content/2015/gotham-grpc/watch.svg
deleted file mode 100644
index 6280c81..0000000
--- a/content/2015/gotham-grpc/watch.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-
-<svg version="1.1" viewBox="0.0 0.0 699.2047244094488 272.002624671916" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l699.2047 0l0 272.00262l-699.2047 0l0 -272.00262z" clip-rule="nonzero"></path></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l699.2047 0l0 272.00262l-699.2047 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m126.69283 22.981627l545.3229 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m126.69283 22.981627l545.3229 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m126.69283 93.177605l545.3229 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m126.69283 93.177605l545.3229 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m126.69283 163.37358l545.3229 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m126.69283 163.37358l545.3229 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m126.69283 233.56955l545.3229 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m126.69283 233.56955l545.3229 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m169.34702 22.887138l18.897629 70.58267" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m169.34702 22.887138l17.345856 64.78682" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m185.09734 88.10114l2.769226 3.9565125l0.42184448 -4.8108826z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m201.34717 93.11024l19.2126 71.685036" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m201.34717 93.11024l17.659332 65.88958" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m217.41109 159.42741l2.7702332 3.9557953l0.42060852 -4.8109894z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m196.54399 93.11024l37.448807 139.71652" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m196.54399 93.11024l35.89543 133.92108" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m230.84401 227.45897l2.7703094 3.9557495l0.42053223 -4.8110046z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m215.63252 155.92389l164.47243 0l0 28.7874l-164.47243 0z" fill-rule="nonzero"></path><path fill="#b7b7b7" d="m229.07002 186.84389q-1.375 -1.75 -2.328125 -4.078125q-0.953125 -2.34375 -0.953125 -4.84375q0 -2.21875 0.703125 -4.234375q0.84375 -2.34375 2.578125 -4.671875l1.203125 0q-1.125 1.921875 -1.484375 2.75q-0.5625 1.28125 -0.890625 2.671875q-0.40625 1.734375 -0.40625 3.484375q0 4.46875 2.78125 8.921875l-1.203125 0zm3.009552 -4.0l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm12.665802 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.078842 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766357 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm8.641327 0q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.281982 4.921875l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm27.114716 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm16.016357 1.75l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.078827 5.875l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm10.613586 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.000702 8.734375l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125zm10.5 0.203125l-1.1875 0q2.765625 -4.453125 2.765625 -8.921875q0 -1.734375 -0.390625 -3.453125q-0.328125 -1.390625 -0.890625 -2.671875q-0.359375 -0.84375 -1.484375 -2.78125l1.1875 0q1.75 2.328125 2.578125 4.671875q0.71875 2.015625 0.71875 4.234375q0 2.5 -0.96875 4.84375q-0.953125 2.328125 -2.328125 4.078125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m229.20317 224.26773l147.99998 0l0 35.77954l-147.99998 0z" fill-rule="nonzero"></path><path fill="#b7b7b7" d="m242.64067 255.18773q-1.375 -1.75 -2.328125 -4.078125q-0.953125 -2.34375 -0.953125 -4.84375q0 -2.21875 0.703125 -4.234375q0.84375 -2.34375 2.578125 -4.671875l1.203125 0q-1.125 1.921875 -1.484375 2.75q-0.5625 1.28125 -0.890625 2.671875q-0.40625 1.734375 -0.40625 3.484375q0 4.46875 2.78125 8.921875l-1.203125 0zm3.009552 -4.0l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm12.665787 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.85935974 0.3125 -1.8437347 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.0312347 -0.25 2.9843597 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.9062347 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.2499847 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.7343597 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96873474 0 1.7187347 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.0788574 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766327 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm8.641357 0q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.281952 4.921875l0 -9.859375l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.765625l-1.671875 0l0 -6.203125q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.71875l-1.671875 0l0 -6.40625q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.109375l-1.671875 0zm27.114746 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm16.016327 1.75l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.078857 5.875l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm10.613556 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.0007324 8.734375l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125zm10.5 0.203125l-1.1875 0q2.765625 -4.453125 2.765625 -8.921875q0 -1.734375 -0.390625 -3.453125q-0.328125 -1.390625 -0.890625 -2.671875q-0.359375 -0.84375 -1.484375 -2.78125l1.1875 0q1.75 2.328125 2.578125 4.671875q0.71875 2.015625 0.71875 4.234375q0 2.5 -0.96875 4.84375q-0.953125 2.328125 -2.328125 4.078125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m358.39102 163.37534l18.141754 -67.716545" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m358.39102 163.37534l16.58905 -61.92093" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m376.57556 101.88184l-0.42111206 -4.8109436l-2.7698364 3.95607z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m570.4359 92.637794l18.48822 69.039375" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m570.4359 92.637794l16.936157 63.2436" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m585.77655 156.30865l2.7694092 3.9563599l0.42163086 -4.810898z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m183.26472 52.719162l73.511795 0l0 44.15748l-73.511795 0z" fill-rule="nonzero"></path><path fill="#000000" d="m199.79597 83.42041l0 -4.828125q-0.390625 0.546875 -1.09375 0.90625q-0.6875 0.359375 -1.484375 0.359375q-1.75 0 -3.015625 -1.390625q-1.265625 -1.40625 -1.265625 -3.84375q0 -1.484375 0.515625 -2.65625q0.515625 -1.1875 1.484375 -1.796875q0.984375 -0.609375 2.15625 -0.609375q1.828125 0 2.875 1.546875l0 -1.328125l1.5 0l0 13.640625l-1.671875 0zm-5.140625 -8.734375q0 1.90625 0.796875 2.859375q0.796875 0.9375 1.90625 0.9375q1.0625 0 1.828125 -0.890625q0.78125 -0.90625 0.78125 -2.765625q0 -1.953125 -0.8125 -2.953125q-0.8125 -1.0 -1.90625 -1.0q-1.09375 0 -1.84375 0.9375q-0.75 0.921875 -0.75 2.875zm15.688217 4.953125l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm10.672592 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094467 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm6.150177 3.796875l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m215.26514 127.74803l102.33072 0l0 44.157486l-102.33072 0z" fill-rule="nonzero"></path><path fill="#000000" d="m231.79639 158.44928l0 -4.828125q-0.390625 0.546875 -1.09375 0.90625q-0.6875 0.359375 -1.484375 0.359375q-1.75 0 -3.015625 -1.390625q-1.265625 -1.40625 -1.265625 -3.84375q0 -1.484375 0.515625 -2.65625q0.515625 -1.1875 1.484375 -1.796875q0.984375 -0.609375 2.15625 -0.609375q1.828125 0 2.875 1.546875l0 -1.328125l1.5 0l0 13.640625l-1.671875 0zm-5.140625 -8.734375q0 1.90625 0.796875 2.859375q0.796875 0.9375 1.90625 0.9375q1.0625 0 1.828125 -0.890625q0.78125 -0.90625 0.78125 -2.765625q0 -1.953125 -0.8125 -2.953125q-0.8125 -1.0 -1.90625 -1.0q-1.09375 0 -1.84375 0.9375q-0.75 0.921875 -0.75 2.875zm15.688217 4.953125l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm10.672592 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094452 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm6.150177 3.796875l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m323.36185 16.998056l96.1575 0l0 44.157486l-96.1575 0z" fill-rule="nonzero"></path><path fill="#000000" d="m333.59622 43.918056l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm12.978302 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm8.438232 2.9375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm16.453125 2.9375l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm3.891327 0l0 -13.593752l1.671875 0l0 13.593752l-1.671875 0zm7.8323364 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.437502l1.65625 -1.0l0 3.437502l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm0.8551636 -1.4375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m584.1046 127.74803l73.51184 0l0 44.157486l-73.51184 0z" fill-rule="nonzero"></path><path fill="#000000" d="m600.7921 151.05865l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm9.328125 2.390625q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.0788574 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.813232 -3.609375l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm9.640625 0.4375l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.078796 5.875l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m172.47762 22.888165l373.92126 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m172.47762 22.888165l373.92126 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m198.61977 92.91659l365.38586 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m198.61977 92.91659l365.38586 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m226.01259 163.38373l130.80315 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m226.01259 163.38373l130.80315 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m235.2021 232.9837l135.99998 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m235.2021 232.9837l135.99998 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m224.86514 191.74803l102.33069 0l0 44.157486l-102.33069 0z" fill-rule="nonzero"></path><path fill="#000000" d="m241.3964 222.44928l0 -4.828125q-0.390625 0.546875 -1.09375 0.90625q-0.6875 0.359375 -1.484375 0.359375q-1.75 0 -3.015625 -1.390625q-1.265625 -1.40625 -1.265625 -3.84375q0 -1.484375 0.515625 -2.65625q0.515625 -1.1875 1.484375 -1.796875q0.984375 -0.609375 2.15625 -0.609375q1.828125 0 2.875 1.546875l0 -1.328125l1.5 0l0 13.640625l-1.671875 0zm-5.140625 -8.734375q0 1.90625 0.796875 2.859375q0.796875 0.9375 1.90625 0.9375q1.0625 0 1.828125 -0.890625q0.78125 -0.90625 0.78125 -2.765625q0 -1.953125 -0.8125 -2.953125q-0.8125 -1.0 -1.90625 -1.0q-1.09375 0 -1.84375 0.9375q-0.75 0.921875 -0.75 2.875zm15.688217 4.953125l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.109375l1.671875 0l0 5.46875q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.28125l1.671875 0l0 9.859375l-1.5 0zm10.672592 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094452 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm6.150177 3.796875l-0.171875 -1.5625q0.546875 0.140625 0.953125 0.140625q0.546875 0 0.875 -0.1875q0.34375 -0.1875 0.5625 -0.515625q0.15625 -0.25 0.5 -1.25q0.046875 -0.140625 0.15625 -0.40625l-3.734375 -9.875l1.796875 0l2.046875 5.71875q0.40625 1.078125 0.71875 2.28125q0.28125 -1.15625 0.6875 -2.25l2.09375 -5.75l1.671875 0l-3.75 10.03125q-0.59375 1.625 -0.9375 2.234375q-0.4375 0.828125 -1.015625 1.203125q-0.578125 0.390625 -1.375 0.390625q-0.484375 0 -1.078125 -0.203125z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m374.67978 234.26247l37.480316 -139.87402" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m374.67978 234.26247l35.92737 -134.07848" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m412.2026 100.6115l-0.42086792 -4.8109665l-2.77005 3.9559479z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m415.99106 91.37533l18.141724 -67.71654" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m415.99106 91.37533l16.58905 -61.92092" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m434.17557 29.881845l-0.42108154 -4.8109493l-2.7698364 3.9560757z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m382.39102 91.37533l18.141754 -67.71654" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m382.39102 91.37533l16.58905 -61.92092" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m400.57556 29.881845l-0.42111206 -4.8109493l-2.7698364 3.9560757z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m362.0126 163.38373l125.19684 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m362.0126 163.38373l125.19684 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m378.0126 232.9837l55.590546 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m378.0126 232.9837l55.590546 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m437.07977 234.26247l37.480316 -139.87402" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m437.07977 234.26247l35.92737 -134.07848" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m474.60257 100.6115l-0.42086792 -4.8109665l-2.7700195 3.9559479z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m479.99106 91.37533l18.141724 -67.71654" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m479.99106 91.37533l16.58905 -61.92092" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m498.17557 29.881845l-0.42108154 -4.8109493l-2.7698364 3.9560757z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m490.39108 163.37534l18.141724 -67.716545" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m490.39108 163.37534l16.58902 -61.92093" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m508.5756 101.88184l-0.42108154 -4.8109436l-2.769867 3.95607z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m511.99106 91.37533l18.141754 -67.71654" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m511.99106 91.37533l16.58902 -61.92092" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m530.1756 29.881845l-0.42114258 -4.8109493l-2.7698364 3.9560757z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m565.93304 93.708664l37.13385 138.61418" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m565.93304 93.708664l35.581238 132.81853" fill-rule="evenodd"></path><path fill="#000000" stroke="#000000" stroke-width="1.0" stroke-linecap="butt" d="m599.9188 226.95462l2.7697754 3.9561005l0.42114258 -4.8109436z" fill-rule="evenodd"></path><path fill="#000000" fill-opacity="0.0" d="m598.50464 199.74803l73.51178 0l0 44.157486l-73.51178 0z" fill-rule="nonzero"></path><path fill="#000000" d="m615.19214 223.05865l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm9.328125 2.390625q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.0788574 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.813171 -3.609375l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm9.640625 0.4375l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.078857 5.875l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m440.4126 232.9837l157.98425 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m440.4126 232.9837l157.98425 0" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m495.61258 163.38373l81.98422 0" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m495.61258 163.38373l81.98422 0" fill-rule="nonzero"></path><path fill="#000000" d="m556.5907 15.192221l5.5126343 -7.1922207l-0.43896484 9.569199l5.7677 -4.3150015l-2.6950073 5.565606l8.646545 0.18717766l-7.644409 4.566778l2.128479 3.1273403l-3.1306152 1.6895599l4.1360474 5.5026627l-7.0182495 -2.1235447l0.50024414 5.0024204l-4.5750732 -2.3769798l-0.94085693 4.815243l-2.8822021 -2.438263l-1.9413452 3.8793602l-1.9429932 -2.6287575l-4.323242 5.756096l-0.18554688 -5.565605l-5.8306274 -0.6874199l3.3873901 -4.066536l-5.51593 -4.1294804l6.5180664 -2.1285133l-4.576721 -5.5026627l6.9570312 -0.7503624l-1.4411011 -6.943756l6.7052 4.566778l1.9413452 -7.445655z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m556.5907 15.192221l5.5126343 -7.1922207l-0.43896484 9.569199l5.7677 -4.3150015l-2.6950073 5.565606l8.646545 0.18717766l-7.644409 4.566778l2.128479 3.1273403l-3.1306152 1.6895599l4.1360474 5.5026627l-7.0182495 -2.1235447l0.50024414 5.0024204l-4.5750732 -2.3769798l-0.94085693 4.815243l-2.8822021 -2.438263l-1.9413452 3.8793602l-1.9429932 -2.6287575l-4.323242 5.756096l-0.18554688 -5.565605l-5.8306274 -0.6874199l3.3873901 -4.066536l-5.51593 -4.1294804l6.5180664 -2.1285133l-4.576721 -5.5026627l6.9570312 -0.7503624l-1.4411011 -6.943756l6.7052 4.566778l1.9413452 -7.445655z" fill-rule="nonzero"></path><path fill="#000000" fill-opacity="0.0" d="m546.4359 23.139423l18.48822 69.03937" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" stroke-dasharray="4.0,3.0" d="m546.4359 23.139423l18.48822 69.03937" fill-rule="nonzero"></path><path fill="#cfe2f3" d="m11.028872 12.803246l0 0c0 -2.6498604 2.1481361 -4.7979965 4.7979965 -4.7979965l111.41188 0c1.2725143 0 2.492897 0.50550175 3.3926926 1.4053011c0.8998108 0.8997984 1.405304 2.1201878 1.405304 3.3926954l0 19.19141c0 2.6498604 -2.1481323 4.7979965 -4.7979965 4.7979965l-111.41188 0c-2.6498604 0 -4.7979965 -2.1481361 -4.7979965 -4.7979965z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m11.028872 12.803246l0 0c0 -2.6498604 2.1481361 -4.7979965 4.7979965 -4.7979965l111.41188 0c1.2725143 0 2.492897 0.50550175 3.3926926 1.4053011c0.8998108 0.8997984 1.405304 2.1201878 1.405304 3.3926954l0 19.19141c0 2.6498604 -2.1481323 4.7979965 -4.7979965 4.7979965l-111.41188 0c-2.6498604 0 -4.7979965 -2.1481361 -4.7979965 -4.7979965z" fill-rule="nonzero"></path><path fill="#000000" d="m57.444057 25.709572l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.859375 3.609375l0 -13.593749l1.671875 0l0 13.593749l-1.671875 0zm4.1916924 -11.6875l0 -1.906249l1.671875 0l0 1.906249l-1.671875 0zm0 11.6875l0 -9.859375l1.671875 0l0 9.859375l-1.671875 0zm10.879196 -3.171875l1.7187576 0.21875q-0.40625 1.5 -1.5156326 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.2500076 1.34375 1.2500076 3.796875q0 0.140625 -0.015625 0.4375l-7.3437576 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.1101 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm14.031967 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125z" fill-rule="nonzero"></path><path fill="#d9ead3" d="m11.028872 83.724724l0 0c0 -2.6498642 2.1481361 -4.7979965 4.7979965 -4.7979965l111.41188 0c1.2725143 0 2.492897 0.5055008 3.3926926 1.4052963c0.8998108 0.89980316 1.405304 2.1201859 1.405304 3.3927002l0 19.191406c0 2.6498566 -2.1481323 4.7979965 -4.7979965 4.7979965l-111.41188 0c-2.6498604 0 -4.7979965 -2.14814 -4.7979965 -4.7979965z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m11.028872 83.724724l0 0c0 -2.6498642 2.1481361 -4.7979965 4.7979965 -4.7979965l111.41188 0c1.2725143 0 2.492897 0.5055008 3.3926926 1.4052963c0.8998108 0.89980316 1.405304 2.1201859 1.405304 3.3927002l0 19.191406c0 2.6498566 -2.1481323 4.7979965 -4.7979965 4.7979965l-111.41188 0c-2.6498604 0 -4.7979965 -2.14814 -4.7979965 -4.7979965z" fill-rule="nonzero"></path><path fill="#000000" d="m38.960125 100.240425l0 -8.546875l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546875l-1.65625 0zm4.761429 0l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm5.603302 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.281967 4.921875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.1406212 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0624962 0 -1.8437462 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm14.031963 -1.5l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm8.277061 -1.671875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.2656326 -1.328125 -1.2656326 -3.734375q0 -2.484375 1.2656326 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110092 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766342 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375z" fill-rule="nonzero"></path><path fill="#fce5cd" d="m11.028872 153.56767l0 0c0 -2.6498566 2.1481361 -4.798004 4.7979965 -4.798004l111.41188 0c1.2725143 0 2.492897 0.5055084 3.3926926 1.405304c0.8998108 0.89979553 1.405304 2.1201935 1.405304 3.3927002l0 19.191406c0 2.6498566 -2.1481323 4.797989 -4.7979965 4.797989l-111.41188 0c-2.6498604 0 -4.7979965 -2.1481323 -4.7979965 -4.797989z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m11.028872 153.56767l0 0c0 -2.6498566 2.1481361 -4.798004 4.7979965 -4.798004l111.41188 0c1.2725143 0 2.492897 0.5055084 3.3926926 1.405304c0.8998108 0.89979553 1.405304 2.1201935 1.405304 3.3927002l0 19.191406c0 2.6498566 -2.1481323 4.797989 -4.7979965 4.797989l-111.41188 0c-2.6498604 0 -4.7979965 -2.1481323 -4.7979965 -4.797989z" fill-rule="nonzero"></path><path fill="#000000" d="m26.094896 170.08337l-1.546875 0l0 -13.59375l1.65625 0l0 4.84375q1.0625 -1.328125 2.703125 -1.328125q0.90625 0 1.71875 0.375q0.8125 0.359375 1.328125 1.03125q0.5312519 0.65625 0.8281269 1.59375q0.296875 0.9375 0.296875 2.0q0 2.53125 -1.2500019 3.921875q-1.25 1.375 -3.0 1.375q-1.75 0 -2.734375 -1.453125l0 1.234375zm-0.015625 -5.0q0 1.765625 0.46875 2.5625q0.796875 1.28125 2.140625 1.28125q1.09375 0 1.890625 -0.9375q0.796875 -0.953125 0.796875 -2.84375q0 -1.921875 -0.765625 -2.84375q-0.765625 -0.921875 -1.84375 -0.921875q-1.09375 0 -1.890625 0.953125q-0.796875 0.953125 -0.796875 2.75zm15.281969 3.78125q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm10.516342 1.328125l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.90625 3.609375l0 -13.59375l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203125l-2.0625 0l-3.25 -5.03125l-1.171875 1.125l0 3.90625l-1.671875 0zm16.062496 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.2656212 -1.328125 -1.2656212 -3.734375q0 -2.484375 1.2656212 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110092 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766342 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm14.152771 5.15625l0.8125 -3.953125l-1.578125 0l0 -1.390625l1.859375 0l0.6875 -3.359375l-2.546875 0l0 -1.390625l2.8125 0l0.8125 -3.96875l1.390625 0l-0.8125 3.96875l2.921875 0l0.8125 -3.96875l1.40625 0l-0.8125 3.96875l1.609375 0l0 1.390625l-1.890625 0l-0.6875 3.359375l2.578125 0l0 1.390625l-2.859375 0l-0.8125 3.953125l-1.390625 0l0.796875 -3.953125l-2.90625 0l-0.8125 3.953125l-1.390625 0zm2.484375 -5.34375l2.90625 0l0.703125 -3.359375l-2.921875 0l-0.6875 3.359375zm7.719467 -1.59375q0 -2.421875 0.5 -3.890625q0.5 -1.46875 1.46875 -2.265625q0.984375 -0.796875 2.46875 -0.796875q1.09375 0 1.921875 0.4375q0.828125 0.4375 1.359375 1.28125q0.546875 0.828125 0.84375 2.015625q0.3125 1.1875 0.3125 3.21875q0 2.390625 -0.5 3.859375q-0.484375 1.46875 -1.46875 2.28125q-0.96875 0.796875 -2.46875 0.796875q-1.96875 0 -3.078125 -1.40625q-1.359375 -1.703125 -1.359375 -5.53125zm1.71875 0q0 3.34375 0.78125 4.453125q0.796875 1.109375 1.9375 1.109375q1.15625 0 1.9375 -1.109375q0.78125 -1.125 0.78125 -4.453125q0 -3.359375 -0.78125 -4.46875q-0.78125 -1.109375 -1.953125 -1.109375q-1.15625 0 -1.828125 0.984375q-0.875 1.234375 -0.875 4.59375z" fill-rule="nonzero"></path><path fill="#fce5cd" d="m11.028872 223.94987l0 0c0 -2.6498566 2.1481361 -4.797989 4.7979965 -4.797989l111.41188 0c1.2725143 0 2.492897 0.50549316 3.3926926 1.405304c0.8998108 0.89979553 1.405304 2.1201782 1.405304 3.392685l0 19.191422c0 2.6498566 -2.1481323 4.797989 -4.7979965 4.797989l-111.41188 0c-2.6498604 0 -4.7979965 -2.1481323 -4.7979965 -4.797989z" fill-rule="nonzero"></path><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m11.028872 223.94987l0 0c0 -2.6498566 2.1481361 -4.797989 4.7979965 -4.797989l111.41188 0c1.2725143 0 2.492897 0.50549316 3.3926926 1.405304c0.8998108 0.89979553 1.405304 2.1201782 1.405304 3.392685l0 19.191422c0 2.6498566 -2.1481323 4.797989 -4.7979965 4.797989l-111.41188 0c-2.6498604 0 -4.7979965 -2.1481323 -4.7979965 -4.797989z" fill-rule="nonzero"></path><path fill="#000000" d="m26.094896 240.46558l-1.546875 0l0 -13.59375l1.65625 0l0 4.84375q1.0625 -1.328125 2.703125 -1.328125q0.90625 0 1.71875 0.375q0.8125 0.359375 1.328125 1.03125q0.5312519 0.65625 0.8281269 1.59375q0.296875 0.9375 0.296875 2.0q0 2.53125 -1.2500019 3.921875q-1.25 1.375 -3.0 1.375q-1.75 0 -2.734375 -1.453125l0 1.234375zm-0.015625 -5.0q0 1.765625 0.46875 2.5625q0.796875 1.28125 2.140625 1.28125q1.09375 0 1.890625 -0.9375q0.796875 -0.953125 0.796875 -2.84375q0 -1.921875 -0.765625 -2.84375q-0.765625 -0.921875 -1.84375 -0.921875q-1.09375 0 -1.890625 0.953125q-0.796875 0.953125 -0.796875 2.75zm15.281969 3.78125q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm10.516342 1.328125l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm2.90625 3.609375l0 -13.59375l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203125l-2.0625 0l-3.25 -5.03125l-1.171875 1.125l0 3.90625l-1.671875 0zm16.062496 -3.171875l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.2656212 -1.328125 -1.2656212 -3.734375q0 -2.484375 1.2656212 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.110092 5.875l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.766342 0l0 -1.25q-0.9375 1.46875 -2.75 1.46875q-1.171875 0 -2.171875 -0.640625q-0.984375 -0.65625 -1.53125 -1.8125q-0.53125 -1.171875 -0.53125 -2.6875q0 -1.46875 0.484375 -2.671875q0.5 -1.203125 1.46875 -1.84375q0.984375 -0.640625 2.203125 -0.640625q0.890625 0 1.578125 0.375q0.703125 0.375 1.140625 0.984375l0 -4.875l1.65625 0l0 13.59375l-1.546875 0zm-5.28125 -4.921875q0 1.890625 0.796875 2.828125q0.8125 0.9375 1.890625 0.9375q1.09375 0 1.859375 -0.890625q0.765625 -0.890625 0.765625 -2.734375q0 -2.015625 -0.78125 -2.953125q-0.78125 -0.953125 -1.921875 -0.953125q-1.109375 0 -1.859375 0.90625q-0.75 0.90625 -0.75 2.859375zm14.152771 5.15625l0.8125 -3.953125l-1.578125 0l0 -1.390625l1.859375 0l0.6875 -3.359375l-2.546875 0l0 -1.390625l2.8125 0l0.8125 -3.96875l1.390625 0l-0.8125 3.96875l2.921875 0l0.8125 -3.96875l1.40625 0l-0.8125 3.96875l1.609375 0l0 1.390625l-1.890625 0l-0.6875 3.359375l2.578125 0l0 1.390625l-2.859375 0l-0.8125 3.953125l-1.390625 0l0.796875 -3.953125l-2.90625 0l-0.8125 3.953125l-1.390625 0zm2.484375 -5.34375l2.90625 0l0.703125 -3.359375l-2.921875 0l-0.6875 3.359375zm14.016342 5.109375l-1.671875 0l0 -10.640625q-0.59375 0.578125 -1.578125 1.15625q-0.984375 0.5625 -1.765625 0.859375l0 -1.625q1.40625 -0.65625 2.453125 -1.59375q1.046875 -0.9375 1.484375 -1.8125l1.078125 0l0 13.65625z" fill-rule="nonzero"></path></g></svg>
-
diff --git a/content/2015/how-go-was-made.slide b/content/2015/how-go-was-made.slide
deleted file mode 100644
index 1f37f68..0000000
--- a/content/2015/how-go-was-made.slide
+++ /dev/null
@@ -1,610 +0,0 @@
-How Go was made
-GopherCon Closing Keynote
-9 Jul 2015
-
-Andrew Gerrand
-adg@golang.org
-
-
-* Video
-
-A video of this talk was recorded at GopherCon in Denver.
-
-.link https://www.youtube.com/watch?v=0ht89TxZZnk Watch the talk on YouTube
-
-
-* This talk
-
-How was Go made?
-
-What was its development process?
-
-How has the process changed?
-
-What is its future?
-
-.image how-go-was-made/gopherswrench.jpg 300 _
-
-
-* The early days
-
-
-* Three friends
-
-Robert Griesemer, Rob Pike, and Ken Thompson's thought experiment:
-
-"What should a modern, practical programming language look like?"
-
-
-* The early process
-
-Design discussions by mail and in-person.
-
-Consensus-driven:
-A feature was accepted only when *all* the three authors agreed it necessary.
-
-Most proposed changes were rejected.
-
-
-* The initial spec
-
-The first artifact of Go was the language specification.
-
-The first commit (now git hash `18c5b48`) was a draft of that spec:
-
-	Author: Robert Griesemer <gri@golang.org>
-	Date:   Sun Mar 2 20:47:34 2008 -0800
-
-	    Go spec starting point.
-
-Go's entire history is preserved in the core reposistory.
-
-
-* The first Go program 
-
-The first Go program was a Prime Sieve, and was included in the spec.
-
-	func Filter(in *chan< int, out *chan> int, prime int) {
-	  for {
-	    i := <in;  // Receive value of new variable 'i' from 'in'.
-	    if i % prime != 0 {
-	      >out = i  // Send 'i' to channel 'out'.
-	    }
-	  }
-	}
-
-	func Sieve() {
-	  ch := new(chan int);  // Create a new channel.
-	  go Generate(ch);  // Start Generate() as a subprocess.
-	  for {
-	    prime := <ch;
-	    printf("%d\n",  prime);
-	    ch1 := new(chan int);
-	    go Filter(ch, ch1, prime);
-	    ch = ch1
-	  }
-	}
-
-
-* Version control
-
-Subversion was the project's first version control system. (no code review!)
-The trio made 400 commits to Subversion.
-
-The last Subversion commit (git hash `777ee7`, 21 July 2008) contained:
-
-- the spec,
-- a Go compiler (linux/darwin amd64),
-- a few packages (fmt, rand, and math),
-- some test programs.
-
-`test/helloworld.go`:
-
-	package main
-
-	func main() {
-		print "hello, world\n";
-	}
-
-
-* Getting serious
- 
-In July 2008 the project migrated from Subversion to Perforce,
-to use Google's excellent code review system.
-
-The team grew:
-
-- Russ Cox joined in August 2008,
-- Ian Lance Taylor joined in September,
-- ~20 other Googlers got involved in their 20% time.
-
-
-* Early changes
-
-It was easy to make changes in those days.
-Everyone knew each other.
-There were ~0 users.
-All the source code in one place.
-
-Workflow informal, but design-oriented.
-
-
-* Waiting for good design (1/2)
-
-Many problems don't have obvious solutions.
-
-The team were prepared to wait until they found the correct design.
-
-For example:
-
-The `fmt` package was written long before `reflect`.
-Before then, `fmt` had an awkward chaining API:
-
-	fmt.New().s("i = ").d(i).putnl()
-
-Now: 
-
-	fmt.Println("i = ", i)
-
-
-* Waiting for good design (2/2)
-
-Another example:
-
-Slices took more than a year to figure out.
-Before then, there were "open arrays" but they were awkward.
-
-`src/lib/container/vector.go` @ `f4dcf51`:
-
-	// BUG: workaround for non-constant allocation.
-	// i must be a power of 10.
-	func Alloc(i int) *[]Element {
-		switch i {
-		case 1:
-			return new([1]Element);
-		case 10:
-			return new([10]Element);
-		case 100:
-			return new([100]Element);
-		case 1000:
-			return new([1000]Element);
-		}
-		print "bad size ", i, "\n";
-		panic "not known size\n";
-	}
-
-
-* An early language change
-
-`chan` and `map` were originally spelled `*chan` and `*map`.
-
-The team had a meeting to discuss removing the asterisks.
-
-Russ implemented the compiler change (`dc7b2e9`),
-and updated ~every Go file in existence (`08ca30b`).
-
-.code how-go-was-made/mapchan.diff
-
-This rapid approach works well at a small scale.
-
-
-* Toward open source
-
-In mid-2009 the team prepared for the open source release.
-
-Moved to their third version control system:
-Mercurial, with Rietveld for code review.
-# (We would go on to use these tools for five years.)
-
-The last Perforce commit (`9e96f25`, Oct 29) contained
-
-- a mature spec and compiler,
-- a broad standard library (82 packages),
-- gofmt, godoc, cgo,
-- the testing framework,
-- the FAQ, Effective Go, and more.
-
-
-* Open source
-
-
-* The release
-
-10 November 2009: Go was released. (`78c47c3`)
-
-.image how-go-was-made/website.png 500 _
-
-
-* The response
-
-There was a huge response to the release. The team was overwhelmed.
-
-People sent changes from day one. The first non-Googler change:
-
-	commit 022e3ae2659491e519d392e266acd86223a510f4
-	Author: Kevin Ballard <kevin@sb.org>
-	Date:   Tue Nov 10 20:04:14 2009 -0800
-
-	    Fix go-mode.el to work on empty buffers
-	    
-	    Fixes #8.
-	    
-	    R=agl, agl1, rsc
-	    https://golang.org/cl/153056
-
-In the first month, 32 people from outside Google contributed to Go.
-
-The contribution process worked.
-
-
-* Changes after the release
-
-The team continued to make big changes after the release.
-
-But the process was now different, as they now had a community.
-
-
-* The first major public change (1/2)
-
-On December 9th, Rob Pike sent the first public change proposal.
-
-He proposed to remove semicolons at line endings.
-[[https://golang.org/s/semicolon-proposal][golang.org/s/semicolon-proposal]]
-
-The proposal was a "design doc" that included:
-
-- background,
-- rationale,
-- a formal specification of the change,
-- an implementation plan, and
-- examples (including a copy of the Prime Sieve program without semicolons).
-
-
-* The first major public change (2/2)
-
-The design doc was shared with the community for feedback.
-
-"Please read the proposal and think about its consequences.
-We're pretty sure it makes the language nicer to use and sacrifices almost nothing in precision or safety."
-
-The response was positive.
-
-The proposal was implemented.
-
-Most of the changes were made mechanically (thanks `gofmt`)).
-
-This would be the shape of things to come.
-
-
-* Curating change
-
-* Curating change
-
-The team was careful to curate the changes that made it into the language.
-(Remember: "Wait for good design.")
-
-There were many proposed changes and additions to Go.
-
-As before, many more were declined than accepted.
-
-Some fit with the project's goals, others did not.
-
-An early accepted proposal:
-
-- Make the upper and lower bounds of slice operations optional. (`x[lo:]`, `x[:hi]`)
-
-And a declined proposal:
-
-- Allow negative indices in slice operations. (`x[-n]` `==` `x[len(x)-n]`)
-
-
-* Communicating goals
-
-At first, we did a poor job explaining the project's goals and development process.
-
-This caused frustration. ("Why don't they accept my suggestions?")
-
-It took us a while to articulate it:
-Rob Pike's [[http://talks.golang.org/2012/splash.article][talk]] in October 2012
-"Go at Google: Language Design in the Service of Software Engineering"
-was the first thorough explanation of Go's _raison_d'être_.
-
-I wish we'd had this document written in 2009.
-(But we couldn't have written it then.)
-
-Read it, if you haven't already.
-
-
-* A thought on openness
-
-What if Go has been open source from day one?
-
-It may have been easier for the public to understand the project.
-
-But it's not that simple:
-
-Ideas are fragile in their early stages; they need to be nurtured before exposed to the world.
-
-
-* Managing change
-
-* Weekly snapshots
-
-Attempt to keep everyone in sync.
-
-- Apply a Mercurial tag to a specific, stable revision.
-- Announce to user mailing list with detailed changelog.
-
-Great for early adopters and core developers.
-
-
-* Problems with weeklies
-
-Contributors work at tip; users sync to weeklies.
-
-Burden on users:
-
-- annoying to update weekly,
-- painful to update less often.
-
-Version skew results because users are at different weeklies.
-
-Skew fragments the community and slows adoption.
-
-
-* Formal release process
-
-March 2011: introduced releases every 1-2 months.
-
-- Pick the most stable of the past few snapshots and tag it.
-- Announce with abridged "must read" release notes.
-
-Keeps the community more in sync. Reduces churn.
-
-Popular with users.
-
-But skew still prevalent: adventurers and core devs still use weeklies (or tip!).
-
-
-* Introducing Gofix
-
-A tool to mechanically update code to accommodate language and library changes.
-
-  gofix prog.go
-
-Announced in May 2011.
-
-Eases the burden of staying current.
-Release notes now mostly say "run gofix."
-
-Not a sed script. Works on the AST.
-
-
-* A gofix example
-
-The `reflect` API was completely redesigned in 2011.
-Gofix made most of the changes:
-
-.image how-go-was-made/reflect1.png _ 1000
-.image how-go-was-made/reflect3.png _ 1000
-.image how-go-was-made/reflect2.png _ 1000
-
-
-* Versioning issues persist
-
-Gofix is no panacea.
-
-As the root of the dependency graph, a programming language can suffer acutely from version skew.
-
-The fundamental issue remains:
-Code you write today may not compile tomorrow.
-
-Some companies unwilling to bet on Go as they saw it as unstable.
-
-
-* A need for stability
-
-Gofix makes changes very easy, and also makes it easy to experiment.
-But it can't do everything.
-
-Priorities: If change is easy, what change is important?
-
-Wanted to make major changes to the language and libraries,
-but this requires planning.
-
-Decision: design and implement a stable version of Go, its libraries, and its tools.
-
-
-* Go 1
-
-* What is Go 1?
-
-A specification of the language and libraries that will be supported for years.
-
-Available as downloadable binary packages.
-
-An opportunity to:
-
-- fix minor language irritations,
-- fix inconsistencies in the standard library,
-- focus on bug fixing and cleaning up TODOs,
-- design and build a strong build tool set (get rid of make),
-- bring Windows support up to par.
-
-Polish and refine, not redesign.
-
-
-* Planning Go 1
-
-The team at Google prepared a detailed design document.
-
-Implemented (but did not commit) many of the proposed changes.
-
-Met for a week to discuss and refine the document (October 2011).
-
-Presented the document to the community for discussion.
-
-Community feedback essential in refining the document.
-
-.link http://blog.golang.org/preview-of-go-version-1
-
-
-* An example: errors (1/5)
-
-Before Go 1, there was no error type.
-Instead, the `os` package provided an `Error` type:
-
-	package os
-
-	type Error interface {
-		String() string
-	}
-
-References to `os.Error` were ubiquitous.
-
-	package io
-
-	type Reader interface {
-		Read(p []byte) (n int, err os.Error)
-	}
-	
-	type Closer interface {
-		Close() os.Error
-	}
-
-
-
-* An example: errors (2/5)
-
-Before the Go 1 meeting, Russ raised the issue in the design document:
-
-.image how-go-was-made/errors-issue.png 500 _
-
-
-* An example: errors (3/5)
-
-At the meeting the team discussed the issue,
-Russ presented data from his experiments with the change,
-and we made a tentative decision:
-
-.image how-go-was-made/errors-discussion.png 350 _ 
-
-
-* An example: errors (4/5)
-
-On the list, the community made some keen suggestions:
-
-.image how-go-was-made/errors-rog.png 500 _ 
-
-
-* An example: errors (5/5)
-
-Many of those suggestions were rolled into the Go 1 design document:
-
-.image how-go-was-made/errors-final.png 500 _
-
-
-* Implementing Go 1
-
-Create many new issues on the tracker.
-
-Contributors nominate themselves to address specific issues.
-
-Stop developing new features; prioritize stability.
-
-
-* The success of Go 1
-
-The Go 1 release in March 2012 heralded a new era for the project.
-
-Users appreciated the stability. Huge uptick in community growth.
-
-.image how-go-was-made/trends.png
-
-Contributors focused on implementation, tools, and ecosystem.
-
-
-* The release cycle
-
-The next release was Go 1.1, more than a year after Go 1.
-
-This is too long; switch to a 6-month release cycle.
-
-Stuck to this plan for 1.2, 1.3, and 1.4, and we're (almost) on track for 1.5.
-
-
-* The future of change
-
-
-* A question
-
-Go's development process emphasizes up-front design.
-
-The project has ~450 contributors and many committers from outside Google.
-
-But most change proposals
-(despite being driven by community feedback)
-were made by the Go team at Google.
-
-Why is this?
-
-
-* Contribution guidelines
-
-The Go contribution guidelines are thorough on the code review process.
-
-But on design, just this:
-
-"Before undertaking to write something new for the Go project, send mail to the mailing list to discuss what you plan to do."
-
-Does this decribe the project's approach to design? Only superficially.
-
-Successful proposals include design docs
-that discuss rationale, tradeoffs, and implementation.
-
-There is a gap in our documented process.
-
-
-* Go Change Proposal Process: a proposal
-
-Brad Fitzpatrick and I recently proposed a formal Change Proposal Process.
-
-Its goals:
-
-- Make the design process clear to new contributors.
-- Commit to timely evaluations of proposals.
-- Build a recorded history of proposals.
-
-
-* How does it work?
-
-The new change process, in brief:
-
-- File an issue.
-- The contributors triage the issue.
-- Write a design document (following a template).
-- The contributors review the document.
-- If the proposal is accepted, implement it.
-
-[[https://golang.org/s/proposal-process][golang.org/s/proposal-process]]
-
-
-* An experimental process
-
-The new process is an experiment.
-
-We're still discussing exactly how it should work.
-
-I hope it will make Go's design process more accessible to the community.
-
-
-* Conclusion
-
-Go's design-driven process has served us well.
-
-But as Go is more widely used,
-the community needs a larger role in shaping its future.
-
-With your help, we can make Go's next 5 years more spectacular than the last.
-
-.image how-go-was-made/5years.png 350 _ 
diff --git a/content/2015/how-go-was-made/5years.png b/content/2015/how-go-was-made/5years.png
deleted file mode 100644
index df10648..0000000
--- a/content/2015/how-go-was-made/5years.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/how-go-was-made/errors-discussion.png b/content/2015/how-go-was-made/errors-discussion.png
deleted file mode 100644
index 3ca8a5e..0000000
--- a/content/2015/how-go-was-made/errors-discussion.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/how-go-was-made/errors-final.png b/content/2015/how-go-was-made/errors-final.png
deleted file mode 100644
index 78bad5b..0000000
--- a/content/2015/how-go-was-made/errors-final.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/how-go-was-made/errors-issue.png b/content/2015/how-go-was-made/errors-issue.png
deleted file mode 100644
index 72a4225..0000000
--- a/content/2015/how-go-was-made/errors-issue.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/how-go-was-made/errors-rog.png b/content/2015/how-go-was-made/errors-rog.png
deleted file mode 100644
index 0c121d8..0000000
--- a/content/2015/how-go-was-made/errors-rog.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/how-go-was-made/gopherswrench.jpg b/content/2015/how-go-was-made/gopherswrench.jpg
deleted file mode 100644
index 93005f4..0000000
--- a/content/2015/how-go-was-made/gopherswrench.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/how-go-was-made/mapchan.diff b/content/2015/how-go-was-made/mapchan.diff
deleted file mode 100644
index ddd5cd0..0000000
--- a/content/2015/how-go-was-made/mapchan.diff
+++ /dev/null
@@ -1,8 +0,0 @@
- type PollServer struct {
--       cr, cw *chan *FD;       // buffered >= 1
-+       cr, cw chan *FD;        // buffered >= 1
-        pr, pw *os.FD;
--       pending *map[int64] *FD;
-+       pending map[int64] *FD;
-        poll *Pollster; // low-level OS hooks
- }
diff --git a/content/2015/how-go-was-made/reflect1.png b/content/2015/how-go-was-made/reflect1.png
deleted file mode 100644
index 3ab1299..0000000
--- a/content/2015/how-go-was-made/reflect1.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/how-go-was-made/reflect2.png b/content/2015/how-go-was-made/reflect2.png
deleted file mode 100644
index dcf8213..0000000
--- a/content/2015/how-go-was-made/reflect2.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/how-go-was-made/reflect3.png b/content/2015/how-go-was-made/reflect3.png
deleted file mode 100644
index a4361d6..0000000
--- a/content/2015/how-go-was-made/reflect3.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/how-go-was-made/trends.png b/content/2015/how-go-was-made/trends.png
deleted file mode 100644
index a5a26a1..0000000
--- a/content/2015/how-go-was-made/trends.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/how-go-was-made/website.png b/content/2015/how-go-was-made/website.png
deleted file mode 100644
index 6254020..0000000
--- a/content/2015/how-go-was-made/website.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/json.slide b/content/2015/json.slide
deleted file mode 100644
index 1991819..0000000
--- a/content/2015/json.slide
+++ /dev/null
@@ -1,319 +0,0 @@
-JSON, interfaces, and go generate
-
-Francesc Campoy
-Developer, Advocate, and Gopher
-@francesc
-campoy@golang.org
-
-* Your mission
-
-Your mission, should you choose to accept it, is to decode this message:
-
-.code json/unmarshaler0map.go /^{/,/^}/
-
-into:
-
-.code json/unmarshaler0.go /type Person/,/^}/
-
-* Your mission (cont.)
-
-Where `ShirtSize` is an enum _(1)_:
-
-.code json/unmarshaler0.go /type ShirtSize byte/,/^\)/
-
-_(1)_: Go doesn't have enums.
-In this talk I will refer to constants of integer types as enums.
-
-* Using a map
-
-* Using a map
-
-_Pros_: very simple
-
-_Cons_: too simple? we have to write extra code
-
-.code json/unmarshaler0map.go /Person.*Parse/,/p.Name/
-
-* Parsing dates
-
-Time format based on a "magic" date:
-
-    Mon Jan 2 15:04:05 -0700 MST 2006
-
-An example:
-
-.play json/dates.go /func main/,
-
-* Why that date?
-
-Let's reorder:
-
-    Mon Jan 2 15:04:05 -0700 MST 2006
-
-into:
-
-    01/02 03:04:05 PM 2006 -07:00 MST
-
-which is:
-
-* 1 2 3 4 5 6 7!
-
-.image json/img/mindblown.gif 500 _
-
-* Parsing the birth date:
-
-Since our input was:
-
-.code json/unmarshaler0map.go /^{/,/^}/
-
-Parse the birth date:
-
-.code json/unmarshaler0map.go /time.Parse/,/p.Born/
-
-* Parsing the shirt size
-
-Many ways of writing this, this is a pretty bad one:
-
-.code json/unmarshaler0map.go /ParseShirtSize/,/^}/
-
-Use a `switch` statement, but a map is more compact.
-
-* Parsing the shirt size
-
-Our complete parsing function:
-
-.code json/unmarshaler0map.go /Person.*Parse/,/^}/
-
-* Does this work?
-
-.play json/unmarshaler0map.go /func main/,/^}/
-
-_Note_: `ShirtSize` is a `fmt.Stringer`
-
-* JSON decoding into structs
-
-* JSON decoding into structs
-
-Use tags to adapt field names:
-
-.code json/unmarshaler0bad.go /type Person/,/^}/
-
-But this doesn't fit:
-
-.play json/unmarshaler0bad.go /func main/,
-
-* Let's use an auxiliary struct type
-
-Use string fields and do any decoding manually afterwards.
-
-.code json/unmarshaler0.go /var aux struct/,/}/
-
-_Note_: the field tag for `Name` is not needed; the JSON decoder performs a case
-insensitive match if the exact form is not found.
-
-* Let's use an auxiliary struct type (cont.)
-
-The rest of the `Parse` function doesn't change much:
-
-.code json/unmarshaler0.go /Person.*Parse/,/^}/
-
-* Can we do better?
-
-* Current solution
-
-Repetition if other types have fields with:
-
-- date fields with same formatting,
-- or t-shirt sizes.
-
-Let's make the types smarter so `json.Decoder` will do all the work transparently.
-
-*Goal*: `json.Decoder` should do all the work for me!
-
-* Meet Marshaler and Unmarshaler
-
-Types satisfying `json.Marshaler` define how to be encoded into json.
-
-    type Marshaler interface {
-        MarshalJSON() ([]byte, error)
-    }
-
-And `json.Unmarshaler` for the decoding part.
-
-    type Unmarshaler interface {
-        UnmarshalJSON([]byte) error
-    }
-
-* UnmarshalJSON all the things!
-
-* Let's make Person a json.Unmarshaler
-
-Replace:
-
-.code json/unmarshaler0.go /Person.*Parse/
-
-with:
-
-.code json/unmarshaler1.go /Person.*UnmarshalJSON/,/rest of function/
-
-* Let's make Person a json.Unmarshaler (cont.)
-
-And our `main` function becomes:
-
-.play json/unmarshaler1.go /func main/,/^}/
-
-* UnmarshalJSON for enums
-
-Substitute `ParseShirtSize`:
-
-.code json/unmarshaler1.go /ParseShirtSize/
-
-with `UnmarshalJSON`:
-
-.code json/unmarshaler2.go /ShirtSize.*UnmarshalJSON/,/^}/
-
-* UnmarshalJSON for enums (cont.)
-
-Now use `ShirtSize` in the aux struct:
-
-.play json/unmarshaler2.go /Person.*UnmarshalJSON/,/rest of function/
-
-Use the same trick to parse the birthdate.
-
-* Unmarshaling differently formatted dates
-
-Create a new type `Date`:
-
-.code json/unmarshaler3.go /type Date/
-
-And make it a `json.Unmarshaler`:
-
-.code json/unmarshaler3.go /Date.*UnmarshalJSON/,/^}/
-
-* Unmarshaling differently formatted dates (cont.)
-
-Now use `Date` in the aux struct:
-
-.play json/unmarshaler3.go /Person.*UnmarshalJSON/,/^}/
-
-Can this code be shorter?
-
-* Yes!
-
-By making the `Born` field in `Person` of type `Date`.
-
-`Person.UnmarshalJSON` is then equivalent to the default behavior!
-
-It can be safely removed.
-
-.play json/unmarshaler4.go /func main/,/^}/
-
-* Was this really better?
-
-- Code length: 86LoC vs 80LoC
-
-- Reusability of types
-
-- Easier to maintain
-
-- Usage of the standard library
-
-* Other ideas
-
-* Roman numerals
-
-* Roman numerals
-
-Because why not?
-
-.code json/roman_numerals.go /type romanNumeral/
-
-And because Roman numerals are classier
-
-.code json/roman_numerals.go /type Movie/,/^}/
-
-* Roman numerals (cont.)
-
-.play json/roman_numerals.go /func main/,/^}/
-
-* Secret data
-
-* Secret data
-
-Some data is never to be encoded in clear text.
-
-.code json/secret.go /type Person/,/type secret/
-
-Use cryptography to make sure this is safe:
-
-.code json/secret.go /secret.*MarshalJSON/,/^}/
-
-_Note_: This solution is just a toy; don't use it for real systems.
-
-* Secret data (cont.)
-
-And use the same key to decode it when it comes back:
-
-.code json/secret.go /secret.*UnmarshalJSON/,/^}/
-
-* Secret data (cont.)
-
-Let's try it:
-
-.play json/secret.go /func main/,/^}/
-
-* But most JSON enums are boring
-
-* go generate to the rescue!
-
-`go`generate`:
-
-- introduced in Go 1.4
-- a tool for package authors
-- an extra step before `go`build`
-
-You will see it as comments in the code like:
-
-    //go:generate go tool yacc -o gopher.go -p parser gopher.y
-
-More information in the [[http://blog.golang.org/generate][blog post]].
-
-* code generation tools: stringer
-
-`stringer` generates `String` methods for enum types.
-
-    package painkiller
-
-    //go:generate stringer -type=Pill
-
-    type Pill int
-
-    const (
-        Placebo Pill = iota
-        Aspirin
-        Ibuprofen
-        Paracetamol
-    )
-
-Call `go`generate`:
-
-    $ go generate $GOPATH/src/path_to_painkiller
-
-which will create a new file containing the `String` definition for `Pill`.
-
-* jsonenums
-
-Around 200 lines of code.
-
-Parses and analyses a package using:
-
-- `go/{ast/build/format/parser/token}`
-- `golang.org/x/tools/go/exact`, `golang.org/x/tools/go/types`
-
-And generates the code using:
-
-- `text/template`
-
-And it's on github: [[http://github.com/campoy/jsonenums][github.com/campoy/jsonenums]]
-
-* Demo
diff --git a/content/2015/json/dates.go b/content/2015/json/dates.go
deleted file mode 100644
index 60fce9b..0000000
--- a/content/2015/json/dates.go
+++ /dev/null
@@ -1,16 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func main() {
-	now := time.Now()
-	fmt.Printf("Standard format: %v\n", now)
-	fmt.Printf("American format: %v\n", now.Format("Jan 2 2006"))
-	fmt.Printf("European format: %v\n", now.Format("02/01/2006"))
-	fmt.Printf("Chinese format: %v\n", now.Format("2006/01/02"))
-}
diff --git a/content/2015/json/img/mindblown.gif b/content/2015/json/img/mindblown.gif
deleted file mode 100644
index 7cf3738..0000000
--- a/content/2015/json/img/mindblown.gif
+++ /dev/null
Binary files differ
diff --git a/content/2015/json/roman_numerals.go b/content/2015/json/roman_numerals.go
deleted file mode 100644
index 2a5f006..0000000
--- a/content/2015/json/roman_numerals.go
+++ /dev/null
@@ -1,88 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/json"
-	"fmt"
-	"log"
-	"strings"
-)
-
-type romanNumeral int
-
-var numerals = []struct {
-	s string
-	v int
-}{
-	{"M", 1000}, {"CM", 900},
-	{"D", 500}, {"CD", 400},
-	{"C", 100}, {"XC", 90},
-	{"L", 50}, {"XL", 40},
-	{"X", 10}, {"IX", 9},
-	{"V", 5}, {"IV", 4},
-	{"I", 1},
-}
-
-func (n romanNumeral) String() string {
-	res := ""
-	v := int(n)
-	for _, num := range numerals {
-		res += strings.Repeat(num.s, v/num.v)
-		v %= num.v
-	}
-	return res
-}
-
-func parseRomanNumeral(s string) (romanNumeral, error) {
-	res := 0
-	for _, num := range numerals {
-		for strings.HasPrefix(s, num.s) {
-			res += num.v
-			s = s[len(num.s):]
-		}
-	}
-	return romanNumeral(res), nil
-}
-
-func (n romanNumeral) MarshalJSON() ([]byte, error) {
-	if n <= 0 {
-		return nil, fmt.Errorf("Romans had only natural (=>1) numbers")
-	}
-	return json.Marshal(n.String())
-}
-
-func (n *romanNumeral) UnmarshalJSON(data []byte) error {
-	var s string
-	if err := json.Unmarshal(data, &s); err != nil {
-		return err
-	}
-	p, err := parseRomanNumeral(s)
-	if err == nil {
-		*n = p
-	}
-	return err
-}
-
-type Movie struct {
-	Title string
-	Year  romanNumeral
-}
-
-func main() {
-	// Encoding
-	movies := []Movie{{"E.T.", 1982}, {"The Matrix", 1999}, {"Casablanca", 1942}}
-	res, err := json.MarshalIndent(movies, "", "\t") // HL
-	if err != nil {
-		log.Fatal(err)
-	}
-	fmt.Printf("Movies: %s\n", res)
-
-	// Decoding
-	var m Movie
-	inputText := `{"Title": "Alien", "Year":"MCMLXXIX"}`
-	if err := json.NewDecoder(strings.NewReader(inputText)).Decode(&m); err != nil {
-		log.Fatal(err)
-	}
-	fmt.Printf("%s was released in %d\n", m.Title, m.Year)
-}
diff --git a/content/2015/json/secret.go b/content/2015/json/secret.go
deleted file mode 100644
index 60e72d4..0000000
--- a/content/2015/json/secret.go
+++ /dev/null
@@ -1,74 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"crypto"
-	"crypto/rand"
-	"crypto/rsa"
-	_ "crypto/sha512"
-	"encoding/base64"
-	"encoding/json"
-	"fmt"
-	"log"
-)
-
-var key *rsa.PrivateKey
-
-func init() {
-	k, err := rsa.GenerateKey(rand.Reader, 2048)
-	if err != nil {
-		log.Fatalf("generate key: %v", err)
-	}
-	key = k
-}
-
-type Person struct {
-	Name string `json:"name"`
-	SSN  secret `json:"ssn"`
-}
-
-type secret string
-
-func (s secret) MarshalJSON() ([]byte, error) {
-	m, err := rsa.EncryptOAEP(crypto.SHA512.New(), rand.Reader, key.Public().(*rsa.PublicKey), []byte(s), nil)
-	if err != nil {
-		return nil, err
-	}
-	return json.Marshal(base64.StdEncoding.EncodeToString(m))
-}
-
-func (s *secret) UnmarshalJSON(data []byte) error {
-	var text string
-	if err := json.Unmarshal(data, &text); err != nil { // HL
-		return fmt.Errorf("deocde secret string: %v", err)
-	}
-	cypher, err := base64.StdEncoding.DecodeString(text) // HL
-	if err != nil {
-		return err
-	}
-	raw, err := rsa.DecryptOAEP(crypto.SHA512.New(), rand.Reader, key, cypher, nil) // HL
-	if err == nil {
-		*s = secret(raw)
-	}
-	return err
-}
-
-func main() {
-	p := Person{
-		Name: "Francesc",
-		SSN:  "123456789",
-	}
-
-	b, err := json.MarshalIndent(p, "", "\t")
-	if err != nil {
-		log.Fatalf("Encode person: %v", err)
-	}
-	fmt.Printf("%s\n", b)
-
-	var d Person
-	if err := json.Unmarshal(b, &d); err != nil {
-		log.Fatalf("Decode person: %v", err)
-	}
-	fmt.Println(d)
-}
diff --git a/content/2015/json/unmarshaler0.go b/content/2015/json/unmarshaler0.go
deleted file mode 100644
index 1206f8f..0000000
--- a/content/2015/json/unmarshaler0.go
+++ /dev/null
@@ -1,89 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/json"
-	"fmt"
-	"log"
-	"strings"
-	"time"
-)
-
-const input = `
-{
-    "name":"Gopher",
-    "birthdate": "2009/11/10",
-    "shirt-size": "XS"
-}
-`
-
-type Person struct {
-	Name string
-	Born time.Time
-	Size ShirtSize
-}
-
-func (p Person) String() string {
-	return fmt.Sprintf("%s was born on %v and uses a %v t-shirt",
-		p.Name, p.Born.Format("Jan 2 2006"), p.Size)
-}
-
-type ShirtSize byte
-
-const (
-	NA ShirtSize = iota
-	XS
-	S
-	M
-	L
-	XL
-)
-
-func (ss ShirtSize) String() string {
-	sizes := map[ShirtSize]string{XS: "XS", S: "S", M: "M", L: "L", XL: "XL"}
-	s, ok := sizes[ss]
-	if !ok {
-		return "invalid t-shirt size"
-	}
-	return s
-}
-
-func ParseShirtSize(s string) (ShirtSize, error) {
-	sizes := map[string]ShirtSize{"XS": XS, "S": S, "M": M, "L": L, "XL": XL}
-	ss, ok := sizes[s]
-	if !ok {
-		return NA, fmt.Errorf("invalid t-shirt size %q", s)
-	}
-	return ss, nil
-}
-
-func (p *Person) Parse(s string) error {
-	var aux struct {
-		Name string
-		Born string `json:"birthdate"`
-		Size string `json:"shirt-size"`
-	}
-
-	dec := json.NewDecoder(strings.NewReader(s))
-	if err := dec.Decode(&aux); err != nil {
-		return fmt.Errorf("decode person: %v", err)
-	}
-
-	p.Name = aux.Name
-	born, err := time.Parse("2006/01/02", aux.Born)
-	if err != nil {
-		return fmt.Errorf("invalid date: %v", err)
-	}
-	p.Born = born
-	p.Size, err = ParseShirtSize(aux.Size)
-	return err
-}
-
-func main() {
-	var p Person
-	if err := p.Parse(input); err != nil {
-		log.Fatalf("parse person: %v", err)
-	}
-	fmt.Println(p)
-}
diff --git a/content/2015/json/unmarshaler0bad.go b/content/2015/json/unmarshaler0bad.go
deleted file mode 100644
index f36d176..0000000
--- a/content/2015/json/unmarshaler0bad.go
+++ /dev/null
@@ -1,53 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/json"
-	"fmt"
-	"log"
-	"strings"
-	"time"
-)
-
-const input = `
-    {
-        "name":"Gopher",
-        "birthdate": "2009/11/10",
-        "shirt-size": "XS"
-    }
-    `
-
-type Person struct {
-	Name string    `json:"name"`
-	Born time.Time `json:"birthdate"`
-	Size ShirtSize `json:"shirt-size"`
-}
-
-type ShirtSize byte
-
-const (
-	NA ShirtSize = iota
-	XS
-	S
-	M
-	L
-	XL
-)
-
-func (ss ShirtSize) String() string {
-	s, ok := map[ShirtSize]string{XS: "XS", S: "S", M: "M", L: "L", XL: "XL"}[ss]
-	if !ok {
-		return "invalid ShirtSize"
-	}
-	return s
-}
-
-func main() {
-	var p Person
-	dec := json.NewDecoder(strings.NewReader(input))
-	if err := dec.Decode(&p); err != nil {
-		log.Fatalf("parse person: %v", err)
-	}
-	fmt.Println(p)
-}
diff --git a/content/2015/json/unmarshaler0map.go b/content/2015/json/unmarshaler0map.go
deleted file mode 100644
index c8af3b6..0000000
--- a/content/2015/json/unmarshaler0map.go
+++ /dev/null
@@ -1,83 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/json"
-	"fmt"
-	"log"
-	"strings"
-	"time"
-)
-
-const input = `
-{
-    "name": "Gopher",
-    "birthdate": "2009/11/10",
-    "shirt-size": "XS"
-}
-`
-
-type Person struct {
-	Name string
-	Born time.Time
-	Size ShirtSize
-}
-
-type ShirtSize byte
-
-const (
-	NA ShirtSize = iota
-	XS
-	S
-	M
-	L
-	XL
-)
-
-func (ss ShirtSize) String() string {
-	sizes := map[ShirtSize]string{XS: "XS", S: "S", M: "M", L: "L", XL: "XL"}
-	s, ok := sizes[ss]
-	if !ok {
-		return "invalid ShirtSize"
-	}
-	return s
-}
-
-func ParseShirtSize(s string) (ShirtSize, error) {
-	sizes := map[string]ShirtSize{"XS": XS, "S": S, "M": M, "L": L, "XL": XL}
-	ss, ok := sizes[s]
-	if !ok {
-		return NA, fmt.Errorf("invalid ShirtSize %q", s)
-	}
-	return ss, nil
-}
-
-func (p *Person) Parse(s string) error {
-	fields := map[string]string{}
-
-	dec := json.NewDecoder(strings.NewReader(s))
-	if err := dec.Decode(&fields); err != nil {
-		return fmt.Errorf("decode person: %v", err)
-	}
-
-	// Once decoded we can access the fields by name.
-	p.Name = fields["name"]
-
-	born, err := time.Parse("2006/01/02", fields["birthdate"])
-	if err != nil {
-		return fmt.Errorf("invalid date: %v", err)
-	}
-	p.Born = born
-
-	p.Size, err = ParseShirtSize(fields["shirt-size"])
-	return err
-}
-
-func main() {
-	var p Person
-	if err := p.Parse(input); err != nil {
-		log.Fatalf("parse person: %v", err)
-	}
-	fmt.Println(p)
-}
diff --git a/content/2015/json/unmarshaler1.go b/content/2015/json/unmarshaler1.go
deleted file mode 100644
index cb9f63a..0000000
--- a/content/2015/json/unmarshaler1.go
+++ /dev/null
@@ -1,84 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bytes"
-	"encoding/json"
-	"fmt"
-	"log"
-	"strings"
-	"time"
-)
-
-const input = `
-{
-	"name": "Gopher",
-	"birthdate": "2009/11/10",
-	"shirt-size": "XS"
-}
-`
-
-type Person struct {
-	Name string
-	Born time.Time
-	Size ShirtSize
-}
-
-type ShirtSize byte
-
-const (
-	NA ShirtSize = iota
-	XS
-	S
-	M
-	L
-	XL
-)
-
-func (ss ShirtSize) String() string {
-	s, ok := map[ShirtSize]string{XS: "XS", S: "S", M: "M", L: "L", XL: "XL"}[ss]
-	if !ok {
-		return "invalid ShirtSize"
-	}
-	return s
-}
-
-func ParseShirtSize(s string) (ShirtSize, error) {
-	ss, ok := map[string]ShirtSize{"XS": XS, "S": S, "M": M, "L": L, "XL": XL}[s]
-	if !ok {
-		return NA, fmt.Errorf("invalid ShirtSize %q", s)
-	}
-	return ss, nil
-}
-
-func (p *Person) UnmarshalJSON(data []byte) error {
-	var aux struct {
-		Name string
-		Born string `json:"birthdate"`
-		Size string `json:"shirt-size"`
-	}
-
-	dec := json.NewDecoder(bytes.NewReader(data)) // HL
-	if err := dec.Decode(&aux); err != nil {
-		return fmt.Errorf("decode person: %v", err)
-	}
-	p.Name = aux.Name
-	// ... rest of function omitted ...
-	born, err := time.Parse("2006/01/02", aux.Born)
-	if err != nil {
-		return fmt.Errorf("invalid date: %v", err)
-	}
-	p.Born = born
-	p.Size, err = ParseShirtSize(aux.Size)
-	return err
-}
-
-func main() {
-	var p Person
-	dec := json.NewDecoder(strings.NewReader(input))
-	if err := dec.Decode(&p); err != nil {
-		log.Fatalf("parse person: %v", err)
-	}
-	fmt.Println(p)
-}
diff --git a/content/2015/json/unmarshaler2.go b/content/2015/json/unmarshaler2.go
deleted file mode 100644
index c7e8a45..0000000
--- a/content/2015/json/unmarshaler2.go
+++ /dev/null
@@ -1,90 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bytes"
-	"encoding/json"
-	"fmt"
-	"log"
-	"strings"
-	"time"
-)
-
-const input = `{
-    "name":"Gopher",
-    "birthdate": "2009/11/10",
-    "shirt-size": "XS"
-}`
-
-type Person struct {
-	Name string
-	Born time.Time
-	Size ShirtSize
-}
-
-type ShirtSize byte
-
-const (
-	NA ShirtSize = iota
-	XS
-	S
-	M
-	L
-	XL
-)
-
-func (ss ShirtSize) String() string {
-	s, ok := map[ShirtSize]string{XS: "XS", S: "S", M: "M", L: "L", XL: "XL"}[ss]
-	if !ok {
-		return "invalid ShirtSize"
-	}
-	return s
-}
-
-func (ss *ShirtSize) UnmarshalJSON(data []byte) error {
-	// Extract the string from data.
-	var s string
-	if err := json.Unmarshal(data, &s); err != nil { // HL
-		return fmt.Errorf("shirt-size should be a string, got %s", data)
-	}
-
-	// The rest is equivalen to ParseShirtSize.
-	got, ok := map[string]ShirtSize{"XS": XS, "S": S, "M": M, "L": L, "XL": XL}[s]
-	if !ok {
-		return fmt.Errorf("invalid ShirtSize %q", s)
-	}
-	*ss = got // HL
-	return nil
-}
-
-func (p *Person) UnmarshalJSON(data []byte) error {
-	var aux struct {
-		Name string
-		Born string    `json:"birthdate"`
-		Size ShirtSize `json:"shirt-size"` // HL
-	}
-
-	dec := json.NewDecoder(bytes.NewReader(data))
-	if err := dec.Decode(&aux); err != nil {
-		return fmt.Errorf("decode person: %v", err)
-	}
-	p.Name = aux.Name
-	p.Size = aux.Size // HL
-	// ... rest of function omitted ...
-	born, err := time.Parse("2006/01/02", aux.Born)
-	if err != nil {
-		return fmt.Errorf("invalid date: %v", err)
-	}
-	p.Born = born
-	return nil
-}
-
-func main() {
-	var p Person
-	dec := json.NewDecoder(strings.NewReader(input))
-	if err := dec.Decode(&p); err != nil {
-		log.Fatalf("parse person: %v", err)
-	}
-	fmt.Println(p)
-}
diff --git a/content/2015/json/unmarshaler3.go b/content/2015/json/unmarshaler3.go
deleted file mode 100644
index 9a95d40..0000000
--- a/content/2015/json/unmarshaler3.go
+++ /dev/null
@@ -1,98 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bytes"
-	"encoding/json"
-	"fmt"
-	"log"
-	"strings"
-	"time"
-)
-
-const input = `{
-    "name":"Gopher",
-    "birthdate": "2009/11/10",
-    "shirt-size": "XS"
-}`
-
-type Person struct {
-	Name string
-	Born Date
-	Size ShirtSize
-}
-
-type ShirtSize byte
-
-const (
-	NA ShirtSize = iota
-	XS
-	S
-	M
-	L
-	XL
-)
-
-func (ss ShirtSize) String() string {
-	s, ok := map[ShirtSize]string{XS: "XS", S: "S", M: "M", L: "L", XL: "XL"}[ss]
-	if !ok {
-		return "invalid ShirtSize"
-	}
-	return s
-}
-
-func (ss *ShirtSize) UnmarshalJSON(data []byte) error {
-	var s string
-	if err := json.Unmarshal(data, &s); err != nil {
-		return fmt.Errorf("shirt-size should be a string, got %s", data)
-	}
-	got, ok := map[string]ShirtSize{"XS": XS, "S": S, "M": M, "L": L, "XL": XL}[s]
-	if !ok {
-		return fmt.Errorf("invalid ShirtSize %q", s)
-	}
-	*ss = got
-	return nil
-}
-
-type Date struct{ time.Time }
-
-func (d Date) String() string { return d.Format("2006/01/02") }
-
-func (d *Date) UnmarshalJSON(data []byte) error {
-	var s string
-	if err := json.Unmarshal(data, &s); err != nil {
-		return fmt.Errorf("birthdate should be a string, got %s", data)
-	}
-	t, err := time.Parse("2006/01/02", s) // HL
-	if err != nil {
-		return fmt.Errorf("invalid date: %v", err)
-	}
-	d.Time = t
-	return nil
-}
-
-func (p *Person) UnmarshalJSON(data []byte) error {
-	r := bytes.NewReader(data)
-	var aux struct {
-		Name string
-		Born Date      `json:"birthdate"` // HL
-		Size ShirtSize `json:"shirt-size"`
-	}
-	if err := json.NewDecoder(r).Decode(&aux); err != nil {
-		return fmt.Errorf("decode person: %v", err)
-	}
-	p.Name = aux.Name
-	p.Size = aux.Size
-	p.Born = aux.Born // HL
-	return nil
-}
-
-func main() {
-	var p Person
-	dec := json.NewDecoder(strings.NewReader(input))
-	if err := dec.Decode(&p); err != nil {
-		log.Fatalf("parse person: %v", err)
-	}
-	fmt.Println(p)
-}
diff --git a/content/2015/json/unmarshaler4.go b/content/2015/json/unmarshaler4.go
deleted file mode 100644
index 0f126a9..0000000
--- a/content/2015/json/unmarshaler4.go
+++ /dev/null
@@ -1,81 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/json"
-	"fmt"
-	"log"
-	"strings"
-	"time"
-)
-
-const input = `{
-    "name":"Gopher",
-    "birthdate": "2009/11/10",
-    "shirt-size": "XS"
-}`
-
-type Person struct {
-	Name string    `json:"name"`
-	Born Date      `json:"birthdate"`
-	Size ShirtSize `json:"shirt-size"`
-}
-
-type ShirtSize byte
-
-const (
-	NA ShirtSize = iota
-	XS
-	S
-	M
-	L
-	XL
-)
-
-func (ss ShirtSize) String() string {
-	s, ok := map[ShirtSize]string{XS: "XS", S: "S", M: "M", L: "L", XL: "XL"}[ss]
-	if !ok {
-		return "invalid ShirtSize"
-	}
-	return s
-}
-
-func (ss *ShirtSize) UnmarshalJSON(data []byte) error {
-	var s string
-	if err := json.Unmarshal(data, &s); err != nil {
-		return fmt.Errorf("shirt-size should be a string, got %s", data)
-	}
-	got, ok := map[string]ShirtSize{"XS": XS, "S": S, "M": M, "L": L, "XL": XL}[s]
-	if !ok {
-		return fmt.Errorf("invalid ShirtSize %q", s)
-	}
-	*ss = got
-	return nil
-}
-
-type Date struct{ time.Time }
-
-func (d Date) String() string { return d.Format("2006/01/02") }
-
-func (d *Date) UnmarshalJSON(data []byte) error {
-	var s string
-	if err := json.Unmarshal(data, &s); err != nil {
-		return fmt.Errorf("birthdate should be a string, got %s", data)
-	}
-	t, err := time.Parse("2006/01/02", s)
-	if err != nil {
-		return fmt.Errorf("invalid date: %v", err)
-	}
-	d.Time = t
-	return nil
-}
-
-func main() {
-	var p Person
-	dec := json.NewDecoder(strings.NewReader(input))
-	if err := dec.Decode(&p); err != nil {
-		log.Fatalf("parse person: %v", err)
-	}
-	fmt.Println(p)
-}
diff --git a/content/2015/keeping-up.slide b/content/2015/keeping-up.slide
deleted file mode 100644
index 26f0408..0000000
--- a/content/2015/keeping-up.slide
+++ /dev/null
@@ -1,104 +0,0 @@
-Keeping up with the Gophers
-A brief history of gccgo, improvements, and the future
-
-Chris Manghane
-Google Gopher | Compilers and Toolchains
-cmang@golang.org
-
-* gccgo: "The Other Go Compiler"
-
-- Written and maintained by Ian Lance Taylor (released November 2009)
-
-    2010-01-26  Ian Lance Taylor  <iant@google.com>
-
-    		* MAINTAINERS: Add myself as Go frontend maintainer.
-
-- Compiler frontend for the Go language written in C++
-
-.image keeping-up/gccgo_structure.png 320 _
-
-* gccgo: The Go Team didn't know
-
-"Ian just showed up at our door with a fully working compiler" ~ probably Rob
-
-.html keeping-up/gource_explosion.html
-
-* Why write a Go compiler in C++?
-
-* rationale: architecture support
-
-- cmd/gc (2009) targets 4 major architectures: i386, amd64, ARM, and IBM POWER
-- gcc (4.3, 2009) targets 45 architectures officially, 28 unofficially
-- leveraging gcc => minimal work to support Go on existing architectures
-
-* rationale: code generation
-
-- gcc has ~30 years of work put into code analysis and optimization
-- cmd/gc has only recently focused on code generation (khr's SSA work)
-- leveraging gcc => minimal work to produce optimized binaries
-
-* rationale: technical honesty
-
-- "Keeping each other honest"
-- Distinct implementations => Inconsistencies in specification and implementations
-- Users have options when an implementation lacks features
-- Compilers seek feature parity => Compilers learn from each other
-- Compilers generate better binaries => Virtuous cycle
-
-* gccgo improvements through a telescope
-
-* gofrontend: no dependency on gcc
-
-- gcc implements gofrontend's backend interface
-
-gofrontend (gcc/go/gofrontend/expressions.cc)
-
-.code keeping-up/backend_interface.diff
-
-backend (gcc/go/go-gcc.cc)
-
-.code keeping-up/cst.gcc
-
-* gccgo: builds the `go` tool
-
-- One way to build code across multiple compilers
-
-.code keeping-up/go_build.log
-
-* gofrontend: basic escape analysis
-
-- Implementation of _Escape_analysis_for_Java_ by JD Choi
-
-escape.go
-
-.code keeping-up/escape.go
-
-Connection Graph
-
-.image keeping-up/escape.png
-
-* Keeping up
-
-* gccgo: runtime and garbage collector parity
-
-- gccgo runtime is a modified version of Go 1.3 runtime
-- Go 1.4 runtime was rewritten in Go
-- Go 1.4 changed GC type info
-
-* beyond gccgo: compiler stack maps
-
-- Stack map records locations of live values at a certain address
-- Allows Garbage Collector to be precise about types on stack
-- Enables contiguous stacks to readjust copied pointers
-- Little support in C compilers: gcc has no support, LLVM support is WIP
-
-* llvmgo: another "other Go compiler"
-
-- gofrontend provides backend interface LLVM can implement
-- LLVM byte code is trusted in secure environments such as PNaCl
-- Run native Go in the web
-
-* OS support: OSX and Windows
-
-- gccgo support on not unixes
-- Expert needed
\ No newline at end of file
diff --git a/content/2015/keeping-up/backend_interface.diff b/content/2015/keeping-up/backend_interface.diff
deleted file mode 100644
index f844d34..0000000
--- a/content/2015/keeping-up/backend_interface.diff
+++ /dev/null
@@ -1,7 +0,0 @@
--  tree val_type_tree = type_to_tree(this->type()->get_backend(gogo));
--  go_assert(val_type_tree != error_mark_node);
--  return build_int_cstu(val_type_tree, val);
-+  mpz_t cst;
-+  mpz_init_set_ui(cst, val);
-+  Btype* int_btype = this->type()->get_backend(gogo);
-+  return gogo->backend()->integer_constant_expression(int_btype, cst);
diff --git a/content/2015/keeping-up/cst.gcc b/content/2015/keeping-up/cst.gcc
deleted file mode 100644
index 9784bbb..0000000
--- a/content/2015/keeping-up/cst.gcc
+++ /dev/null
@@ -1,7 +0,0 @@
-Bexpression*
-Gcc_backend::integer_constant_expression(Btype* btype, mpz_t val)
-{
-  tree t = btype->get_tree();
-  tree ret = double_int_to_tree(t, mpz_get_double_int(t, val, true));
-  return this->make_expression(ret);
-}
diff --git a/content/2015/keeping-up/escape.go b/content/2015/keeping-up/escape.go
deleted file mode 100644
index 3a76497..0000000
--- a/content/2015/keeping-up/escape.go
+++ /dev/null
@@ -1,10 +0,0 @@
-package main
-
-var global *int
-
-func f(i *int) { global = i }
-
-func main() {
-	a := new(int)
-	f(a)
-}
diff --git a/content/2015/keeping-up/escape.png b/content/2015/keeping-up/escape.png
deleted file mode 100644
index 401b8f0..0000000
--- a/content/2015/keeping-up/escape.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/keeping-up/gccgo_structure.png b/content/2015/keeping-up/gccgo_structure.png
deleted file mode 100644
index 91bfbf6..0000000
--- a/content/2015/keeping-up/gccgo_structure.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/keeping-up/go_build.log b/content/2015/keeping-up/go_build.log
deleted file mode 100644
index 50353d8..0000000
--- a/content/2015/keeping-up/go_build.log
+++ /dev/null
@@ -1,14 +0,0 @@
-$ cat hello.go
-package main
-
-import "fmt"
-
-func main() {
-     fmt.Println("Hello World!")
-}
-
-$ go run -gccgoflags="-fgo-optimize-allocs" hello.go
-Hello World!
-
-$ go version
-go version go1.4.2 gccgo (GCC) 6.0.0 20150714 (experimental) linux/amd64
\ No newline at end of file
diff --git a/content/2015/keeping-up/gource_explosion.html b/content/2015/keeping-up/gource_explosion.html
deleted file mode 100644
index 10cc0ac..0000000
--- a/content/2015/keeping-up/gource_explosion.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<video id="video" controls="" autoplay="" loop="" width="100%">
-    <source src="http://webm.host/d764a/vid.webm" type="video/webm">
-</video>
diff --git a/content/2015/simplicity-is-complicated.slide b/content/2015/simplicity-is-complicated.slide
deleted file mode 100644
index 19f1fc1..0000000
--- a/content/2015/simplicity-is-complicated.slide
+++ /dev/null
@@ -1,373 +0,0 @@
-Simplicity is Complicated
-
-dotGo
-9 Nov 2015
-
-Rob Pike
-Google
-@rob_pike
-[[http://golang.org/s/plusrob][+RobPikeTheHuman]]
-http://golang.org/
-
-* Bonjour mes Gophers!
-
-.image simplicity-is-complicated/gophers.jpg 512 _
-
-* Success
-
-What makes Go successful?
-
-Many reasons cited:
-
-- speed of compilation
-- speed of execution
-- deployment
-- tools
-- libraries
-
-These are not language features.
-Less often cited: true language features such as interfaces or concurrency.
-
-All are important but not really an answer.
-
-* Simplicity
-
-My answer: Simplicity.
-
-Go is simple, at least compared to established languages.
-
-Simplicity has many facets.
-
-Simplicity is complicated.
-
-* Convergence
-
-[[http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/From-Parallel-to-Concurrent?utm_content=bufferf1e11&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer][Attended]] [[https://langnext2014.eventday.com/][Lang.Next]] conference last year (2014).
-
-Heard talks about new versions of Java, JavaScript (ECMAScript), Typescript, C#, C++, Hack (PHP), and more.
-
-These languages actively borrow features from one another.
-
-They are converging into a single huge language.
-
-* Language relativity
-
-_Sapir-Whorf_hypothesis_: Language influences thought.
-
-Controversial with regard to human languages.
-
-Close to a fact for computer languages. Consider:
-
-- logic programming
-- procedural programming
-- functional programming
-- object-oriented programming
-- concurrent programming
-
-Like disciplines in mathematics.
-
-* Convergence and relativity
-
-If the languages all converge, we will all think the same.
-
-But different ways of thinking are good.
-
-Need different languages for different problems.
-
-We don't want just one tool, we want a set of tools, each best at one task.
-
-* Convergence and features
-
-The talks at Lang.Next were about new language versions (Java 8, ECMAScript 6, C#, C++14) and were lists of features.
-
-These languages evolve and compete by adding features.
-
-The languages grow in complexity while becoming more similar.
-
-Bloat without distinction.
-
-* Features in Go
-
-Go is different.
-
-Go does not try to be like the other languages.
-
-Go does not compete on features.
-
-As of Go 1, the language is fixed.
-
-Many newcomers to Go ask for features from languages they know.
-But those features do not belong in Go—and the language is fixed.
-
-Adding features to Go would not make it better, just bigger.
-
-That would make Go less interesting by being less different.
-
-* But you need features!
-
-Of course, there must be _some_ features.
-
-But which ones? The right ones!
-
-Design by consensus.
-
-* Readability
-
-If a language has too many features, you waste time choosing which ones to use.
-Then implement, refine, possibly rethink and redo.
-
-Later, "Why does the code work this way?"
-
-_The_code_is_harder_to_understand_simply_because_it_is_using_a_more_complex_language._
-
-Preferable to have just one way, or at least fewer, simpler ways.
-
-Features add complexity. We want simplicity.
-
-Features hurt readability. We want readability.
-
-Readability is paramount.
-
-* Readable means Reliable
-
-Readable code is reliable code.
-
-It's easier to understand.
-
-It's easier to work on.
-
-If it breaks, it's easier to fix.
-
-If the language is complicated:
-
-- You must understand more things to read and work on the code.
-- You must understand more things to debug and fix it.
-
-A key tradeoff: More fun to write, or less work to maintain?
-
-* Expressiveness
-
-Features are often suggested to aid "expressiveness".
-
-Conciseness can be expressive but not always readable.
-(Consider APL:  ⊃ 1 ω ∨ . ∧ 3 4 = +/ +⌿ 1 0 ‾1 ∘.θ 1 - ‾1 Φ″ ⊂ ω)
-
-Can also be expensive, implementing simple ideas with too-powerful primitives.
-Performance can also be unpredictable.
-
-On the other hand, verbosity can inhibit readability by obscuring the intent.
-
-Build on, but do not be limited by, familiar ideas.
-
-Be concise while remaining expressive.
-
-* The right set of features
-
-Not features for features' sake.
-
-Features that "cover the space", like a vector basis covering solution space.
-
-Orthogonal features that interact predictably.
-
-Simple features that interact in simple ways.
-
-Simplicity comes from orthogonality and predictability.
-
-Keep the language's goals in mind.
-
-* Go's goals
-
-Clean procedural language designed for scalable cloud software.
-
-Composable distinct elements, including:
-
-- concrete data types
-- functions and methods
-- interfaces
-- packages
-- concurrency
-
-Plus: Good tools, fast builds.
-
-All the pieces feel simple in practice.
-
-* Simple can be expressive
-
-.image simplicity-is-complicated/gopherslide2smblue.jpg 512 _
-
-* Don't need all those features
-
-They add complexity without clarity.
-
-.image simplicity-is-complicated/gopherslide2sm.jpg 512 _
-
-* Simplicity
-
-Go is actually complex, but it _feels_ simple.
-
-Interacting elements must mesh seamlessly, without surprises.
-
-Requires a lot of design, implementation work, refinement.
-
-Simplicity is the art of hiding complexity.
-
-* A few simple things in Go
-
-- garbage collection
-- goroutines
-- constants
-- interfaces
-- packages
-
-Each hides complexity behind a simple facade.
-
-* Garbage collection
-
-Perhaps the best example of simplicity hiding complexity.
-
-Very difficult to implement well, but worth it.
-Yet so simple the language specification mentions it only in the introduction.
-Nonetheless, parts of the language strongly influenced by it.
-
-Code is simpler because GC is there.
-Design does not need to include "ownership".
-
-Go: there is no `free`. There is only garbage collection.
-As simple as it can be. (But complex behind the facade.)
-
-* Concurrency
-
-Concurrency is the ability to write your program as independently executing pieces.
-In Go, concurrency has three elements:
-
-- goroutines (execution)
-- channels (communication)
-- `select` (coordination)
-
-Let's talk about goroutines.
-
-* Goroutines
-
-Start a goroutine with the `go` keyword:
-
-	go function(args)
-
-Three extra keystrokes ('g', 'o', ' '). Hard to be much simpler.
-
-Like garbage collection, eliminate considerations from the programmer's concern:
-
-- no stack size
-- no return or completion status
-- no mechanism for management
-- no "ID"
-
-These are things other systems would provide. Go instead has a minimalist design.
-
-Implementation complex, dependent on garbage collection for stack management.
-
-* Constants
-
-In Go, constants are just numbers, even though (because) it is strongly typed.
-
-	var nanosecond = time.Second/1e9
-
-Simple idea took about a year to work out. Difficulties:
-
-- "infinite" precision integers
-- "infinite" precision floating point (tried and failed with rationals)
-- promotion rules (`i` `:=` `2;` `f` `:=` `2.0;`  `g` `:=` `1/2;` `h` `:=` `1/2.0`)
-- corner cases like shift
-
-.play simplicity-is-complicated/shift.go /Printf/
-
-Still not totally satisfied, but the effect is that constants feel like numbers, contribute to the ease of using Go. But complicated behind the scenes.
-
-More at [[http://blog.golang.org/constants][this blog post]].
-
-* Interfaces
-
-Just a set of methods. No data. Simple idea, but more complex than expected.
-
-	type Reader interface {
-		Read([]byte) (int, error)
-	}
-
-Also need variables of that type (`var` `reader` `io.Reader`).
-These variables add dynamic typing to a statically typed language.
-
-	var r Reader = os.Stdin // Statically checked.
-	var x interface{} = os.Stdin // Statically checked.
-	r = x.(Reader) // Dynamically checked. Must be explicit here - design decision.
-
-Requires careful design. Interface assignment must be implemented at run time (not a v-table). What if it fails? Led to type assertions and the "comma, ok" idiom.
-
-More complexity crept in. Type assertions and type switches were not in the original plan.
-
-* Interfaces
-
-Go's most distinctive and powerful feature.
-
-Profound effect on library design.
-
-Enables true component architectures. Prime examples are `io.Reader` and `io.Writer`, generalizations of the Unix pipe idea.
-
-Feel simple, worth the complexity.
-
-* Packages
-
-A design for structuring programs and libraries.
-
-	package big
-	...
-	import "math/big"
-
-Took a long time to design. Enable componentization, scalability, sharing, data hiding and isolation, ...
-
-Affect program design, syntax, naming, building, linking, testing, ...
-
-Separation of package path (`"math/big"`) from package name (`big`).
-Enabled the `go` `get` mechanism.
-
-Intricate to implement yet natural to use.
-
-After garbage collection, perhaps the highest ratio of true complexity to apparent simplicity, and therefore of the power of simplicity to hide complexity.
-
-* A "simple" example
-
-.play simplicity-is-complicated/hello.go
-
-* Hidden complexity
-
-Unicode and UTF-8 handled seamlessly.
-
-Packages imported and used easily.
-
-`Fprintf` direct to network connection.
-
-Function promoted to method (`HandleFunc`).
-
-Truly concurrent—server won't block.
-
-Production ready.
-
-All very simple.
-
-* Summary
-
-Simplicity is complicated but the clarity is worth the fight.
-
-.image simplicity-is-complicated/gopherslide2sm.jpg 512 _
-
-* Conclusion
-
-Simplicity is hard—to design.
-
-Simplicity is complicated—to build.
-
-But if you get it right...
-
-Simplicity is easy—to use.
-
-The success of Go proves it.
-
-.image simplicity-is-complicated/gopherslide2smblue.jpg 256 _
diff --git a/content/2015/simplicity-is-complicated/gophers.jpg b/content/2015/simplicity-is-complicated/gophers.jpg
deleted file mode 100644
index ac88bfc..0000000
--- a/content/2015/simplicity-is-complicated/gophers.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/simplicity-is-complicated/gopherslide2sm.jpg b/content/2015/simplicity-is-complicated/gopherslide2sm.jpg
deleted file mode 100644
index 887a7bd..0000000
--- a/content/2015/simplicity-is-complicated/gopherslide2sm.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/simplicity-is-complicated/gopherslide2smblue.jpg b/content/2015/simplicity-is-complicated/gopherslide2smblue.jpg
deleted file mode 100644
index 54581a1..0000000
--- a/content/2015/simplicity-is-complicated/gopherslide2smblue.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/simplicity-is-complicated/gopherslide2smbrown.jpg b/content/2015/simplicity-is-complicated/gopherslide2smbrown.jpg
deleted file mode 100644
index 4ec67af..0000000
--- a/content/2015/simplicity-is-complicated/gopherslide2smbrown.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/simplicity-is-complicated/hello.go b/content/2015/simplicity-is-complicated/hello.go
deleted file mode 100644
index 3d0e80c..0000000
--- a/content/2015/simplicity-is-complicated/hello.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"log"
-	"net/http"
-)
-
-func こんにちは_Gophers(w http.ResponseWriter, req *http.Request) {
-	fmt.Fprintf(w, "こんにちは  Gophers!\n")
-}
-
-func main() {
-	http.HandleFunc("/", こんにちは_Gophers)
-	err := http.ListenAndServe("localhost:12345", nil)
-	if err != nil {
-		log.Fatal("ListenAndServe: ", err)
-	}
-}
diff --git a/content/2015/simplicity-is-complicated/shift.go b/content/2015/simplicity-is-complicated/shift.go
deleted file mode 100644
index fe93b01..0000000
--- a/content/2015/simplicity-is-complicated/shift.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Printf("%T %T", 2.0, 2.0<<0)
-}
diff --git a/content/2015/state-of-go-may.slide b/content/2015/state-of-go-may.slide
deleted file mode 100644
index aa90188..0000000
--- a/content/2015/state-of-go-may.slide
+++ /dev/null
@@ -1,288 +0,0 @@
-The State of Go
-Where we are in May 2015
-27 May 2015
-
-Andrew Gerrand
-adg@golang.org
-
-
-* The State of the State of Go
-
-I gave a similar talk at FOSDEM in February 2015.
-
-.link https://talks.golang.org/2015/state-of-go.slide
-
-This talk builds on that talk.
-
-
-* Go 1.5
-
-
-* Release schedule
-
-Go 1.5 is scheduled for release in August 2015.
-
-The major work is done.
-We are now in the "feature freeze" period.
-
-
-* From C to Go
-
-The `gc` tool chain has been converted from C to Go.
-
-Machine-translated `compile` tool replaces `6g`, `8g`, etc.
-Machine-translated `link` tool replaces `6l`, `8l`, etc.
-New `asm` tool replaces `6a`, `8a`, etc.
-
-Go 1.5 has *no* C code in the tool chain or runtime.
-
-Rob will talk more about this.
-
-
-* Concurrent Garbage Collector
-
-Goals:
-
-- Limit GC latency to less than 10 milliseconds.
-- Run Go application code for at least 40ms out of every 50ms.
-
-.image state-of-go-may/gc.png
-
-.link https://golang.org/s/go14gc
-
-
-* Concurrent GC trade-offs
-
-The new GC spends a little more memory and CPU time
-in exchange for significantly shorter GC pause times.
-
-.image state-of-go-may/gc2.png
-
-
-* Better concurrency performance
-
-Setting `GOMAXPROCS=N` (where `N` is your number of CPUs) works well in Go 1.5.
-
-Better performance executing goroutines in parallel:
-
-.image state-of-go-may/conc-sieve.png _ 800
-
-Better perfomance switching between goroutines in serial:
-
-.image state-of-go-may/conc-chain.png _ 800
-
-
-* Better concurrency performance (bottom line)
-
-Better performance under practical workloads:
-
-.image state-of-go-may/conc-practical.png _ 800
-
-And our benchmark suite:
-
-.image state-of-go-may/conc-bench.png _ 500
-
-
-* Go 1.5 overall performance 
-
-.image state-of-go-may/gcperf.png
-
-
-* Go 1.5 overall performance (continued)
-
-.image state-of-go-may/perfchart.png
-
-
-* OS/Arch ports
-
-Go 1.5 supports some new `GOOS/GOARCH` combinations:
-
-- `darwin/arm`, a.k.a iOS
-- `darwin/arm64` (newer iDevices)
-- `linux/arm64` (cgo is supported, but only with external linking)
-- `openbsd/arm` (no cgo or external linking)
-
-And retires some old ones:
-
-DragonflyBSD dropped support for i386; `dragonfly/386` was removed from Go.
-
-Apple no longer supports OS X 10.6 (no security updates since 2013);
-the Go port to OS X 10.6 (Snow Leopard) is no longer actively maintained.
-
-
-* Shared libraries
-
-Go 1.5 can produce Go shared libraries that can be consumed by Go programs.
-
-Build the standard library as shared libraries:
-
-	$ go install -buildmode=shared std
-
-Build a "Hello, world" program that links against the shared libraries:
-
-	$ go build -linkshared hello.go
-	$ ls -l hello
-	-rwxr-xr-x 1 adg adg 13926 May 26 02:13 hello
-
-
-Go 1.5 can also build Go programs as C archive files (for static linking)
-or shared libraries (for dynamic linking) that can be consumed by C programs.
-
-.link https://golang.org/s/execmodes
-
-(Demo)
-
-
-* Go programs as C libraries
-
-Given a package:
-
-	package p // import "p"
-
-	import "C"
-
-	//export Foo
-	func Foo() int32 { return 42 }
-
-And a main package that imports it:
-
-	package main // import "m"
-
-	import _ "p"
-
-	func main() {} // ignored
-
-You can build an archive file that can be linked into a C program:
-
-	$ go build -buildmode=c-archive m
-	$ ls $GOPATH/pkg/linux_amd64
-	m.a  p.a  p.h
-
-
-* A minor language change
-
-You may now omit the key type from a map literal.
-
-This map literal
-
-	m := map[Point]string{
-		Point{29.935523, 52.891566}:   "Persepolis",
-		Point{-25.352594, 131.034361}: "Uluru",
-		Point{37.422455, -122.084306}: "Googleplex",
-	}
-
-may now be written as:
-
-	m := map[Point]string{
-		{29.935523, 52.891566}:   "Persepolis",
-		{-25.352594, 131.034361}: "Uluru",
-		{37.422455, -122.084306}: "Googleplex",
-	}
-
-
-* "go doc"
-
-The `go` tool has a new implementation of the old `doc` subcommand,
-with a much improved command-line interface:
-
-	$ go doc zip.reader
-	package zip // import "archive/zip"
-
-	type Reader struct {
-		File    []*File
-		Comment string
-		// Has unexported fields.
-	}
-
-	func NewReader(r io.ReaderAt, size int64) (*Reader, error)
-
-	$ cd $GOROOT/src/archive/zip
-	$ go doc reader
-	# same output as above
-
-(Demo)
-
-
-* Execution tracing
-
-The new execution tracer collects data to produce diagrams of process execution.
-
-.image state-of-go/trace.png 350 _
-
-Front end is the Android/Chrome trace-viewer. ([[https://github.com/google/trace-viewer][github.com/google/trace-viewer]])
-
-.link http://golang.org/s/go15trace
-
-
-* Analysis and Refactoring Tools
-
-We have been working on tools for analyzing and manipulating Go source code.
-
-Analysis tools:
-
-- `oracle`: a tool for answering questions about Go source code (w/ plugins for Sublime Text and Emacs).
-- `callgraph`: display the call graph of a Go program.
-- `godoc`-analysis=pointer:` see pointer analysis details in godoc.
-
-Refactoring tools:
-
-- `eg`: a template-based refactoring tool
-- `gorename`: type-safe renaming of identifiers in Go source code.
-
-
-* Builder infrastructure
-
-We have been hacking away at our continuous build infrastructure.
-
-Now running Linux, Windows, OS X, FreeBSD, OpenBSD, and Plan 9 builders
-on Google Compute Engine.
-
-Spin up builders to do work, spin up many in parallel.
-Gives us results much faster.
-
-Sharding of tests on slower platforms (eg, ARM).
-
-Trybots test pending changes. (Demo)
-
-
-* Mobile
-
-Go 1.5 provides support for Android and experimental support for iOS.
-
-.image state-of-go-may/iphone.jpg 500 _
-
-
-* The gomobile tool
-
-The `gomobile` tool simplifies toolchain installation and app
-deployment.
-(It only supports Android right now.)
-
-To install the Android compiler toolchain:
-
-	$ gomobile init
-
-To build an Android APK and install on a device:
-
-	$ gomobile install
-
-To build a shared library for an Android or iOS app:
-
-	$ gomobile bind
-
-(Demo)
-
-
-* Go community events
-
-- GoCon, Tokyo, June
-- GopherCon, Denver, July
-- GolangUK, London, August
-- GothamGo, New York, October
-- dotGo, Paris, November
-
-And more to be announced.
-
-.image state-of-go-may/gophercon.png
-
-
diff --git a/content/2015/state-of-go-may/conc-bench.png b/content/2015/state-of-go-may/conc-bench.png
deleted file mode 100644
index be6b2c5..0000000
--- a/content/2015/state-of-go-may/conc-bench.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/state-of-go-may/conc-chain.png b/content/2015/state-of-go-may/conc-chain.png
deleted file mode 100644
index 96544fe..0000000
--- a/content/2015/state-of-go-may/conc-chain.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/state-of-go-may/conc-powser.png b/content/2015/state-of-go-may/conc-powser.png
deleted file mode 100644
index 67d16c4..0000000
--- a/content/2015/state-of-go-may/conc-powser.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/state-of-go-may/conc-practical.png b/content/2015/state-of-go-may/conc-practical.png
deleted file mode 100644
index 31de73d..0000000
--- a/content/2015/state-of-go-may/conc-practical.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/state-of-go-may/conc-sieve.png b/content/2015/state-of-go-may/conc-sieve.png
deleted file mode 100644
index 598b89d..0000000
--- a/content/2015/state-of-go-may/conc-sieve.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/state-of-go-may/gc.png b/content/2015/state-of-go-may/gc.png
deleted file mode 100644
index 92cf682..0000000
--- a/content/2015/state-of-go-may/gc.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/state-of-go-may/gc2.png b/content/2015/state-of-go-may/gc2.png
deleted file mode 100644
index f91c0cc..0000000
--- a/content/2015/state-of-go-may/gc2.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/state-of-go-may/gcperf.png b/content/2015/state-of-go-may/gcperf.png
deleted file mode 100644
index 62739bb..0000000
--- a/content/2015/state-of-go-may/gcperf.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/state-of-go-may/go1bench.svg b/content/2015/state-of-go-may/go1bench.svg
deleted file mode 100644
index 53ee9da..0000000
--- a/content/2015/state-of-go-may/go1bench.svg
+++ /dev/null
@@ -1,515 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="576pt" height="396pt" viewBox="0 0 576 396" version="1.1">
-<defs>
-<g>
-<symbol overflow="visible" id="glyph0-0">
-<path style="stroke:none;" d="M 0.328125 0 L 0.328125 -6.671875 L 2.984375 -6.671875 L 2.984375 0 Z M 0.671875 -0.328125 L 2.65625 -0.328125 L 2.65625 -6.328125 L 0.671875 -6.328125 Z M 0.671875 -0.328125 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-1">
-<path style="stroke:none;" d="M 5.703125 0 L 4.90625 -2.015625 L 1.78125 -2.015625 L 0.984375 0 L 0.015625 0 L 2.828125 -6.875 L 3.890625 -6.875 L 6.65625 0 Z M 3.75 -5.015625 C 3.695312 -5.140625 3.644531 -5.269531 3.59375 -5.40625 C 3.550781 -5.539062 3.507812 -5.660156 3.46875 -5.765625 C 3.4375 -5.878906 3.40625 -5.972656 3.375 -6.046875 C 3.351562 -6.117188 3.34375 -6.160156 3.34375 -6.171875 C 3.332031 -6.160156 3.316406 -6.113281 3.296875 -6.03125 C 3.273438 -5.957031 3.242188 -5.863281 3.203125 -5.75 C 3.171875 -5.644531 3.128906 -5.523438 3.078125 -5.390625 C 3.035156 -5.265625 2.988281 -5.132812 2.9375 -5 L 2.0625 -2.734375 L 4.640625 -2.734375 Z M 3.75 -5.015625 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-2">
-<path style="stroke:none;" d="M 5.140625 -2.671875 C 5.140625 -2.265625 5.109375 -1.890625 5.046875 -1.546875 C 4.984375 -1.210938 4.875 -0.921875 4.71875 -0.671875 C 4.570312 -0.429688 4.375 -0.242188 4.125 -0.109375 C 3.875 0.0234375 3.566406 0.09375 3.203125 0.09375 C 2.816406 0.09375 2.484375 0.0234375 2.203125 -0.109375 C 1.921875 -0.253906 1.707031 -0.492188 1.5625 -0.828125 L 1.53125 -0.828125 C 1.53125 -0.816406 1.53125 -0.785156 1.53125 -0.734375 C 1.539062 -0.679688 1.546875 -0.613281 1.546875 -0.53125 C 1.546875 -0.457031 1.546875 -0.367188 1.546875 -0.265625 C 1.546875 -0.171875 1.546875 -0.078125 1.546875 0.015625 L 1.546875 2.078125 L 0.671875 2.078125 L 0.671875 -4.203125 C 0.671875 -4.328125 0.671875 -4.445312 0.671875 -4.5625 C 0.671875 -4.6875 0.664062 -4.796875 0.65625 -4.890625 C 0.65625 -4.984375 0.65625 -5.0625 0.65625 -5.125 C 0.65625 -5.195312 0.648438 -5.25 0.640625 -5.28125 L 1.5 -5.28125 C 1.5 -5.269531 1.5 -5.234375 1.5 -5.171875 C 1.507812 -5.117188 1.515625 -5.050781 1.515625 -4.96875 C 1.523438 -4.882812 1.53125 -4.796875 1.53125 -4.703125 C 1.539062 -4.609375 1.546875 -4.519531 1.546875 -4.4375 L 1.5625 -4.4375 C 1.644531 -4.601562 1.738281 -4.742188 1.84375 -4.859375 C 1.945312 -4.984375 2.0625 -5.082031 2.1875 -5.15625 C 2.320312 -5.238281 2.472656 -5.296875 2.640625 -5.328125 C 2.804688 -5.359375 2.992188 -5.375 3.203125 -5.375 C 3.566406 -5.375 3.875 -5.304688 4.125 -5.171875 C 4.375 -5.046875 4.570312 -4.863281 4.71875 -4.625 C 4.875 -4.394531 4.984375 -4.113281 5.046875 -3.78125 C 5.109375 -3.445312 5.140625 -3.078125 5.140625 -2.671875 Z M 4.21875 -2.640625 C 4.21875 -2.972656 4.195312 -3.265625 4.15625 -3.515625 C 4.125 -3.765625 4.054688 -3.976562 3.953125 -4.15625 C 3.859375 -4.332031 3.726562 -4.46875 3.5625 -4.5625 C 3.40625 -4.65625 3.207031 -4.703125 2.96875 -4.703125 C 2.78125 -4.703125 2.597656 -4.671875 2.421875 -4.609375 C 2.242188 -4.554688 2.09375 -4.453125 1.96875 -4.296875 C 1.84375 -4.140625 1.738281 -3.921875 1.65625 -3.640625 C 1.582031 -3.367188 1.546875 -3.015625 1.546875 -2.578125 C 1.546875 -2.203125 1.578125 -1.882812 1.640625 -1.625 C 1.703125 -1.363281 1.789062 -1.15625 1.90625 -1 C 2.03125 -0.84375 2.179688 -0.726562 2.359375 -0.65625 C 2.535156 -0.582031 2.738281 -0.546875 2.96875 -0.546875 C 3.207031 -0.546875 3.40625 -0.59375 3.5625 -0.6875 C 3.726562 -0.78125 3.859375 -0.914062 3.953125 -1.09375 C 4.054688 -1.28125 4.125 -1.503906 4.15625 -1.765625 C 4.195312 -2.023438 4.21875 -2.316406 4.21875 -2.640625 Z M 4.21875 -2.640625 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-3">
-<path style="stroke:none;" d="M 0.6875 0 L 0.6875 -4.046875 C 0.6875 -4.160156 0.6875 -4.273438 0.6875 -4.390625 C 0.6875 -4.503906 0.679688 -4.613281 0.671875 -4.71875 C 0.671875 -4.832031 0.671875 -4.9375 0.671875 -5.03125 C 0.671875 -5.125 0.671875 -5.207031 0.671875 -5.28125 L 1.5 -5.28125 C 1.5 -5.207031 1.5 -5.125 1.5 -5.03125 C 1.507812 -4.9375 1.515625 -4.835938 1.515625 -4.734375 C 1.523438 -4.628906 1.53125 -4.53125 1.53125 -4.4375 C 1.53125 -4.34375 1.53125 -4.265625 1.53125 -4.203125 L 1.546875 -4.203125 C 1.609375 -4.398438 1.675781 -4.570312 1.75 -4.71875 C 1.820312 -4.875 1.90625 -5 2 -5.09375 C 2.09375 -5.1875 2.203125 -5.253906 2.328125 -5.296875 C 2.460938 -5.347656 2.625 -5.375 2.8125 -5.375 C 2.882812 -5.375 2.953125 -5.367188 3.015625 -5.359375 C 3.078125 -5.347656 3.128906 -5.335938 3.171875 -5.328125 L 3.171875 -4.53125 C 3.109375 -4.539062 3.035156 -4.550781 2.953125 -4.5625 C 2.878906 -4.570312 2.796875 -4.578125 2.703125 -4.578125 C 2.492188 -4.578125 2.316406 -4.53125 2.171875 -4.4375 C 2.035156 -4.34375 1.921875 -4.210938 1.828125 -4.046875 C 1.742188 -3.890625 1.679688 -3.703125 1.640625 -3.484375 C 1.597656 -3.265625 1.578125 -3.019531 1.578125 -2.75 L 1.578125 0 Z M 0.6875 0 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-4">
-<path style="stroke:none;" d=""/>
-</symbol>
-<symbol overflow="visible" id="glyph0-5">
-<path style="stroke:none;" d="M 0.765625 0 L 0.765625 -0.75 L 2.515625 -0.75 L 2.515625 -6.046875 L 0.96875 -4.9375 L 0.96875 -5.765625 L 2.59375 -6.875 L 3.40625 -6.875 L 3.40625 -0.75 L 5.078125 -0.75 L 5.078125 0 Z M 0.765625 0 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-6">
-<path style="stroke:none;" d="M 5.125 -1.90625 C 5.125 -1.582031 5.070312 -1.296875 4.96875 -1.046875 C 4.863281 -0.804688 4.710938 -0.597656 4.515625 -0.421875 C 4.316406 -0.253906 4.070312 -0.125 3.78125 -0.03125 C 3.488281 0.0507812 3.15625 0.09375 2.78125 0.09375 C 2.363281 0.09375 2.007812 0.0390625 1.71875 -0.0625 C 1.425781 -0.164062 1.179688 -0.304688 0.984375 -0.484375 C 0.796875 -0.660156 0.65625 -0.859375 0.5625 -1.078125 C 0.46875 -1.296875 0.40625 -1.523438 0.375 -1.765625 L 1.296875 -1.84375 C 1.316406 -1.664062 1.359375 -1.5 1.421875 -1.34375 C 1.492188 -1.195312 1.59375 -1.070312 1.71875 -0.96875 C 1.84375 -0.863281 1.988281 -0.78125 2.15625 -0.71875 C 2.332031 -0.65625 2.539062 -0.625 2.78125 -0.625 C 3.226562 -0.625 3.578125 -0.734375 3.828125 -0.953125 C 4.078125 -1.171875 4.203125 -1.492188 4.203125 -1.921875 C 4.203125 -2.179688 4.144531 -2.390625 4.03125 -2.546875 C 3.925781 -2.703125 3.789062 -2.820312 3.625 -2.90625 C 3.457031 -2.988281 3.273438 -3.046875 3.078125 -3.078125 C 2.878906 -3.109375 2.695312 -3.125 2.53125 -3.125 L 2.03125 -3.125 L 2.03125 -3.875 L 2.515625 -3.875 C 2.679688 -3.875 2.851562 -3.890625 3.03125 -3.921875 C 3.207031 -3.960938 3.367188 -4.023438 3.515625 -4.109375 C 3.660156 -4.203125 3.78125 -4.328125 3.875 -4.484375 C 3.976562 -4.640625 4.03125 -4.832031 4.03125 -5.0625 C 4.03125 -5.4375 3.921875 -5.726562 3.703125 -5.9375 C 3.484375 -6.15625 3.160156 -6.265625 2.734375 -6.265625 C 2.347656 -6.265625 2.035156 -6.164062 1.796875 -5.96875 C 1.554688 -5.769531 1.414062 -5.488281 1.375 -5.125 L 0.5 -5.1875 C 0.53125 -5.488281 0.609375 -5.75 0.734375 -5.96875 C 0.867188 -6.195312 1.035156 -6.382812 1.234375 -6.53125 C 1.441406 -6.6875 1.671875 -6.800781 1.921875 -6.875 C 2.179688 -6.945312 2.457031 -6.984375 2.75 -6.984375 C 3.132812 -6.984375 3.460938 -6.929688 3.734375 -6.828125 C 4.015625 -6.734375 4.242188 -6.601562 4.421875 -6.4375 C 4.597656 -6.28125 4.726562 -6.085938 4.8125 -5.859375 C 4.894531 -5.640625 4.9375 -5.40625 4.9375 -5.15625 C 4.9375 -4.957031 4.90625 -4.769531 4.84375 -4.59375 C 4.789062 -4.414062 4.707031 -4.253906 4.59375 -4.109375 C 4.476562 -3.972656 4.328125 -3.851562 4.140625 -3.75 C 3.960938 -3.65625 3.742188 -3.582031 3.484375 -3.53125 L 3.484375 -3.515625 C 3.765625 -3.484375 4.003906 -3.414062 4.203125 -3.3125 C 4.410156 -3.21875 4.582031 -3.097656 4.71875 -2.953125 C 4.851562 -2.816406 4.953125 -2.65625 5.015625 -2.46875 C 5.085938 -2.289062 5.125 -2.101562 5.125 -1.90625 Z M 5.125 -1.90625 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-7">
-<path style="stroke:none;" d="M 5.125 -2.25 C 5.125 -1.90625 5.070312 -1.585938 4.96875 -1.296875 C 4.875 -1.015625 4.734375 -0.769531 4.546875 -0.5625 C 4.359375 -0.351562 4.125 -0.191406 3.84375 -0.078125 C 3.570312 0.0351562 3.257812 0.09375 2.90625 0.09375 C 2.5 0.09375 2.144531 0.0195312 1.84375 -0.125 C 1.550781 -0.28125 1.304688 -0.5 1.109375 -0.78125 C 0.910156 -1.070312 0.757812 -1.425781 0.65625 -1.84375 C 0.5625 -2.269531 0.515625 -2.75 0.515625 -3.28125 C 0.515625 -3.894531 0.566406 -4.429688 0.671875 -4.890625 C 0.785156 -5.359375 0.945312 -5.742188 1.15625 -6.046875 C 1.375 -6.359375 1.632812 -6.59375 1.9375 -6.75 C 2.238281 -6.90625 2.582031 -6.984375 2.96875 -6.984375 C 3.207031 -6.984375 3.425781 -6.957031 3.625 -6.90625 C 3.832031 -6.863281 4.019531 -6.785156 4.1875 -6.671875 C 4.351562 -6.566406 4.5 -6.421875 4.625 -6.234375 C 4.75 -6.054688 4.851562 -5.835938 4.9375 -5.578125 L 4.09375 -5.4375 C 4 -5.726562 3.851562 -5.9375 3.65625 -6.0625 C 3.457031 -6.195312 3.222656 -6.265625 2.953125 -6.265625 C 2.710938 -6.265625 2.492188 -6.207031 2.296875 -6.09375 C 2.109375 -5.976562 1.945312 -5.804688 1.8125 -5.578125 C 1.675781 -5.359375 1.566406 -5.078125 1.484375 -4.734375 C 1.410156 -4.390625 1.375 -3.992188 1.375 -3.546875 C 1.539062 -3.835938 1.765625 -4.0625 2.046875 -4.21875 C 2.335938 -4.375 2.671875 -4.453125 3.046875 -4.453125 C 3.359375 -4.453125 3.640625 -4.398438 3.890625 -4.296875 C 4.148438 -4.191406 4.367188 -4.046875 4.546875 -3.859375 C 4.734375 -3.671875 4.875 -3.441406 4.96875 -3.171875 C 5.070312 -2.898438 5.125 -2.59375 5.125 -2.25 Z M 4.234375 -2.21875 C 4.234375 -2.445312 4.203125 -2.65625 4.140625 -2.84375 C 4.078125 -3.039062 3.988281 -3.207031 3.875 -3.34375 C 3.757812 -3.476562 3.613281 -3.582031 3.4375 -3.65625 C 3.269531 -3.726562 3.070312 -3.765625 2.84375 -3.765625 C 2.6875 -3.765625 2.523438 -3.738281 2.359375 -3.6875 C 2.191406 -3.644531 2.039062 -3.570312 1.90625 -3.46875 C 1.78125 -3.363281 1.675781 -3.222656 1.59375 -3.046875 C 1.507812 -2.878906 1.46875 -2.671875 1.46875 -2.421875 C 1.46875 -2.171875 1.5 -1.929688 1.5625 -1.703125 C 1.632812 -1.484375 1.726562 -1.289062 1.84375 -1.125 C 1.96875 -0.96875 2.113281 -0.84375 2.28125 -0.75 C 2.457031 -0.65625 2.65625 -0.609375 2.875 -0.609375 C 3.082031 -0.609375 3.269531 -0.644531 3.4375 -0.71875 C 3.601562 -0.789062 3.742188 -0.894531 3.859375 -1.03125 C 3.984375 -1.175781 4.078125 -1.347656 4.140625 -1.546875 C 4.203125 -1.742188 4.234375 -1.96875 4.234375 -2.21875 Z M 4.234375 -2.21875 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-8">
-<path style="stroke:none;" d="M 5.09375 -3.578125 C 5.09375 -2.960938 5.03125 -2.425781 4.90625 -1.96875 C 4.789062 -1.507812 4.625 -1.125 4.40625 -0.8125 C 4.195312 -0.507812 3.9375 -0.28125 3.625 -0.125 C 3.320312 0.0195312 2.976562 0.09375 2.59375 0.09375 C 2.332031 0.09375 2.09375 0.0664062 1.875 0.015625 C 1.664062 -0.0351562 1.476562 -0.117188 1.3125 -0.234375 C 1.144531 -0.347656 1.003906 -0.492188 0.890625 -0.671875 C 0.773438 -0.859375 0.679688 -1.082031 0.609375 -1.34375 L 1.453125 -1.46875 C 1.546875 -1.175781 1.6875 -0.957031 1.875 -0.8125 C 2.070312 -0.675781 2.316406 -0.609375 2.609375 -0.609375 C 2.847656 -0.609375 3.066406 -0.664062 3.265625 -0.78125 C 3.460938 -0.894531 3.628906 -1.0625 3.765625 -1.28125 C 3.898438 -1.507812 4.003906 -1.789062 4.078125 -2.125 C 4.160156 -2.46875 4.207031 -2.867188 4.21875 -3.328125 C 4.144531 -3.171875 4.050781 -3.03125 3.9375 -2.90625 C 3.820312 -2.789062 3.6875 -2.691406 3.53125 -2.609375 C 3.382812 -2.523438 3.222656 -2.457031 3.046875 -2.40625 C 2.867188 -2.363281 2.691406 -2.34375 2.515625 -2.34375 C 2.203125 -2.34375 1.914062 -2.398438 1.65625 -2.515625 C 1.40625 -2.628906 1.191406 -2.785156 1.015625 -2.984375 C 0.835938 -3.191406 0.703125 -3.4375 0.609375 -3.71875 C 0.515625 -4 0.46875 -4.316406 0.46875 -4.671875 C 0.46875 -5.023438 0.519531 -5.34375 0.625 -5.625 C 0.726562 -5.914062 0.875 -6.160156 1.0625 -6.359375 C 1.257812 -6.554688 1.5 -6.707031 1.78125 -6.8125 C 2.070312 -6.925781 2.398438 -6.984375 2.765625 -6.984375 C 3.523438 -6.984375 4.101562 -6.695312 4.5 -6.125 C 4.894531 -5.5625 5.09375 -4.710938 5.09375 -3.578125 Z M 4.125 -4.421875 C 4.125 -4.679688 4.09375 -4.921875 4.03125 -5.140625 C 3.976562 -5.367188 3.890625 -5.566406 3.765625 -5.734375 C 3.648438 -5.898438 3.503906 -6.03125 3.328125 -6.125 C 3.160156 -6.21875 2.960938 -6.265625 2.734375 -6.265625 C 2.515625 -6.265625 2.320312 -6.226562 2.15625 -6.15625 C 1.988281 -6.082031 1.84375 -5.972656 1.71875 -5.828125 C 1.601562 -5.691406 1.515625 -5.523438 1.453125 -5.328125 C 1.390625 -5.128906 1.359375 -4.910156 1.359375 -4.671875 C 1.359375 -4.441406 1.382812 -4.222656 1.4375 -4.015625 C 1.5 -3.816406 1.585938 -3.644531 1.703125 -3.5 C 1.816406 -3.363281 1.957031 -3.253906 2.125 -3.171875 C 2.300781 -3.085938 2.5 -3.046875 2.71875 -3.046875 C 2.882812 -3.046875 3.050781 -3.070312 3.21875 -3.125 C 3.382812 -3.175781 3.535156 -3.257812 3.671875 -3.375 C 3.804688 -3.488281 3.914062 -3.632812 4 -3.8125 C 4.082031 -3.988281 4.125 -4.191406 4.125 -4.421875 Z M 4.125 -4.421875 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-9">
-<path style="stroke:none;" d="M 0.5 0 L 0.5 -0.625 C 0.664062 -1 0.867188 -1.332031 1.109375 -1.625 C 1.347656 -1.914062 1.597656 -2.179688 1.859375 -2.421875 C 2.128906 -2.660156 2.390625 -2.878906 2.640625 -3.078125 C 2.898438 -3.273438 3.132812 -3.472656 3.34375 -3.671875 C 3.550781 -3.878906 3.71875 -4.09375 3.84375 -4.3125 C 3.976562 -4.539062 4.046875 -4.789062 4.046875 -5.0625 C 4.046875 -5.257812 4.015625 -5.429688 3.953125 -5.578125 C 3.898438 -5.734375 3.816406 -5.859375 3.703125 -5.953125 C 3.597656 -6.054688 3.46875 -6.132812 3.3125 -6.1875 C 3.15625 -6.238281 2.984375 -6.265625 2.796875 -6.265625 C 2.617188 -6.265625 2.453125 -6.238281 2.296875 -6.1875 C 2.140625 -6.132812 2 -6.0625 1.875 -5.96875 C 1.757812 -5.875 1.660156 -5.753906 1.578125 -5.609375 C 1.503906 -5.460938 1.457031 -5.289062 1.4375 -5.09375 L 0.546875 -5.1875 C 0.578125 -5.425781 0.644531 -5.65625 0.75 -5.875 C 0.851562 -6.09375 1 -6.285156 1.1875 -6.453125 C 1.375 -6.617188 1.597656 -6.75 1.859375 -6.84375 C 2.128906 -6.9375 2.441406 -6.984375 2.796875 -6.984375 C 3.140625 -6.984375 3.441406 -6.941406 3.703125 -6.859375 C 3.972656 -6.773438 4.195312 -6.65625 4.375 -6.5 C 4.5625 -6.34375 4.703125 -6.144531 4.796875 -5.90625 C 4.898438 -5.675781 4.953125 -5.40625 4.953125 -5.09375 C 4.953125 -4.863281 4.910156 -4.644531 4.828125 -4.4375 C 4.742188 -4.226562 4.628906 -4.03125 4.484375 -3.84375 C 4.347656 -3.65625 4.1875 -3.472656 4 -3.296875 C 3.820312 -3.117188 3.632812 -2.945312 3.4375 -2.78125 C 3.238281 -2.613281 3.039062 -2.445312 2.84375 -2.28125 C 2.644531 -2.113281 2.453125 -1.945312 2.265625 -1.78125 C 2.085938 -1.613281 1.929688 -1.445312 1.796875 -1.28125 C 1.660156 -1.113281 1.550781 -0.9375 1.46875 -0.75 L 5.0625 -0.75 L 5.0625 0 Z M 0.5 0 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-10">
-<path style="stroke:none;" d="M 5.140625 -2.234375 C 5.140625 -1.890625 5.085938 -1.570312 4.984375 -1.28125 C 4.878906 -1 4.722656 -0.753906 4.515625 -0.546875 C 4.316406 -0.347656 4.0625 -0.191406 3.75 -0.078125 C 3.445312 0.0351562 3.097656 0.09375 2.703125 0.09375 C 2.335938 0.09375 2.019531 0.0507812 1.75 -0.03125 C 1.488281 -0.113281 1.265625 -0.226562 1.078125 -0.375 C 0.890625 -0.519531 0.738281 -0.691406 0.625 -0.890625 C 0.519531 -1.097656 0.445312 -1.3125 0.40625 -1.53125 L 1.296875 -1.640625 C 1.328125 -1.515625 1.375 -1.390625 1.4375 -1.265625 C 1.5 -1.140625 1.585938 -1.03125 1.703125 -0.9375 C 1.816406 -0.84375 1.957031 -0.765625 2.125 -0.703125 C 2.289062 -0.648438 2.488281 -0.625 2.71875 -0.625 C 2.945312 -0.625 3.15625 -0.65625 3.34375 -0.71875 C 3.53125 -0.789062 3.6875 -0.894531 3.8125 -1.03125 C 3.945312 -1.164062 4.050781 -1.332031 4.125 -1.53125 C 4.195312 -1.738281 4.234375 -1.96875 4.234375 -2.21875 C 4.234375 -2.4375 4.195312 -2.632812 4.125 -2.8125 C 4.0625 -2.988281 3.960938 -3.140625 3.828125 -3.265625 C 3.703125 -3.390625 3.546875 -3.488281 3.359375 -3.5625 C 3.179688 -3.632812 2.972656 -3.671875 2.734375 -3.671875 C 2.585938 -3.671875 2.453125 -3.65625 2.328125 -3.625 C 2.210938 -3.601562 2.097656 -3.566406 1.984375 -3.515625 C 1.878906 -3.472656 1.785156 -3.421875 1.703125 -3.359375 C 1.617188 -3.304688 1.535156 -3.242188 1.453125 -3.171875 L 0.59375 -3.171875 L 0.828125 -6.875 L 4.734375 -6.875 L 4.734375 -6.140625 L 1.625 -6.140625 L 1.5 -3.953125 C 1.65625 -4.066406 1.847656 -4.164062 2.078125 -4.25 C 2.316406 -4.34375 2.597656 -4.390625 2.921875 -4.390625 C 3.265625 -4.390625 3.570312 -4.335938 3.84375 -4.234375 C 4.113281 -4.128906 4.34375 -3.976562 4.53125 -3.78125 C 4.726562 -3.59375 4.878906 -3.367188 4.984375 -3.109375 C 5.085938 -2.847656 5.140625 -2.554688 5.140625 -2.234375 Z M 5.140625 -2.234375 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-11">
-<path style="stroke:none;" d="M 5.125 -1.921875 C 5.125 -1.628906 5.078125 -1.359375 4.984375 -1.109375 C 4.890625 -0.867188 4.75 -0.65625 4.5625 -0.46875 C 4.375 -0.289062 4.128906 -0.148438 3.828125 -0.046875 C 3.535156 0.046875 3.1875 0.09375 2.78125 0.09375 C 2.375 0.09375 2.023438 0.046875 1.734375 -0.046875 C 1.441406 -0.148438 1.195312 -0.289062 1 -0.46875 C 0.8125 -0.644531 0.671875 -0.851562 0.578125 -1.09375 C 0.484375 -1.34375 0.4375 -1.613281 0.4375 -1.90625 C 0.4375 -2.15625 0.472656 -2.378906 0.546875 -2.578125 C 0.628906 -2.773438 0.734375 -2.941406 0.859375 -3.078125 C 0.984375 -3.222656 1.128906 -3.335938 1.296875 -3.421875 C 1.460938 -3.515625 1.632812 -3.570312 1.8125 -3.59375 L 1.8125 -3.625 C 1.613281 -3.664062 1.4375 -3.734375 1.28125 -3.828125 C 1.132812 -3.929688 1.007812 -4.054688 0.90625 -4.203125 C 0.800781 -4.347656 0.722656 -4.503906 0.671875 -4.671875 C 0.617188 -4.847656 0.59375 -5.03125 0.59375 -5.21875 C 0.59375 -5.457031 0.640625 -5.679688 0.734375 -5.890625 C 0.828125 -6.109375 0.960938 -6.296875 1.140625 -6.453125 C 1.328125 -6.617188 1.554688 -6.75 1.828125 -6.84375 C 2.097656 -6.9375 2.410156 -6.984375 2.765625 -6.984375 C 3.140625 -6.984375 3.460938 -6.9375 3.734375 -6.84375 C 4.015625 -6.75 4.242188 -6.617188 4.421875 -6.453125 C 4.597656 -6.296875 4.726562 -6.109375 4.8125 -5.890625 C 4.90625 -5.679688 4.953125 -5.453125 4.953125 -5.203125 C 4.953125 -5.015625 4.925781 -4.832031 4.875 -4.65625 C 4.820312 -4.488281 4.742188 -4.332031 4.640625 -4.1875 C 4.535156 -4.050781 4.40625 -3.929688 4.25 -3.828125 C 4.101562 -3.734375 3.929688 -3.664062 3.734375 -3.625 L 3.734375 -3.609375 C 3.929688 -3.578125 4.113281 -3.515625 4.28125 -3.421875 C 4.457031 -3.335938 4.601562 -3.222656 4.71875 -3.078125 C 4.84375 -2.941406 4.941406 -2.773438 5.015625 -2.578125 C 5.085938 -2.390625 5.125 -2.171875 5.125 -1.921875 Z M 4.046875 -5.15625 C 4.046875 -5.332031 4.019531 -5.488281 3.96875 -5.625 C 3.925781 -5.769531 3.851562 -5.894531 3.75 -6 C 3.65625 -6.101562 3.523438 -6.179688 3.359375 -6.234375 C 3.203125 -6.296875 3.003906 -6.328125 2.765625 -6.328125 C 2.535156 -6.328125 2.335938 -6.296875 2.171875 -6.234375 C 2.015625 -6.179688 1.882812 -6.101562 1.78125 -6 C 1.675781 -5.894531 1.601562 -5.769531 1.5625 -5.625 C 1.519531 -5.488281 1.5 -5.332031 1.5 -5.15625 C 1.5 -5.019531 1.515625 -4.878906 1.546875 -4.734375 C 1.585938 -4.597656 1.65625 -4.46875 1.75 -4.34375 C 1.84375 -4.226562 1.972656 -4.132812 2.140625 -4.0625 C 2.304688 -3.988281 2.519531 -3.953125 2.78125 -3.953125 C 3.050781 -3.953125 3.269531 -3.988281 3.4375 -4.0625 C 3.601562 -4.132812 3.726562 -4.226562 3.8125 -4.34375 C 3.90625 -4.46875 3.96875 -4.597656 4 -4.734375 C 4.03125 -4.878906 4.046875 -5.019531 4.046875 -5.15625 Z M 4.21875 -2 C 4.21875 -2.164062 4.191406 -2.328125 4.140625 -2.484375 C 4.097656 -2.640625 4.019531 -2.773438 3.90625 -2.890625 C 3.800781 -3.015625 3.65625 -3.113281 3.46875 -3.1875 C 3.28125 -3.257812 3.046875 -3.296875 2.765625 -3.296875 C 2.503906 -3.296875 2.285156 -3.257812 2.109375 -3.1875 C 1.929688 -3.113281 1.785156 -3.015625 1.671875 -2.890625 C 1.554688 -2.765625 1.472656 -2.625 1.421875 -2.46875 C 1.367188 -2.3125 1.34375 -2.148438 1.34375 -1.984375 C 1.34375 -1.773438 1.367188 -1.582031 1.421875 -1.40625 C 1.472656 -1.226562 1.554688 -1.078125 1.671875 -0.953125 C 1.785156 -0.828125 1.929688 -0.726562 2.109375 -0.65625 C 2.296875 -0.59375 2.523438 -0.5625 2.796875 -0.5625 C 3.054688 -0.5625 3.273438 -0.59375 3.453125 -0.65625 C 3.640625 -0.726562 3.789062 -0.828125 3.90625 -0.953125 C 4.019531 -1.078125 4.097656 -1.226562 4.140625 -1.40625 C 4.191406 -1.582031 4.21875 -1.78125 4.21875 -2 Z M 4.21875 -2 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-12">
-<path style="stroke:none;" d="M 6.671875 0 L 6.671875 -4.59375 C 6.671875 -4.757812 6.671875 -4.925781 6.671875 -5.09375 C 6.679688 -5.269531 6.6875 -5.429688 6.6875 -5.578125 C 6.695312 -5.742188 6.707031 -5.90625 6.71875 -6.0625 C 6.664062 -5.894531 6.617188 -5.726562 6.578125 -5.5625 C 6.535156 -5.425781 6.488281 -5.273438 6.4375 -5.109375 C 6.382812 -4.953125 6.332031 -4.8125 6.28125 -4.6875 L 4.5 0 L 3.859375 0 L 2.046875 -4.6875 C 2.023438 -4.738281 2.003906 -4.796875 1.984375 -4.859375 C 1.960938 -4.921875 1.941406 -4.988281 1.921875 -5.0625 C 1.898438 -5.132812 1.875 -5.207031 1.84375 -5.28125 C 1.820312 -5.363281 1.800781 -5.441406 1.78125 -5.515625 C 1.71875 -5.691406 1.660156 -5.875 1.609375 -6.0625 C 1.617188 -5.875 1.625 -5.691406 1.625 -5.515625 C 1.632812 -5.359375 1.640625 -5.195312 1.640625 -5.03125 C 1.648438 -4.863281 1.65625 -4.71875 1.65625 -4.59375 L 1.65625 0 L 0.828125 0 L 0.828125 -6.875 L 2.046875 -6.875 L 3.875 -2.109375 C 3.894531 -2.046875 3.921875 -1.960938 3.953125 -1.859375 C 3.992188 -1.753906 4.023438 -1.644531 4.046875 -1.53125 C 4.078125 -1.425781 4.101562 -1.328125 4.125 -1.234375 C 4.15625 -1.140625 4.175781 -1.066406 4.1875 -1.015625 C 4.195312 -1.066406 4.210938 -1.140625 4.234375 -1.234375 C 4.265625 -1.335938 4.296875 -1.441406 4.328125 -1.546875 C 4.359375 -1.648438 4.390625 -1.753906 4.421875 -1.859375 C 4.460938 -1.960938 4.492188 -2.046875 4.515625 -2.109375 L 6.3125 -6.875 L 7.515625 -6.875 L 7.515625 0 Z M 6.671875 0 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-13">
-<path style="stroke:none;" d="M 2.015625 0.09375 C 1.484375 0.09375 1.082031 -0.046875 0.8125 -0.328125 C 0.550781 -0.609375 0.421875 -0.988281 0.421875 -1.46875 C 0.421875 -1.820312 0.488281 -2.109375 0.625 -2.328125 C 0.757812 -2.554688 0.929688 -2.734375 1.140625 -2.859375 C 1.347656 -2.984375 1.585938 -3.066406 1.859375 -3.109375 C 2.140625 -3.160156 2.421875 -3.191406 2.703125 -3.203125 L 3.890625 -3.21875 L 3.890625 -3.515625 C 3.890625 -3.734375 3.863281 -3.914062 3.8125 -4.0625 C 3.769531 -4.21875 3.703125 -4.34375 3.609375 -4.4375 C 3.515625 -4.53125 3.394531 -4.597656 3.25 -4.640625 C 3.113281 -4.691406 2.953125 -4.71875 2.765625 -4.71875 C 2.585938 -4.71875 2.429688 -4.703125 2.296875 -4.671875 C 2.160156 -4.648438 2.039062 -4.609375 1.9375 -4.546875 C 1.84375 -4.484375 1.765625 -4.394531 1.703125 -4.28125 C 1.640625 -4.175781 1.597656 -4.039062 1.578125 -3.875 L 0.65625 -3.953125 C 0.6875 -4.160156 0.75 -4.351562 0.84375 -4.53125 C 0.9375 -4.707031 1.066406 -4.859375 1.234375 -4.984375 C 1.398438 -5.109375 1.609375 -5.203125 1.859375 -5.265625 C 2.109375 -5.335938 2.414062 -5.375 2.78125 -5.375 C 3.445312 -5.375 3.945312 -5.222656 4.28125 -4.921875 C 4.613281 -4.617188 4.78125 -4.179688 4.78125 -3.609375 L 4.78125 -1.328125 C 4.78125 -1.066406 4.8125 -0.867188 4.875 -0.734375 C 4.945312 -0.609375 5.082031 -0.546875 5.28125 -0.546875 C 5.320312 -0.546875 5.367188 -0.546875 5.421875 -0.546875 C 5.472656 -0.554688 5.519531 -0.566406 5.5625 -0.578125 L 5.5625 -0.03125 C 5.445312 0 5.332031 0.0195312 5.21875 0.03125 C 5.113281 0.0390625 5.003906 0.046875 4.890625 0.046875 C 4.722656 0.046875 4.578125 0.0234375 4.453125 -0.015625 C 4.335938 -0.0546875 4.238281 -0.125 4.15625 -0.21875 C 4.082031 -0.3125 4.023438 -0.421875 3.984375 -0.546875 C 3.953125 -0.679688 3.929688 -0.835938 3.921875 -1.015625 L 3.890625 -1.015625 C 3.796875 -0.835938 3.691406 -0.679688 3.578125 -0.546875 C 3.460938 -0.410156 3.332031 -0.296875 3.1875 -0.203125 C 3.039062 -0.109375 2.867188 -0.0351562 2.671875 0.015625 C 2.484375 0.0664062 2.265625 0.09375 2.015625 0.09375 Z M 2.21875 -0.5625 C 2.5 -0.5625 2.742188 -0.613281 2.953125 -0.71875 C 3.160156 -0.820312 3.332031 -0.953125 3.46875 -1.109375 C 3.613281 -1.265625 3.71875 -1.4375 3.78125 -1.625 C 3.851562 -1.820312 3.890625 -2.003906 3.890625 -2.171875 L 3.890625 -2.609375 L 2.9375 -2.59375 C 2.71875 -2.582031 2.507812 -2.5625 2.3125 -2.53125 C 2.125 -2.507812 1.957031 -2.457031 1.8125 -2.375 C 1.664062 -2.289062 1.546875 -2.175781 1.453125 -2.03125 C 1.367188 -1.882812 1.328125 -1.691406 1.328125 -1.453125 C 1.328125 -1.171875 1.40625 -0.953125 1.5625 -0.796875 C 1.71875 -0.640625 1.9375 -0.5625 2.21875 -0.5625 Z M 2.21875 -0.5625 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-14">
-<path style="stroke:none;" d="M 2.953125 0 C 2.828125 0.320312 2.695312 0.609375 2.5625 0.859375 C 2.4375 1.117188 2.296875 1.335938 2.140625 1.515625 C 1.984375 1.691406 1.804688 1.828125 1.609375 1.921875 C 1.410156 2.023438 1.1875 2.078125 0.9375 2.078125 C 0.820312 2.078125 0.71875 2.070312 0.625 2.0625 C 0.53125 2.0625 0.429688 2.046875 0.328125 2.015625 L 0.328125 1.359375 C 0.390625 1.367188 0.457031 1.375 0.53125 1.375 C 0.613281 1.382812 0.679688 1.390625 0.734375 1.390625 C 0.992188 1.390625 1.234375 1.289062 1.453125 1.09375 C 1.671875 0.90625 1.863281 0.601562 2.03125 0.1875 L 2.125 -0.03125 L 0.03125 -5.28125 L 0.96875 -5.28125 L 2.078125 -2.359375 C 2.109375 -2.273438 2.148438 -2.160156 2.203125 -2.015625 C 2.253906 -1.867188 2.300781 -1.722656 2.34375 -1.578125 C 2.394531 -1.429688 2.441406 -1.296875 2.484375 -1.171875 C 2.523438 -1.054688 2.546875 -0.984375 2.546875 -0.953125 C 2.554688 -0.992188 2.582031 -1.066406 2.625 -1.171875 C 2.664062 -1.273438 2.707031 -1.390625 2.75 -1.515625 C 2.800781 -1.648438 2.847656 -1.785156 2.890625 -1.921875 C 2.941406 -2.054688 2.984375 -2.171875 3.015625 -2.265625 L 4.046875 -5.28125 L 4.984375 -5.28125 Z M 2.953125 0 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-15">
-<path style="stroke:none;" d="M 4.296875 -1.5625 L 4.296875 0 L 3.46875 0 L 3.46875 -1.5625 L 0.234375 -1.5625 L 0.234375 -2.234375 L 3.375 -6.875 L 4.296875 -6.875 L 4.296875 -2.25 L 5.265625 -2.25 L 5.265625 -1.5625 Z M 3.46875 -5.890625 C 3.46875 -5.867188 3.453125 -5.832031 3.421875 -5.78125 C 3.398438 -5.738281 3.367188 -5.6875 3.328125 -5.625 C 3.296875 -5.570312 3.265625 -5.515625 3.234375 -5.453125 C 3.203125 -5.390625 3.171875 -5.34375 3.140625 -5.3125 L 1.375 -2.703125 C 1.363281 -2.679688 1.34375 -2.648438 1.3125 -2.609375 C 1.28125 -2.566406 1.25 -2.519531 1.21875 -2.46875 C 1.1875 -2.425781 1.148438 -2.382812 1.109375 -2.34375 C 1.078125 -2.300781 1.054688 -2.269531 1.046875 -2.25 L 3.46875 -2.25 Z M 3.46875 -5.890625 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-16">
-<path style="stroke:none;" d="M 5.0625 -6.171875 C 4.71875 -5.640625 4.398438 -5.128906 4.109375 -4.640625 C 3.816406 -4.160156 3.566406 -3.671875 3.359375 -3.171875 C 3.148438 -2.679688 2.988281 -2.175781 2.875 -1.65625 C 2.757812 -1.132812 2.703125 -0.582031 2.703125 0 L 1.78125 0 C 1.78125 -0.550781 1.84375 -1.085938 1.96875 -1.609375 C 2.101562 -2.140625 2.28125 -2.660156 2.5 -3.171875 C 2.726562 -3.679688 2.988281 -4.179688 3.28125 -4.671875 C 3.570312 -5.171875 3.878906 -5.660156 4.203125 -6.140625 L 0.515625 -6.140625 L 0.515625 -6.875 L 5.0625 -6.875 Z M 5.0625 -6.171875 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-17">
-<path style="stroke:none;" d="M 5.171875 -3.4375 C 5.171875 -2.78125 5.109375 -2.222656 4.984375 -1.765625 C 4.859375 -1.316406 4.6875 -0.953125 4.46875 -0.671875 C 4.25 -0.398438 3.992188 -0.203125 3.703125 -0.078125 C 3.410156 0.0351562 3.097656 0.09375 2.765625 0.09375 C 2.429688 0.09375 2.117188 0.0351562 1.828125 -0.078125 C 1.535156 -0.203125 1.28125 -0.398438 1.0625 -0.671875 C 0.851562 -0.953125 0.6875 -1.316406 0.5625 -1.765625 C 0.445312 -2.222656 0.390625 -2.78125 0.390625 -3.4375 C 0.390625 -4.132812 0.445312 -4.707031 0.5625 -5.15625 C 0.6875 -5.613281 0.859375 -5.976562 1.078125 -6.25 C 1.296875 -6.519531 1.550781 -6.707031 1.84375 -6.8125 C 2.132812 -6.925781 2.453125 -6.984375 2.796875 -6.984375 C 3.128906 -6.984375 3.4375 -6.925781 3.71875 -6.8125 C 4.007812 -6.707031 4.257812 -6.519531 4.46875 -6.25 C 4.6875 -5.976562 4.859375 -5.613281 4.984375 -5.15625 C 5.109375 -4.707031 5.171875 -4.132812 5.171875 -3.4375 Z M 4.28125 -3.4375 C 4.28125 -3.988281 4.242188 -4.445312 4.171875 -4.8125 C 4.109375 -5.175781 4.015625 -5.460938 3.890625 -5.671875 C 3.765625 -5.890625 3.609375 -6.039062 3.421875 -6.125 C 3.242188 -6.21875 3.035156 -6.265625 2.796875 -6.265625 C 2.546875 -6.265625 2.328125 -6.21875 2.140625 -6.125 C 1.953125 -6.039062 1.789062 -5.890625 1.65625 -5.671875 C 1.53125 -5.453125 1.4375 -5.160156 1.375 -4.796875 C 1.3125 -4.441406 1.28125 -3.988281 1.28125 -3.4375 C 1.28125 -2.914062 1.3125 -2.472656 1.375 -2.109375 C 1.445312 -1.742188 1.546875 -1.453125 1.671875 -1.234375 C 1.796875 -1.015625 1.953125 -0.859375 2.140625 -0.765625 C 2.328125 -0.671875 2.539062 -0.625 2.78125 -0.625 C 3.007812 -0.625 3.21875 -0.671875 3.40625 -0.765625 C 3.59375 -0.859375 3.75 -1.015625 3.875 -1.234375 C 4 -1.453125 4.097656 -1.742188 4.171875 -2.109375 C 4.242188 -2.472656 4.28125 -2.914062 4.28125 -3.4375 Z M 4.28125 -3.4375 "/>
-</symbol>
-<symbol overflow="visible" id="glyph0-18">
-<path style="stroke:none;" d="M 0.90625 0 L 0.90625 -1.0625 L 1.859375 -1.0625 L 1.859375 0 Z M 0.90625 0 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-0">
-<path style="stroke:none;" d="M 0 -0.359375 L -7.328125 -0.359375 L -7.328125 -3.28125 L 0 -3.28125 Z M -0.359375 -0.734375 L -0.359375 -2.921875 L -6.96875 -2.921875 L -6.96875 -0.734375 Z M -0.359375 -0.734375 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-1">
-<path style="stroke:none;" d="M -3.8125 -0.546875 C -4.40625 -0.546875 -4.941406 -0.625 -5.421875 -0.78125 C -5.898438 -0.945312 -6.304688 -1.1875 -6.640625 -1.5 C -6.972656 -1.820312 -7.226562 -2.21875 -7.40625 -2.6875 C -7.59375 -3.15625 -7.6875 -3.695312 -7.6875 -4.3125 C -7.6875 -4.78125 -7.644531 -5.1875 -7.5625 -5.53125 C -7.476562 -5.882812 -7.359375 -6.191406 -7.203125 -6.453125 C -7.046875 -6.710938 -6.859375 -6.929688 -6.640625 -7.109375 C -6.421875 -7.285156 -6.171875 -7.4375 -5.890625 -7.5625 L -5.609375 -6.59375 C -5.796875 -6.5 -5.960938 -6.382812 -6.109375 -6.25 C -6.265625 -6.125 -6.394531 -5.96875 -6.5 -5.78125 C -6.613281 -5.59375 -6.695312 -5.375 -6.75 -5.125 C -6.8125 -4.882812 -6.84375 -4.609375 -6.84375 -4.296875 C -6.84375 -3.835938 -6.769531 -3.4375 -6.625 -3.09375 C -6.476562 -2.757812 -6.273438 -2.476562 -6.015625 -2.25 C -5.753906 -2.03125 -5.4375 -1.863281 -5.0625 -1.75 C -4.6875 -1.644531 -4.269531 -1.59375 -3.8125 -1.59375 C -3.363281 -1.59375 -2.945312 -1.648438 -2.5625 -1.765625 C -2.1875 -1.890625 -1.863281 -2.066406 -1.59375 -2.296875 C -1.320312 -2.523438 -1.109375 -2.8125 -0.953125 -3.15625 C -0.796875 -3.507812 -0.71875 -3.910156 -0.71875 -4.359375 C -0.71875 -4.660156 -0.742188 -4.9375 -0.796875 -5.1875 C -0.847656 -5.4375 -0.914062 -5.660156 -1 -5.859375 C -1.082031 -6.066406 -1.171875 -6.25 -1.265625 -6.40625 C -1.359375 -6.5625 -1.457031 -6.691406 -1.5625 -6.796875 L -2.921875 -6.796875 L -2.921875 -4.53125 L -3.78125 -4.53125 L -3.78125 -7.734375 L -1.171875 -7.734375 C -1.003906 -7.566406 -0.84375 -7.367188 -0.6875 -7.140625 C -0.53125 -6.910156 -0.390625 -6.65625 -0.265625 -6.375 C -0.148438 -6.09375 -0.0625 -5.78125 0 -5.4375 C 0.0703125 -5.101562 0.109375 -4.742188 0.109375 -4.359375 C 0.109375 -3.722656 0.0078125 -3.164062 -0.1875 -2.6875 C -0.382812 -2.21875 -0.65625 -1.820312 -1 -1.5 C -1.351562 -1.1875 -1.769531 -0.945312 -2.25 -0.78125 C -2.726562 -0.625 -3.25 -0.546875 -3.8125 -0.546875 Z M -3.8125 -0.546875 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-2">
-<path style="stroke:none;" d="M -2.703125 -1.484375 C -2.398438 -1.484375 -2.117188 -1.515625 -1.859375 -1.578125 C -1.609375 -1.640625 -1.390625 -1.734375 -1.203125 -1.859375 C -1.015625 -1.992188 -0.867188 -2.160156 -0.765625 -2.359375 C -0.671875 -2.566406 -0.625 -2.816406 -0.625 -3.109375 C -0.625 -3.523438 -0.707031 -3.859375 -0.875 -4.109375 C -1.039062 -4.359375 -1.253906 -4.53125 -1.515625 -4.625 L -1.265625 -5.46875 C -1.109375 -5.40625 -0.945312 -5.316406 -0.78125 -5.203125 C -0.613281 -5.097656 -0.460938 -4.953125 -0.328125 -4.765625 C -0.203125 -4.585938 -0.0976562 -4.363281 -0.015625 -4.09375 C 0.0664062 -3.820312 0.109375 -3.492188 0.109375 -3.109375 C 0.109375 -2.242188 -0.144531 -1.585938 -0.65625 -1.140625 C -1.164062 -0.691406 -1.925781 -0.46875 -2.9375 -0.46875 C -3.488281 -0.46875 -3.953125 -0.535156 -4.328125 -0.671875 C -4.703125 -0.804688 -5.007812 -0.988281 -5.25 -1.21875 C -5.488281 -1.457031 -5.660156 -1.734375 -5.765625 -2.046875 C -5.867188 -2.367188 -5.921875 -2.707031 -5.921875 -3.0625 C -5.921875 -3.550781 -5.84375 -3.957031 -5.6875 -4.28125 C -5.53125 -4.613281 -5.3125 -4.878906 -5.03125 -5.078125 C -4.75 -5.273438 -4.421875 -5.414062 -4.046875 -5.5 C -3.671875 -5.582031 -3.265625 -5.625 -2.828125 -5.625 L -2.703125 -5.625 Z M -3.4375 -4.625 C -4.050781 -4.570312 -4.5 -4.414062 -4.78125 -4.15625 C -5.0625 -3.90625 -5.203125 -3.535156 -5.203125 -3.046875 C -5.203125 -2.890625 -5.175781 -2.722656 -5.125 -2.546875 C -5.070312 -2.367188 -4.976562 -2.203125 -4.84375 -2.046875 C -4.71875 -1.898438 -4.539062 -1.773438 -4.3125 -1.671875 C -4.082031 -1.566406 -3.789062 -1.507812 -3.4375 -1.5 Z M -3.4375 -4.625 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-3">
-<path style="stroke:none;" d="M -2.90625 -5.65625 C -1.894531 -5.65625 -1.140625 -5.429688 -0.640625 -4.984375 C -0.140625 -4.535156 0.109375 -3.882812 0.109375 -3.03125 C 0.109375 -2.625 0.046875 -2.257812 -0.078125 -1.9375 C -0.203125 -1.625 -0.390625 -1.359375 -0.640625 -1.140625 C -0.890625 -0.921875 -1.203125 -0.753906 -1.578125 -0.640625 C -1.953125 -0.523438 -2.394531 -0.46875 -2.90625 -0.46875 C -4.914062 -0.46875 -5.921875 -1.332031 -5.921875 -3.0625 C -5.921875 -3.519531 -5.859375 -3.910156 -5.734375 -4.234375 C -5.609375 -4.566406 -5.421875 -4.835938 -5.171875 -5.046875 C -4.921875 -5.253906 -4.601562 -5.40625 -4.21875 -5.5 C -3.84375 -5.601562 -3.40625 -5.65625 -2.90625 -5.65625 Z M -2.90625 -4.640625 C -3.363281 -4.640625 -3.738281 -4.601562 -4.03125 -4.53125 C -4.320312 -4.46875 -4.554688 -4.367188 -4.734375 -4.234375 C -4.910156 -4.097656 -5.03125 -3.929688 -5.09375 -3.734375 C -5.164062 -3.546875 -5.203125 -3.328125 -5.203125 -3.078125 C -5.203125 -2.835938 -5.164062 -2.613281 -5.09375 -2.40625 C -5.019531 -2.207031 -4.894531 -2.039062 -4.71875 -1.90625 C -4.539062 -1.769531 -4.304688 -1.664062 -4.015625 -1.59375 C -3.722656 -1.519531 -3.351562 -1.484375 -2.90625 -1.484375 C -2.457031 -1.484375 -2.082031 -1.519531 -1.78125 -1.59375 C -1.488281 -1.675781 -1.253906 -1.785156 -1.078125 -1.921875 C -0.910156 -2.054688 -0.789062 -2.21875 -0.71875 -2.40625 C -0.644531 -2.59375 -0.609375 -2.800781 -0.609375 -3.03125 C -0.609375 -3.269531 -0.640625 -3.488281 -0.703125 -3.6875 C -0.773438 -3.894531 -0.898438 -4.066406 -1.078125 -4.203125 C -1.253906 -4.347656 -1.488281 -4.457031 -1.78125 -4.53125 C -2.082031 -4.601562 -2.457031 -4.640625 -2.90625 -4.640625 Z M -2.90625 -4.640625 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-4">
-<path style="stroke:none;" d="M 0 -4.125 L -3.6875 -4.125 C -3.96875 -4.125 -4.203125 -4.101562 -4.390625 -4.0625 C -4.578125 -4.03125 -4.726562 -3.972656 -4.84375 -3.890625 C -4.96875 -3.804688 -5.050781 -3.695312 -5.09375 -3.5625 C -5.144531 -3.425781 -5.171875 -3.257812 -5.171875 -3.0625 C -5.171875 -2.851562 -5.128906 -2.664062 -5.046875 -2.5 C -4.972656 -2.34375 -4.859375 -2.203125 -4.703125 -2.078125 C -4.546875 -1.960938 -4.351562 -1.875 -4.125 -1.8125 C -3.90625 -1.75 -3.65625 -1.71875 -3.375 -1.71875 L 0 -1.71875 L 0 -0.765625 L -4.578125 -0.765625 C -4.691406 -0.765625 -4.816406 -0.757812 -4.953125 -0.75 C -5.085938 -0.75 -5.210938 -0.75 -5.328125 -0.75 C -5.453125 -0.75 -5.554688 -0.742188 -5.640625 -0.734375 C -5.734375 -0.734375 -5.789062 -0.734375 -5.8125 -0.734375 L -5.8125 -1.640625 C -5.789062 -1.648438 -5.738281 -1.65625 -5.65625 -1.65625 C -5.582031 -1.65625 -5.492188 -1.65625 -5.390625 -1.65625 C -5.296875 -1.664062 -5.191406 -1.671875 -5.078125 -1.671875 C -4.972656 -1.679688 -4.882812 -1.6875 -4.8125 -1.6875 L -4.8125 -1.703125 C -4.988281 -1.785156 -5.144531 -1.875 -5.28125 -1.96875 C -5.414062 -2.070312 -5.53125 -2.191406 -5.625 -2.328125 C -5.71875 -2.460938 -5.789062 -2.617188 -5.84375 -2.796875 C -5.894531 -2.972656 -5.921875 -3.175781 -5.921875 -3.40625 C -5.921875 -3.84375 -5.832031 -4.1875 -5.65625 -4.4375 C -5.476562 -4.695312 -5.195312 -4.878906 -4.8125 -4.984375 L -4.8125 -5 C -4.988281 -5.082031 -5.144531 -5.175781 -5.28125 -5.28125 C -5.414062 -5.394531 -5.53125 -5.519531 -5.625 -5.65625 C -5.71875 -5.800781 -5.789062 -5.960938 -5.84375 -6.140625 C -5.894531 -6.316406 -5.921875 -6.519531 -5.921875 -6.75 C -5.921875 -7.050781 -5.878906 -7.304688 -5.796875 -7.515625 C -5.722656 -7.734375 -5.601562 -7.910156 -5.4375 -8.046875 C -5.269531 -8.179688 -5.054688 -8.28125 -4.796875 -8.34375 C -4.535156 -8.40625 -4.226562 -8.4375 -3.875 -8.4375 L 0 -8.4375 L 0 -7.484375 L -3.6875 -7.484375 C -3.96875 -7.484375 -4.203125 -7.460938 -4.390625 -7.421875 C -4.578125 -7.390625 -4.726562 -7.332031 -4.84375 -7.25 C -4.96875 -7.164062 -5.050781 -7.054688 -5.09375 -6.921875 C -5.144531 -6.785156 -5.171875 -6.617188 -5.171875 -6.421875 C -5.171875 -6.210938 -5.128906 -6.023438 -5.046875 -5.859375 C -4.972656 -5.703125 -4.859375 -5.5625 -4.703125 -5.4375 C -4.554688 -5.320312 -4.367188 -5.234375 -4.140625 -5.171875 C -3.921875 -5.109375 -3.664062 -5.078125 -3.375 -5.078125 L 0 -5.078125 Z M 0 -4.125 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-5">
-<path style="stroke:none;" d="M 0.109375 -2.21875 C 0.109375 -1.632812 -0.0390625 -1.195312 -0.34375 -0.90625 C -0.65625 -0.613281 -1.082031 -0.46875 -1.625 -0.46875 C -2.007812 -0.46875 -2.320312 -0.539062 -2.5625 -0.6875 C -2.8125 -0.832031 -3.003906 -1.019531 -3.140625 -1.25 C -3.285156 -1.488281 -3.382812 -1.757812 -3.4375 -2.0625 C -3.488281 -2.363281 -3.519531 -2.664062 -3.53125 -2.96875 L -3.546875 -4.28125 L -3.859375 -4.28125 C -4.097656 -4.28125 -4.300781 -4.253906 -4.46875 -4.203125 C -4.644531 -4.148438 -4.78125 -4.070312 -4.875 -3.96875 C -4.976562 -3.863281 -5.054688 -3.734375 -5.109375 -3.578125 C -5.160156 -3.429688 -5.1875 -3.25 -5.1875 -3.03125 C -5.1875 -2.84375 -5.171875 -2.671875 -5.140625 -2.515625 C -5.117188 -2.367188 -5.070312 -2.238281 -5 -2.125 C -4.925781 -2.019531 -4.828125 -1.929688 -4.703125 -1.859375 C -4.585938 -1.796875 -4.441406 -1.753906 -4.265625 -1.734375 L -4.34375 -0.71875 C -4.570312 -0.757812 -4.78125 -0.828125 -4.96875 -0.921875 C -5.164062 -1.023438 -5.332031 -1.171875 -5.46875 -1.359375 C -5.613281 -1.546875 -5.722656 -1.773438 -5.796875 -2.046875 C -5.878906 -2.328125 -5.921875 -2.664062 -5.921875 -3.0625 C -5.921875 -3.789062 -5.753906 -4.335938 -5.421875 -4.703125 C -5.085938 -5.078125 -4.601562 -5.265625 -3.96875 -5.265625 L -1.46875 -5.265625 C -1.175781 -5.265625 -0.957031 -5.300781 -0.8125 -5.375 C -0.664062 -5.445312 -0.59375 -5.585938 -0.59375 -5.796875 C -0.59375 -5.847656 -0.597656 -5.898438 -0.609375 -5.953125 C -0.617188 -6.015625 -0.628906 -6.070312 -0.640625 -6.125 L -0.03125 -6.125 C 0 -6 0.0195312 -5.875 0.03125 -5.75 C 0.0390625 -5.632812 0.046875 -5.507812 0.046875 -5.375 C 0.046875 -5.1875 0.0234375 -5.023438 -0.015625 -4.890625 C -0.0664062 -4.765625 -0.140625 -4.660156 -0.234375 -4.578125 C -0.335938 -4.492188 -0.460938 -4.429688 -0.609375 -4.390625 C -0.753906 -4.347656 -0.921875 -4.320312 -1.109375 -4.3125 L -1.109375 -4.28125 C -0.921875 -4.175781 -0.75 -4.0625 -0.59375 -3.9375 C -0.445312 -3.8125 -0.320312 -3.664062 -0.21875 -3.5 C -0.113281 -3.34375 -0.0351562 -3.15625 0.015625 -2.9375 C 0.078125 -2.726562 0.109375 -2.488281 0.109375 -2.21875 Z M -0.625 -2.4375 C -0.625 -2.75 -0.675781 -3.019531 -0.78125 -3.25 C -0.894531 -3.476562 -1.039062 -3.671875 -1.21875 -3.828125 C -1.394531 -3.984375 -1.585938 -4.097656 -1.796875 -4.171875 C -2.003906 -4.242188 -2.203125 -4.28125 -2.390625 -4.28125 L -2.875 -4.28125 L -2.84375 -3.21875 C -2.84375 -2.988281 -2.828125 -2.765625 -2.796875 -2.546875 C -2.765625 -2.335938 -2.703125 -2.148438 -2.609375 -1.984375 C -2.523438 -1.828125 -2.398438 -1.703125 -2.234375 -1.609375 C -2.078125 -1.515625 -1.867188 -1.46875 -1.609375 -1.46875 C -1.296875 -1.46875 -1.050781 -1.550781 -0.875 -1.71875 C -0.707031 -1.882812 -0.625 -2.125 -0.625 -2.4375 Z M -0.625 -2.4375 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-6">
-<path style="stroke:none;" d="M 0 -4.4375 L -3.6875 -4.4375 C -3.96875 -4.4375 -4.203125 -4.414062 -4.390625 -4.375 C -4.578125 -4.332031 -4.726562 -4.265625 -4.84375 -4.171875 C -4.96875 -4.078125 -5.050781 -3.953125 -5.09375 -3.796875 C -5.144531 -3.648438 -5.171875 -3.460938 -5.171875 -3.234375 C -5.171875 -3.003906 -5.128906 -2.796875 -5.046875 -2.609375 C -4.972656 -2.429688 -4.859375 -2.273438 -4.703125 -2.140625 C -4.546875 -2.003906 -4.351562 -1.898438 -4.125 -1.828125 C -3.90625 -1.765625 -3.65625 -1.734375 -3.375 -1.734375 L 0 -1.734375 L 0 -0.765625 L -4.578125 -0.765625 C -4.691406 -0.765625 -4.816406 -0.757812 -4.953125 -0.75 C -5.085938 -0.75 -5.210938 -0.75 -5.328125 -0.75 C -5.453125 -0.75 -5.554688 -0.742188 -5.640625 -0.734375 C -5.734375 -0.734375 -5.789062 -0.734375 -5.8125 -0.734375 L -5.8125 -1.640625 C -5.789062 -1.648438 -5.738281 -1.65625 -5.65625 -1.65625 C -5.582031 -1.65625 -5.492188 -1.65625 -5.390625 -1.65625 C -5.296875 -1.664062 -5.191406 -1.671875 -5.078125 -1.671875 C -4.972656 -1.679688 -4.882812 -1.6875 -4.8125 -1.6875 L -4.8125 -1.703125 C -4.988281 -1.796875 -5.144531 -1.894531 -5.28125 -2 C -5.414062 -2.113281 -5.53125 -2.242188 -5.625 -2.390625 C -5.71875 -2.535156 -5.789062 -2.703125 -5.84375 -2.890625 C -5.894531 -3.085938 -5.921875 -3.3125 -5.921875 -3.5625 C -5.921875 -3.882812 -5.878906 -4.160156 -5.796875 -4.390625 C -5.722656 -4.628906 -5.601562 -4.820312 -5.4375 -4.96875 C -5.269531 -5.113281 -5.054688 -5.222656 -4.796875 -5.296875 C -4.535156 -5.367188 -4.226562 -5.40625 -3.875 -5.40625 L 0 -5.40625 Z M 0 -4.4375 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-7">
-<path style="stroke:none;" d=""/>
-</symbol>
-<symbol overflow="visible" id="glyph1-8">
-<path style="stroke:none;" d="M -2.9375 -5.65625 C -2.488281 -5.65625 -2.078125 -5.617188 -1.703125 -5.546875 C -1.335938 -5.472656 -1.019531 -5.351562 -0.75 -5.1875 C -0.476562 -5.019531 -0.265625 -4.800781 -0.109375 -4.53125 C 0.0351562 -4.257812 0.109375 -3.921875 0.109375 -3.515625 C 0.109375 -3.097656 0.03125 -2.734375 -0.125 -2.421875 C -0.28125 -2.109375 -0.539062 -1.875 -0.90625 -1.71875 L -0.90625 -1.6875 C -0.894531 -1.6875 -0.859375 -1.6875 -0.796875 -1.6875 C -0.742188 -1.695312 -0.675781 -1.703125 -0.59375 -1.703125 C -0.507812 -1.703125 -0.410156 -1.703125 -0.296875 -1.703125 C -0.191406 -1.703125 -0.0859375 -1.703125 0.015625 -1.703125 L 2.28125 -1.703125 L 2.28125 -0.734375 L -4.625 -0.734375 C -4.757812 -0.734375 -4.890625 -0.734375 -5.015625 -0.734375 C -5.148438 -0.734375 -5.269531 -0.726562 -5.375 -0.71875 C -5.476562 -0.71875 -5.566406 -0.71875 -5.640625 -0.71875 C -5.722656 -0.71875 -5.78125 -0.710938 -5.8125 -0.703125 L -5.8125 -1.640625 C -5.800781 -1.648438 -5.765625 -1.65625 -5.703125 -1.65625 C -5.640625 -1.664062 -5.5625 -1.671875 -5.46875 -1.671875 C -5.375 -1.679688 -5.273438 -1.6875 -5.171875 -1.6875 C -5.066406 -1.695312 -4.96875 -1.703125 -4.875 -1.703125 L -4.875 -1.71875 C -5.0625 -1.8125 -5.21875 -1.914062 -5.34375 -2.03125 C -5.476562 -2.144531 -5.585938 -2.273438 -5.671875 -2.421875 C -5.753906 -2.566406 -5.8125 -2.726562 -5.84375 -2.90625 C -5.882812 -3.09375 -5.90625 -3.296875 -5.90625 -3.515625 C -5.90625 -3.921875 -5.832031 -4.257812 -5.6875 -4.53125 C -5.550781 -4.800781 -5.351562 -5.019531 -5.09375 -5.1875 C -4.832031 -5.351562 -4.519531 -5.472656 -4.15625 -5.546875 C -3.789062 -5.617188 -3.382812 -5.65625 -2.9375 -5.65625 Z M -2.90625 -4.640625 C -3.269531 -4.640625 -3.585938 -4.617188 -3.859375 -4.578125 C -4.140625 -4.535156 -4.375 -4.457031 -4.5625 -4.34375 C -4.757812 -4.238281 -4.910156 -4.097656 -5.015625 -3.921875 C -5.117188 -3.753906 -5.171875 -3.535156 -5.171875 -3.265625 C -5.171875 -3.054688 -5.140625 -2.851562 -5.078125 -2.65625 C -5.015625 -2.46875 -4.894531 -2.300781 -4.71875 -2.15625 C -4.550781 -2.019531 -4.316406 -1.910156 -4.015625 -1.828125 C -3.710938 -1.742188 -3.320312 -1.703125 -2.84375 -1.703125 C -2.425781 -1.703125 -2.070312 -1.734375 -1.78125 -1.796875 C -1.5 -1.867188 -1.269531 -1.96875 -1.09375 -2.09375 C -0.925781 -2.226562 -0.800781 -2.394531 -0.71875 -2.59375 C -0.644531 -2.789062 -0.609375 -3.015625 -0.609375 -3.265625 C -0.609375 -3.523438 -0.660156 -3.742188 -0.765625 -3.921875 C -0.867188 -4.097656 -1.019531 -4.238281 -1.21875 -4.34375 C -1.414062 -4.457031 -1.65625 -4.535156 -1.9375 -4.578125 C -2.21875 -4.617188 -2.539062 -4.640625 -2.90625 -4.640625 Z M -2.90625 -4.640625 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-9">
-<path style="stroke:none;" d="M 0 -0.765625 L -4.453125 -0.765625 C -4.578125 -0.765625 -4.703125 -0.757812 -4.828125 -0.75 C -4.953125 -0.75 -5.070312 -0.75 -5.1875 -0.75 C -5.3125 -0.75 -5.425781 -0.742188 -5.53125 -0.734375 C -5.632812 -0.734375 -5.726562 -0.734375 -5.8125 -0.734375 L -5.8125 -1.640625 C -5.726562 -1.648438 -5.632812 -1.65625 -5.53125 -1.65625 C -5.425781 -1.664062 -5.316406 -1.671875 -5.203125 -1.671875 C -5.085938 -1.679688 -4.976562 -1.6875 -4.875 -1.6875 C -4.78125 -1.6875 -4.695312 -1.6875 -4.625 -1.6875 L -4.625 -1.703125 C -4.84375 -1.773438 -5.035156 -1.847656 -5.203125 -1.921875 C -5.367188 -2.003906 -5.503906 -2.097656 -5.609375 -2.203125 C -5.710938 -2.304688 -5.789062 -2.425781 -5.84375 -2.5625 C -5.894531 -2.707031 -5.921875 -2.882812 -5.921875 -3.09375 C -5.921875 -3.164062 -5.910156 -3.238281 -5.890625 -3.3125 C -5.878906 -3.382812 -5.867188 -3.441406 -5.859375 -3.484375 L -4.984375 -3.484375 C -4.992188 -3.421875 -5.003906 -3.34375 -5.015625 -3.25 C -5.023438 -3.164062 -5.03125 -3.070312 -5.03125 -2.96875 C -5.03125 -2.738281 -4.976562 -2.546875 -4.875 -2.390625 C -4.78125 -2.242188 -4.644531 -2.117188 -4.46875 -2.015625 C -4.289062 -1.921875 -4.078125 -1.847656 -3.828125 -1.796875 C -3.585938 -1.753906 -3.320312 -1.734375 -3.03125 -1.734375 L 0 -1.734375 Z M 0 -0.765625 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-10">
-<path style="stroke:none;" d="M -5.109375 -1.9375 L 0 -1.9375 L 0 -0.96875 L -5.109375 -0.96875 L -5.109375 -0.15625 L -5.8125 -0.15625 L -5.8125 -0.96875 L -6.46875 -0.96875 C -6.675781 -0.96875 -6.867188 -0.988281 -7.046875 -1.03125 C -7.234375 -1.070312 -7.394531 -1.144531 -7.53125 -1.25 C -7.664062 -1.351562 -7.769531 -1.492188 -7.84375 -1.671875 C -7.914062 -1.859375 -7.953125 -2.097656 -7.953125 -2.390625 C -7.953125 -2.503906 -7.945312 -2.625 -7.9375 -2.75 C -7.925781 -2.875 -7.910156 -2.984375 -7.890625 -3.078125 L -7.15625 -3.078125 C -7.164062 -3.015625 -7.175781 -2.941406 -7.1875 -2.859375 C -7.195312 -2.773438 -7.203125 -2.703125 -7.203125 -2.640625 C -7.203125 -2.492188 -7.179688 -2.375 -7.140625 -2.28125 C -7.097656 -2.195312 -7.039062 -2.128906 -6.96875 -2.078125 C -6.894531 -2.023438 -6.804688 -1.988281 -6.703125 -1.96875 C -6.597656 -1.945312 -6.472656 -1.9375 -6.328125 -1.9375 L -5.8125 -1.9375 L -5.8125 -3.078125 L -5.109375 -3.078125 Z M -5.109375 -1.9375 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-11">
-<path style="stroke:none;" d="M -2.9375 -1.484375 C -2.601562 -1.484375 -2.296875 -1.503906 -2.015625 -1.546875 C -1.734375 -1.597656 -1.488281 -1.679688 -1.28125 -1.796875 C -1.082031 -1.910156 -0.925781 -2.0625 -0.8125 -2.25 C -0.707031 -2.4375 -0.65625 -2.664062 -0.65625 -2.9375 C -0.65625 -3.28125 -0.75 -3.566406 -0.9375 -3.796875 C -1.125 -4.035156 -1.410156 -4.179688 -1.796875 -4.234375 L -1.734375 -5.203125 C -1.492188 -5.171875 -1.257812 -5.101562 -1.03125 -5 C -0.8125 -4.894531 -0.617188 -4.75 -0.453125 -4.5625 C -0.285156 -4.375 -0.148438 -4.144531 -0.046875 -3.875 C 0.0546875 -3.613281 0.109375 -3.3125 0.109375 -2.96875 C 0.109375 -2.507812 0.03125 -2.117188 -0.125 -1.796875 C -0.28125 -1.484375 -0.492188 -1.226562 -0.765625 -1.03125 C -1.035156 -0.832031 -1.351562 -0.6875 -1.71875 -0.59375 C -2.082031 -0.507812 -2.476562 -0.46875 -2.90625 -0.46875 C -3.300781 -0.46875 -3.644531 -0.5 -3.9375 -0.5625 C -4.238281 -0.625 -4.5 -0.710938 -4.71875 -0.828125 C -4.945312 -0.953125 -5.132812 -1.09375 -5.28125 -1.25 C -5.4375 -1.40625 -5.5625 -1.570312 -5.65625 -1.75 C -5.75 -1.9375 -5.816406 -2.128906 -5.859375 -2.328125 C -5.898438 -2.535156 -5.921875 -2.742188 -5.921875 -2.953125 C -5.921875 -3.285156 -5.875 -3.578125 -5.78125 -3.828125 C -5.695312 -4.085938 -5.578125 -4.304688 -5.421875 -4.484375 C -5.265625 -4.671875 -5.078125 -4.820312 -4.859375 -4.9375 C -4.648438 -5.050781 -4.425781 -5.128906 -4.1875 -5.171875 L -4.109375 -4.1875 C -4.429688 -4.132812 -4.6875 -4.003906 -4.875 -3.796875 C -5.0625 -3.597656 -5.15625 -3.3125 -5.15625 -2.9375 C -5.15625 -2.65625 -5.109375 -2.421875 -5.015625 -2.234375 C -4.929688 -2.054688 -4.796875 -1.910156 -4.609375 -1.796875 C -4.421875 -1.679688 -4.1875 -1.597656 -3.90625 -1.546875 C -3.632812 -1.503906 -3.3125 -1.484375 -2.9375 -1.484375 Z M -2.9375 -1.484375 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-12">
-<path style="stroke:none;" d="M -2.859375 -0.6875 C -3.359375 -0.6875 -3.832031 -0.722656 -4.28125 -0.796875 C -4.738281 -0.867188 -5.175781 -0.984375 -5.59375 -1.140625 C -6.007812 -1.304688 -6.414062 -1.515625 -6.8125 -1.765625 C -7.207031 -2.015625 -7.59375 -2.316406 -7.96875 -2.671875 L -7.96875 -3.59375 C -7.59375 -3.257812 -7.207031 -2.96875 -6.8125 -2.71875 C -6.414062 -2.476562 -6.003906 -2.28125 -5.578125 -2.125 C -5.160156 -1.96875 -4.722656 -1.847656 -4.265625 -1.765625 C -3.816406 -1.691406 -3.34375 -1.65625 -2.84375 -1.65625 C -2.34375 -1.65625 -1.863281 -1.691406 -1.40625 -1.765625 C -0.957031 -1.847656 -0.519531 -1.96875 -0.09375 -2.125 C 0.320312 -2.28125 0.726562 -2.476562 1.125 -2.71875 C 1.519531 -2.96875 1.90625 -3.257812 2.28125 -3.59375 L 2.28125 -2.671875 C 1.90625 -2.316406 1.519531 -2.015625 1.125 -1.765625 C 0.726562 -1.515625 0.320312 -1.304688 -0.09375 -1.140625 C -0.507812 -0.984375 -0.941406 -0.867188 -1.390625 -0.796875 C -1.847656 -0.722656 -2.332031 -0.6875 -2.84375 -0.6875 Z M -2.859375 -0.6875 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-13">
-<path style="stroke:none;" d="M 0 -0.734375 L -7.96875 -0.734375 L -7.96875 -1.703125 L 0 -1.703125 Z M 0 -0.734375 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-14">
-<path style="stroke:none;" d="M -7.046875 -0.734375 L -7.96875 -0.734375 L -7.96875 -1.703125 L -7.046875 -1.703125 Z M 0 -0.734375 L -5.8125 -0.734375 L -5.8125 -1.703125 L 0 -1.703125 Z M 0 -0.734375 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-15">
-<path style="stroke:none;" d="M 0 -0.265625 L -0.734375 -0.265625 L -5.0625 -3.8125 L -5.0625 -0.484375 L -5.8125 -0.484375 L -5.8125 -4.90625 L -5.078125 -4.90625 L -0.75 -1.34375 L -0.75 -5.109375 L 0 -5.109375 Z M 0 -0.265625 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-16">
-<path style="stroke:none;" d="M -0.9375 -4.40625 C -0.5625 -4.226562 -0.289062 -3.988281 -0.125 -3.6875 C 0.03125 -3.394531 0.109375 -3.03125 0.109375 -2.59375 C 0.109375 -1.863281 -0.132812 -1.328125 -0.625 -0.984375 C -1.125 -0.640625 -1.875 -0.46875 -2.875 -0.46875 C -4.90625 -0.46875 -5.921875 -1.175781 -5.921875 -2.59375 C -5.921875 -3.039062 -5.835938 -3.410156 -5.671875 -3.703125 C -5.515625 -3.992188 -5.257812 -4.226562 -4.90625 -4.40625 L -4.90625 -4.421875 C -4.945312 -4.421875 -5.003906 -4.421875 -5.078125 -4.421875 C -5.148438 -4.421875 -5.226562 -4.414062 -5.3125 -4.40625 C -5.40625 -4.40625 -5.488281 -4.40625 -5.5625 -4.40625 C -5.632812 -4.40625 -5.6875 -4.40625 -5.71875 -4.40625 L -7.96875 -4.40625 L -7.96875 -5.375 L -1.203125 -5.375 C -1.054688 -5.375 -0.921875 -5.375 -0.796875 -5.375 C -0.671875 -5.375 -0.550781 -5.375 -0.4375 -5.375 C -0.332031 -5.382812 -0.238281 -5.390625 -0.15625 -5.390625 C -0.0820312 -5.398438 -0.03125 -5.40625 0 -5.40625 L 0 -4.484375 C -0.03125 -4.472656 -0.078125 -4.460938 -0.140625 -4.453125 C -0.210938 -4.453125 -0.289062 -4.445312 -0.375 -4.4375 C -0.46875 -4.4375 -0.5625 -4.4375 -0.65625 -4.4375 C -0.75 -4.4375 -0.84375 -4.4375 -0.9375 -4.4375 Z M -2.90625 -1.484375 C -2.507812 -1.484375 -2.164062 -1.503906 -1.875 -1.546875 C -1.59375 -1.597656 -1.359375 -1.675781 -1.171875 -1.78125 C -0.984375 -1.894531 -0.847656 -2.035156 -0.765625 -2.203125 C -0.679688 -2.378906 -0.640625 -2.59375 -0.640625 -2.84375 C -0.640625 -3.101562 -0.679688 -3.328125 -0.765625 -3.515625 C -0.847656 -3.710938 -0.976562 -3.875 -1.15625 -4 C -1.34375 -4.132812 -1.582031 -4.234375 -1.875 -4.296875 C -2.175781 -4.367188 -2.539062 -4.40625 -2.96875 -4.40625 C -3.382812 -4.40625 -3.734375 -4.367188 -4.015625 -4.296875 C -4.304688 -4.234375 -4.535156 -4.132812 -4.703125 -4 C -4.878906 -3.875 -5.003906 -3.710938 -5.078125 -3.515625 C -5.160156 -3.328125 -5.203125 -3.109375 -5.203125 -2.859375 C -5.203125 -2.617188 -5.160156 -2.410156 -5.078125 -2.234375 C -4.992188 -2.066406 -4.859375 -1.925781 -4.671875 -1.8125 C -4.492188 -1.695312 -4.257812 -1.613281 -3.96875 -1.5625 C -3.675781 -1.507812 -3.320312 -1.484375 -2.90625 -1.484375 Z M -2.90625 -1.484375 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-17">
-<path style="stroke:none;" d="M -1.609375 -5.109375 C -1.335938 -5.109375 -1.09375 -5.050781 -0.875 -4.9375 C -0.664062 -4.832031 -0.488281 -4.679688 -0.34375 -4.484375 C -0.195312 -4.285156 -0.0820312 -4.039062 0 -3.75 C 0.0703125 -3.457031 0.109375 -3.125 0.109375 -2.75 C 0.109375 -2.40625 0.0820312 -2.097656 0.03125 -1.828125 C -0.0195312 -1.554688 -0.101562 -1.316406 -0.21875 -1.109375 C -0.332031 -0.910156 -0.484375 -0.742188 -0.671875 -0.609375 C -0.859375 -0.472656 -1.085938 -0.375 -1.359375 -0.3125 L -1.53125 -1.15625 C -1.21875 -1.238281 -0.988281 -1.410156 -0.84375 -1.671875 C -0.695312 -1.929688 -0.625 -2.289062 -0.625 -2.75 C -0.625 -2.957031 -0.640625 -3.144531 -0.671875 -3.3125 C -0.703125 -3.488281 -0.75 -3.640625 -0.8125 -3.765625 C -0.882812 -3.890625 -0.976562 -3.984375 -1.09375 -4.046875 C -1.207031 -4.117188 -1.351562 -4.15625 -1.53125 -4.15625 C -1.707031 -4.15625 -1.847656 -4.113281 -1.953125 -4.03125 C -2.066406 -3.957031 -2.160156 -3.84375 -2.234375 -3.6875 C -2.316406 -3.539062 -2.382812 -3.363281 -2.4375 -3.15625 C -2.5 -2.945312 -2.5625 -2.71875 -2.625 -2.46875 C -2.6875 -2.238281 -2.753906 -2.007812 -2.828125 -1.78125 C -2.898438 -1.550781 -3 -1.34375 -3.125 -1.15625 C -3.25 -0.96875 -3.398438 -0.816406 -3.578125 -0.703125 C -3.765625 -0.585938 -4 -0.53125 -4.28125 -0.53125 C -4.8125 -0.53125 -5.210938 -0.71875 -5.484375 -1.09375 C -5.765625 -1.476562 -5.90625 -2.03125 -5.90625 -2.75 C -5.90625 -3.394531 -5.789062 -3.90625 -5.5625 -4.28125 C -5.332031 -4.65625 -4.972656 -4.894531 -4.484375 -5 L -4.375 -4.125 C -4.519531 -4.09375 -4.644531 -4.035156 -4.75 -3.953125 C -4.851562 -3.867188 -4.9375 -3.765625 -5 -3.640625 C -5.0625 -3.515625 -5.101562 -3.375 -5.125 -3.21875 C -5.15625 -3.070312 -5.171875 -2.914062 -5.171875 -2.75 C -5.171875 -2.3125 -5.101562 -1.988281 -4.96875 -1.78125 C -4.84375 -1.582031 -4.644531 -1.484375 -4.375 -1.484375 C -4.21875 -1.484375 -4.085938 -1.519531 -3.984375 -1.59375 C -3.878906 -1.664062 -3.789062 -1.769531 -3.71875 -1.90625 C -3.65625 -2.050781 -3.597656 -2.21875 -3.546875 -2.40625 C -3.492188 -2.601562 -3.4375 -2.816406 -3.375 -3.046875 C -3.332031 -3.203125 -3.289062 -3.359375 -3.25 -3.515625 C -3.207031 -3.679688 -3.15625 -3.835938 -3.09375 -3.984375 C -3.03125 -4.140625 -2.957031 -4.285156 -2.875 -4.421875 C -2.789062 -4.554688 -2.6875 -4.671875 -2.5625 -4.765625 C -2.445312 -4.867188 -2.3125 -4.953125 -2.15625 -5.015625 C -2 -5.078125 -1.816406 -5.109375 -1.609375 -5.109375 Z M -1.609375 -5.109375 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-18">
-<path style="stroke:none;" d="M 0.109375 0 L -7.96875 -2.203125 L -7.96875 -3.0625 L 0.109375 -0.875 Z M 0.109375 0 "/>
-</symbol>
-<symbol overflow="visible" id="glyph1-19">
-<path style="stroke:none;" d="M -2.84375 -2.984375 C -2.332031 -2.984375 -1.847656 -2.941406 -1.390625 -2.859375 C -0.941406 -2.785156 -0.507812 -2.664062 -0.09375 -2.5 C 0.320312 -2.34375 0.726562 -2.140625 1.125 -1.890625 C 1.519531 -1.640625 1.90625 -1.34375 2.28125 -1 L 2.28125 -0.0625 C 1.90625 -0.394531 1.519531 -0.6875 1.125 -0.9375 C 0.726562 -1.1875 0.320312 -1.390625 -0.09375 -1.546875 C -0.519531 -1.703125 -0.957031 -1.816406 -1.40625 -1.890625 C -1.863281 -1.972656 -2.34375 -2.015625 -2.84375 -2.015625 C -3.34375 -2.015625 -3.816406 -1.972656 -4.265625 -1.890625 C -4.722656 -1.816406 -5.160156 -1.703125 -5.578125 -1.546875 C -6.003906 -1.390625 -6.414062 -1.1875 -6.8125 -0.9375 C -7.207031 -0.6875 -7.59375 -0.394531 -7.96875 -0.0625 L -7.96875 -1 C -7.59375 -1.34375 -7.207031 -1.640625 -6.8125 -1.890625 C -6.414062 -2.140625 -6.007812 -2.34375 -5.59375 -2.5 C -5.175781 -2.664062 -4.738281 -2.785156 -4.28125 -2.859375 C -3.832031 -2.941406 -3.359375 -2.984375 -2.859375 -2.984375 Z M -2.84375 -2.984375 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-0">
-<path style="stroke:none;" d="M 0.40625 0 L 0.40625 -8 L 3.59375 -8 L 3.59375 0 Z M 0.796875 -0.40625 L 3.1875 -0.40625 L 3.1875 -7.59375 L 0.796875 -7.59375 Z M 0.796875 -0.40625 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-1">
-<path style="stroke:none;" d="M 3.21875 2.484375 C 2.851562 2.484375 2.53125 2.445312 2.25 2.375 C 1.96875 2.300781 1.722656 2.195312 1.515625 2.0625 C 1.316406 1.925781 1.15625 1.757812 1.03125 1.5625 C 0.90625 1.375 0.816406 1.160156 0.765625 0.921875 L 1.828125 0.78125 C 1.898438 1.070312 2.054688 1.296875 2.296875 1.453125 C 2.535156 1.609375 2.847656 1.6875 3.234375 1.6875 C 3.472656 1.6875 3.691406 1.648438 3.890625 1.578125 C 4.085938 1.515625 4.253906 1.410156 4.390625 1.265625 C 4.523438 1.117188 4.628906 0.925781 4.703125 0.6875 C 4.773438 0.457031 4.8125 0.175781 4.8125 -0.15625 L 4.8125 -1.171875 C 4.726562 -1.015625 4.628906 -0.863281 4.515625 -0.71875 C 4.398438 -0.570312 4.257812 -0.441406 4.09375 -0.328125 C 3.925781 -0.210938 3.734375 -0.117188 3.515625 -0.046875 C 3.296875 0.015625 3.046875 0.046875 2.765625 0.046875 C 2.359375 0.046875 2.007812 -0.0195312 1.71875 -0.15625 C 1.4375 -0.289062 1.203125 -0.492188 1.015625 -0.765625 C 0.835938 -1.035156 0.707031 -1.367188 0.625 -1.765625 C 0.539062 -2.171875 0.5 -2.632812 0.5 -3.15625 C 0.5 -3.664062 0.539062 -4.125 0.625 -4.53125 C 0.707031 -4.9375 0.84375 -5.28125 1.03125 -5.5625 C 1.226562 -5.84375 1.476562 -6.054688 1.78125 -6.203125 C 2.082031 -6.359375 2.453125 -6.4375 2.890625 -6.4375 C 3.335938 -6.4375 3.722656 -6.332031 4.046875 -6.125 C 4.378906 -5.925781 4.632812 -5.632812 4.8125 -5.25 L 4.828125 -5.25 C 4.828125 -5.351562 4.828125 -5.460938 4.828125 -5.578125 C 4.835938 -5.703125 4.84375 -5.816406 4.84375 -5.921875 C 4.851562 -6.035156 4.863281 -6.128906 4.875 -6.203125 C 4.882812 -6.285156 4.894531 -6.332031 4.90625 -6.34375 L 5.90625 -6.34375 C 5.894531 -6.300781 5.890625 -6.238281 5.890625 -6.15625 C 5.890625 -6.070312 5.882812 -5.972656 5.875 -5.859375 C 5.875 -5.742188 5.867188 -5.613281 5.859375 -5.46875 C 5.859375 -5.320312 5.859375 -5.175781 5.859375 -5.03125 L 5.859375 -0.1875 C 5.859375 0.707031 5.640625 1.375 5.203125 1.8125 C 4.773438 2.257812 4.113281 2.484375 3.21875 2.484375 Z M 4.8125 -3.171875 C 4.8125 -3.609375 4.765625 -3.984375 4.671875 -4.296875 C 4.578125 -4.617188 4.453125 -4.878906 4.296875 -5.078125 C 4.140625 -5.273438 3.957031 -5.421875 3.75 -5.515625 C 3.550781 -5.609375 3.347656 -5.65625 3.140625 -5.65625 C 2.867188 -5.65625 2.632812 -5.609375 2.4375 -5.515625 C 2.25 -5.421875 2.09375 -5.269531 1.96875 -5.0625 C 1.84375 -4.863281 1.75 -4.609375 1.6875 -4.296875 C 1.625 -3.984375 1.59375 -3.609375 1.59375 -3.171875 C 1.59375 -2.710938 1.625 -2.328125 1.6875 -2.015625 C 1.75 -1.703125 1.84375 -1.453125 1.96875 -1.265625 C 2.09375 -1.078125 2.25 -0.941406 2.4375 -0.859375 C 2.625 -0.773438 2.851562 -0.734375 3.125 -0.734375 C 3.332031 -0.734375 3.535156 -0.773438 3.734375 -0.859375 C 3.941406 -0.953125 4.125 -1.097656 4.28125 -1.296875 C 4.445312 -1.492188 4.578125 -1.742188 4.671875 -2.046875 C 4.765625 -2.359375 4.8125 -2.734375 4.8125 -3.171875 Z M 4.8125 -3.171875 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-2">
-<path style="stroke:none;" d="M 6.171875 -3.171875 C 6.171875 -2.066406 5.925781 -1.238281 5.4375 -0.6875 C 4.945312 -0.144531 4.238281 0.125 3.3125 0.125 C 2.875 0.125 2.476562 0.0546875 2.125 -0.078125 C 1.78125 -0.210938 1.488281 -0.414062 1.25 -0.6875 C 1.007812 -0.96875 0.820312 -1.3125 0.6875 -1.71875 C 0.5625 -2.132812 0.5 -2.617188 0.5 -3.171875 C 0.5 -5.359375 1.445312 -6.453125 3.34375 -6.453125 C 3.832031 -6.453125 4.253906 -6.382812 4.609375 -6.25 C 4.972656 -6.113281 5.269531 -5.910156 5.5 -5.640625 C 5.726562 -5.367188 5.894531 -5.023438 6 -4.609375 C 6.113281 -4.203125 6.171875 -3.722656 6.171875 -3.171875 Z M 5.0625 -3.171875 C 5.0625 -3.671875 5.019531 -4.078125 4.9375 -4.390625 C 4.863281 -4.710938 4.753906 -4.96875 4.609375 -5.15625 C 4.460938 -5.351562 4.285156 -5.488281 4.078125 -5.5625 C 3.867188 -5.632812 3.628906 -5.671875 3.359375 -5.671875 C 3.085938 -5.671875 2.84375 -5.628906 2.625 -5.546875 C 2.414062 -5.472656 2.234375 -5.335938 2.078125 -5.140625 C 1.929688 -4.953125 1.816406 -4.695312 1.734375 -4.375 C 1.648438 -4.050781 1.609375 -3.648438 1.609375 -3.171875 C 1.609375 -2.679688 1.648438 -2.273438 1.734375 -1.953125 C 1.828125 -1.628906 1.945312 -1.367188 2.09375 -1.171875 C 2.25 -0.984375 2.425781 -0.847656 2.625 -0.765625 C 2.832031 -0.691406 3.054688 -0.65625 3.296875 -0.65625 C 3.566406 -0.65625 3.8125 -0.691406 4.03125 -0.765625 C 4.25 -0.847656 4.429688 -0.984375 4.578125 -1.171875 C 4.734375 -1.367188 4.851562 -1.628906 4.9375 -1.953125 C 5.019531 -2.273438 5.0625 -2.679688 5.0625 -3.171875 Z M 5.0625 -3.171875 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-3">
-<path style="stroke:none;" d="M 0.921875 0 L 0.921875 -0.890625 L 3.015625 -0.890625 L 3.015625 -7.25 L 1.15625 -5.921875 L 1.15625 -6.921875 L 3.109375 -8.25 L 4.078125 -8.25 L 4.078125 -0.890625 L 6.09375 -0.890625 L 6.09375 0 Z M 0.921875 0 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-4">
-<path style="stroke:none;" d=""/>
-</symbol>
-<symbol overflow="visible" id="glyph2-5">
-<path style="stroke:none;" d="M 6.171875 -3.203125 C 6.171875 -0.984375 5.394531 0.125 3.84375 0.125 C 3.363281 0.125 2.960938 0.0351562 2.640625 -0.140625 C 2.316406 -0.316406 2.054688 -0.597656 1.859375 -0.984375 C 1.859375 -0.878906 1.851562 -0.769531 1.84375 -0.65625 C 1.832031 -0.550781 1.820312 -0.453125 1.8125 -0.359375 C 1.8125 -0.265625 1.804688 -0.1875 1.796875 -0.125 C 1.796875 -0.0625 1.796875 -0.0195312 1.796875 0 L 0.78125 0 C 0.78125 -0.03125 0.78125 -0.0859375 0.78125 -0.171875 C 0.789062 -0.265625 0.796875 -0.367188 0.796875 -0.484375 C 0.796875 -0.597656 0.796875 -0.722656 0.796875 -0.859375 C 0.804688 -1.003906 0.8125 -1.15625 0.8125 -1.3125 L 0.8125 -8.703125 L 1.859375 -8.703125 L 1.859375 -6.21875 C 1.859375 -6.101562 1.859375 -5.988281 1.859375 -5.875 C 1.859375 -5.769531 1.859375 -5.675781 1.859375 -5.59375 C 1.847656 -5.5 1.84375 -5.410156 1.84375 -5.328125 L 1.859375 -5.328125 C 2.054688 -5.734375 2.316406 -6.019531 2.640625 -6.1875 C 2.960938 -6.363281 3.363281 -6.453125 3.84375 -6.453125 C 4.644531 -6.453125 5.234375 -6.179688 5.609375 -5.640625 C 5.984375 -5.109375 6.171875 -4.296875 6.171875 -3.203125 Z M 5.0625 -3.171875 C 5.0625 -3.609375 5.035156 -3.984375 4.984375 -4.296875 C 4.929688 -4.609375 4.84375 -4.863281 4.71875 -5.0625 C 4.59375 -5.257812 4.4375 -5.40625 4.25 -5.5 C 4.0625 -5.59375 3.832031 -5.640625 3.5625 -5.640625 C 3.289062 -5.640625 3.046875 -5.59375 2.828125 -5.5 C 2.617188 -5.414062 2.441406 -5.273438 2.296875 -5.078125 C 2.160156 -4.878906 2.050781 -4.613281 1.96875 -4.28125 C 1.894531 -3.957031 1.859375 -3.5625 1.859375 -3.09375 C 1.859375 -2.644531 1.894531 -2.265625 1.96875 -1.953125 C 2.050781 -1.648438 2.160156 -1.398438 2.296875 -1.203125 C 2.441406 -1.015625 2.617188 -0.875 2.828125 -0.78125 C 3.035156 -0.695312 3.28125 -0.65625 3.5625 -0.65625 C 3.8125 -0.65625 4.03125 -0.703125 4.21875 -0.796875 C 4.40625 -0.890625 4.5625 -1.035156 4.6875 -1.234375 C 4.8125 -1.429688 4.90625 -1.6875 4.96875 -2 C 5.03125 -2.320312 5.0625 -2.710938 5.0625 -3.171875 Z M 5.0625 -3.171875 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-6">
-<path style="stroke:none;" d="M 1.625 -2.953125 C 1.625 -2.617188 1.65625 -2.3125 1.71875 -2.03125 C 1.789062 -1.75 1.894531 -1.507812 2.03125 -1.3125 C 2.175781 -1.113281 2.359375 -0.957031 2.578125 -0.84375 C 2.804688 -0.726562 3.078125 -0.671875 3.390625 -0.671875 C 3.847656 -0.671875 4.210938 -0.757812 4.484375 -0.9375 C 4.765625 -1.125 4.953125 -1.359375 5.046875 -1.640625 L 5.96875 -1.390625 C 5.90625 -1.210938 5.8125 -1.035156 5.6875 -0.859375 C 5.570312 -0.679688 5.414062 -0.519531 5.21875 -0.375 C 5.019531 -0.226562 4.769531 -0.109375 4.46875 -0.015625 C 4.164062 0.078125 3.804688 0.125 3.390625 0.125 C 2.453125 0.125 1.738281 -0.15625 1.25 -0.71875 C 0.757812 -1.28125 0.515625 -2.113281 0.515625 -3.21875 C 0.515625 -3.8125 0.585938 -4.3125 0.734375 -4.71875 C 0.878906 -5.132812 1.082031 -5.46875 1.34375 -5.71875 C 1.601562 -5.976562 1.90625 -6.164062 2.25 -6.28125 C 2.59375 -6.394531 2.957031 -6.453125 3.34375 -6.453125 C 3.875 -6.453125 4.316406 -6.363281 4.671875 -6.1875 C 5.035156 -6.019531 5.320312 -5.785156 5.53125 -5.484375 C 5.75 -5.179688 5.90625 -4.820312 6 -4.40625 C 6.09375 -4 6.140625 -3.5625 6.140625 -3.09375 L 6.140625 -2.953125 Z M 5.046875 -3.75 C 4.992188 -4.425781 4.828125 -4.914062 4.546875 -5.21875 C 4.265625 -5.519531 3.859375 -5.671875 3.328125 -5.671875 C 3.148438 -5.671875 2.960938 -5.644531 2.765625 -5.59375 C 2.578125 -5.539062 2.398438 -5.441406 2.234375 -5.296875 C 2.078125 -5.148438 1.941406 -4.953125 1.828125 -4.703125 C 1.710938 -4.453125 1.644531 -4.132812 1.625 -3.75 Z M 5.046875 -3.75 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-7">
-<path style="stroke:none;" d="M 4.828125 0 L 4.828125 -4.015625 C 4.828125 -4.328125 4.804688 -4.585938 4.765625 -4.796875 C 4.722656 -5.003906 4.648438 -5.171875 4.546875 -5.296875 C 4.441406 -5.421875 4.304688 -5.507812 4.140625 -5.5625 C 3.972656 -5.613281 3.769531 -5.640625 3.53125 -5.640625 C 3.28125 -5.640625 3.050781 -5.59375 2.84375 -5.5 C 2.644531 -5.414062 2.472656 -5.289062 2.328125 -5.125 C 2.191406 -4.957031 2.082031 -4.753906 2 -4.515625 C 1.925781 -4.273438 1.890625 -3.992188 1.890625 -3.671875 L 1.890625 0 L 0.828125 0 L 0.828125 -4.984375 C 0.828125 -5.117188 0.828125 -5.257812 0.828125 -5.40625 C 0.828125 -5.550781 0.820312 -5.6875 0.8125 -5.8125 C 0.8125 -5.945312 0.804688 -6.0625 0.796875 -6.15625 C 0.796875 -6.25 0.796875 -6.3125 0.796875 -6.34375 L 1.796875 -6.34375 C 1.796875 -6.320312 1.796875 -6.265625 1.796875 -6.171875 C 1.804688 -6.085938 1.8125 -5.988281 1.8125 -5.875 C 1.820312 -5.769531 1.828125 -5.660156 1.828125 -5.546875 C 1.835938 -5.429688 1.84375 -5.332031 1.84375 -5.25 L 1.859375 -5.25 C 1.960938 -5.4375 2.070312 -5.601562 2.1875 -5.75 C 2.3125 -5.90625 2.453125 -6.03125 2.609375 -6.125 C 2.773438 -6.226562 2.957031 -6.304688 3.15625 -6.359375 C 3.363281 -6.421875 3.609375 -6.453125 3.890625 -6.453125 C 4.234375 -6.453125 4.53125 -6.410156 4.78125 -6.328125 C 5.039062 -6.242188 5.253906 -6.109375 5.421875 -5.921875 C 5.585938 -5.742188 5.707031 -5.515625 5.78125 -5.234375 C 5.851562 -4.953125 5.890625 -4.613281 5.890625 -4.21875 L 5.890625 0 Z M 4.828125 0 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-8">
-<path style="stroke:none;" d="M 1.609375 -3.203125 C 1.609375 -2.835938 1.632812 -2.5 1.6875 -2.1875 C 1.738281 -1.882812 1.828125 -1.625 1.953125 -1.40625 C 2.078125 -1.1875 2.242188 -1.015625 2.453125 -0.890625 C 2.660156 -0.773438 2.914062 -0.71875 3.21875 -0.71875 C 3.59375 -0.71875 3.90625 -0.816406 4.15625 -1.015625 C 4.40625 -1.222656 4.5625 -1.535156 4.625 -1.953125 L 5.6875 -1.890625 C 5.644531 -1.628906 5.566406 -1.375 5.453125 -1.125 C 5.335938 -0.882812 5.175781 -0.671875 4.96875 -0.484375 C 4.769531 -0.304688 4.523438 -0.160156 4.234375 -0.046875 C 3.953125 0.0664062 3.617188 0.125 3.234375 0.125 C 2.742188 0.125 2.320312 0.0390625 1.96875 -0.125 C 1.625 -0.300781 1.34375 -0.535156 1.125 -0.828125 C 0.90625 -1.117188 0.75 -1.460938 0.65625 -1.859375 C 0.5625 -2.265625 0.515625 -2.703125 0.515625 -3.171875 C 0.515625 -3.597656 0.546875 -3.972656 0.609375 -4.296875 C 0.679688 -4.628906 0.78125 -4.914062 0.90625 -5.15625 C 1.039062 -5.40625 1.191406 -5.613281 1.359375 -5.78125 C 1.535156 -5.945312 1.722656 -6.078125 1.921875 -6.171875 C 2.117188 -6.273438 2.328125 -6.347656 2.546875 -6.390625 C 2.773438 -6.429688 3.003906 -6.453125 3.234375 -6.453125 C 3.585938 -6.453125 3.898438 -6.40625 4.171875 -6.3125 C 4.453125 -6.21875 4.691406 -6.082031 4.890625 -5.90625 C 5.097656 -5.738281 5.265625 -5.539062 5.390625 -5.3125 C 5.515625 -5.082031 5.601562 -4.832031 5.65625 -4.5625 L 4.5625 -4.484375 C 4.507812 -4.835938 4.367188 -5.113281 4.140625 -5.3125 C 3.921875 -5.519531 3.609375 -5.625 3.203125 -5.625 C 2.898438 -5.625 2.644531 -5.570312 2.4375 -5.46875 C 2.238281 -5.375 2.078125 -5.226562 1.953125 -5.03125 C 1.828125 -4.832031 1.738281 -4.578125 1.6875 -4.265625 C 1.632812 -3.960938 1.609375 -3.609375 1.609375 -3.203125 Z M 1.609375 -3.203125 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-9">
-<path style="stroke:none;" d="M 1.859375 -5.25 C 1.972656 -5.46875 2.097656 -5.648438 2.234375 -5.796875 C 2.367188 -5.953125 2.519531 -6.078125 2.6875 -6.171875 C 2.851562 -6.273438 3.03125 -6.347656 3.21875 -6.390625 C 3.414062 -6.429688 3.640625 -6.453125 3.890625 -6.453125 C 4.296875 -6.453125 4.628906 -6.394531 4.890625 -6.28125 C 5.148438 -6.175781 5.351562 -6.023438 5.5 -5.828125 C 5.644531 -5.628906 5.742188 -5.394531 5.796875 -5.125 C 5.859375 -4.851562 5.890625 -4.550781 5.890625 -4.21875 L 5.890625 0 L 4.828125 0 L 4.828125 -4.015625 C 4.828125 -4.285156 4.8125 -4.519531 4.78125 -4.71875 C 4.75 -4.925781 4.6875 -5.097656 4.59375 -5.234375 C 4.5 -5.367188 4.363281 -5.46875 4.1875 -5.53125 C 4.019531 -5.601562 3.800781 -5.640625 3.53125 -5.640625 C 3.28125 -5.640625 3.050781 -5.59375 2.84375 -5.5 C 2.644531 -5.414062 2.472656 -5.289062 2.328125 -5.125 C 2.191406 -4.957031 2.082031 -4.753906 2 -4.515625 C 1.925781 -4.285156 1.890625 -4.023438 1.890625 -3.734375 L 1.890625 0 L 0.828125 0 L 0.828125 -8.703125 L 1.890625 -8.703125 L 1.890625 -6.4375 C 1.890625 -6.300781 1.882812 -6.171875 1.875 -6.046875 C 1.875 -5.921875 1.867188 -5.800781 1.859375 -5.6875 C 1.859375 -5.582031 1.851562 -5.488281 1.84375 -5.40625 C 1.84375 -5.332031 1.84375 -5.28125 1.84375 -5.25 Z M 1.859375 -5.25 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-10">
-<path style="stroke:none;" d="M 4.5 0 L 4.5 -4.015625 C 4.5 -4.328125 4.476562 -4.585938 4.4375 -4.796875 C 4.40625 -5.003906 4.34375 -5.171875 4.25 -5.296875 C 4.15625 -5.421875 4.03125 -5.507812 3.875 -5.5625 C 3.726562 -5.613281 3.550781 -5.640625 3.34375 -5.640625 C 3.113281 -5.640625 2.910156 -5.59375 2.734375 -5.5 C 2.554688 -5.414062 2.40625 -5.289062 2.28125 -5.125 C 2.15625 -4.957031 2.054688 -4.753906 1.984375 -4.515625 C 1.910156 -4.273438 1.875 -3.992188 1.875 -3.671875 L 1.875 0 L 0.828125 0 L 0.828125 -4.984375 C 0.828125 -5.117188 0.828125 -5.257812 0.828125 -5.40625 C 0.828125 -5.550781 0.820312 -5.6875 0.8125 -5.8125 C 0.8125 -5.945312 0.804688 -6.0625 0.796875 -6.15625 C 0.796875 -6.25 0.796875 -6.3125 0.796875 -6.34375 L 1.796875 -6.34375 C 1.796875 -6.320312 1.796875 -6.265625 1.796875 -6.171875 C 1.804688 -6.085938 1.8125 -5.988281 1.8125 -5.875 C 1.820312 -5.769531 1.828125 -5.660156 1.828125 -5.546875 C 1.835938 -5.429688 1.84375 -5.332031 1.84375 -5.25 L 1.859375 -5.25 C 1.953125 -5.4375 2.050781 -5.601562 2.15625 -5.75 C 2.269531 -5.90625 2.398438 -6.03125 2.546875 -6.125 C 2.691406 -6.226562 2.859375 -6.304688 3.046875 -6.359375 C 3.234375 -6.421875 3.453125 -6.453125 3.703125 -6.453125 C 4.191406 -6.453125 4.570312 -6.359375 4.84375 -6.171875 C 5.125 -5.984375 5.320312 -5.675781 5.4375 -5.25 L 5.453125 -5.25 C 5.546875 -5.4375 5.648438 -5.601562 5.765625 -5.75 C 5.878906 -5.90625 6.015625 -6.03125 6.171875 -6.125 C 6.328125 -6.226562 6.503906 -6.304688 6.703125 -6.359375 C 6.898438 -6.421875 7.125 -6.453125 7.375 -6.453125 C 7.695312 -6.453125 7.972656 -6.410156 8.203125 -6.328125 C 8.429688 -6.242188 8.617188 -6.109375 8.765625 -5.921875 C 8.921875 -5.742188 9.03125 -5.515625 9.09375 -5.234375 C 9.164062 -4.953125 9.203125 -4.613281 9.203125 -4.21875 L 9.203125 0 L 8.15625 0 L 8.15625 -4.015625 C 8.15625 -4.328125 8.132812 -4.585938 8.09375 -4.796875 C 8.0625 -5.003906 8 -5.171875 7.90625 -5.296875 C 7.8125 -5.421875 7.691406 -5.507812 7.546875 -5.5625 C 7.398438 -5.613281 7.21875 -5.640625 7 -5.640625 C 6.78125 -5.640625 6.578125 -5.597656 6.390625 -5.515625 C 6.210938 -5.429688 6.0625 -5.304688 5.9375 -5.140625 C 5.8125 -4.984375 5.710938 -4.78125 5.640625 -4.53125 C 5.578125 -4.28125 5.546875 -3.992188 5.546875 -3.671875 L 5.546875 0 Z M 4.5 0 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-11">
-<path style="stroke:none;" d="M 2.421875 0.125 C 1.785156 0.125 1.304688 -0.0390625 0.984375 -0.375 C 0.671875 -0.71875 0.515625 -1.179688 0.515625 -1.765625 C 0.515625 -2.179688 0.59375 -2.523438 0.75 -2.796875 C 0.90625 -3.066406 1.109375 -3.273438 1.359375 -3.421875 C 1.617188 -3.578125 1.910156 -3.679688 2.234375 -3.734375 C 2.566406 -3.796875 2.90625 -3.832031 3.25 -3.84375 L 4.671875 -3.875 L 4.671875 -4.21875 C 4.671875 -4.476562 4.640625 -4.695312 4.578125 -4.875 C 4.523438 -5.0625 4.441406 -5.210938 4.328125 -5.328125 C 4.222656 -5.441406 4.082031 -5.523438 3.90625 -5.578125 C 3.738281 -5.628906 3.539062 -5.65625 3.3125 -5.65625 C 3.101562 -5.65625 2.914062 -5.640625 2.75 -5.609375 C 2.59375 -5.578125 2.453125 -5.523438 2.328125 -5.453125 C 2.210938 -5.378906 2.113281 -5.273438 2.03125 -5.140625 C 1.957031 -5.015625 1.910156 -4.847656 1.890625 -4.640625 L 0.796875 -4.75 C 0.828125 -5 0.894531 -5.226562 1 -5.4375 C 1.113281 -5.644531 1.269531 -5.820312 1.46875 -5.96875 C 1.675781 -6.125 1.929688 -6.242188 2.234375 -6.328125 C 2.535156 -6.410156 2.898438 -6.453125 3.328125 -6.453125 C 4.128906 -6.453125 4.726562 -6.269531 5.125 -5.90625 C 5.53125 -5.539062 5.734375 -5.015625 5.734375 -4.328125 L 5.734375 -1.59375 C 5.734375 -1.28125 5.773438 -1.046875 5.859375 -0.890625 C 5.941406 -0.734375 6.097656 -0.65625 6.328125 -0.65625 C 6.390625 -0.65625 6.445312 -0.65625 6.5 -0.65625 C 6.5625 -0.664062 6.617188 -0.675781 6.671875 -0.6875 L 6.671875 -0.03125 C 6.535156 0 6.398438 0.0195312 6.265625 0.03125 C 6.140625 0.0507812 6.003906 0.0625 5.859375 0.0625 C 5.660156 0.0625 5.488281 0.0351562 5.34375 -0.015625 C 5.207031 -0.0664062 5.09375 -0.144531 5 -0.25 C 4.90625 -0.363281 4.832031 -0.5 4.78125 -0.65625 C 4.738281 -0.8125 4.710938 -1 4.703125 -1.21875 L 4.671875 -1.21875 C 4.554688 -1.007812 4.429688 -0.820312 4.296875 -0.65625 C 4.160156 -0.5 4.003906 -0.363281 3.828125 -0.25 C 3.648438 -0.132812 3.445312 -0.046875 3.21875 0.015625 C 2.988281 0.0859375 2.722656 0.125 2.421875 0.125 Z M 2.671875 -0.671875 C 3.003906 -0.671875 3.296875 -0.734375 3.546875 -0.859375 C 3.796875 -0.984375 4.003906 -1.140625 4.171875 -1.328125 C 4.335938 -1.523438 4.460938 -1.734375 4.546875 -1.953125 C 4.628906 -2.179688 4.671875 -2.398438 4.671875 -2.609375 L 4.671875 -3.125 L 3.515625 -3.109375 C 3.253906 -3.097656 3.007812 -3.078125 2.78125 -3.046875 C 2.550781 -3.015625 2.347656 -2.945312 2.171875 -2.84375 C 1.992188 -2.75 1.851562 -2.613281 1.75 -2.4375 C 1.644531 -2.269531 1.59375 -2.039062 1.59375 -1.75 C 1.59375 -1.40625 1.6875 -1.140625 1.875 -0.953125 C 2.0625 -0.765625 2.328125 -0.671875 2.671875 -0.671875 Z M 2.671875 -0.671875 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-12">
-<path style="stroke:none;" d="M 0.828125 0 L 0.828125 -4.859375 C 0.828125 -4.992188 0.828125 -5.128906 0.828125 -5.265625 C 0.828125 -5.410156 0.820312 -5.546875 0.8125 -5.671875 C 0.8125 -5.796875 0.804688 -5.914062 0.796875 -6.03125 C 0.796875 -6.144531 0.796875 -6.25 0.796875 -6.34375 L 1.796875 -6.34375 C 1.796875 -6.25 1.796875 -6.144531 1.796875 -6.03125 C 1.804688 -5.914062 1.8125 -5.796875 1.8125 -5.671875 C 1.820312 -5.554688 1.828125 -5.441406 1.828125 -5.328125 C 1.835938 -5.210938 1.84375 -5.117188 1.84375 -5.046875 L 1.859375 -5.046875 C 1.929688 -5.285156 2.007812 -5.492188 2.09375 -5.671875 C 2.1875 -5.847656 2.285156 -5.992188 2.390625 -6.109375 C 2.503906 -6.222656 2.640625 -6.304688 2.796875 -6.359375 C 2.953125 -6.421875 3.144531 -6.453125 3.375 -6.453125 C 3.457031 -6.453125 3.535156 -6.445312 3.609375 -6.4375 C 3.691406 -6.425781 3.753906 -6.414062 3.796875 -6.40625 L 3.796875 -5.4375 C 3.722656 -5.457031 3.640625 -5.46875 3.546875 -5.46875 C 3.453125 -5.476562 3.347656 -5.484375 3.234375 -5.484375 C 2.992188 -5.484375 2.785156 -5.425781 2.609375 -5.3125 C 2.441406 -5.207031 2.304688 -5.054688 2.203125 -4.859375 C 2.097656 -4.671875 2.019531 -4.441406 1.96875 -4.171875 C 1.914062 -3.910156 1.890625 -3.625 1.890625 -3.3125 L 1.890625 0 Z M 0.828125 0 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-13">
-<path style="stroke:none;" d="M 4.78125 0 L 2.640625 -2.890625 L 1.859375 -2.25 L 1.859375 0 L 0.8125 0 L 0.8125 -8.703125 L 1.859375 -8.703125 L 1.859375 -3.265625 L 4.640625 -6.34375 L 5.890625 -6.34375 L 3.3125 -3.609375 L 6.015625 0 Z M 4.78125 0 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-14">
-<path style="stroke:none;" d="M 5.5625 -1.75 C 5.5625 -1.457031 5.503906 -1.191406 5.390625 -0.953125 C 5.273438 -0.722656 5.109375 -0.53125 4.890625 -0.375 C 4.671875 -0.21875 4.398438 -0.09375 4.078125 0 C 3.765625 0.0820312 3.40625 0.125 3 0.125 C 2.625 0.125 2.289062 0.09375 2 0.03125 C 1.707031 -0.0195312 1.445312 -0.109375 1.21875 -0.234375 C 1 -0.359375 0.8125 -0.523438 0.65625 -0.734375 C 0.507812 -0.941406 0.398438 -1.191406 0.328125 -1.484375 L 1.265625 -1.671875 C 1.359375 -1.328125 1.546875 -1.078125 1.828125 -0.921875 C 2.109375 -0.765625 2.5 -0.6875 3 -0.6875 C 3.21875 -0.6875 3.421875 -0.703125 3.609375 -0.734375 C 3.804688 -0.765625 3.972656 -0.816406 4.109375 -0.890625 C 4.242188 -0.972656 4.347656 -1.078125 4.421875 -1.203125 C 4.503906 -1.328125 4.546875 -1.484375 4.546875 -1.671875 C 4.546875 -1.859375 4.5 -2.015625 4.40625 -2.140625 C 4.3125 -2.265625 4.1875 -2.367188 4.03125 -2.453125 C 3.875 -2.535156 3.679688 -2.601562 3.453125 -2.65625 C 3.222656 -2.71875 2.972656 -2.785156 2.703125 -2.859375 C 2.441406 -2.929688 2.1875 -3.007812 1.9375 -3.09375 C 1.6875 -3.175781 1.460938 -3.28125 1.265625 -3.40625 C 1.066406 -3.539062 0.90625 -3.707031 0.78125 -3.90625 C 0.65625 -4.113281 0.59375 -4.367188 0.59375 -4.671875 C 0.59375 -5.242188 0.796875 -5.679688 1.203125 -5.984375 C 1.617188 -6.285156 2.21875 -6.4375 3 -6.4375 C 3.707031 -6.4375 4.265625 -6.3125 4.671875 -6.0625 C 5.085938 -5.820312 5.347656 -5.429688 5.453125 -4.890625 L 4.5 -4.765625 C 4.46875 -4.929688 4.40625 -5.066406 4.3125 -5.171875 C 4.21875 -5.285156 4.101562 -5.378906 3.96875 -5.453125 C 3.84375 -5.523438 3.695312 -5.570312 3.53125 -5.59375 C 3.363281 -5.625 3.1875 -5.640625 3 -5.640625 C 2.53125 -5.640625 2.179688 -5.566406 1.953125 -5.421875 C 1.722656 -5.273438 1.609375 -5.054688 1.609375 -4.765625 C 1.609375 -4.597656 1.648438 -4.457031 1.734375 -4.34375 C 1.816406 -4.226562 1.929688 -4.132812 2.078125 -4.0625 C 2.234375 -3.988281 2.414062 -3.921875 2.625 -3.859375 C 2.84375 -3.804688 3.078125 -3.75 3.328125 -3.6875 C 3.492188 -3.644531 3.664062 -3.597656 3.84375 -3.546875 C 4.019531 -3.492188 4.191406 -3.429688 4.359375 -3.359375 C 4.523438 -3.296875 4.679688 -3.21875 4.828125 -3.125 C 4.972656 -3.039062 5.097656 -2.929688 5.203125 -2.796875 C 5.316406 -2.671875 5.40625 -2.519531 5.46875 -2.34375 C 5.53125 -2.175781 5.5625 -1.976562 5.5625 -1.75 Z M 5.5625 -1.75 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-15">
-<path style="stroke:none;" d="M 0.8125 0 L 0.8125 -8.703125 L 1.859375 -8.703125 L 1.859375 0 Z M 0.8125 0 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-16">
-<path style="stroke:none;" d="M 3.25 -0.046875 C 3.082031 -0.00390625 2.914062 0.0234375 2.75 0.046875 C 2.59375 0.078125 2.40625 0.09375 2.1875 0.09375 C 1.34375 0.09375 0.921875 -0.382812 0.921875 -1.34375 L 0.921875 -5.578125 L 0.1875 -5.578125 L 0.1875 -6.34375 L 0.953125 -6.34375 L 1.265625 -7.765625 L 1.96875 -7.765625 L 1.96875 -6.34375 L 3.140625 -6.34375 L 3.140625 -5.578125 L 1.96875 -5.578125 L 1.96875 -1.578125 C 1.96875 -1.265625 2.015625 -1.046875 2.109375 -0.921875 C 2.210938 -0.804688 2.390625 -0.75 2.640625 -0.75 C 2.742188 -0.75 2.84375 -0.753906 2.9375 -0.765625 C 3.03125 -0.785156 3.132812 -0.804688 3.25 -0.828125 Z M 3.25 -0.046875 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-17">
-<path style="stroke:none;" d="M 0.796875 -7.6875 L 0.796875 -8.703125 L 1.859375 -8.703125 L 1.859375 -7.6875 Z M 0.796875 0 L 0.796875 -6.34375 L 1.859375 -6.34375 L 1.859375 0 Z M 0.796875 0 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-18">
-<path style="stroke:none;" d="M 3.59375 0 L 2.34375 0 L 0.046875 -6.34375 L 1.171875 -6.34375 L 2.5625 -2.21875 C 2.59375 -2.132812 2.625 -2.03125 2.65625 -1.90625 C 2.695312 -1.78125 2.734375 -1.648438 2.765625 -1.515625 C 2.804688 -1.378906 2.84375 -1.25 2.875 -1.125 C 2.914062 -1.007812 2.945312 -0.910156 2.96875 -0.828125 C 2.988281 -0.910156 3.015625 -1.007812 3.046875 -1.125 C 3.085938 -1.25 3.128906 -1.375 3.171875 -1.5 C 3.210938 -1.632812 3.253906 -1.765625 3.296875 -1.890625 C 3.335938 -2.015625 3.375 -2.117188 3.40625 -2.203125 L 4.84375 -6.34375 L 5.953125 -6.34375 Z M 3.59375 0 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-19">
-<path style="stroke:none;" d="M 0.609375 -4.171875 C 0.609375 -4.816406 0.691406 -5.394531 0.859375 -5.90625 C 1.035156 -6.425781 1.296875 -6.867188 1.640625 -7.234375 C 1.984375 -7.597656 2.410156 -7.878906 2.921875 -8.078125 C 3.441406 -8.273438 4.039062 -8.375 4.71875 -8.375 C 5.21875 -8.375 5.660156 -8.328125 6.046875 -8.234375 C 6.429688 -8.148438 6.765625 -8.023438 7.046875 -7.859375 C 7.328125 -7.691406 7.5625 -7.488281 7.75 -7.25 C 7.945312 -7.007812 8.113281 -6.738281 8.25 -6.4375 L 7.1875 -6.125 C 7.082031 -6.320312 6.957031 -6.503906 6.8125 -6.671875 C 6.675781 -6.835938 6.503906 -6.976562 6.296875 -7.09375 C 6.097656 -7.207031 5.863281 -7.296875 5.59375 -7.359375 C 5.332031 -7.429688 5.03125 -7.46875 4.6875 -7.46875 C 4.1875 -7.46875 3.75 -7.390625 3.375 -7.234375 C 3.007812 -7.078125 2.703125 -6.851562 2.453125 -6.5625 C 2.210938 -6.269531 2.03125 -5.921875 1.90625 -5.515625 C 1.789062 -5.109375 1.734375 -4.660156 1.734375 -4.171875 C 1.734375 -3.671875 1.796875 -3.210938 1.921875 -2.796875 C 2.054688 -2.390625 2.25 -2.035156 2.5 -1.734375 C 2.757812 -1.441406 3.078125 -1.210938 3.453125 -1.046875 C 3.828125 -0.878906 4.265625 -0.796875 4.765625 -0.796875 C 5.085938 -0.796875 5.382812 -0.820312 5.65625 -0.875 C 5.9375 -0.925781 6.1875 -0.992188 6.40625 -1.078125 C 6.625 -1.171875 6.816406 -1.269531 6.984375 -1.375 C 7.148438 -1.488281 7.289062 -1.597656 7.40625 -1.703125 L 7.40625 -3.1875 L 4.9375 -3.1875 L 4.9375 -4.125 L 8.4375 -4.125 L 8.4375 -1.28125 C 8.25 -1.09375 8.03125 -0.914062 7.78125 -0.75 C 7.539062 -0.582031 7.265625 -0.429688 6.953125 -0.296875 C 6.648438 -0.171875 6.3125 -0.0703125 5.9375 0 C 5.570312 0.0820312 5.179688 0.125 4.765625 0.125 C 4.066406 0.125 3.457031 0.0195312 2.9375 -0.1875 C 2.414062 -0.40625 1.984375 -0.707031 1.640625 -1.09375 C 1.296875 -1.476562 1.035156 -1.929688 0.859375 -2.453125 C 0.691406 -2.972656 0.609375 -3.546875 0.609375 -4.171875 Z M 0.609375 -4.171875 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-20">
-<path style="stroke:none;" d="M 1.09375 0 L 1.09375 -1.28125 L 2.234375 -1.28125 L 2.234375 0 Z M 1.09375 0 "/>
-</symbol>
-<symbol overflow="visible" id="glyph2-21">
-<path style="stroke:none;" d="M 5.15625 -1.875 L 5.15625 0 L 4.171875 0 L 4.171875 -1.875 L 0.28125 -1.875 L 0.28125 -2.6875 L 4.0625 -8.25 L 5.15625 -8.25 L 5.15625 -2.703125 L 6.328125 -2.703125 L 6.328125 -1.875 Z M 4.171875 -7.0625 C 4.160156 -7.039062 4.140625 -7.003906 4.109375 -6.953125 C 4.078125 -6.898438 4.039062 -6.835938 4 -6.765625 C 3.957031 -6.691406 3.914062 -6.617188 3.875 -6.546875 C 3.84375 -6.472656 3.8125 -6.414062 3.78125 -6.375 L 1.65625 -3.25 C 1.632812 -3.21875 1.601562 -3.175781 1.5625 -3.125 C 1.53125 -3.070312 1.492188 -3.019531 1.453125 -2.96875 C 1.421875 -2.914062 1.382812 -2.863281 1.34375 -2.8125 C 1.300781 -2.769531 1.269531 -2.734375 1.25 -2.703125 L 4.171875 -2.703125 Z M 4.171875 -7.0625 "/>
-</symbol>
-</g>
-<clipPath id="clip1">
-  <path d="M 48 27 L 50 27 L 50 367 L 48 367 Z M 48 27 "/>
-</clipPath>
-<clipPath id="clip2">
-  <path d="M 101 27 L 103 27 L 103 367 L 101 367 Z M 101 27 "/>
-</clipPath>
-<clipPath id="clip3">
-  <path d="M 154 27 L 156 27 L 156 367 L 154 367 Z M 154 27 "/>
-</clipPath>
-<clipPath id="clip4">
-  <path d="M 207 27 L 209 27 L 209 367 L 207 367 Z M 207 27 "/>
-</clipPath>
-<clipPath id="clip5">
-  <path d="M 259 27 L 261 27 L 261 367 L 259 367 Z M 259 27 "/>
-</clipPath>
-<clipPath id="clip6">
-  <path d="M 312 27 L 314 27 L 314 367 L 312 367 Z M 312 27 "/>
-</clipPath>
-<clipPath id="clip7">
-  <path d="M 365 27 L 367 27 L 367 367 L 365 367 Z M 365 27 "/>
-</clipPath>
-<clipPath id="clip8">
-  <path d="M 418 27 L 420 27 L 420 367 L 418 367 Z M 418 27 "/>
-</clipPath>
-<clipPath id="clip9">
-  <path d="M 471 27 L 473 27 L 473 367 L 471 367 Z M 471 27 "/>
-</clipPath>
-<clipPath id="clip10">
-  <path d="M 524 27 L 526 27 L 526 367 L 524 367 Z M 524 27 "/>
-</clipPath>
-<clipPath id="clip11">
-  <path d="M 48 366 L 563 366 L 563 367 L 48 367 Z M 48 366 "/>
-</clipPath>
-<clipPath id="clip12">
-  <path d="M 48 304 L 563 304 L 563 306 L 48 306 Z M 48 304 "/>
-</clipPath>
-<clipPath id="clip13">
-  <path d="M 48 242 L 563 242 L 563 244 L 48 244 Z M 48 242 "/>
-</clipPath>
-<clipPath id="clip14">
-  <path d="M 48 181 L 563 181 L 563 183 L 48 183 Z M 48 181 "/>
-</clipPath>
-<clipPath id="clip15">
-  <path d="M 48 119 L 563 119 L 563 121 L 48 121 Z M 48 119 "/>
-</clipPath>
-<clipPath id="clip16">
-  <path d="M 48 57 L 563 57 L 563 59 L 48 59 Z M 48 57 "/>
-</clipPath>
-<clipPath id="clip17">
-  <path d="M 48 43 L 563 43 L 563 306 L 48 306 Z M 48 43 "/>
-</clipPath>
-</defs>
-<g id="surface4122">
-<rect x="0" y="0" width="576" height="396" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
-<path style=" stroke:none;fill-rule:nonzero;fill:rgb(91.764706%,91.764706%,94.901961%);fill-opacity:1;" d="M 48.285156 367.039062 L 563.039062 367.039062 L 563.039062 26.960938 L 48.285156 26.960938 Z M 48.285156 367.039062 "/>
-<g clip-path="url(#clip1)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.921875 367.039062 L 48.921875 26.960938 "/>
-</g>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.921875 367.039062 L 48.921875 367.039062 "/>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.921875 26.960938 L 48.921875 26.960938 "/>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph0-1" x="33.421875" y="382.039062"/>
-  <use xlink:href="#glyph0-2" x="40.091797" y="382.039062"/>
-  <use xlink:href="#glyph0-3" x="45.65332" y="382.039062"/>
-  <use xlink:href="#glyph0-4" x="48.983398" y="382.039062"/>
-  <use xlink:href="#glyph0-5" x="51.761719" y="382.039062"/>
-  <use xlink:href="#glyph0-6" x="57.323242" y="382.039062"/>
-</g>
-<g clip-path="url(#clip2)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 101.800781 367.039062 L 101.800781 26.960938 "/>
-</g>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 101.800781 367.039062 L 101.800781 367.039062 "/>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 101.800781 26.960938 L 101.800781 26.960938 "/>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph0-1" x="86.300781" y="382.039062"/>
-  <use xlink:href="#glyph0-2" x="92.970703" y="382.039062"/>
-  <use xlink:href="#glyph0-3" x="98.532227" y="382.039062"/>
-  <use xlink:href="#glyph0-4" x="101.862305" y="382.039062"/>
-  <use xlink:href="#glyph0-5" x="104.640625" y="382.039062"/>
-  <use xlink:href="#glyph0-7" x="110.202148" y="382.039062"/>
-</g>
-<g clip-path="url(#clip3)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 154.679688 367.039062 L 154.679688 26.960938 "/>
-</g>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 154.679688 367.039062 L 154.679688 367.039062 "/>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 154.679688 26.960938 L 154.679688 26.960938 "/>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph0-1" x="139.179688" y="382.039062"/>
-  <use xlink:href="#glyph0-2" x="145.849609" y="382.039062"/>
-  <use xlink:href="#glyph0-3" x="151.411133" y="382.039062"/>
-  <use xlink:href="#glyph0-4" x="154.741211" y="382.039062"/>
-  <use xlink:href="#glyph0-5" x="157.519531" y="382.039062"/>
-  <use xlink:href="#glyph0-8" x="163.081055" y="382.039062"/>
-</g>
-<g clip-path="url(#clip4)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 207.554688 367.039062 L 207.554688 26.960938 "/>
-</g>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 207.554688 367.039062 L 207.554688 367.039062 "/>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 207.554688 26.960938 L 207.554688 26.960938 "/>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph0-1" x="192.054688" y="382.039062"/>
-  <use xlink:href="#glyph0-2" x="198.724609" y="382.039062"/>
-  <use xlink:href="#glyph0-3" x="204.286133" y="382.039062"/>
-  <use xlink:href="#glyph0-4" x="207.616211" y="382.039062"/>
-  <use xlink:href="#glyph0-9" x="210.394531" y="382.039062"/>
-  <use xlink:href="#glyph0-9" x="215.956055" y="382.039062"/>
-</g>
-<g clip-path="url(#clip5)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 260.433594 367.039062 L 260.433594 26.960938 "/>
-</g>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 260.433594 367.039062 L 260.433594 367.039062 "/>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 260.433594 26.960938 L 260.433594 26.960938 "/>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph0-1" x="244.933594" y="382.039062"/>
-  <use xlink:href="#glyph0-2" x="251.603516" y="382.039062"/>
-  <use xlink:href="#glyph0-3" x="257.165039" y="382.039062"/>
-  <use xlink:href="#glyph0-4" x="260.495117" y="382.039062"/>
-  <use xlink:href="#glyph0-9" x="263.273438" y="382.039062"/>
-  <use xlink:href="#glyph0-10" x="268.834961" y="382.039062"/>
-</g>
-<g clip-path="url(#clip6)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 313.3125 367.039062 L 313.3125 26.960938 "/>
-</g>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 313.3125 367.039062 L 313.3125 367.039062 "/>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 313.3125 26.960938 L 313.3125 26.960938 "/>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph0-1" x="297.8125" y="382.039062"/>
-  <use xlink:href="#glyph0-2" x="304.482422" y="382.039062"/>
-  <use xlink:href="#glyph0-3" x="310.043945" y="382.039062"/>
-  <use xlink:href="#glyph0-4" x="313.374023" y="382.039062"/>
-  <use xlink:href="#glyph0-9" x="316.152344" y="382.039062"/>
-  <use xlink:href="#glyph0-11" x="321.713867" y="382.039062"/>
-</g>
-<g clip-path="url(#clip7)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 366.1875 367.039062 L 366.1875 26.960938 "/>
-</g>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 366.1875 367.039062 L 366.1875 367.039062 "/>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 366.1875 26.960938 L 366.1875 26.960938 "/>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph0-12" x="350.6875" y="382.039062"/>
-  <use xlink:href="#glyph0-13" x="359.017578" y="382.039062"/>
-  <use xlink:href="#glyph0-14" x="364.579102" y="382.039062"/>
-  <use xlink:href="#glyph0-4" x="369.579102" y="382.039062"/>
-  <use xlink:href="#glyph0-4" x="372.357422" y="382.039062"/>
-  <use xlink:href="#glyph0-5" x="375.135742" y="382.039062"/>
-</g>
-<g clip-path="url(#clip8)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 419.066406 367.039062 L 419.066406 26.960938 "/>
-</g>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 419.066406 367.039062 L 419.066406 367.039062 "/>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 419.066406 26.960938 L 419.066406 26.960938 "/>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph0-12" x="403.566406" y="382.039062"/>
-  <use xlink:href="#glyph0-13" x="411.896484" y="382.039062"/>
-  <use xlink:href="#glyph0-14" x="417.458008" y="382.039062"/>
-  <use xlink:href="#glyph0-4" x="422.458008" y="382.039062"/>
-  <use xlink:href="#glyph0-4" x="425.236328" y="382.039062"/>
-  <use xlink:href="#glyph0-15" x="428.014648" y="382.039062"/>
-</g>
-<g clip-path="url(#clip9)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 471.945312 367.039062 L 471.945312 26.960938 "/>
-</g>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 471.945312 367.039062 L 471.945312 367.039062 "/>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 471.945312 26.960938 L 471.945312 26.960938 "/>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph0-12" x="456.445312" y="382.039062"/>
-  <use xlink:href="#glyph0-13" x="464.775391" y="382.039062"/>
-  <use xlink:href="#glyph0-14" x="470.336914" y="382.039062"/>
-  <use xlink:href="#glyph0-4" x="475.336914" y="382.039062"/>
-  <use xlink:href="#glyph0-4" x="478.115234" y="382.039062"/>
-  <use xlink:href="#glyph0-16" x="480.893555" y="382.039062"/>
-</g>
-<g clip-path="url(#clip10)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 524.820312 367.039062 L 524.820312 26.960938 "/>
-</g>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 524.820312 367.039062 L 524.820312 367.039062 "/>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 524.820312 26.960938 L 524.820312 26.960938 "/>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph0-12" x="507.820312" y="382.039062"/>
-  <use xlink:href="#glyph0-13" x="516.150391" y="382.039062"/>
-  <use xlink:href="#glyph0-14" x="521.711914" y="382.039062"/>
-  <use xlink:href="#glyph0-4" x="526.711914" y="382.039062"/>
-  <use xlink:href="#glyph0-5" x="529.490234" y="382.039062"/>
-  <use xlink:href="#glyph0-17" x="535.051758" y="382.039062"/>
-</g>
-<g clip-path="url(#clip11)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.285156 367.039062 L 563.039062 367.039062 "/>
-</g>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.285156 367.039062 L 48.285156 367.039062 "/>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 563.039062 367.039062 L 563.039062 367.039062 "/>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph0-17" x="26.285156" y="370.039062"/>
-  <use xlink:href="#glyph0-18" x="31.84668" y="370.039062"/>
-  <use xlink:href="#glyph0-17" x="34.625" y="370.039062"/>
-</g>
-<g clip-path="url(#clip12)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.285156 305.207031 L 563.039062 305.207031 "/>
-</g>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.285156 305.207031 L 48.285156 305.207031 "/>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 563.039062 305.207031 L 563.039062 305.207031 "/>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph0-17" x="26.285156" y="308.207031"/>
-  <use xlink:href="#glyph0-18" x="31.84668" y="308.207031"/>
-  <use xlink:href="#glyph0-9" x="34.625" y="308.207031"/>
-</g>
-<g clip-path="url(#clip13)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.285156 243.375 L 563.039062 243.375 "/>
-</g>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.285156 243.375 L 48.285156 243.375 "/>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 563.039062 243.375 L 563.039062 243.375 "/>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph0-17" x="26.285156" y="246.375"/>
-  <use xlink:href="#glyph0-18" x="31.84668" y="246.375"/>
-  <use xlink:href="#glyph0-15" x="34.625" y="246.375"/>
-</g>
-<g clip-path="url(#clip14)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.285156 181.542969 L 563.039062 181.542969 "/>
-</g>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.285156 181.542969 L 48.285156 181.542969 "/>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 563.039062 181.542969 L 563.039062 181.542969 "/>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph0-17" x="26.285156" y="184.542969"/>
-  <use xlink:href="#glyph0-18" x="31.84668" y="184.542969"/>
-  <use xlink:href="#glyph0-7" x="34.625" y="184.542969"/>
-</g>
-<g clip-path="url(#clip15)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.285156 119.710938 L 563.039062 119.710938 "/>
-</g>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.285156 119.710938 L 48.285156 119.710938 "/>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 563.039062 119.710938 L 563.039062 119.710938 "/>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph0-17" x="26.285156" y="122.710938"/>
-  <use xlink:href="#glyph0-18" x="31.84668" y="122.710938"/>
-  <use xlink:href="#glyph0-11" x="34.625" y="122.710938"/>
-</g>
-<g clip-path="url(#clip16)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.285156 57.875 L 563.039062 57.875 "/>
-</g>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.285156 57.875 L 48.285156 57.875 "/>
-<path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(15%,15%,15%);stroke-opacity:1;stroke-miterlimit:10;" d="M 563.039062 57.875 L 563.039062 57.875 "/>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph0-5" x="26.285156" y="60.875"/>
-  <use xlink:href="#glyph0-18" x="31.84668" y="60.875"/>
-  <use xlink:href="#glyph0-17" x="34.625" y="60.875"/>
-</g>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph1-1" x="19.285156" y="306"/>
-  <use xlink:href="#glyph1-2" x="19.285156" y="297.443848"/>
-  <use xlink:href="#glyph1-3" x="19.285156" y="291.326172"/>
-  <use xlink:href="#glyph1-4" x="19.285156" y="285.208496"/>
-  <use xlink:href="#glyph1-2" x="19.285156" y="276.04541"/>
-  <use xlink:href="#glyph1-5" x="19.285156" y="269.927734"/>
-  <use xlink:href="#glyph1-6" x="19.285156" y="263.810059"/>
-  <use xlink:href="#glyph1-7" x="19.285156" y="257.692383"/>
-  <use xlink:href="#glyph1-8" x="19.285156" y="254.63623"/>
-  <use xlink:href="#glyph1-2" x="19.285156" y="248.518555"/>
-  <use xlink:href="#glyph1-9" x="19.285156" y="242.400879"/>
-  <use xlink:href="#glyph1-10" x="19.285156" y="238.737793"/>
-  <use xlink:href="#glyph1-3" x="19.285156" y="235.681641"/>
-  <use xlink:href="#glyph1-9" x="19.285156" y="229.563965"/>
-  <use xlink:href="#glyph1-4" x="19.285156" y="225.900879"/>
-  <use xlink:href="#glyph1-5" x="19.285156" y="216.737793"/>
-  <use xlink:href="#glyph1-6" x="19.285156" y="210.620117"/>
-  <use xlink:href="#glyph1-11" x="19.285156" y="204.502441"/>
-  <use xlink:href="#glyph1-2" x="19.285156" y="199.002441"/>
-  <use xlink:href="#glyph1-7" x="19.285156" y="192.884766"/>
-  <use xlink:href="#glyph1-12" x="19.285156" y="189.828613"/>
-  <use xlink:href="#glyph1-6" x="19.285156" y="186.165527"/>
-  <use xlink:href="#glyph1-3" x="19.285156" y="180.047852"/>
-  <use xlink:href="#glyph1-9" x="19.285156" y="173.930176"/>
-  <use xlink:href="#glyph1-4" x="19.285156" y="170.26709"/>
-  <use xlink:href="#glyph1-5" x="19.285156" y="161.104004"/>
-  <use xlink:href="#glyph1-13" x="19.285156" y="154.986328"/>
-  <use xlink:href="#glyph1-14" x="19.285156" y="152.54248"/>
-  <use xlink:href="#glyph1-15" x="19.285156" y="150.098633"/>
-  <use xlink:href="#glyph1-2" x="19.285156" y="144.598633"/>
-  <use xlink:href="#glyph1-16" x="19.285156" y="138.480957"/>
-  <use xlink:href="#glyph1-7" x="19.285156" y="132.363281"/>
-  <use xlink:href="#glyph1-3" x="19.285156" y="129.307129"/>
-  <use xlink:href="#glyph1-8" x="19.285156" y="123.189453"/>
-  <use xlink:href="#glyph1-17" x="19.285156" y="117.071777"/>
-  <use xlink:href="#glyph1-18" x="19.285156" y="111.571777"/>
-  <use xlink:href="#glyph1-17" x="19.285156" y="108.515625"/>
-  <use xlink:href="#glyph1-2" x="19.285156" y="103.015625"/>
-  <use xlink:href="#glyph1-11" x="19.285156" y="96.897949"/>
-  <use xlink:href="#glyph1-19" x="19.285156" y="91.397949"/>
-</g>
-<g clip-path="url(#clip17)" clip-rule="nonzero">
-<path style="fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(29.803922%,44.705882%,69.019608%);stroke-opacity:1;stroke-miterlimit:10;" d="M 48.285156 82.117188 L 52.289062 82.292969 L 54.164062 82.371094 L 57.648438 82.292969 L 57.652344 82.484375 L 57.660156 82.171875 L 57.667969 82.316406 L 57.683594 82.503906 L 57.703125 82.242188 L 57.707031 87.492188 L 57.78125 82.070312 L 57.84375 82.519531 L 58.730469 82.242188 L 61.191406 82.136719 L 61.667969 82.941406 L 62.523438 82.410156 L 62.855469 82.609375 L 63.003906 82.167969 L 64.125 82.070312 L 64.226562 81.617188 L 66.125 81.675781 L 66.152344 81.445312 L 69.957031 81.480469 L 69.992188 83.644531 L 71.96875 85.726562 L 75.746094 85.722656 L 76.574219 85.96875 L 78.121094 85.863281 L 79.125 86.320312 L 79.273438 85.917969 L 81.054688 86.050781 L 81.902344 87.589844 L 81.914062 85.949219 L 84.125 85.910156 L 84.175781 86.121094 L 87.546875 86.113281 L 87.890625 86.335938 L 91.058594 86.0625 L 92.300781 87.9375 L 92.839844 85.894531 L 93.3125 85.949219 L 95.917969 87.246094 L 95.921875 87.785156 L 95.957031 87.617188 L 96.640625 87.261719 L 96.65625 88.785156 L 98.15625 89 L 98.339844 89.167969 L 100.890625 88.953125 L 100.90625 89.199219 L 101.722656 89.039062 L 101.730469 88.871094 L 102.351562 89.21875 L 102.796875 88.964844 L 103.011719 89.023438 L 104.941406 88.988281 L 105.625 89.160156 L 105.628906 89.289062 L 105.632812 89.261719 L 106.152344 89.109375 L 110.972656 89.296875 L 111.234375 89.105469 L 111.347656 89.136719 L 111.359375 89.308594 L 111.363281 89.15625 L 111.730469 88.9375 L 113.535156 89.128906 L 113.6875 87.558594 L 113.777344 87.589844 L 113.917969 87.921875 L 114.167969 88.007812 L 114.269531 87.28125 L 115.03125 87.175781 L 115.570312 87.488281 L 115.71875 87.511719 L 116.066406 87.3125 L 116.503906 87.539062 L 117.308594 87.386719 L 119.539062 87.265625 L 119.953125 87.546875 L 120.539062 86.636719 L 121.941406 86.664062 L 122.753906 86.5 L 123.5625 86.5625 L 127.886719 87.253906 L 128.375 87.214844 L 130.375 88.039062 L 130.417969 88.136719 L 131.382812 89.226562 L 132.257812 88.101562 L 132.535156 87.964844 L 132.636719 88.199219 L 133.085938 88.257812 L 133.738281 108.871094 L 133.769531 108.554688 L 134.265625 107.347656 L 134.519531 107.539062 L 134.542969 107.3125 L 135.949219 107.949219 L 136.199219 107.210938 L 136.554688 107.015625 L 137.929688 107.125 L 138.320312 106.585938 L 138.367188 107.265625 L 138.761719 106.871094 L 139.0625 107.386719 L 139.730469 107.757812 L 141.082031 107.394531 L 162.582031 107.347656 L 169.550781 107.769531 L 174.113281 107.453125 L 184.015625 106.945312 L 184.71875 107.238281 L 185.179688 107.703125 L 185.640625 107.351562 L 186.917969 107.449219 L 187.054688 107.023438 L 187.238281 107.167969 L 187.324219 105.089844 L 187.417969 105.617188 L 187.558594 105.316406 L 188.207031 106.148438 L 188.914062 105.746094 L 189.445312 105.988281 L 189.460938 105.730469 L 190.667969 105.453125 L 192.136719 106.285156 L 192.941406 105.761719 L 193.066406 105.527344 L 193.800781 105.417969 L 194.761719 105.617188 L 197.296875 105.589844 L 201.207031 105.792969 L 201.375 105.054688 L 201.375 106.335938 L 201.375 105.035156 L 201.378906 106.054688 L 201.378906 106.472656 L 201.378906 105.367188 L 201.445312 153.746094 L 202.671875 152.566406 L 202.773438 151.765625 L 202.851562 154.320312 L 203.640625 151.25 L 204.441406 153.984375 L 205.234375 152.96875 L 206.988281 153.167969 L 207.695312 150.59375 L 207.804688 153.214844 L 207.917969 153.945312 L 209.394531 153.066406 L 209.398438 153.972656 L 209.648438 153.324219 L 215.257812 153.035156 L 215.335938 153.507812 L 216.660156 153.164062 L 217.238281 152.628906 L 219.660156 153.148438 L 220.035156 153.808594 L 221.390625 153.160156 L 221.601562 152.492188 L 221.605469 154.527344 L 221.851562 153.421875 L 221.859375 156.160156 L 222.640625 156.640625 L 223.101562 156.308594 L 224.710938 152.25 L 225.585938 156.785156 L 226.183594 156.222656 L 227.246094 157.394531 L 227.867188 156.691406 L 230.078125 156.21875 L 239.242188 156.679688 L 240.210938 154.640625 L 240.519531 165.933594 L 242.183594 164.378906 L 242.429688 165.628906 L 242.640625 162.304688 L 244.101562 165.34375 L 246.71875 165.292969 L 247.039062 164.199219 L 252.898438 165.355469 L 253.578125 165.1875 L 253.980469 165.269531 L 253.984375 155.398438 L 254.800781 154.789062 L 254.957031 155.097656 L 255.210938 154.804688 L 256.394531 151.414062 L 256.421875 154.238281 L 257.617188 154.632812 L 257.621094 134.210938 L 258.203125 134.480469 L 258.871094 134.273438 L 273.816406 134.523438 L 280.027344 134.875 L 281.65625 134.832031 L 288.171875 132.832031 L 290.164062 133.28125 L 290.460938 132.984375 L 292.898438 133.128906 L 293.449219 132.988281 L 293.570312 133.136719 L 293.625 133.648438 L 294.21875 132.238281 L 294.222656 132.320312 L 297.21875 133.988281 L 297.597656 133.292969 L 305.109375 132.730469 L 305.109375 132.152344 L 307.167969 133.285156 L 308.28125 133.042969 L 308.613281 134.605469 L 308.855469 132.628906 L 309.964844 135.199219 L 309.964844 134.410156 L 309.964844 134.855469 L 310.480469 132.554688 L 310.5 134.054688 L 310.597656 133.542969 L 311.042969 133.71875 L 312.109375 134.730469 L 312.695312 134.238281 L 312.71875 133.539062 L 312.722656 134.15625 L 312.851562 134.105469 L 312.875 134.585938 L 313.164062 134.097656 L 313.417969 133.207031 L 314.5 131.113281 L 314.503906 132.171875 L 314.507812 131.695312 L 314.515625 109.792969 L 315.324219 110.566406 L 316.703125 111.699219 L 321.410156 110.023438 L 324.601562 109.632812 L 325.457031 110.628906 L 325.492188 110.394531 L 327.085938 110.058594 L 327.769531 110.503906 L 327.789062 109.761719 L 328.601562 110.523438 L 328.703125 111.039062 L 329.457031 109.179688 L 329.804688 111.59375 L 330.222656 110.40625 L 331.28125 111.34375 L 331.300781 110.089844 L 333.472656 111.140625 L 333.539062 110.347656 L 334.375 111.015625 L 334.421875 109.664062 L 334.441406 110.222656 L 334.472656 111.292969 L 342.539062 109.089844 L 343.585938 111.523438 L 344.25 109.992188 L 345.046875 110.066406 L 345.113281 110.597656 L 345.199219 109.199219 L 346.457031 107.941406 L 346.859375 108.578125 L 346.890625 108.34375 L 346.957031 109.089844 L 347.367188 107.230469 L 347.554688 107.941406 L 347.8125 107.332031 L 347.847656 109.109375 L 347.886719 107.800781 L 348.058594 109.71875 L 348.285156 107.25 L 348.414062 108.535156 L 348.472656 107.640625 L 348.597656 108.953125 L 348.65625 108.605469 L 349.535156 107.363281 L 351.339844 109.105469 L 351.375 106.855469 L 351.535156 110.074219 L 351.914062 109.464844 L 353.867188 110.171875 L 353.957031 107.386719 L 354.847656 108.003906 L 359.503906 109.664062 L 360.011719 110.3125 L 360.191406 81.792969 L 360.589844 81.0625 L 360.976562 80.613281 L 361.148438 80.902344 L 361.839844 80.839844 L 362.015625 81.570312 L 363.777344 82.09375 L 364.023438 80.976562 L 364.511719 82.246094 L 366.679688 81.425781 L 366.714844 82.113281 L 367.015625 81.136719 L 367.339844 81.605469 L 367.851562 81.085938 L 368.792969 81.65625 L 371.644531 81.316406 L 375.976562 81.839844 L 376.316406 81.996094 L 377.71875 82.109375 L 377.894531 81.738281 L 378.152344 81.894531 L 379.863281 82.410156 L 379.953125 80.523438 L 380.523438 52.0625 L 380.628906 55.394531 L 381.601562 55.355469 L 381.945312 55.542969 L 382.113281 55.378906 L 385.769531 55.507812 L 385.878906 55.414062 L 394.761719 55.675781 L 397.632812 55.4375 L 398.164062 52.714844 L 401.988281 53.203125 L 401.992188 53.523438 L 402.089844 51.378906 L 404.519531 48.726562 L 405.527344 48.972656 L 419.304688 49.011719 L 419.550781 51.519531 L 423.949219 53.324219 L 431.425781 53.554688 L 431.882812 53.089844 L 432.027344 51.589844 L 433.230469 50.742188 L 433.96875 50.835938 L 433.972656 50.601562 L 434.828125 50.355469 L 435.03125 50.8125 L 436.640625 51.242188 L 439.867188 51.097656 L 441.0625 51.367188 L 441.277344 51.214844 L 443.792969 51.640625 L 447.84375 46.839844 L 448.472656 46.46875 L 450.132812 47.292969 L 451.242188 46.878906 L 451.316406 46.621094 L 452.164062 46.8125 L 452.179688 47.007812 L 452.207031 46.457031 L 452.953125 46.460938 L 453.246094 46.125 L 453.632812 46.332031 L 454.441406 46.933594 L 454.53125 46.367188 L 454.710938 46.652344 L 455.277344 46.226562 L 460.027344 46.082031 L 461.234375 46.671875 L 462.84375 46.035156 L 462.855469 46.714844 L 462.871094 46.335938 L 463.171875 46.25 L 463.460938 46.382812 L 463.460938 46.65625 L 463.667969 46.339844 L 463.78125 44.855469 L 465.203125 44.957031 L 466.097656 45.335938 L 466.148438 44.835938 L 466.238281 44.945312 L 466.488281 47.71875 L 466.8125 45.242188 L 467.28125 58.128906 L 468.59375 49.484375 L 468.765625 60.867188 L 468.769531 60.257812 L 468.769531 48.542969 L 469.734375 50.109375 L 470.875 49.859375 L 470.882812 51.996094 L 471.695312 49.851562 L 471.953125 50.175781 L 472.007812 49.820312 L 472.976562 49.660156 L 473.21875 49.835938 L 473.292969 50.066406 L 473.871094 49.96875 L 474.101562 49.730469 L 475.65625 49.851562 L 477.078125 49.726562 L 477.433594 50.183594 L 483.035156 49.324219 L 483.960938 49.746094 L 484.917969 49.285156 L 486.785156 48.945312 L 486.792969 49.101562 L 487.4375 50.761719 L 487.46875 304.675781 L 487.472656 50.359375 L 489.5 54.011719 L 489.992188 50.585938 L 492.796875 45.984375 L 502.070312 45.5 L 502.855469 45.757812 L 503.257812 45.671875 L 503.648438 45.726562 L 509.382812 45.449219 L 510.425781 45.816406 L 522.359375 45.601562 L 526.46875 45.90625 L 526.796875 46.050781 L 546.898438 45.675781 L 546.964844 46.054688 L 547.085938 45.78125 L 548.867188 46.96875 L 553.222656 46.695312 L 553.261719 47.09375 L 553.265625 65.15625 L 553.359375 47.359375 L 553.402344 46.484375 L 553.410156 46.496094 L 553.730469 46.3125 L 553.738281 46.863281 L 553.742188 46.203125 L 554.308594 46.75 L 554.660156 46.179688 L 554.699219 52.492188 L 555.039062 52.902344 L 555.476562 52.492188 L 555.488281 52.769531 L 556.085938 52.597656 L 556.285156 52.363281 L 556.863281 52.222656 L 557.660156 52.449219 L 558.652344 52.957031 L 560.691406 52.46875 L 561.476562 51.621094 L 563.039062 51.636719 "/>
-</g>
-<g style="fill:rgb(15%,15%,15%);fill-opacity:1;">
-  <use xlink:href="#glyph2-1" x="212.664062" y="21.960938"/>
-  <use xlink:href="#glyph2-2" x="219.337891" y="21.960938"/>
-  <use xlink:href="#glyph2-3" x="226.011719" y="21.960938"/>
-  <use xlink:href="#glyph2-4" x="232.685547" y="21.960938"/>
-  <use xlink:href="#glyph2-5" x="236.019531" y="21.960938"/>
-  <use xlink:href="#glyph2-6" x="242.693359" y="21.960938"/>
-  <use xlink:href="#glyph2-7" x="249.367188" y="21.960938"/>
-  <use xlink:href="#glyph2-8" x="256.041016" y="21.960938"/>
-  <use xlink:href="#glyph2-9" x="262.041016" y="21.960938"/>
-  <use xlink:href="#glyph2-10" x="268.714844" y="21.960938"/>
-  <use xlink:href="#glyph2-11" x="278.710938" y="21.960938"/>
-  <use xlink:href="#glyph2-12" x="285.384766" y="21.960938"/>
-  <use xlink:href="#glyph2-13" x="289.380859" y="21.960938"/>
-  <use xlink:href="#glyph2-14" x="295.380859" y="21.960938"/>
-  <use xlink:href="#glyph2-4" x="301.380859" y="21.960938"/>
-  <use xlink:href="#glyph2-12" x="304.714844" y="21.960938"/>
-  <use xlink:href="#glyph2-6" x="308.710938" y="21.960938"/>
-  <use xlink:href="#glyph2-15" x="315.384766" y="21.960938"/>
-  <use xlink:href="#glyph2-11" x="318.050781" y="21.960938"/>
-  <use xlink:href="#glyph2-16" x="324.724609" y="21.960938"/>
-  <use xlink:href="#glyph2-17" x="328.058594" y="21.960938"/>
-  <use xlink:href="#glyph2-18" x="330.724609" y="21.960938"/>
-  <use xlink:href="#glyph2-6" x="336.724609" y="21.960938"/>
-  <use xlink:href="#glyph2-4" x="343.398438" y="21.960938"/>
-  <use xlink:href="#glyph2-16" x="346.732422" y="21.960938"/>
-  <use xlink:href="#glyph2-2" x="350.066406" y="21.960938"/>
-  <use xlink:href="#glyph2-4" x="356.740234" y="21.960938"/>
-  <use xlink:href="#glyph2-19" x="360.074219" y="21.960938"/>
-  <use xlink:href="#glyph2-2" x="369.408203" y="21.960938"/>
-  <use xlink:href="#glyph2-4" x="376.082031" y="21.960938"/>
-  <use xlink:href="#glyph2-3" x="379.416016" y="21.960938"/>
-  <use xlink:href="#glyph2-20" x="386.089844" y="21.960938"/>
-  <use xlink:href="#glyph2-21" x="389.423828" y="21.960938"/>
-</g>
-</g>
-</svg>
diff --git a/content/2015/state-of-go-may/gophercon.png b/content/2015/state-of-go-may/gophercon.png
deleted file mode 100644
index cca3ad0..0000000
--- a/content/2015/state-of-go-may/gophercon.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/state-of-go-may/iphone.jpg b/content/2015/state-of-go-may/iphone.jpg
deleted file mode 100644
index d090c58..0000000
--- a/content/2015/state-of-go-may/iphone.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/state-of-go-may/perfchart.png b/content/2015/state-of-go-may/perfchart.png
deleted file mode 100644
index 9cc1401..0000000
--- a/content/2015/state-of-go-may/perfchart.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/state-of-go.slide b/content/2015/state-of-go.slide
deleted file mode 100644
index cac04d7..0000000
--- a/content/2015/state-of-go.slide
+++ /dev/null
@@ -1,280 +0,0 @@
-The State of Go
-Where we are in February 2015
-
-Andrew Gerrand
-adg@golang.org
-
-
-* Go 1.4
-
-Released in December 2014.
-
-A few important things:
-
-- Android support.
-- Canonical import paths.
-- The `go`generate` command.
-
-Lots of behind-the-scenes work:
-
-- Prep work for new garbage collector.
-- Prep work for C to Go tool chain conversion.
-- Source tree re-organization.
-
-.link https://golang.org/doc/go1.4
-
-
-* Transition to Git
-
-* Transition to Git
-
-In December we migrated the Go repositories from Mercurial to Git.
-
-Also moved to new development infrastructure:
-
-- googlesource.com replaces Google Code for repository hosting.
-- Gerrit replaces Rietveld for code review.
-- GitHub replaces Google Code for issue tracking and wiki.
-
-A big deal for Go contributors, but not important to Go users.
-
-.link https://go.googlesource.com
-.link https://go-review.googlesource.com
-.link https://github.com/golang/go
-
-
-* Why Git?
-
-- Gerrit and GitHub use Git.
-
-Why Gerrit?
-
-- Rietveld was unmaintained.
-- Gerrit is actively maintained; used by Android and Chrome, among others.
-
-Why GitHub?
-
-- Puts us closer to our community.
-- Other GitHub repos can more easily link to Go issues and commits.
-
-
-* Transition pros and cons
-
-Pros:
-
-- More people understand Git than Mercurial.
-- Contributors can use their own Git workflows.
-- Good integration between Git and Gerrit. (Rietveld and Mercurial are separate.)
-- Automated CLA checking.
-
-Cons:
-
-- Git has a steep learning curve.
-- No way to disable pull requests.
-- No way to "star" or +1 issues.
-- The standard of issue reports has gone down. (No issue templates. Different culture.)
-- The transition was a ton of work.
-
-
-* Why not accept pull requests?
-
-Coming from Gerrit, Rietveld, or Google's internal code review systems,
-GitHub's pull request system is lacking.
-
-- Can only view diffs on a single page (can be *very* slow).
-- Comments are sent as they are written; you cannot "draft" comments.
-- Cannot compare differences between patch sets.
-- To create a patch one must fork the repository publicly (weird and unnecessary).
-- Accepting a patch creates a "merge commit" (ugly repo history).
-- In general, pull request culture is not about code review.
-
-
-* Go 1.5
-
-
-* Change to release cycle
-
-Go 1.5 is scheduled for release in August 2015 (was June).
-
-(Previous cycle clashed with holidays and other calendrical events.)
-
-
-* From C to Go
-
-The `gc` tool chain is being converted from C to Go.
-
-An ongoing process, started early 2014.
-Russ Cox says "It'll be done by March [2015]."
-
-New `link` tool to replace `6l`, `8l`, etc.
-New `asm` tool to replace `6a`, `8a`, etc.
-Machine-translated `gc` to replace `6g`, `8g`, etc.
-
-Design doc:
-
-.link https://golang.org/s/go13compiler
-
-Go 1.5 will have *no* C code in the tool chain or runtime.
-
-
-* Compiling Go 1.5
-
-You will need Go 1.4 to build Go 1.5 and above.
-
-(But you will not need a C compiler!)
-
-As a user, put Go 1.4 in `$HOME/go1.4` (or set `$GOROOT_BOOTSTRAP`).
-
-New OS or architecture ports will need to cross-compile.
-
-Design doc:
-
-.link https://golang.org/s/go15bootstrap
-
-If you use a binary distribution of Go, you don't need to do anything.
-
-
-* Concurrent Garbage Collector
-
-Work began on a new, concurrent GC during the Go 1.4 dev cycle.
-
-Goal:
-
-- Limit GC latency to less than 10 milliseconds.
-- Run Go application code for at least 40ms out of every 50ms.
-
-On track for Go 1.5.
-
-.link https://golang.org/s/go14gc
-
-
-* HTTP/2
-
-Brad Fitzpatrick has implemented an `HTTP/2` server for Go.
-
-Will be in the standard library by Go 1.soon.
-
-Go servers that use `net/http` will get `HTTP/2` for free.
-
-Currently in Brad's GitHub:
-
-.link https://github.com/bradfitz/http2
-
-See it in action:
-
-.link https://http2.golang.org
-
-
-* Mobile
-
-David Crawshaw, Hana Kim, Minux, and Burcu Dogan have been working on Go for
-mobile devices.
-
-Can build Android apps with Go 1.4
-(if you can work out the Android build system).
-
-For Go 1.5:
-
-- Simpler build story for Android.
-- More NDK library support.
-- Better bindings for calling Go from Java.
-- Beginnings of iOS support. (New `darwin/arm` build target.)
-
-
-* New architectures
-
-Go 1.5 will support PowerPC 64 and (maybe) ARM64.
-
-PowerPC 64 is basically done; builder running, passes tests.
-
-ARM64 development ongoing.
-Hope to have a dev.arm64 branch in the main repo for Go 1.5.
-Stretch goal is merging it into master.
-
-See work in progress for ARM64 here:
-
-.link https://github.com/4ad/go
-
-
-* Execution tracing
-
-Dmitry Vyukov has implemented a `trace` tool.
-It collects data to produce diagrams of process execution.
-
-.image state-of-go/trace.png 350 _
-
-Front end is the Android/Chrome trace-viewer. ([[https://github.com/google/trace-viewer][github.com/google/trace-viewer]])
-
-.link http://golang.org/s/go15trace
-
-
-* Analysis and Refactoring Tools
-
-Alan Donovan and others have been working on a tools for analyzing and
-manipulating Go source code.
-
-Available in the `tools` repo:
-
-- `callgraph`: display the call graph of a Go program.
-- `gomvpkg`: moves go packages, updating import declarations.
-- `gorename`: type-safe renaming of identifiers in Go source code.
-
-Coming soon:
-
-- `sockdrawer`: a tool for automatically splitting packages.
-
-
-* Builder infrastructure
-
-Brad Fitzpatrick and Andrew Gerrand have been hacking away at our continuous
-build infrastructure.
-
-Now running Linux, FreeBSD, OpenBSD, and Plan 9 builders
-on Google Compute Engine. (OS X, Windows coming soon.)
-
-Spin up builders to do work, spin up many in parallel.
-Gives us results much faster.
-
-Up next: trybots to test pending changes.
-
-Also: gomote! (Demo)
-
-
-* The Go Community
-
-
-* Conferences in 2015
-
-- FOSDEM, Brussels, now!
-- GopherCon India, Bengaluru, February
-- GoCon, Tokyo, Spring and Autumn
-- GopherCon, Denver, July
-- dotGo, Paris, November
-
-More to be announced.
-
-
-* Gopher Gala
-
-A global Go hackathon, in January 2015 (last week).
-
-.image state-of-go/gala.jpg 200 _
-
-Teams compete to produce Go apps, judged by "usefulness, creativity, completeness, and how well they showcase Go's strengths."
-
-Also physical hackathons around the world: from San Francisco to Stockholm to Tokyo.
-
-Cool prizes, including a Chromebook Pixel, a Raspberry Pi, and a trip to Colima, Mexico.
-
-The [[http://gophergala.com/blog/gopher/gala/2015/02/03/winners/][winners have been announced]].
-
-
-
-* Go user groups
-
-Lots of Go meetups popping up all over the world.
-
-Find one near you:
-
-.link https://go-meetups.appspot.com
-
diff --git a/content/2015/state-of-go/gala.jpg b/content/2015/state-of-go/gala.jpg
deleted file mode 100644
index d60a7c0..0000000
--- a/content/2015/state-of-go/gala.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2015/state-of-go/trace.png b/content/2015/state-of-go/trace.png
deleted file mode 100644
index 46006e2..0000000
--- a/content/2015/state-of-go/trace.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/tricks.slide b/content/2015/tricks.slide
deleted file mode 100644
index 1746d77..0000000
--- a/content/2015/tricks.slide
+++ /dev/null
@@ -1,787 +0,0 @@
-Stupid Gopher Tricks
-GolangUK
-21 Aug 2015
-
-Andrew Gerrand
-adg@golang.org
-
-
-* Video
-
-A video of this talk was recorded at GolangUK in London.
-
-.link https://www.youtube.com/watch?v=UECh7X07m6E Watch the talk on YouTube
-
-
-* This talk
-
-This talk is about things you might not know about Go.
-
-Some of this stuff you can add to your Go vocabulary.
-
-Other things are probably best left for special occasions.
-
-
-* Language
-
-
-* Type literals (1/2)
-
-Here's a familiar type declaration:
-
-	type Foo struct {
-		i int
-		s string
-	}
-
-The latter part of a type declaration is the *type*literal*:
-
-	struct {
-		i int
-		s string
-	}
-
-Other examples of type literals are `int` and `[]string`,
-which can also be declared as named types:
-
-	type Bar int
-	type Qux []string
-
-
-* Type literals (2/2)
-
-While we commonly use `int` and `[]string` in variable declarations:
-
-	var i int
-	var s []string
-
-It is less common (but equally valid) to do the same with structs:
-
-	var t struct {
-		i int
-		s string
-	}
-
-An unnamed struct literal is often called an *anonymous*struct*.
-
-
-* Anonymous structs: template data
-
-A common use is providing data to templates:
-
-.play tricks/template.go /BEGIN/,/END/
-
-You could also use `map[string]interface{}`,
-but then you sacrifice performance and type safety.
-
-
-* Anonymous structs: JSON (1/2)
-
-The same technique can be used for encoding JSON objects:
-
-.play tricks/json-encode.go /Marshal/,/Print/
-
-And also decoding:
-
-.play tricks/json-decode.go /data/,/Print/
-
-
-* Anonymous structs: JSON (2/2)
-
-Structs can be nested to describe more complex JSON objects:
-
-.play tricks/json-nest.go /data/,/Print/
-
-
-* Repeated literals and struct names
-
-In repeated literals like slices and maps, Go lets you omit the inner type name:
-
-.code tricks/repeated.go /BEGIN/,/END/
-
-
-* Repeated literals and anonymous structs
-
-Combined with anonymous structs, this convenience shortens the code dramatically:
-
-.code tricks/repeated2.go /BEGIN/,/END/
-
-
-* Anonymous structs: test cases (1/2)
-
-These properties enable a nice way to express test cases:
-
-.code tricks/string_test.go /TestIndex/,/^}/
-
-
-* Anonymous structs: test cases (2/2)
-
-You can go a step further and put the composite literal in the range statement itself:
-
-.code tricks/string_test2.go /TestIndex/,/^}/
-
-But this is harder to read.
-
-
-* Embedded fields
-
-A struct field that has no name is an *embedded*field*.
-The embedded type's methods (and fields, if it is a struct)
-are accessible as if they are part of the embedding struct.
-
-.play tricks/embed.go /BEGIN/,$
-
-
-* Anonymous structs: embedded mutex
-
-Of course, you can embed fields in an anonymous struct.
-
-It's common to protect a global variable with a mutex variable:
-
-	var (
-		viewCount   int64
-		viewCountMu sync.Mutex
-	)
-
-By embedding a mutex in an anonymous struct, we can group the related values:
-
-	var viewCount struct {
-		sync.Mutex
-		n int64
-	}
-
-Users of `viewCount` access it like this:
-
-	viewCount.Lock()
-	viewCount.n++
-	viewCount.Unlock()
-
-
-
-* Anonymous structs: implementing interfaces
-
-And you can embed interfaces, too.
-
-Here's a real example from [[https://camlistore.org/][Camlistore]]:
-
-The function is expected to return a `ReadSeekCloser`,
-but the programmer only had a string.
-
-Anonymous struct (and its standard library friends) to the rescue!
-
-	return struct {
-		io.ReadSeeker
-		io.Closer
-	}{
-		io.NewSectionReader(strings.NewReader(s), 0, int64(len(s))),
-		ioutil.NopCloser(nil),
-	}
-
-
-* Anonymous interfaces
-
-Interfaces can be anonymous, the most common being `interface{}`.
-
-But the interface needn't be empty:
-
-.play tricks/anon-interface.go /var s/,/Println/
-
-Useful for a sly type assertion (from `src/os/exec/exec_test.go`):
-
-	// Check that we can access methods of the underlying os.File.
-	if _, ok := stdin.(interface {
-		Fd() uintptr
-	}); !ok {
-		t.Error("can't access methods of underlying *os.File")
-	}
-
-
-* Method values
-
-A "method value" is what you get when you evaluate a method as an expression.
-The result is a function value.
-
-Evaluating a method from a _type_ yields a function:
-
-.play tricks/method-values-1.go /var f/,/Stdout/
-
-Evaluating a method from a _value_ creates a closure that holds that value:
-
-.play tricks/method-values-2.go /var /,/Stdout/
-
-
-* Method values: sync.Once
-
-The `sync.Once` type is used to perform a task once with concurrency safety.
-
-	// Once is an object that will perform exactly one action.
-	type Once struct { /* Has unexported fields. */ }
-
-	func (o *Once) Do(f func())
-	
-This `LazyPrimes` type computes a slice of prime numbers the first time it is used:
-
-.code tricks/method-once.go /type/,$
-
-
-* Method values: HTTP handlers
-
-You can use method values to implement multiple HTTP handlers with one type:
-
-.code tricks/method-http.go /type Server/,$
-
-
-* Method values: another example
-
-In package `os/exec`, the `Cmd` type implements methods to set up
-standard input, output, and error:
-
-	func (c *Cmd) stdin() (f *os.File, err error)
-	func (c *Cmd) stdout() (f *os.File, err error)
-	func (c *Cmd) stderr() (f *os.File, err error)
-
-The caller handles each in the same way,
-so it iterates over a slice of method values:
-
-	type F func(*Cmd) (*os.File, error)
-	for _, setupFd := range []F{(*Cmd).stdin, (*Cmd).stdout, (*Cmd).stderr} {
-		fd, err := setupFd(c)
-		if err != nil {
-			c.closeDescriptors(c.closeAfterStart)
-			c.closeDescriptors(c.closeAfterWait)
-			return err
-		}
-		c.childFiles = append(c.childFiles, fd)
-	}
-
-
-* Comparable types
-
-The Go spec defines a set of types as "comparable";
-they may be compared with == and !=.
-
-Bools, ints, floats, complex numbers, strings, pointers,
-channels, *structs*, and *interfaces* are comparable.
-
-.play tricks/compare.go /BEGIN/,/END/
-
-A struct is comparable only if its fields are comparable:
-
-.play tricks/compare2.go /BEGIN/,/END/
-
-
-* Comparable types and map keys
-
-Any comparable type may be used as a map key.
-
-.code tricks/compare-map.go /BEGIN/,/END/
-
-
-* Structs as map keys
-
-An example from the Go continuous build infrastructure:
-
-	type builderRev struct {
-		builder, rev string
-	}
-
-	var br = builderRev{"linux-amd64", "0cd299"}
-
-We track in-flight builds in a map.
-The pre-Go 1 way was to flatten the data to a string first:
-
-	inflight := map[string]bool{}
-
-	inflight[br.builder + "-" + br.rev] = true
-
-But with struct keys, you can avoid the allocation and have cleaner code:
-
-	inflight := map[builderRev]bool{}
-
-	inflight[br] = true
-
-
-* Interfaces as map keys
-
-An example of interface map keys from Docker's `broadcastwriter` package:
-
-.code tricks/broadcastwriter/broadcastwriter.go /type/,/END/
-
-
-* Structs and interfaces together as map keys
-
-A (very) contrived example: (Don't do this! Ever!)
-
-.play tricks/cons.go /type/,$
-
-
-* Libraries
-
-* sync/atomic
-
-For a simple counter, you can use the `sync/atomic` package's
-functions to make atomic updates without the lock.
-
-	func AddInt64(addr *int64, delta int64) (new int64)
-	func CompareAndSwapInt64(addr *int64, old, new int64) (swapped bool)
-	func LoadInt64(addr *int64) (val int64)
-	func StoreInt64(addr *int64, val int64)
-	func SwapInt64(addr *int64, new int64) (old int64)
-
-First, define the global variable (appropriately documented!):
-
-	// viewCount must be updated atomically.
-	var viewCount int64
-
-Then increment it with `AddInt64`:
-
-	count := atomic.AddInt64(&viewCount, 1)
-
-The set are available for `Int32`, `Uint32`, `Int64`, `Uint64`, `Pointer`, and `Uintptr`.
-
-
-* sync/atomic.Value
-
-Another option for sharing state is `atomic.Value`.
-
-For instance, to share configuration between many goroutines:
-
-	type Config struct {
-		Timeout time.Duration
-	}
-
-	var config atomic.Value
-
-To set or update, use the `Store` method:
-	
-	config.Store(&Config{Timeout: 2*time.Second})
-
-To read, each goroutine calls the `Load` method:
-
-	cfg := config.Load().(*Config)
-
-Note that storing different types in the same `Value` will cause a panic.
-
-
-* sync/atomic.Value: how it works (1/5)
-
-The `atomic.Value` primitive is the size of a single interface value:
-
-	package atomic
-
-	type Value struct {
-		v interface{}
-	}
-
-An interface value is represented by the runtime as two pointers:
-one for the type, and one for the value.
-
-	// ifaceWords is interface{} internal representation.
-	type ifaceWords struct {
-		typ  unsafe.Pointer
-		data unsafe.Pointer
-	}
-
-To load and store an interface value atomically, it operates on the parts of the interface value with `atomic.LoadPointer` and `atomic.StorePointer`.
-
-
-* sync/atomic.Value: how it works (2/5)
-
-The `Store` method first validates the input:
-
-	func (v *Value) Store(x interface{}) {
-		if x == nil {
-			panic("sync/atomic: store of nil value into Value")
-		}
-
-Then uses `unsafe` to cast the current and new `interface{}` values to `ifaceWords`:
-
-	// ...
-		vp := (*ifaceWords)(unsafe.Pointer(v))
-		xp := (*ifaceWords)(unsafe.Pointer(&x))
-
-(This allows us to get at the internals of those interface values.)
-
-
-* sync/atomic.Value: how it works (3/5)
-
-Spin while loading the type field:
-
-	// ...
-		for {
-			typ := LoadPointer(&vp.typ)
-
-If it's `nil` the this is the first time the value has been stored.
-Put a sentinel value (max uintptr) in the type field to "lock" it while we work with it:
-
-	// ...
-			if typ == nil {
-				if !CompareAndSwapPointer(&vp.typ, nil, unsafe.Pointer(^uintptr(0))) {
-					continue // Someone beat us to it. Wait.
-				}
-
-Store the data field, then the type field, and we're done!
-
-	// ...
-				StorePointer(&vp.data, xp.data)
-				StorePointer(&vp.typ, xp.typ)
-				return
-			}
-
-* sync/atomic.Value: how it works (4/5)
-
-If this isn't the first store, check whether a store is already happening:
-
-	// ...
-			if uintptr(typ) == ^uintptr(0) {
-				continue // First store in progress. Wait.
-			}
-
-Sanity check whether the type changed:
-
-	// ...
-			if typ != xp.typ {
-				panic("sync/atomic: store of inconsistently typed value into Value")
-			}
-
-If the type field is what we expect, go ahead and atomically store the value:
-
-	// ...
-			StorePointer(&vp.data, xp.data)
-			return
-		}
-	}
-
-* sync/atomic.Value: how it works (5/5)
-
-The `Load` method first loads the interface's type field:
-
-	func (v *Value) Load() (x interface{}) {
-		vp := (*ifaceWords)(unsafe.Pointer(v))
-		typ := LoadPointer(&vp.typ)
-
-Then, check whether a store has happened, or is happening:
-
-	// ...
-		if typ == nil || uintptr(typ) == ^uintptr(0) {
-			return nil
-		}
-
-Otherwise, load the data field and return both type and data as a new interface value:
-
-	// ...
-		data := LoadPointer(&vp.data)
-		xp := (*ifaceWords)(unsafe.Pointer(&x))
-		xp.typ = typ
-		xp.data = data
-		return
-	}
-
-
-* A note on sync/atomic
-
-Usually you don't want or need the stuff in this package.
-
-Try channels or the `sync` package first.
-
-You almost certainly shouldn't write code like the `atomic.Value` implementation.
-(And I didn't show all of it; the real code has hooks into the runtime.)
-
-
-* Tools
-
-
-* Testing
-
-* Subprocess tests
-
-Sometimes you need to test the behavior of a process, not just a function.
-
-.code tricks/subprocess/subprocess.go /func Crasher/,/^}/
-
-To test this code, we invoke the test binary itself as a subprocess:
-
-.code tricks/subprocess/subprocess_test.go /func TestCrasher/,/^}/
-
-
-* Subprocess benchmarks (1/2)
-
-Go's CPU and memory profilers report data for an entire process.
-To profile just one side of a concurrent operation, you can use a sub-process.
-
-This benchmark from the `net/http` package spawns a child process to make
-requests to a server running in the main process.
-
-	func BenchmarkServer(b *testing.B) {
-		b.ReportAllocs()
-		// Child process mode;
-		if url := os.Getenv("TEST_BENCH_SERVER_URL"); url != "" {
-			n, err := strconv.Atoi(os.Getenv("TEST_BENCH_CLIENT_N"))
-			if err != nil {
-				panic(err)
-			}
-			for i := 0; i < n; i++ {
-				res, err := Get(url)
-				// ...
-			}
-			os.Exit(0)
-			return
-		}
-	// ...
-
-* Subprocess benchmarks (2/2)
-
-	// ...
-		res := []byte("Hello world.\n")
-		ts := httptest.NewServer(HandlerFunc(func(rw ResponseWriter, r *Request) {
-			rw.Header().Set("Content-Type", "text/html; charset=utf-8")
-			rw.Write(res)
-		}))
-		defer ts.Close()
-
-		cmd := exec.Command(os.Args[0], "-test.run=XXXX", "-test.bench=BenchmarkServer$")
-		cmd.Env = append([]string{
-			fmt.Sprintf("TEST_BENCH_CLIENT_N=%d", b.N),
-			fmt.Sprintf("TEST_BENCH_SERVER_URL=%s", ts.URL),
-		}, os.Environ()...)
-		if out, err := cmd.CombinedOutput(); err != nil {
-			b.Errorf("Test failure: %v, with output: %s", err, out)
-		}
-	}
-
-To run:
-
-	$ go test -run=XX -bench=BenchmarkServer -benchtime=15s -cpuprofile=http.prof
-	$ go tool pprof http.test http.prof
-
-
-* go list
-
-* go list
-
-	$ go help list
-	usage: go list [-e] [-f format] [-json] [build flags] [packages]
-
-	List lists the packages named by the import paths, one per line.
-
-Show the packages under a path:
-
-	$ go list golang.org/x/oauth2/...
-	golang.org/x/oauth2
-	...
-	golang.org/x/oauth2/vk
-
-Show the standard library:
-
-	$ go list std
-	archive/tar
-	...
-	unsafe
-
-Show all packages:
-
-	$ go list all
-
-* go list -json
-
-The `-json` flag tells you everything the go tool knows about a package:
-
-	$ go list -json bytes
-	{
-		"Dir": "/Users/adg/go/src/bytes",
-		"ImportPath": "bytes",
-		"Name": "bytes",
-		"Doc": "Package bytes implements functions for the manipulation of byte slices.",
-		"Target": "/Users/adg/go/pkg/darwin_amd64/bytes.a",
-		"Goroot": true,
-		"Standard": true,
-		"Stale": true,
-		"Root": "/Users/adg/go",
-		"GoFiles": [
-			"buffer.go",
-			"bytes.go",
-			"bytes_decl.go",
-			"reader.go"
-		],
-		...
-	}
-
-It's easy to write programs that consume this data.
-
-* go list's Package struct (1/3)
-
-The go tool's documented `Package` struct describes all the possible fields:
-
-	type Package struct {
-		Dir           string // directory containing package sources
-		ImportPath    string // import path of package in dir
-		ImportComment string // path in import comment on package statement
-		Name          string // package name
-		Doc           string // package documentation string
-		Target        string // install path
-		Shlib         string // the shared library that contains this package (only set when -linkshared)
-		Goroot        bool   // is this package in the Go root?
-		Standard      bool   // is this package part of the standard Go library?
-		Stale         bool   // would 'go install' do anything for this package?
-		Root          string // Go root or Go path dir containing this package
-
-		// (more fields on next slide)
-	}
-
-* go list's Package struct (2/3)
-
-	type Package struct {
-		// (more fields on previous slide)
-
-		// Source files
-		GoFiles        []string // .go source files (excluding CgoFiles, TestGoFiles, XTestGoFiles)
-		CgoFiles       []string // .go sources files that import "C"
-		IgnoredGoFiles []string // .go sources ignored due to build constraints
-		CFiles         []string // .c source files
-		CXXFiles       []string // .cc, .cxx and .cpp source files
-		MFiles         []string // .m source files
-		HFiles         []string // .h, .hh, .hpp and .hxx source files
-		SFiles         []string // .s source files
-		SwigFiles      []string // .swig files
-		SwigCXXFiles   []string // .swigcxx files
-		SysoFiles      []string // .syso object files to add to archive
-
-		// (more fields on next slide)
-	}
-
-* go list's Package struct (3/3)
-
-	type Package struct {
-		// (more fields on previous slide)
-
-		// Cgo directives
-		CgoCFLAGS    []string // cgo: flags for C compiler
-		CgoCPPFLAGS  []string // cgo: flags for C preprocessor
-		CgoCXXFLAGS  []string // cgo: flags for C++ compiler
-		CgoLDFLAGS   []string // cgo: flags for linker
-		CgoPkgConfig []string // cgo: pkg-config names
-
-		// Dependency information
-		Imports []string // import paths used by this package
-		Deps    []string // all (recursively) imported dependencies
-
-		// Error information
-		Incomplete bool            // this package or a dependency has an error
-		Error      *PackageError   // error loading package
-		DepsErrors []*PackageError // errors loading dependencies
-
-		TestGoFiles  []string // _test.go files in package
-		TestImports  []string // imports from TestGoFiles
-		XTestGoFiles []string // _test.go files outside package
-		XTestImports []string // imports from XTestGoFiles
-	}
-
-* go list -f (1/2)
-
-That's a ton of information, so what can we do with it?
-
-The `-f` flag lets you use Go's `text/template` package to format the ouput.
-
-Show package doc strings:
-
-	$ go list -f '{{.Doc}}' golang.org/x/oauth2/...
-	Package oauth2 provides support for making OAuth2 authorized and authenticated HTTP requests.
-	Package jwt implements the OAuth 2.0 JSON Web Token flow, commonly known as "two-legged OAuth 2.0".
-	...
-
-Show the Go files in a package:
-
-	$ go list -f '{{.GoFiles}}' bytes
-	[buffer.go bytes.go bytes_decl.go reader.go]
-
-Make the output cleaner with a `join`:
-
-	$ go list -f '{{join .GoFiles " "}}' bytes
-	buffer.go bytes.go bytes_decl.go reader.go 
-
-* go list -f (2/2)
-
-With template logic we can test packages for certain conditions.
-
-Find standard libraries that lack documentation:
-
-	$ go list -f '{{if not .Doc}}{{.ImportPath}}{{end}}' std
-	internal/format
-	internal/trace
-
-Find packages that depend (directly or indirectly) on a given package:
-
-	$ go list -f '{{range .Deps}}{{if eq . "golang.org/x/oauth2"}}{{$.ImportPath}}{{end}}{{end}}' all
-	golang.org/x/build/auth
-	golang.org/x/build/buildlet
-	golang.org/x/build/cmd/buildlet
-	...
-
-Find packages that are broken somehow (note `-e`):
-
-	$ go list -e -f '{{with .Error}}{{.}}{{end}}' all
-	package github.com/golang/oauth2: code in directory /Users/adg/src/github.com/golang/oauth2
-		expects import "golang.org/x/oauth2"
-	...
-
-* go list and the shell
-
-Things get interesting once we start using the shell.
-
-For instance, we can use `go` `list` output as input to the go tool.
-
-Test all packages except vendored packages:
-
-	$ go test $(go list ./... | grep -v '/vendor/')
-
-Test the dependencies of a specific package:
-
-	$ go test $(go list -f '{{join .Deps " "}}' golang.org/x/oauth2)
-
-The same, but don't test the standard library:
-
-	$ go test $(
-		go list -f '{{if (not .Goroot)}}{{.ImportPath}}{{end}}' $(
-			go list -f '{{join .Deps " "}}' golang.org/x/oauth2
-		)
-	)
-
-* go list printing line counts
-
-	for pkg in $(go list golang.org/x/oauth2/...); do
-		wc -l $(go list -f '{{range .GoFiles}}{{$.Dir}}/{{.}} {{end}}' $pkg) | \
-			tail -1 | awk '{ print $1 " '$pkg'" }'
-	done | sort -nr
-
-The output:
-
-	617 golang.org/x/oauth2/google
-	600 golang.org/x/oauth2
-	357 golang.org/x/oauth2/internal
-	160 golang.org/x/oauth2/jws
-	147 golang.org/x/oauth2/jwt
-	112 golang.org/x/oauth2/clientcredentials
-	22 golang.org/x/oauth2/paypal
-	16 golang.org/x/oauth2/vk
-	16 golang.org/x/oauth2/odnoklassniki
-	16 golang.org/x/oauth2/linkedin
-	16 golang.org/x/oauth2/github
-	16 golang.org/x/oauth2/facebook
-
-* go list generating dependency graphs
-
-	(   echo "digraph G {"
-		go list -f '{{range .Imports}}{{printf "\t%q -> %q;\n" $.ImportPath .}}{{end}}' \
-			$(go list -f '{{join .Deps " "}}' time) time
-		echo "}"
-	) | dot -Tsvg -o time-deps.svg
-
-.image tricks/time-deps.png 400 _
-
-
-* And there's more!
-
-There are many more fun corners of Go.
-Can you find them all? :-)
-
-Read the docs, explore, and have fun!
diff --git a/content/2015/tricks/anon-interface.go b/content/2015/tricks/anon-interface.go
deleted file mode 100644
index 71c0c02..0000000
--- a/content/2015/tricks/anon-interface.go
+++ /dev/null
@@ -1,15 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"bytes"
-	"fmt"
-)
-
-func main() {
-	var s interface {
-		String() string
-	} = bytes.NewBufferString("I'm secretly a fmt.Stringer!")
-	fmt.Println(s.String())
-}
diff --git a/content/2015/tricks/broadcastwriter/broadcastwriter.go b/content/2015/tricks/broadcastwriter/broadcastwriter.go
deleted file mode 100644
index 2e039c7..0000000
--- a/content/2015/tricks/broadcastwriter/broadcastwriter.go
+++ /dev/null
@@ -1,46 +0,0 @@
-package broadcastwriter
-
-import (
-	"io"
-	"sync"
-)
-
-type BroadcastWriter struct {
-	sync.Mutex
-	writers map[io.WriteCloser]struct{}
-}
-
-func (w *BroadcastWriter) AddWriter(writer io.WriteCloser) {
-	w.Lock()
-	w.writers[writer] = struct{}{}
-	w.Unlock()
-}
-
-func (w *BroadcastWriter) Write(p []byte) (n int, err error) {
-	w.Lock()
-	for sw := range w.writers {
-		if n, err := sw.Write(p); err != nil || n != len(p) {
-			delete(w.writers, sw)
-		}
-	}
-	w.Unlock()
-	return len(p), nil
-}
-
-// END OMIT
-
-func (w *BroadcastWriter) Clean() error {
-	w.Lock()
-	for w := range w.writers {
-		w.Close()
-	}
-	w.writers = make(map[io.WriteCloser]struct{})
-	w.Unlock()
-	return nil
-}
-
-func New() *BroadcastWriter {
-	return &BroadcastWriter{
-		writers: make(map[io.WriteCloser]struct{}),
-	}
-}
diff --git a/content/2015/tricks/compare-map.go b/content/2015/tricks/compare-map.go
deleted file mode 100644
index 6d5e112..0000000
--- a/content/2015/tricks/compare-map.go
+++ /dev/null
@@ -1,29 +0,0 @@
-// +build ignore
-
-package main
-
-import "io/ioutil"
-
-func main() {
-	// BEGIN OMIT
-	a := map[int]bool{}
-	a[42] = true
-
-	type T struct {
-		i int
-		s string
-	}
-
-	b := map[*T]bool{}
-	b[&T{}] = true
-
-	c := map[T]bool{}
-	c[T{37, "hello!"}] = true
-
-	d := map[interface{}]bool{}
-	d[42] = true
-	d[&T{}] = true
-	d[T{123, "four five six"}] = true
-	d[ioutil.Discard] = true
-	// END OMIT
-}
diff --git a/content/2015/tricks/compare.go b/content/2015/tricks/compare.go
deleted file mode 100644
index 89ca5d3..0000000
--- a/content/2015/tricks/compare.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// +build ignore
-
-package main
-
-import "fmt"
-
-func main() {
-	// BEGIN OMIT
-	var a, b int = 42, 42
-	fmt.Println(a == b)
-
-	var i, j interface{} = a, b
-	fmt.Println(i == j)
-
-	var s, t struct{ i interface{} }
-	s.i, t.i = a, b
-	fmt.Println(s == t)
-	// END OMIT
-}
diff --git a/content/2015/tricks/compare2.go b/content/2015/tricks/compare2.go
deleted file mode 100644
index 0271f90..0000000
--- a/content/2015/tricks/compare2.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// +build ignore
-
-package main
-
-import "fmt"
-
-func main() {
-	// BEGIN OMIT
-	var q, r struct{ s []string }
-	fmt.Println(q == r)
-	// END OMIT
-}
diff --git a/content/2015/tricks/cons.go b/content/2015/tricks/cons.go
deleted file mode 100644
index c69535c..0000000
--- a/content/2015/tricks/cons.go
+++ /dev/null
@@ -1,27 +0,0 @@
-// +build ignore
-
-package main
-
-import "fmt"
-
-type cons struct {
-	car string
-	cdr interface{}
-}
-
-func (c cons) String() string {
-	if c.cdr == nil || c.cdr == (cons{}) {
-		return c.car
-	}
-	return fmt.Sprintf("%v %v", c.car, c.cdr)
-}
-
-func main() {
-	m := map[cons]string{}
-	c := cons{}
-	for _, s := range []string{"life?", "with my", "I doing", "What am"} {
-		c = cons{s, c}
-	}
-	m[c] = "No idea."
-	fmt.Println(c, m[c])
-}
diff --git a/content/2015/tricks/embed.go b/content/2015/tricks/embed.go
deleted file mode 100644
index 0eb7e9c..0000000
--- a/content/2015/tricks/embed.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore
-
-package main
-
-import "fmt"
-
-// BEGIN OMIT
-type A struct {
-	s string
-}
-
-func (a A) String() string {
-	return fmt.Sprintf("A's String method called: %v", a.s)
-}
-
-type B struct {
-	A
-}
-
-func main() {
-	b := B{}
-	b.s = "some value"
-	fmt.Println(b)
-}
diff --git a/content/2015/tricks/json-decode.go b/content/2015/tricks/json-decode.go
deleted file mode 100644
index 313561e..0000000
--- a/content/2015/tricks/json-decode.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"encoding/json"
-	"fmt"
-	"log"
-)
-
-func main() {
-	var data struct {
-		ID   int
-		Name string
-	}
-	err := json.Unmarshal([]byte(`{"ID": 42, "Name": "The answer"}`), &data)
-	if err != nil {
-		log.Fatal(err)
-	}
-	fmt.Println(data.ID, data.Name)
-}
diff --git a/content/2015/tricks/json-encode.go b/content/2015/tricks/json-encode.go
deleted file mode 100644
index a7aab97..0000000
--- a/content/2015/tricks/json-encode.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"encoding/json"
-	"fmt"
-	"log"
-)
-
-func main() {
-	b, err := json.Marshal(struct {
-		ID   int
-		Name string
-	}{42, "The answer"})
-	if err != nil {
-		log.Fatal(err)
-	}
-	fmt.Printf("%s\n", b)
-}
diff --git a/content/2015/tricks/json-nest.go b/content/2015/tricks/json-nest.go
deleted file mode 100644
index 8063ae1..0000000
--- a/content/2015/tricks/json-nest.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"encoding/json"
-	"fmt"
-	"log"
-)
-
-func main() {
-	var data struct {
-		ID     int
-		Person struct {
-			Name string
-			Job  string
-		}
-	}
-	const s = `{"ID":42,"Person":{"Name":"George Costanza","Job":"Architect"}}`
-	err := json.Unmarshal([]byte(s), &data)
-	if err != nil {
-		log.Fatal(err)
-	}
-	fmt.Println(data.ID, data.Person.Name, data.Person.Job)
-}
diff --git a/content/2015/tricks/method-http.go b/content/2015/tricks/method-http.go
deleted file mode 100644
index ad20864..0000000
--- a/content/2015/tricks/method-http.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore
-
-package main
-
-import "net/http"
-
-func main() {}
-
-type Server struct {
-	// Server state.
-}
-
-func (s *Server) index(w http.ResponseWriter, r *http.Request)  { /* Implementation. */ }
-func (s *Server) edit(w http.ResponseWriter, r *http.Request)   { /* Implementation. */ }
-func (s *Server) delete(w http.ResponseWriter, r *http.Request) { /* Implementation. */ }
-
-func (s *Server) Register(mux *http.ServeMux) {
-	mux.HandleFunc("/", s.index)
-	mux.HandleFunc("/edit/", s.edit)
-	mux.HandleFunc("/delete/", s.delete)
-}
diff --git a/content/2015/tricks/method-once.go b/content/2015/tricks/method-once.go
deleted file mode 100644
index 7c2c12f..0000000
--- a/content/2015/tricks/method-once.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// +build ignore
-
-package main
-
-import "sync"
-
-type LazyPrimes struct {
-	once   sync.Once // Guards the primes slice.
-	primes []int
-}
-
-func (p *LazyPrimes) init() {
-	// Populate p.primes with prime numbers.
-}
-
-func (p *LazyPrimes) Primes() []int {
-	p.once.Do(p.init)
-	return p.primes
-}
diff --git a/content/2015/tricks/method-values-1.go b/content/2015/tricks/method-values-1.go
deleted file mode 100644
index c1a8ab1..0000000
--- a/content/2015/tricks/method-values-1.go
+++ /dev/null
@@ -1,16 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"bytes"
-	"os"
-)
-
-func main() {
-	var f func(*bytes.Buffer, string) (int, error)
-	var buf bytes.Buffer
-	f = (*bytes.Buffer).WriteString
-	f(&buf, "y u no buf.WriteString?")
-	buf.WriteTo(os.Stdout)
-}
diff --git a/content/2015/tricks/method-values-2.go b/content/2015/tricks/method-values-2.go
deleted file mode 100644
index 5ee0b41..0000000
--- a/content/2015/tricks/method-values-2.go
+++ /dev/null
@@ -1,17 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"bytes"
-	"os"
-)
-
-func main() {
-	var f func(string) (int, error)
-	var buf bytes.Buffer
-	f = buf.WriteString
-	f("Hey... ")
-	f("this *is* cute.")
-	buf.WriteTo(os.Stdout)
-}
diff --git a/content/2015/tricks/repeated.go b/content/2015/tricks/repeated.go
deleted file mode 100644
index 88fec40..0000000
--- a/content/2015/tricks/repeated.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore
-
-package main
-
-// BEGIN OMIT
-type Foo struct {
-	i int
-	s string
-}
-
-var s = []Foo{
-	{6 * 9, "Question"},
-	{42, "Answer"},
-}
-
-var m = map[int]Foo{
-	7: {6 * 9, "Question"},
-	3: {42, "Answer"},
-}
-
-// END OMIT
-
-func main() {}
diff --git a/content/2015/tricks/repeated2.go b/content/2015/tricks/repeated2.go
deleted file mode 100644
index 164158f..0000000
--- a/content/2015/tricks/repeated2.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// +build ignore
-
-package main
-
-// BEGIN1 OMIT
-var s = []struct {
-	i int
-	s string
-}{
-	struct {
-		i int
-		s string
-	}{6 * 9, "Question"},
-	struct {
-		i int
-		s string
-	}{42, "Answer"},
-}
-
-var t = []struct {
-	i int
-	s string
-}{
-	{6 * 9, "Question"},
-	{42, "Answer"},
-}
-
-// END OMIT
-
-func main() {}
diff --git a/content/2015/tricks/string_test.go b/content/2015/tricks/string_test.go
deleted file mode 100644
index d626c1d..0000000
--- a/content/2015/tricks/string_test.go
+++ /dev/null
@@ -1,29 +0,0 @@
-// +build ignore
-
-package strings_test
-
-import (
-	"strings"
-	"testing"
-)
-
-func TestIndex(t *testing.T) {
-	var tests = []struct {
-		s   string
-		sep string
-		out int
-	}{
-		{"", "", 0},
-		{"", "a", -1},
-		{"fo", "foo", -1},
-		{"foo", "foo", 0},
-		{"oofofoofooo", "f", 2},
-		// etc
-	}
-	for _, test := range tests {
-		actual := strings.Index(test.s, test.sep)
-		if actual != test.out {
-			t.Errorf("Index(%q,%q) = %v; want %v", test.s, test.sep, actual, test.out)
-		}
-	}
-}
diff --git a/content/2015/tricks/string_test2.go b/content/2015/tricks/string_test2.go
deleted file mode 100644
index ed692a2..0000000
--- a/content/2015/tricks/string_test2.go
+++ /dev/null
@@ -1,28 +0,0 @@
-// +build ignore
-
-package strings_test
-
-import (
-	"strings"
-	"testing"
-)
-
-func TestIndex(t *testing.T) {
-	for _, test := range []struct {
-		s   string
-		sep string
-		out int
-	}{
-		{"", "", 0},
-		{"", "a", -1},
-		{"fo", "foo", -1},
-		{"foo", "foo", 0},
-		{"oofofoofooo", "f", 2},
-		// etc
-	} {
-		actual := strings.Index(test.s, test.sep)
-		if actual != test.out {
-			t.Errorf("Index(%q,%q) = %v; want %v", test.s, test.sep, actual, test.out)
-		}
-	}
-}
diff --git a/content/2015/tricks/subprocess/subprocess.go b/content/2015/tricks/subprocess/subprocess.go
deleted file mode 100644
index 8fb8fc0..0000000
--- a/content/2015/tricks/subprocess/subprocess.go
+++ /dev/null
@@ -1,11 +0,0 @@
-package subprocess
-
-import (
-	"fmt"
-	"os"
-)
-
-func Crasher() {
-	fmt.Println("Going down in flames!")
-	os.Exit(1)
-}
diff --git a/content/2015/tricks/subprocess/subprocess_test.go b/content/2015/tricks/subprocess/subprocess_test.go
deleted file mode 100644
index fbdcecc..0000000
--- a/content/2015/tricks/subprocess/subprocess_test.go
+++ /dev/null
@@ -1,21 +0,0 @@
-package subprocess
-
-import (
-	"os"
-	"os/exec"
-	"testing"
-)
-
-func TestCrasher(t *testing.T) {
-	if os.Getenv("BE_CRASHER") == "1" {
-		Crasher()
-		return
-	}
-	cmd := exec.Command(os.Args[0], "-test.run=TestCrasher")
-	cmd.Env = append(os.Environ(), "BE_CRASHER=1")
-	err := cmd.Run()
-	if e, ok := err.(*exec.ExitError); ok && !e.Success() {
-		return
-	}
-	t.Fatalf("process ran with err %q, want exit status 1", err)
-}
diff --git a/content/2015/tricks/template.go b/content/2015/tricks/template.go
deleted file mode 100644
index f333a75..0000000
--- a/content/2015/tricks/template.go
+++ /dev/null
@@ -1,34 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"log"
-	"os"
-	"strings"
-	"text/template"
-)
-
-func main() {
-	tmpl := template.Must(template.New("").Parse(strings.TrimSpace(`
-Dear {{.Title}} {{.Lastname}},
-
-Congratulations on reaching Level {{.Rank}}!
-I'm sure your parents would say "Great job, {{.Firstname}}!"
-
-Sincerely,
-Rear Admiral Gopher
-	`)))
-	// BEGIN OMIT
-	data := struct {
-		Title               string
-		Firstname, Lastname string
-		Rank                int
-	}{
-		"Dr", "Carl", "Sagan", 7,
-	}
-	if err := tmpl.Execute(os.Stdout, data); err != nil {
-		log.Fatal(err)
-	}
-	// END OMIT
-}
diff --git a/content/2015/tricks/time-deps.png b/content/2015/tricks/time-deps.png
deleted file mode 100644
index 93ee00b..0000000
--- a/content/2015/tricks/time-deps.png
+++ /dev/null
Binary files differ
diff --git a/content/2015/using-go-types-for-tools.html b/content/2015/using-go-types-for-tools.html
deleted file mode 100644
index 2df0d0b..0000000
--- a/content/2015/using-go-types-for-tools.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html>
-<head>
-   <meta http-equiv="refresh" content="0; url=https://docs.google.com/presentation/d/13OvHYozAUBeISPRoLgG7kMBuja1NsU1D_mMlmbaYojk"/>
-</head>
-</html>
diff --git a/content/2016/applicative.slide b/content/2016/applicative.slide
deleted file mode 100644
index dbbdae1..0000000
--- a/content/2016/applicative.slide
+++ /dev/null
@@ -1,465 +0,0 @@
-Program your next server in Go
-
-Sameer Ajmani
-Manager, Go team
-Google
-@Sajma
-sameer@golang.org
-
-* Video
-
-This talk was presented at the [[http://applicative.acm.org/][ACM Applicative]] conference in New York City on June 1, 2016.
-
-.link https://www.youtube.com/watch?v=5bYO60-qYOI Watch the talk on YouTube
-
-* Outline
-
-1. What is Go, and who uses it?
-2. Comparing Go and other languages
-3. Code examples
-4. Concurrency
-5. Getting started
-
-* What is Go?
-
-"Go is an open source programming language that makes it easy to build simple, reliable, and efficient software."
-
-.link http://golang.org
-
-* History
-
-Design began in late 2007.
-
-- Robert Griesemer, Rob Pike, and Ken Thompson.
-- Ian Lance Taylor and Russ Cox.
-
-Open source since 2009 with a very active community.
-
-Language stable as of Go 1, early 2012.
-
-Go 1.7 is coming this August.
-
-* Why Go?
-
-Go is an answer to problems of scale at Google.
-
-.image ../2012/splash/datacenter.jpg 500 _
-
-* System Scale
-
-- designed to scale to 10⁶⁺ machines
-- everyday jobs run on 1000s of machines
-- jobs coordinate, interact with others in the system
-- lots going on at once
-
-Solution: great support for concurrency
-
-.image ../2012/waza/gophercomplex6.jpg
-
-* A Second Problem: Engineering Scale
-
-In 2011:
-
-- 5000+ developers across 40+ offices
-- 20+ changes per minute
-- 50% of code base changes every month
-- 50 million test cases executed per day
-- single code tree
-
-Solution: design the language for large code bases
-
-* Who uses Go at Google?
-
-Hundreds of projects. Thousands of Go programmers. Millions of lines of Go code.
-
-Public examples:
-
-- Flywheel: SPDY proxy for Chrome on mobile devices
-
-.image applicative/spdy.png 400 _
-
-* Who uses Go at Google?
-
-Hundreds of projects. Thousands of Go programmers. Millions of lines of Go code.
-
-Public examples:
-
-- Flywheel: SPDY proxy for Chrome on mobile devices
-- dl.google.com: Download server for Chrome, ChromeOS, Android SDK, Earth, etc.
-- Vitess: YouTube MySQL balancer
-- Seesaw: Linux Virtual Server (LVS) based load balancer
-- Lingo: Logs analysis in Go, migrated from Sawzall
-
-The target is networked servers, but Go is a great general-purpose language.
-
-* Who uses Go besides Google?
-
-.link http://golang.org/wiki/GoUsers
-
-Aerospike, BBC Worldwide, Bitbucket, Booking.com, Core OS, Datadog, Digital Ocean, Docker, Dropbox, Facebook, Getty Images, GitHub, GOV.UK, Heroku, IBM, Intel, InfluxDB, Iron.io, Kubernetes, Medium, MongoDB, Mozilla services, Netflix, New York Times, pool.ntp.org, Rackspace, Shutterfly, SmugMug, SoundCloud, SpaceX, Square, Stack Exchange, Thomson Reuters Eikon, Tumblr, Twitch, Twitter, Uber, VMWare ...
-
-.image ../2014/state-of-go/bus.jpg 300 _
-
-* Comparing Go and other languages
-
-* "Go: 90% Perfect, 100% of the time" -bradfitz, 2014
-
-.image ../2014/gocon-tokyo/funfast.svg
-
-# Brad Fitzpatrick, GoCon Tokyo, May 2014
-
-* Go has much in common with Java
-
-- C family (imperative, braces)
-- Statically typed
-- Garbage collected
-- Memory safe (nil references, runtime bounds checks)
-- Variables are always initialized (zero/nil/false)
-- Methods
-- Interfaces
-- Type assertions (`instanceof`)
-- Reflection
-
-* Go differs from Java in several ways
-
-Fast, efficient for computers:
-
-- Programs compile to machine code.  There's no VM.
-- Control over memory layout, fewer indirections
-
-Fun, fast for humans:
-
-- Simple, concise syntax
-- Statically linked binaries
-- Function values and lexical closures
-- Built-in strings (UTF-8)
-- Built-in generic maps and arrays/slices
-- Built-in concurrency
-
-* Go intentionally leaves out many features
-
-- No classes
-- No inheritance
-- No constructors
-- No `final`
-- No exceptions
-- No annotations
-- No user-defined generics
-
-* Why does Go leave out those features?
-
-Clarity is critical.
-
-When reading code, it should be clear what the program will do.
-
-When writing code, it should be clear how to make the program do what you want.
-
-Sometimes this means writing out a loop instead of invoking an obscure function.
-
-(Don't DRY out.)
-
-For more background on design:
-
-- [[http://commandcenter.blogspot.com/2012/06/less-is-exponentially-more.html][Less is exponentially more (Pike, 2012)]]
-- [[http://talks.golang.org/2012/splash.article][Go at Google: Language Design in the Service of Software Engineering (Pike, 2012)]]
-
-* Code examples
-
-* Go looks familiar
-
-Hello, world!
-
-.play applicative/hello/hello.go
-
-* Hello, web server
-
-.play applicative/hello/server.go
-
-Types follow names in declarations.
-Exported names are Capitalized.  Unexported names are not.
-
-* Example: Google Search frontend
-
-.play applicative/frontend.go /func main/,/func handleSearch/
-
-.link http://localhost:8080/search
-.link http://localhost:8080/search?q=golang
-.link http://localhost:8080/search?q=golang&output=json
-.link http://localhost:8080/search?q=golang&output=prettyjson
-
-* Validate the query
-
-.code applicative/frontend.go /func handleSearch/,/ENDQUERY/
-
-`FormValue` is a method on the type `*http.Request`:
-
-  package http
-  type Request struct {...}
-  func (r *Request) FormValue(key string) string {...}
-
-`query`:=`req.FormValue("q")` initializes a new variable `query` with
-the type of the expression on the right hand side, `string`.
-
-* Fetch the search results
-
-  import "golang.org/x/talks/content/2016/applicative/google"
-
-.code applicative/frontend.go /Run the Google search/,/ENDSEARCH/
-
-`Search` returns two values, a slice of results and an error.
-The results are valid only if the error is nil.
-
-  type error interface {
-      Error() string // a useful human-readable error message
-  }
-
-Errors may contain additional information, accessed via type assertions.
-
-* Structure the search results
-
-.code applicative/frontend.go /Create the structured/,/ENDRESPONSE/
-
-The `response` type is defined locally within `handleSearch`.
-
-The `google.Result` type is exported from package `google`:
-
-  package google
-
-  type Result struct { Title, URL string }
-
-The `resp` variable is initialized to a `response` value using a composite struct literal.
-
-
-* Render the search results
-
-.code applicative/frontend.go /Render the response/,/ENDRENDER/
-
-Each case writes bytes to an `io.Writer`:
-
-  type Writer interface {
-          Write(p []byte) (n int, err error)
-  }
-
-`http.ResponseWriter` implements the `io.Writer` interface.
-
-* HTML templates operate on Go values
-
-.play applicative/frontend.go /var responseTemplate/,/\)\)/
-
-.image applicative/frontend-screenshot.png _ 900
-
-* That's it for the search handler
-
-All the packages are from the standard library:
-
-  import (
-      "encoding/json"
-      "fmt"
-      "html/template"
-      "log"
-      "net/http"
-      "time"
-  )
-
-Go servers scale well: each request runs in its own _goroutine_.
-
-Let's talk about concurrency.
-
-* Communicating Sequential Processes (Hoare, 1978)
-
-Concurrent programs are structured as independent processes that
-execute sequentially and communicate by passing messages.
-
-Sequential execution is easy to understand.  Async callbacks are not.
-
-*Go*primitives:* goroutines, channels, and the `select` statement.
-
-* Goroutines
-
-Goroutines are like lightweight threads.
-
-They start with tiny stacks and resize as needed.
-
-Go programs can have hundreds of thousands of them.
-
-Start a goroutine using the `go` statement:
-
-  go f(args)
-
-The Go runtime schedules goroutines onto OS threads.
-
-Blocked goroutines don't use a thread.
-
-* Channels
-
-Channels provide communication between goroutines.
-
-  c := make(chan string)
-
-  // goroutine 1
-  c <- "hello!"
-
-  // goroutine 2
-  s := <-c
-  fmt.Println(s) // "hello!"
-
-* Select
-
-A `select` statement blocks until communication can proceed.
-
-  select {
-  case x := <-in:
-    fmt.Println("received", x)
-  case out <- v:
-    fmt.Println("sent", v)
-  }
-
-Only the selected case runs.
-
-* Example: Google Search (backend)
-
-Q: What does Google search do?
-
-A: Given a query, return a page of search results (and some ads).
-
-Q: How do we get the search results?
-
-A: Send the query to Web search, Image search, YouTube, Maps, News, etc., then mix the results.
-
-How do we implement this?
-
-* Google Search: A fake framework
-
-We can simulate a back end search with a random timeout up to 100ms.
-
-.code applicative/google/fake.go /START2/,/STOP2/
-
-* Google Search: Test the framework
-
-.play applicative/google-serial.go /func.main/,/}/ HLsearch
-
-* Google Search (serial)
-
-The `Search` function takes a query and returns a slice of `Results`.
-
-Search invokes the Web, Image, and Video searches serially, then constructs the `results` slice.
-
-.code applicative/google/serial.go /func Search/,/^}/
-.play applicative/google-serial.go /google.Search/
-
-* Google Search (parallel)
-
-Run the Web, Image, and Video searches concurrently, and wait for all results.
-
-The `func` literals are closures over `query` and `c`.
-
-.code applicative/google/parallel.go /func Search/,/^}/
-.play applicative/google-parallel.go /google.Search/
-
-* Google Search (timeout)
-
-Don't wait for slow servers.
-
-.code applicative/google/timeout.go /func Search/,/STOP/
-.play applicative/google-timeout.go /google.Search/ HLsearch
-
-* Avoid timeout
-
-Q: How do we avoid discarding results from slow servers?
-
-A: Replicate the servers.  Send requests to multiple replicas, and use the first response.
-
-.code applicative/google/first.go /func First/,/^}/
-
-* Using the First function
-
-.play applicative/first.go /func main/,/^}/
-
-* Google Search (replicated)
-
-Reduce tail latency using replicated back ends.
-
-.code applicative/google/first.go /START/,/STOP/
-.play applicative/google-replicated.go /google.Search/
-
-Go functions have simple, synchronous signatures.
-The use of concurrency is encapsulated.
-
-* What just happened?
-
-In just a few simple transformations we used Go's concurrency primitives to convert a
-
-- slow
-- sequential
-- failure-sensitive
-
-program into one that is
-
-- fast
-- concurrent
-- replicated
-- robust.
-
-No locks. No condition variables. No futures. No callbacks.
-
-* Getting started
-
-* You're interested in Go.  What next?
-
-Take the Go Tour online.
-
-.link http://tour.golang.org
-
-Then go deeper ...
-
-.link http://golang.org/wiki/Learn
-
-Still interested?
-
-Run a pilot project.
-
-* Run a pilot project
-
-Reduces the cost & risks of switching to a new technology,
-while helping your organization discover the benefits.
-
-1. Choose something small to write in Go (e.g., a microservice)
-2. Build a prototype with a friend
-
-- Find the libraries you need
-- Integrate with editors & IDEs
-- Integrate with build & test & deploy
-- Learn how to debug & profile your program
-
-3. Compare Go to what you use today
-
-- Isolate the language change; try not to change anything else.
-
-4. *Present*results*to*the*team*
-
-* Go is designed for tooling
-
-Go tools meet you where you are.  There's no one "Go IDE".
-
-- IDE & editor integration: Eclipse, IntelliJ, VisualStudio, SublimeText, emacs, vim, ...
-- [[http://play.golang.org][play.golang.org]]: online playground
-- `gofmt`: automatic formatting
-- `goimports`: automatic updates of package imports
-- `gocode`: automatic completion
-- the `go` tool: automatic fetch & build
-- `guru`: static analysis, bug finding, code navigation
-- [[http://godoc.org][godoc.org]]: open source package index and docs
-
-* Where to Go next
-
-Take the Go Tour online.
-
-.link http://tour.golang.org
-
-Lots more material.
-
-.link http://golang.org/wiki/Learn
-
-Great community.
-
-.link http://golang.org/project
diff --git a/content/2016/applicative/builtin.go b/content/2016/applicative/builtin.go
deleted file mode 100644
index 989ad9c..0000000
--- a/content/2016/applicative/builtin.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"sort"
-)
-
-func main() {
-	hellos := map[string]string{ // HLbuiltin
-		"English":  "Hello",   // HLstrings
-		"Mandarin": "您好",      // HLstrings
-		"Hindi":    "नमस्कार", // HLstrings
-	}
-	fmt.Println(hellos)               // HLfmt
-	var langs []string                // HLbuiltin
-	for lang, hello := range hellos { // HLbuiltin
-		fmt.Println(lang, ":", hello, "world!") // HLfmt
-		langs = append(langs, lang)             // HLbuiltin
-	}
-	sort.Strings(langs)                           // HLstrings
-	fmt.Printf("len(%v) = %d", langs, len(langs)) // HLfmt
-}
diff --git a/content/2016/applicative/channel.go b/content/2016/applicative/channel.go
deleted file mode 100644
index a1ee2e7..0000000
--- a/content/2016/applicative/channel.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// STARTMAIN1 OMIT
-type Ball struct{ hits int }
-
-func main() {
-	table := make(chan *Ball) // HL
-	go player("ping", table)
-
-	table <- new(Ball) // game on; toss the ball
-	time.Sleep(1 * time.Second)
-	<-table // game over; grab the ball
-}
-
-func player(name string, table chan *Ball) {
-	for i := 0; ; i++ {
-		ball := <-table // HL
-		ball.hits++
-		fmt.Println(name, i, "hit", ball.hits)
-		time.Sleep(100 * time.Millisecond)
-		table <- ball // HL
-	}
-}
-
-// STOPMAIN1 OMIT
diff --git a/content/2016/applicative/closure.go b/content/2016/applicative/closure.go
deleted file mode 100644
index a0daa9c..0000000
--- a/content/2016/applicative/closure.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func div(n, d int) (q, r int, err error) {
-	if d == 0 {
-		err = fmt.Errorf("%d/%d: divide by zero", n, d)
-		return
-	}
-	return n / d, n % d, nil
-}
-
-func main() {
-	var failures int
-
-	f := func(n, d int) { // HL
-		if q, r, err := div(n, d); err != nil {
-			fmt.Println(err)
-			failures++ // HL
-		} else {
-			fmt.Printf("%d/%d = %d leaving %d\n", n, d, q, r)
-		}
-	}
-
-	f(4, 3)
-	f(3, 0)
-	fmt.Println("failures:", failures)
-}
diff --git a/content/2016/applicative/error.go b/content/2016/applicative/error.go
deleted file mode 100644
index 5f68e5e..0000000
--- a/content/2016/applicative/error.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"errors"
-	"fmt"
-)
-
-// div divides n by d and returns the quotient and remainder.
-// It returns an error if d is zero.
-func div(n, d int) (q, r int, err error) { // HL
-	if d == 0 {
-		err = errors.New("divide by zero") // HL
-		return
-	}
-	return n / d, n % d, nil // HL
-}
-
-func main() {
-	fmt.Println(div(4, 3))
-	fmt.Println(div(3, 0))
-}
diff --git a/content/2016/applicative/first.go b/content/2016/applicative/first.go
deleted file mode 100644
index cffd44c..0000000
--- a/content/2016/applicative/first.go
+++ /dev/null
@@ -1,29 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-
-	"golang.org/x/talks/content/2016/applicative/google"
-)
-
-func init() {
-	rand.Seed(time.Now().UnixNano())
-}
-
-// START2 OMIT
-func main() {
-	start := time.Now()
-	search := google.First( // HL
-		google.FakeSearch("replica 1", "I'm #1!", ""),  // HL
-		google.FakeSearch("replica 2", "#2 wins!", "")) // HL
-	result := search("golang")
-	elapsed := time.Since(start)
-	fmt.Println(result)
-	fmt.Println(elapsed)
-}
-
-// STOP2 OMIT
diff --git a/content/2016/applicative/frontend-screenshot.png b/content/2016/applicative/frontend-screenshot.png
deleted file mode 100644
index 561c944..0000000
--- a/content/2016/applicative/frontend-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/content/2016/applicative/frontend.go b/content/2016/applicative/frontend.go
deleted file mode 100644
index 45f9f96..0000000
--- a/content/2016/applicative/frontend.go
+++ /dev/null
@@ -1,94 +0,0 @@
-// +build ignore,OMIT
-
-// The server program issues Google search requests. It serves on port 8080.
-//
-// The /search endpoint accepts these query params:
-//   q=the Google search query
-//
-// For example, http://localhost:8080/search?q=golang serves the first
-// few Google search results for "golang".
-package main
-
-import (
-	"encoding/json"
-	"fmt"
-	"html/template"
-	"log"
-	"net/http"
-	"time"
-
-	"golang.org/x/talks/content/2016/applicative/google"
-)
-
-func main() {
-	http.HandleFunc("/search", handleSearch) // HL
-	fmt.Println("serving on http://localhost:8080/search")
-	log.Fatal(http.ListenAndServe("localhost:8080", nil))
-}
-
-// handleSearch handles URLs like "/search?q=golang" by running a
-// Google search for "golang" and writing the results as HTML to w.
-// The query parameter "output" selects alternate output formats:
-// "json" for JSON, "prettyjson" for human-readable JSON.
-func handleSearch(w http.ResponseWriter, req *http.Request) { // HL
-	log.Println("serving", req.URL)
-
-	// Check the search query.
-	query := req.FormValue("q") // HL
-	if query == "" {
-		http.Error(w, `missing "q" URL parameter`, http.StatusBadRequest)
-		return
-	}
-	// ENDQUERY OMIT
-
-	// Run the Google search.
-	start := time.Now()
-	results, err := google.Search(query) // HL
-	elapsed := time.Since(start)
-	if err != nil {
-		http.Error(w, err.Error(), http.StatusInternalServerError)
-		return
-	}
-	// ENDSEARCH OMIT
-
-	// Create the structured response.
-	type response struct {
-		Results []google.Result
-		Elapsed time.Duration
-	}
-	resp := response{results, elapsed} // HL
-	// ENDRESPONSE OMIT
-
-	// Render the response.
-	switch req.FormValue("output") {
-	case "json":
-		err = json.NewEncoder(w).Encode(resp) // HL
-	case "prettyjson":
-		var b []byte
-		b, err = json.MarshalIndent(resp, "", "  ") // HL
-		if err == nil {
-			_, err = w.Write(b)
-		}
-	default: // HTML
-		err = responseTemplate.Execute(w, resp) // HL
-	}
-	// ENDRENDER OMIT
-	if err != nil {
-		log.Print(err)
-		return
-	}
-}
-
-var responseTemplate = template.Must(template.New("results").Parse(`
-<html>
-<head/>
-<body>
-  <ol>
-  {{range .Results}}
-    <li>{{.Title}} - <a href="{{.URL}}">{{.URL}}</a></li>
-  {{end}}
-  </ol>
-  <p>{{len .Results}} results in {{.Elapsed}}</p>
-</body>
-</html>
-`))
diff --git a/content/2016/applicative/func.go b/content/2016/applicative/func.go
deleted file mode 100644
index 4001d40..0000000
--- a/content/2016/applicative/func.go
+++ /dev/null
@@ -1,15 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-// div divides n by d and returns the quotient and remainder.
-func div(n, d int) (q, r int) { // HL
-	return n / d, n % d
-}
-
-func main() {
-	quot, rem := div(4, 3)
-	fmt.Println(quot, rem)
-}
diff --git a/content/2016/applicative/gofmt-after.go b/content/2016/applicative/gofmt-after.go
deleted file mode 100644
index 85a07d0..0000000
--- a/content/2016/applicative/gofmt-after.go
+++ /dev/null
@@ -1,11 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	for i := 0; i < 3; i++ {
-		fmt.Println("Hello, world")
-	}
-}
diff --git a/content/2016/applicative/goimports-after.go b/content/2016/applicative/goimports-after.go
deleted file mode 100644
index aa8c9f7..0000000
--- a/content/2016/applicative/goimports-after.go
+++ /dev/null
@@ -1,13 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-
-	"golang.org/x/tools/present"
-)
-
-func main() {
-	fmt.Println(present.Image{})
-}
diff --git a/content/2016/applicative/goimports-before.go b/content/2016/applicative/goimports-before.go
deleted file mode 100644
index 6744f32..0000000
--- a/content/2016/applicative/goimports-before.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-func main() {
-	fmt.Println(present.Image{})
-}
diff --git a/content/2016/applicative/google-parallel.go b/content/2016/applicative/google-parallel.go
deleted file mode 100644
index a73f950..0000000
--- a/content/2016/applicative/google-parallel.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-
-	"golang.org/x/talks/content/2016/applicative/google"
-)
-
-func init() {
-	rand.Seed(time.Now().UnixNano())
-}
-
-func main() {
-	start := time.Now()
-	results, err := google.SearchParallel("golang") // HLsearch
-	elapsed := time.Since(start)
-	fmt.Println(results)
-	fmt.Println(elapsed, err)
-}
diff --git a/content/2016/applicative/google-replicated.go b/content/2016/applicative/google-replicated.go
deleted file mode 100644
index 3d8a37b..0000000
--- a/content/2016/applicative/google-replicated.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-
-	"golang.org/x/talks/content/2016/applicative/google"
-)
-
-func init() {
-	rand.Seed(time.Now().UnixNano())
-}
-
-func main() {
-	start := time.Now()
-	results, err := google.SearchReplicated("golang", 80*time.Millisecond) // HLsearch
-	elapsed := time.Since(start)
-	fmt.Println(results)
-	fmt.Println(elapsed, err)
-}
diff --git a/content/2016/applicative/google-serial.go b/content/2016/applicative/google-serial.go
deleted file mode 100644
index fcf3d3b..0000000
--- a/content/2016/applicative/google-serial.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-
-	"golang.org/x/talks/content/2016/applicative/google"
-)
-
-func init() {
-	rand.Seed(time.Now().UnixNano())
-}
-
-func main() {
-	start := time.Now()
-	results, err := google.Search("golang") // HLsearch
-	elapsed := time.Since(start)
-	fmt.Println(results)
-	fmt.Println(elapsed, err)
-}
diff --git a/content/2016/applicative/google-timeout.go b/content/2016/applicative/google-timeout.go
deleted file mode 100644
index 00d3ed9..0000000
--- a/content/2016/applicative/google-timeout.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// +build ignore
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-
-	"golang.org/x/talks/content/2016/applicative/google"
-)
-
-func init() {
-	rand.Seed(time.Now().UnixNano())
-}
-
-func main() {
-	start := time.Now()
-	results, err := google.SearchTimeout("golang", 80*time.Millisecond) // HLsearch
-	elapsed := time.Since(start)
-	fmt.Println(results)
-	fmt.Println(elapsed, err)
-}
diff --git a/content/2016/applicative/google/fake.go b/content/2016/applicative/google/fake.go
deleted file mode 100644
index 75f1294..0000000
--- a/content/2016/applicative/google/fake.go
+++ /dev/null
@@ -1,42 +0,0 @@
-package google
-
-import (
-	"fmt"
-	"math/rand"
-	"time"
-)
-
-// START2 OMIT
-var (
-	Web   = FakeSearch("web", "The Go Programming Language", "http://golang.org")
-	Image = FakeSearch("image", "The Go gopher", "https://blog.golang.org/gopher/gopher.png")
-	Video = FakeSearch("video", "Concurrency is not Parallelism", "https://www.youtube.com/watch?v=cN_DpYBzKso")
-)
-
-type SearchFunc func(query string) Result // HL
-
-func FakeSearch(kind, title, url string) SearchFunc {
-	return func(query string) Result {
-		time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond) // HL
-		return Result{
-			Title: fmt.Sprintf("%s(%q): %s", kind, query, title),
-			URL:   url,
-		}
-	}
-}
-
-// STOP2 OMIT
-
-// String returns the result's title, followed by a newline.
-func (r Result) String() string { return r.Title + "\n" }
-
-var (
-	Web1   = FakeSearch("web1", "The Go Programming Language", "http://golang.org")
-	Web2   = FakeSearch("web2", "The Go Programming Language", "http://golang.org")
-	Image1 = FakeSearch("image1", "The Go gopher", "https://blog.golang.org/gopher/gopher.png")
-	Image2 = FakeSearch("image2", "The Go gopher", "https://blog.golang.org/gopher/gopher.png")
-	Video1 = FakeSearch("video1", "Concurrency is not Parallelism",
-		"https://www.youtube.com/watch?v=cN_DpYBzKso")
-	Video2 = FakeSearch("video2", "Concurrency is not Parallelism",
-		"https://www.youtube.com/watch?v=cN_DpYBzKso")
-)
diff --git a/content/2016/applicative/google/first.go b/content/2016/applicative/google/first.go
deleted file mode 100644
index 796083c..0000000
--- a/content/2016/applicative/google/first.go
+++ /dev/null
@@ -1,46 +0,0 @@
-package google
-
-import (
-	"errors"
-	"time"
-)
-
-func First(replicas ...SearchFunc) SearchFunc { // HL
-	return func(query string) Result {
-		c := make(chan Result, len(replicas))
-		searchReplica := func(i int) {
-			c <- replicas[i](query)
-		}
-		for i := range replicas {
-			go searchReplica(i) // HL
-		}
-		return <-c
-	}
-}
-
-// START OMIT
-var (
-	replicatedWeb   = First(Web1, Web2)     // HL
-	replicatedImage = First(Image1, Image2) // HL
-	replicatedVideo = First(Video1, Video2) // HL
-)
-
-func SearchReplicated(query string, timeout time.Duration) ([]Result, error) {
-	timer := time.After(timeout)
-	c := make(chan Result, 3)
-	go func() { c <- replicatedWeb(query) }()   // HL
-	go func() { c <- replicatedImage(query) }() // HL
-	go func() { c <- replicatedVideo(query) }() // HL
-	// STOP OMIT
-
-	var results []Result
-	for i := 0; i < 3; i++ {
-		select {
-		case result := <-c:
-			results = append(results, result)
-		case <-timer:
-			return results, errors.New("timed out")
-		}
-	}
-	return results, nil
-}
diff --git a/content/2016/applicative/google/parallel.go b/content/2016/applicative/google/parallel.go
deleted file mode 100644
index 67434ce..0000000
--- a/content/2016/applicative/google/parallel.go
+++ /dev/null
@@ -1,10 +0,0 @@
-package google
-
-func SearchParallel(query string) ([]Result, error) {
-	c := make(chan Result)
-	go func() { c <- Web(query) }()
-	go func() { c <- Image(query) }()
-	go func() { c <- Video(query) }()
-
-	return []Result{<-c, <-c, <-c}, nil
-}
diff --git a/content/2016/applicative/google/serial.go b/content/2016/applicative/google/serial.go
deleted file mode 100644
index 1a723aa..0000000
--- a/content/2016/applicative/google/serial.go
+++ /dev/null
@@ -1,17 +0,0 @@
-package google
-
-// START1 OMIT
-type Result struct {
-	Title, URL string
-}
-
-func Search(query string) ([]Result, error) {
-	results := []Result{
-		Web(query),
-		Image(query),
-		Video(query),
-	}
-	return results, nil
-}
-
-// STOP1 OMIT
diff --git a/content/2016/applicative/google/timeout.go b/content/2016/applicative/google/timeout.go
deleted file mode 100644
index eef1503..0000000
--- a/content/2016/applicative/google/timeout.go
+++ /dev/null
@@ -1,26 +0,0 @@
-package google
-
-import (
-	"errors"
-	"time"
-)
-
-func SearchTimeout(query string, timeout time.Duration) ([]Result, error) { // HL
-	timer := time.After(timeout) // HL
-	c := make(chan Result, 3)
-	go func() { c <- Web(query) }()
-	go func() { c <- Image(query) }()
-	go func() { c <- Video(query) }()
-
-	var results []Result
-	for i := 0; i < 3; i++ {
-		select { // HL
-		case result := <-c: // HL
-			results = append(results, result)
-		case <-timer: // HL
-			return results, errors.New("timed out")
-		}
-	}
-	return results, nil
-	// STOP OMIT
-}
diff --git a/content/2016/applicative/google1.jpg b/content/2016/applicative/google1.jpg
deleted file mode 100644
index e52e5f0..0000000
--- a/content/2016/applicative/google1.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2016/applicative/google14.jpg b/content/2016/applicative/google14.jpg
deleted file mode 100644
index f83bb9b..0000000
--- a/content/2016/applicative/google14.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2016/applicative/google17.jpg b/content/2016/applicative/google17.jpg
deleted file mode 100644
index 909b579..0000000
--- a/content/2016/applicative/google17.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2016/applicative/google20.jpg b/content/2016/applicative/google20.jpg
deleted file mode 100644
index 1ba9213..0000000
--- a/content/2016/applicative/google20.jpg
+++ /dev/null
Binary files differ
diff --git a/content/2016/applicative/goroutine.go b/content/2016/applicative/goroutine.go
deleted file mode 100644
index 747ea47..0000000
--- a/content/2016/applicative/goroutine.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// STARTMAIN1 OMIT
-type Ball struct{ hits int }
-
-func main() {
-	go player("ping", new(Ball)) // HL
-	time.Sleep(1 * time.Second)
-}
-
-func player(name string, ball *Ball) {
-	for i := 0; ; i++ {
-		ball.hits++
-		fmt.Println(name, i, "hit", ball.hits)
-		time.Sleep(100 * time.Millisecond)
-	}
-}
-
-// STOPMAIN1 OMIT
diff --git a/content/2016/applicative/hello/Main.class b/content/2016/applicative/hello/Main.class
deleted file mode 100644
index cccf827..0000000
--- a/content/2016/applicative/hello/Main.class
+++ /dev/null
Binary files differ
diff --git a/content/2016/applicative/hello/Main.java b/content/2016/applicative/hello/Main.java
deleted file mode 100644
index 73a4d22..0000000
--- a/content/2016/applicative/hello/Main.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class Main {
-    public static void main(String[] args) {
-        System.out.println("Hello, world!");
-    }
-}
diff --git a/content/2016/applicative/hello/hello.go b/content/2016/applicative/hello/hello.go
deleted file mode 100644
index c84b1d7..0000000
--- a/content/2016/applicative/hello/hello.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Println("Hello, 世界!")
-}
diff --git a/content/2016/applicative/hello/server.go b/content/2016/applicative/hello/server.go
deleted file mode 100644
index 69bfac1..0000000
--- a/content/2016/applicative/hello/server.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"log"
-	"net/http"
-)
-
-func main() {
-	http.HandleFunc("/hello", handleHello) // HL
-	fmt.Println("serving on http://localhost:7777/hello")
-	log.Fatal(http.ListenAndServe("localhost:7777", nil))
-}
-
-func handleHello(w http.ResponseWriter, req *http.Request) {
-	log.Println("serving", req.URL)
-	fmt.Fprintln(w, "Hello, 世界!") // HL
-}
diff --git a/content/2016/applicative/interface.go b/content/2016/applicative/interface.go
deleted file mode 100644
index ca1021a..0000000
--- a/content/2016/applicative/interface.go
+++ /dev/null
@@ -1,33 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bytes"
-	"fmt"
-)
-
-type Point struct {
-	X, Y int
-}
-
-type Rectangle struct {
-	Min, Max Point
-}
-
-func (r Rectangle) String() string {
-	var buf bytes.Buffer
-	for h := 0; h < r.Max.Y-r.Min.Y; h++ {
-		for w := 0; w < r.Max.X-r.Min.X; w++ {
-			buf.WriteString("#")
-		}
-		buf.WriteString("\n")
-	}
-	return buf.String()
-}
-
-func main() {
-	fmt.Println(Rectangle{Max: Point{20, 5}})
-}
-
-// EOF OMIT
diff --git a/content/2016/applicative/method.go b/content/2016/applicative/method.go
deleted file mode 100644
index 15077fa..0000000
--- a/content/2016/applicative/method.go
+++ /dev/null
@@ -1,35 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"bytes"
-	"fmt"
-)
-
-type Point struct {
-	X, Y int
-}
-
-type Rectangle struct {
-	Min, Max Point
-}
-
-func (r Rectangle) String() string { // HL
-	var buf bytes.Buffer
-	for h := 0; h < r.Max.Y-r.Min.Y; h++ {
-		for w := 0; w < r.Max.X-r.Min.X; w++ {
-			buf.WriteString("#")
-		}
-		buf.WriteString("\n")
-	}
-	return buf.String()
-}
-
-func main() {
-	r := Rectangle{Max: Point{20, 5}}
-	s := r.String() // HL
-	fmt.Println(s)
-}
-
-// EOF OMIT
diff --git a/content/2016/applicative/panic.go b/content/2016/applicative/panic.go
deleted file mode 100644
index d2c935f..0000000
--- a/content/2016/applicative/panic.go
+++ /dev/null
@@ -1,15 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-// div divides n by d and returns the quotient and remainder.
-func div(n, d int) (q, r int) {
-	return n / d, n % d
-}
-
-func main() {
-	quot, rem := div(4, 0) // HL
-	fmt.Println(quot, rem)
-}
diff --git a/content/2016/applicative/pingpipe.go b/content/2016/applicative/pingpipe.go
deleted file mode 100644
index e22b851..0000000
--- a/content/2016/applicative/pingpipe.go
+++ /dev/null
@@ -1,38 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// STARTMAIN1 OMIT
-type Ball struct{ hits int }
-
-func main() {
-	in, out := make(chan *Ball), make(chan *Ball) // HL
-	go player("ping", in, out)
-	go player("pong", in, out)
-
-	go func() {
-		for i := 0; i < 8; i++ {
-			in <- new(Ball) // feed the pipeline // HL
-		}
-	}()
-	for i := 0; i < 8; i++ {
-		<-out // drain the pipeline // HL
-	}
-}
-
-func player(name string, in <-chan *Ball, out chan<- *Ball) { // HL
-	for i := 0; ; i++ {
-		ball := <-in // HL
-		ball.hits++
-		fmt.Println(name, i, "hit", ball.hits)
-		time.Sleep(100 * time.Millisecond)
-		out <- ball // HL
-	}
-}
-
-// STOPMAIN1 OMIT
diff --git a/content/2016/applicative/pingpong.go b/content/2016/applicative/pingpong.go
deleted file mode 100644
index 2d7664a..0000000
--- a/content/2016/applicative/pingpong.go
+++ /dev/null
@@ -1,33 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// STARTMAIN1 OMIT
-type Ball struct{ hits int }
-
-func main() {
-	table := make(chan *Ball)
-	go player("ping", table)
-	go player("pong", table) // HL
-
-	table <- new(Ball) // game on; toss the ball
-	time.Sleep(1 * time.Second)
-	<-table // game over; grab the ball
-}
-
-func player(name string, table chan *Ball) {
-	for i := 0; ; i++ {
-		ball := <-table
-		ball.hits++
-		fmt.Println(name, i, "hit", ball.hits)
-		time.Sleep(100 * time.Millisecond)
-		table <- ball
-	}
-}
-
-// STOPMAIN1 OMIT
diff --git a/content/2016/applicative/pingselect.go b/content/2016/applicative/pingselect.go
deleted file mode 100644
index 03dcb1e..0000000
--- a/content/2016/applicative/pingselect.go
+++ /dev/null
@@ -1,37 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// STARTMAIN1 OMIT
-type Ball struct{ hits int }
-
-func main() {
-	in, out := make(chan *Ball), make(chan *Ball)
-	go player("ping", in, out)
-	go player("pong", in, out)
-
-	for i := 0; i < 8; {
-		select { // HL
-		case in <- new(Ball): // feed the pipeline // HL
-		case <-out: // drain the pipeline // HL
-			i++ // HL
-		} // HL
-	}
-}
-
-func player(name string, in <-chan *Ball, out chan<- *Ball) {
-	for i := 0; ; i++ {
-		ball := <-in
-		ball.hits++
-		fmt.Println(name, i, "hit", ball.hits)
-		time.Sleep(100 * time.Millisecond)
-		out <- ball
-	}
-}
-
-// STOPMAIN1 OMIT
diff --git a/content/2016/applicative/player.go b/content/2016/applicative/player.go
deleted file mode 100644
index 96df122..0000000
--- a/content/2016/applicative/player.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-// STARTMAIN1 OMIT
-type Ball struct{ hits int }
-
-func main() {
-	player("ping", new(Ball))
-}
-
-func player(name string, ball *Ball) {
-	for i := 0; ; i++ {
-		ball.hits++
-		fmt.Println(name, i, "hit", ball.hits)
-		time.Sleep(100 * time.Millisecond)
-	}
-}
-
-// STOPMAIN1 OMIT
diff --git a/content/2016/applicative/pointer.go b/content/2016/applicative/pointer.go
deleted file mode 100644
index eb52944..0000000
--- a/content/2016/applicative/pointer.go
+++ /dev/null
@@ -1,36 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-// START TYPES OMIT
-type Point struct {
-	X, Y int
-}
-
-type Rectangle struct {
-	Min, Max Point
-}
-
-// END TYPES OMIT
-
-func main() {
-	var r0 Rectangle
-
-	r1 := r0 // struct copy
-
-	r1.Min.X, r1.Min.Y = -1, -1
-	r1.Max = Point{X: 2}
-
-	fmt.Printf("r0 is %+v\n", r0)
-	fmt.Printf("r1 is %v\n", r1)
-
-	y := &r1.Max.Y // y is a *int // HL
-	*y = 5         // HL
-	fmt.Println(y, "points to", *y)
-
-	min := &r1.Min // min is a *Point // HL
-	min.X = 7      // HL
-	fmt.Printf("r1 is %v\n", r1)
-}
diff --git a/content/2016/applicative/safe.go b/content/2016/applicative/safe.go
deleted file mode 100644
index 234b4d2..0000000
--- a/content/2016/applicative/safe.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func newInt(v int) *int {
-	var n = v
-	return &n // HL
-}
-
-func inc(p *int) {
-	*p++ // try removing * // HL
-}
-
-func main() {
-	p := newInt(3)
-	inc(p)
-	fmt.Println(p, "points to", *p)
-}
diff --git a/content/2016/applicative/spdy.png b/content/2016/applicative/spdy.png
deleted file mode 100644
index bbc0650..0000000
--- a/content/2016/applicative/spdy.png
+++ /dev/null
Binary files differ
diff --git a/content/2016/applicative/struct.go b/content/2016/applicative/struct.go
deleted file mode 100644
index 34fa0fa..0000000
--- a/content/2016/applicative/struct.go
+++ /dev/null
@@ -1,36 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-// START SLICES OMIT
-var arr [8]Rectangle
-
-var (
-	rects  = arr[2:4]
-	rects2 = []Rectangle{rects[0], rects[1]}
-)
-
-// START TYPES OMIT
-type Point struct {
-	X, Y int
-}
-
-type Rectangle struct {
-	Min, Max Point
-}
-
-// END TYPES OMIT
-
-func main() {
-	var r0 Rectangle
-
-	r1 := r0 // struct copy
-
-	r1.Min.X, r1.Min.Y = -1, -1
-	r1.Max = Point{X: 2}
-
-	fmt.Printf("r0 is %+v\n", r0)
-	fmt.Printf("r1 is %v\n", r1)
-}
diff --git a/content/2016/asm.slide b/content/2016/asm.slide
deleted file mode 100644
index d75231d..0000000
--- a/content/2016/asm.slide
+++ /dev/null
@@ -1,389 +0,0 @@
-The Design of the Go Assembler
-
-Gophercon
-12 July 2016
-
-Rob Pike
-Google
-@rob_pike
-[[http://golang.org/s/plusrob][+RobPikeTheHuman]]
-http://golang.org/
-
-* Presentation on youtube.com
-
-Video is [[https://www.youtube.com/watch?v=KINIAgRpkDA][here]].
-
-
-* Motivation
- 
-_Why_Learn_Assembler_Language?_
-
-_The_most_important_single_thing_to_realize_about_assembler_language_is_that_it_enables_the_programmer_to_use_all_System/360_machine_functions_as_if_he_were_coding_in_System/360_machine_language._
-
-— A Programmer's Introduction to IBM System/360 Assembler Language, 1970, page 4
-
-* We still need assembly language
-
-Once it was all you needed, then high-level languages like FORTRAN and COBOL came along.
-
-But still needed today:
-
-- environment bootstrap (operating system and program startup, runtime)
-- low-level library code such as stack management and context switching
-- performance (`math/big`)
-- access to features not exposed in language such as crypto instructions
-
-Also, perhaps most important: It's how we talk about the machine.
-
-Knowing assembly, even a little, means understanding computers better.
-
-* What does it look like?
-
-Some examples...
-
-* IBM System/360
-
-.code asm/360.s.txt
-
-* Apollo 11 Guidance Computer
-
-.code asm/apollo.s.txt
-
-* PDP-10
-
-.code asm/pdp10.s.txt
-
-(From the MIT PDP-10 Info file)
-
-* PDP-11
-
-.code asm/pdp11.s.txt
-
-(From Unix v6 `as/as13.s`)
-
-* Motorola 68000
-
-.code asm/68000.s.txt
-
-(From Wikipedia)             
-
-* CRAY-1
-
-.code asm/cray1.s.txt
-
-(From Robert Griesemer's PhD thesis)
-
-
-* Common structure
-
-Columnar layout with function and variable declarations, labels, instructions.
-
-Instructions:
-
-	subroutine header
-	label:
-		instruction operand...	; comment
-		...
-
-Operands:
-
-	register
-	literal constant
-	address
-	register indirection (register as address)
-	...
-
-There are exceptions such as Cray (`A5` `A5+A14`) but they aren't conceptually different.
-
-CPUs are all pretty much the same.
-
-* Use that commonality
-
-We can use the common structure of all assemblers (CPUs, really) to construct a common grammar for all architectures.
-
-This realization took some time.
-
-The seeds were planted long ago.
-
-* Plan 9 assembly
-
-Around 1986, Ken Thompson wrote a C compiler for the National 32000 (Sequent SMP).
-Compiler generated pseudo-code, linker did instruction assignment.
-
-The "assembler" was just a way to write that pseudo-code textually.
-
-	MOVW    $0, var
-
-might become (hypothetical example)
-
-	XORW    R1, R1
-	STORE   R1, var
-
-Note assembler emits the `MOVW`; the linker generates `XORW` and `STORE`.
-We call this _instruction_selection_.
-
-Or consider `RET`, which becomes `RET` or `JMP` `LR` or `JMP` `(R31)` or ...
-
-The assembler is just a way to hand-write the output the compiler produces.
-(Compiler does not feed assembler, unlike in many other systems.)
-
-* The pieces
-
-.image asm/arch1.png
-
-* The Plan 9 assemblers
-
-Assembler for each architecture was a separate C program with a Yacc grammar,
-adapted and partially rewritten for every architecture.
-
-`8a`, `6a`, `va` etc. corresponding to `8c`, `6c` `vc`, etc.
-(One-letter codes: `8` for 386, `6` for AMD64, `v` for MIPS, etc.)
-
-All very similar up front but different in detail.
-
-The earliest Go implementations used this design, adding Go compilers `8g`, `6g` but using the Plan 9 assemblers unchanged.
-
-The separation of (compiler/assembler)⇒linker allowed the Go linker to do more, including helping boot the runtime.
-
-* Go 1.3: Rearrange the pieces
-
-Goal: Move to a pure Go implementation.
-Preparation started in Go 1.3
-
-New library that (in part) does instruction selection: `"liblink"` (as of 1.5, `"obj"`).
-Call it from the compiler.
-
-Thus the first part of the old linker is now in the compiler.
-The compiler now emits (mostly) real instructions, not pseudo-instructions.
-
-Result: Slower compiler, but faster build.
-Instruction selection for library code done once, not every time you link a program.
-
-Assemblers also use `obj`.
-
-For both compiler and assembler, the _input_ is unchanged.
-In fact the whole _process_ is the same, just arranged differently.
-
-* The old pieces
-
-.image asm/arch1.png
-
-
-* The new pieces
-
-.image asm/arch2.png
-
-
-* Go 1.5: C must Go
-
-More prep in Go 1.4, then in Go 1.5, all tooling moved to Go.
-
-Compiler and linker machine-translated from C to Go.
-The old `liblink` became a new suite of libraries, `obj/...`:
-
-- `cmd/internal/obj`  (portable part)
-- `cmd/internal/obj/x86`    (architecture-specific part)
-- `cmd/internal/obj/arm`    (architecture-specific part)
-- ...
- 
-Previous presentations about this work:
-
-- Russ Cox at Gophercon 2014 (out of date): [[youtube.com/watch?v=QIE5nV5fDwA]]
-- Rob Pike at Gopherfest 2015: [[youtube.com/watch?v=cF1zJYkBW4A]]
-* Go 1.5: Compiler and linker as single programs
-
-The many compilers (`6g`, `8g` etc.) were replaced with a single tool: `compile`.
-`GOOS` and `GOARCH` (only!) specify the target operating system and architecture.
-
-	GOOS=darwin GOARCH=arm go tool compile prog.go
-
-Same for the linker: `6l`, `8l`, etc. become `go` `tool` `link`.
-
-How can a single binary handle all these architectures?
-
-Only one input language, only one output generator (the `obj` library).
-The target is configured when the tool starts.
-
-* Go 1.5 Assembler
-
-Unlike the old compilers, which shared much code, the old assemblers were all different programs.
-(Although they were very similar inside, they shared almost no code.)
-
-Proposal: Write a single `go` `tool` `asm` from scratch in Go, replacing all the old assemblers.
-
-`GOOS` and `GOARCH` tell you what the target is.
-
-But assembly language isn't Go. Every machine has a different assembly language.
-
-Well, not really! Not quite universal across machines, but ...
-
-* An example program
-
-Look at the generated assembly for this simple program:
-
-.code asm/add.go
-
-For each architecture, with some noise edited out:
-
-* 32-bit x86 (386)
-
-.code asm/386.s.txt
-
-* 64-bit x86 (amd64)
-
-.code asm/amd64.s.txt
-
-* 32-bit arm
-
-.code asm/arm.s.txt
-
-* 64-bit arm (arm64)
-
-.code asm/arm64.s.txt
-
-* S390 (s390x)
-
-.code asm/s390x.s.txt
-
-* 64-bit MIPS (mips64)
-
-.code asm/mips64.s.txt
-
-* 64-bit Power (ppc64le)
-
-.code asm/ppc64le.s.txt
-
-* Common grammar
-
-They all look the same. (Partly by design, partly because they _are_ the same.)
-
-The only significant variation is the names of instructions and registers.
-Many details hidden, such as what `RET` is. (It's a pseudo-instruction.)
-
-(Offsets are determined by size of `int`, among other things.)
-
-The fortuitous syntax originated in Ken's National 32000 assembler.
-
-With common syntax and the `obj` library, can build a single assembler for all CPUs.
-
-* Aside: Downside
-
-Not the same assembly notation as the manufacturers'.
-Can be offputting to outsiders.
-
-On the other hand, this approach uses the same notation on all machines.
-New architectures can arrive without creating or learning new notation.
-
-A tradeoff worth making.
-
-* Design of the Go 1.5 assembler
-
-The apotheosis of assemblers.
-
-New program, entirely in Go.
-
-Common lexer and parser across all architectures.
-Each instruction parsed into an instruction description.
-That becomes a data structure passed to the new `obj` library.
-
-The core of the assembler has very little per-machine information.
-Instead, tables are constructed at run time, flavored by `$GOARCH`.
-
-An internal package, `cmd/asm/internal/arch`, creates these tables on the fly.
-Machine details are loaded from `obj`.
-
-* An example: initializing the 386
-
-.code asm/arch386._go /^import/,$
-
-Parser just does string matching to find the instruction.
-
-* An example: ADDW on 386
-
-Given an assembly run with `GOOS=386`, the instruction
-
-	ADDW AX, BX
-
-is parsed into in a data structure schematically like:
-
-	&obj.Prog{
-		As: arch.Instructions["ADDW"],
-		From: obj.Addr{Reg: arch.Register["AX"]},
-		To: obj.Addr{Reg: arch.Register["BX"]},
-		...
-	}
-
-That gets passed to the `obj` library for encoding as a 386 instruction.
-
-This is a purely mechanical process devoid of semantics.
-
-* Validation
-
-Assembler does some validation:
-
-- lexical and syntactic correctness
-- operand syntax
-- (with some variation. e.g.: `[R2,R5,R8,g]` only legal on ARM)
-
-But all semantic checking is done by the `obj` library.
-
-If it can be turned into real instructions, it's legal!
-
-* Testing
-
-New assembler was tested against the old (C-written) ones.
-
-A/B testing at the bit level: Same input must give same output.
-Also reworked some parts of `obj` packages for better diagnostics and debugging.
-
-Did `386` first, then `amd64`, `arm`, and `ppc`. Each was easier than the last.
-
-No hardware manuals were opened during this process.
-
-* Result
-
-One Go program replaces many C/Yacc programs, so it's easier to maintain.
-As a Go program it can have proper tests.
-
-Dependent on `obj`, so correctness and completeness are relatively simple to guarantee.
-
-New assembler almost 100% compatible with previous ones.
-Incompatibilities were mostly inconsistencies.
-
-Portability is easy now.
-
-A new instruction set just needs connecting it up with the `obj` library,
-plus a minor amount of architecture-specific tuning and validation.
-
-Several architectures have been added since the assembler was created,
-most by the open source community.
-
-* Tables
-
-To a large extent, the assembler is now table-driven.
-Can we generate those tables?
-
-The disassemblers (used by `go` `tool` `pprof`) are created by machine processing of PDFs.
-The architecture definition is machine-readable, so use it!
-
-Plan to go the other way:
-
-Read in a PDF, write out `obj` library definitions and bind to assembler.
-Why write by hand when you can automate?
-
-Hope to have this working soon; basics are already in place.
-
-Result: a largely machine-generated assembler.
-
-* Conclusion
-
-Assembly language is essentially the same everywhere.
-
-Use that to build a *true* common assembly language.
-
-Customize it on the fly using dynamically loaded tables.
-
-And one day: create those tables automatically.
-
-
-A portable solution to a especially non-portable problem.
diff --git a/content/2016/asm/360.s.txt b/content/2016/asm/360.s.txt
deleted file mode 100644
index 5c9d60c..0000000
--- a/content/2016/asm/360.s.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-1        PRINT NOGEN
-2 STOCK1 START 0
-3 BEGIN  BALR  11,0
-4        USING *,11
-5        MVC   NEWOH,OLDOH
-6        AP    NEWOH,RECPT
-7        AP    NEWOH,ISSUE
-8        EOJ
-11 OLDOH DC    PL4'9'
-12 RECPT DC    PL4'4'
-13 ISSUE DC    PL4'6'
-14 NEWOH DS    PL4
-15       END   BEGIN
diff --git a/content/2016/asm/386.s.txt b/content/2016/asm/386.s.txt
deleted file mode 100644
index 10a78ff..0000000
--- a/content/2016/asm/386.s.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-TEXT add(SB), $0-12
-    MOVL    a+4(FP), BX
-    ADDL    b+8(FP), BX
-    MOVL    BX, 12(FP)
-    RET
diff --git a/content/2016/asm/68000.s.txt b/content/2016/asm/68000.s.txt
deleted file mode 100644
index ba69d36..0000000
--- a/content/2016/asm/68000.s.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-strtolower      public
-                link    a6,#0           ;Set up stack frame
-                movea   8(a6),a0        ;A0 = src, from stack
-                movea   12(a6),a1       ;A1 = dst, from stack
-loop            move.b  (a0)+,d0        ;Load D0 from (src)
-                cmpi    #'A',d0         ;If D0 < 'A',
-                blo     copy            ;skip
-                cmpi    #'Z',d0         ;If D0 > 'Z',
-                bhi     copy            ;skip
-                addi    #'a'-'A',d0     ;D0 = lowercase(D0)
-copy            move.b  d0,(a1)+        ;Store D0 to (dst)
-                bne     loop            ;Repeat while D0 <> NUL
-                unlk    a6              ;Restore stack frame
-                rts                     ;Return
-                end
diff --git a/content/2016/asm/add.go b/content/2016/asm/add.go
deleted file mode 100644
index 4409aa1..0000000
--- a/content/2016/asm/add.go
+++ /dev/null
@@ -1,5 +0,0 @@
-package add
-
-func add(a, b int) int {
-	return a + b
-}
diff --git a/content/2016/asm/amd64.s.txt b/content/2016/asm/amd64.s.txt
deleted file mode 100644
index 117ede8..0000000
--- a/content/2016/asm/amd64.s.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-TEXT add(SB), $0-24
-    MOVQ    b+16(FP), AX
-    MOVQ    a+8(FP), CX
-    ADDQ    CX, AX
-    MOVQ    AX, 24(FP)
-    RET
diff --git a/content/2016/asm/apollo.s.txt b/content/2016/asm/apollo.s.txt
deleted file mode 100644
index 20af5bb..0000000
--- a/content/2016/asm/apollo.s.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-# TO ENTER A JOB REQUEST REQUIRING NO VAC AREA:
-
-          COUNT     02/EXEC
-                
-NOVAC     INHINT
-          AD        FAKEPRET     # LOC(MPAC +6) - LOC(QPRET)
-          TS        NEWPRIO      # PRIORITY OF NEW JOB + NOVAC C(FIXLOC)
-
-          EXTEND
-          INDEX     Q            # Q WILL BE UNDISTURBED THROUGHOUT.
-          DCA       0            # 2CADR OF JOB ENTERED.
-          DXCH      NEWLOC
-          CAF       EXECBANK
-          XCH       FBANK
-          TS        EXECTEM1
-          TCF       NOVAC2       # ENTER EXECUTIVE BANK.
diff --git a/content/2016/asm/arch1.png b/content/2016/asm/arch1.png
deleted file mode 100644
index f2d6e6e..0000000
--- a/content/2016/asm/arch1.png
+++ /dev/null
Binary files differ
diff --git a/content/2016/asm/arch2.png b/content/2016/asm/arch2.png
deleted file mode 100644
index 920709d..0000000
--- a/content/2016/asm/arch2.png
+++ /dev/null
Binary files differ
diff --git a/content/2016/asm/arch386._go b/content/2016/asm/arch386._go
deleted file mode 100644
index 9cbdafa..0000000
--- a/content/2016/asm/arch386._go
+++ /dev/null
@@ -1,21 +0,0 @@
-import (
-	"cmd/internal/obj"
-	"cmd/internal/obj/x86"
-)
-
-func archX86(linkArch *obj.LinkArch) *Arch {
-	register := make(map[string]int16)
-	// Create maps for easy lookup of instruction names etc.
-	for i, s := range x86.Register {
-		register[s] = int16(i + x86.REG_AL)
-	}
-	instructions := make(map[string]obj.As)
-	for i, s := range obj.Anames {
-		instructions[s] = x86.As(i)
-	}
-	return &Arch{
-		Instructions:   instructions,
-		Register:       register,
-		...
-	}
-}
diff --git a/content/2016/asm/arm.s.txt b/content/2016/asm/arm.s.txt
deleted file mode 100644
index 41ffc2b..0000000
--- a/content/2016/asm/arm.s.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-TEXT add(SB), $-4-12
-    MOVW    a(FP), R0
-    MOVW    b+4(FP), R1
-    ADD     R1, R0
-    MOVW    R0, 8(FP)
-    RET
diff --git a/content/2016/asm/arm64.s.txt b/content/2016/asm/arm64.s.txt
deleted file mode 100644
index 0881803..0000000
--- a/content/2016/asm/arm64.s.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-TEXT add(SB), $-8-24
-    MOVD    a(FP), R0
-    MOVD    b+8(FP), R1
-    ADD     R1, R0
-    MOVD    R0, 16(FP)
-    RET
diff --git a/content/2016/asm/cray1.s.txt b/content/2016/asm/cray1.s.txt
deleted file mode 100644
index 90c5670..0000000
--- a/content/2016/asm/cray1.s.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-ident slice
-         V6        0               ; initialize S
-         A4        S0              ; initialize *x
-         A5        S1              ; initialize *y
-         A3        S2              ; initialize i
-loop     S0        A3
-         JSZ       exit            ; if S0 == 0 goto exit
-         VL        A3              ; set vector length
-         V11       ,A4,1           ; load slice of x[i], stride 1
-         V12       ,A5,1           ; load slice of y[i], stride 1
-         V13       V11 *F V12      ; slice of x[i] * y[i]
-         V6        V6 +F V13       ; partial sum
-         A14       VL              ; get vector length of this iteration
-         A4        A4 + A14        ; *x = *x + VL
-         A5        A5 + A14        ; *y = *y + VL
-         A3        A3 - A14        ; i = i - VL
-         J        loop
- exit
diff --git a/content/2016/asm/mips64.s.txt b/content/2016/asm/mips64.s.txt
deleted file mode 100644
index 1c2ebea..0000000
--- a/content/2016/asm/mips64.s.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-TEXT add(SB), $-8-24
-    MOVV    a(FP), R1
-    MOVV    b+8(FP), R2
-    ADDVU   R2, R1
-    MOVV    R1, 16(FP)
-    RET
diff --git a/content/2016/asm/pdp10.s.txt b/content/2016/asm/pdp10.s.txt
deleted file mode 100644
index 3dec910..0000000
--- a/content/2016/asm/pdp10.s.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-TITLE   COUNT
- 
-A=1                             ;Define a name for an accumulator.
-
-START:  MOVSI A,-100            ;initialize loop counter.
-                                ;A contains -100,,0
-LOOP:   HRRZM A,TABLE(A)        ;Use right half of A to index.
-        AOBJN A,LOOP            ;Add 1 to both halves (-77,,1 -76,,2 etc.)
-                                ;Jump if still negative.
-        .VALUE                  ;Halt program.
-
-TABLE:  BLOCK 100               ;Assemble space to fill up.
-
-END START                       ;End the assembly.
diff --git a/content/2016/asm/pdp11.s.txt b/content/2016/asm/pdp11.s.txt
deleted file mode 100644
index 1992055..0000000
--- a/content/2016/asm/pdp11.s.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-/ a3 -- pdp-11 assembler pass 1
-
-assem:
-        jsr     pc,readop
-        jsr     pc,checkeos
-        br      ealoop
-        tst     ifflg
-        beq     3f
-        cmp     r4,$200
-        blos    assem
-        cmpb    (r4),$21   /if
-        bne     2f
-        inc     ifflg
-2:
-        cmpb    (r4),$22   /endif
-        bne     assem
-        dec     ifflg
-        br      assem
-
diff --git a/content/2016/asm/ppc64le.s.txt b/content/2016/asm/ppc64le.s.txt
deleted file mode 100644
index 2463e78..0000000
--- a/content/2016/asm/ppc64le.s.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-TEXT add(SB), $0-24
-    MOVD    a(FP), R2
-    MOVD    b+8(FP), R3
-    ADD     R3, R2
-    MOVD    R2, 16(FP)
-    RET
diff --git a/content/2016/asm/s390x.s.txt b/content/2016/asm/s390x.s.txt
deleted file mode 100644
index 8065154..0000000
--- a/content/2016/asm/s390x.s.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-TEXT add(SB), $0-24
-    MOVD    a(FP), R1
-    MOVD    b+8(FP), R2
-    ADD     R2, R1, R1
-    MOVD    R1, 16(FP)
-    RET
diff --git a/content/2016/prototype-your-design.pdf b/content/2016/prototype-your-design.pdf
deleted file mode 100644
index 469ce3e..0000000
--- a/content/2016/prototype-your-design.pdf
+++ /dev/null
Binary files differ
diff --git a/content/2016/prototype-your-design.txt b/content/2016/prototype-your-design.txt
deleted file mode 100644
index 0fd6454..0000000
--- a/content/2016/prototype-your-design.txt
+++ /dev/null
@@ -1,137 +0,0 @@
-Copyright 2016 The Go Authors. All rights reserved.
-Use of this source code is governed by a BSD-style
-license that can be found in the LICENSE file.
-
-Full talk text for https://talks.golang.org/2016/prototype-your-design.pdf.
-
-Prototype your design!
-Robert Griesemer
-dotGo2016, Paris
-
-[2]
-Any professional software setting has some design process in place; and the goal is always the same: One wants to make sure a design is good before implementation starts. The reason is simple: The later mistakes are caught, the more costly they are.
-The approaches are usually quite similar, at least when looking at the broad strokes: There’s some form of a design document, the “specification” of the software to be built. There is feedback from experts and design reviewers; and there is also some form of iteration of the design.
-Often however the design process is a “dry” exercise: The design itself doesn’t involve much if any software being created.
-After all, we are professionals, not hackers anymore (well some of us), and we don’t write code without having thought about the design first. And the bigger the project, the more there is to design first. Or isn’t it?
-
-[3]
-But no matter the approach, a crucial question remains:
-How can we tell that our design is good?
-
-[4]
-Anywhere else, outside of software, designing and prototyping are closely intertwined. There’s virtually no design of anything, clothes, furniture, appliances, cars, even architecture, that is not prototyped before going into production.
-This graphic, taken from the Design School of Stanford University, illustrates the design process in five steps. After learning and defining a problem --- at Google we call this “focus on the user and all else will follow” --- designing is a repeated sequence of idea creation, prototyping, and testing. A designer does not think his way to good design, she builds her way to the design. In other words, designers are doers; we might even call them “hackers”.
-
-[5]
-So let’s shift gears for a bit and look at language design. Specifically, designing Go language support for numerical applications. As some of you may know, there is a concrete proposal, asking for multi-dimensional slice support in Go. The proposal is currently in the design phase.
-Concretely, multi-dimensional slices permit the declaration of say a 2d slice, for instance a matrix. Using make, the 2d slice can be dynamically sized at run-time, and there is indexed access to its elements. This is not currently possible in Go.
-While we do have arrays and slices, and while arrays do allow the definition of a 2d data structure that is laid out contiguously in memory, they are also statically fixed in size. Slices are dynamically sized but inherently one-dimensional.
-
-[6]
-The high level goals of the proposal are simple enough: Improved readability through nice notation such as multi-dimensional indexing, and ideally good performance due to a native implementation.
-But there are still many open questions. The current design doc answers them, but how do we know that they are the right answers?
-
-[7]
-However, we can make some observations: It turns out that we can implement many aspects of multi-dimensional slices in Go already. For instance, we can define slice descriptors for 2d, 3d, 4d slices or matrices - it’s just an abstract data type after all.
-Furthermore, we can define and implement operations on those data types, which is to say define methods on them.
-That is, it’s already possible to write numerical code and play with the design of our API. Which is what the gonum community has been doing for years.
-
-[8]
-Unfortunately, there is a key missing feature, and that is nice notation. For instance, there’s simply no way in existing Go to write 2d index expressions using index operators.
-The current work-around is based on accessor methods, such as At and AtSet, to get and set an element of a matrix, for instance.
-But accessors like these make numerical code look clunky, perhaps even unreadable.
-
-[9]
-So how can we get around this notation problem? There are a few solutions:
-1) We can say it’s not a problem - and some people will be ok with this.
-2) We can actually change the Go language for the experiment; but that is likely way too costly.
-3) Or, we could rewrite the source: Whenever we see say a[i, j], we change it into a method call a.At(i, j). Basically what the gonum folks are doing now, except they don’t start with the nice notation.
-Ideally we want to have a tool, a source-to-source rewriter that does this for us.
-
-[10]
-Given such a rewriter, which is going to be our prototype of a real implementation, we can explore the design space before making any hard decisions.
-
-[11]
-So let’s design our rewriter. Since we want to rewrite index expressions into methods, we are going to allow two special method names, made up of a sequence of index and assignment operators. I’m calling them indexed getters and indexed setters.
-I have also added the binary operator + to this list. We don’t need it for our proposal, but it’s easier to explain the rewriting process using + down the road, which why it’s here.
-We also going to allow more than one index in index expressions.
-This doesn’t make sense for the basic indexable data structures (arrays, slices, maps) we have in Go, of course. But it does make sense for our extended indexing operations.
-And finally, we need to give some new meaning to index expressions. The idea is simple: Whenever we see an index expression where the indexed expression, say x, has a respective getter or setter, then the index expression is interpreted as the respective method call.
-This last part is crucial, it’s the core of the rewriter. We’re going to look at it in more detail.
-
-[12]
-Now that we know what our rewriter is supposed to do, we need to come up with a suitable implementation.
-Remember the goal: Since existing Go doesn’t understand our extended language, we are going to rewrite our extended programs into programs that are understood by current Go.
-It turns out that is pretty straight-forward. First of all, we are going to rewrite our new operator method names into valid Go identifiers. We choose slightly unusual names to avoid any accidental naming conflicts. But the actual names are unimportant.
-Similarly, we are going to rewrite index expressions into method calls as shown.
-Luckily, the Go std library provides all the tools we need: We use the parser to read our source. The parser produces a syntax tree. It’s that tree that we are going to modify. After that we use the go/printer to generate the new source from our modified tree.
-Since we do want to accept new method names and more than one index, we have to modify the parser a bit. But it turns out that is rather trivial, perhaps 20 lines of code or so.
-
-[13]
-Let’s consider this simple example. It’s based on rewriting the + operator so we can concentrate on the essential. But everything we’re doing here applies to indexing operators just as well.
-On the left we see the code that we would like to write in our extended language. There’s a + method defined on Point. We can then use binary addition to add two points, with the effect that the + method is called.
-The right shows the rewritten source. This is now regular Go that will compile and run.
-
-[14]
-Because we need to understand the structure of the source to do the rewriting, and the syntax tree reflects that structure exactly, we rewrite the syntax tree, not the source. Again, for simplicity we’re looking at addition.
-The rewrite of the method name is trivial and not show here: it’s just changing a string.
-The rewrite of binary operations is a bit more tricky: We can’t just rewrite every binary + operation. We can only do it if the left operand’s type implements a + method. Or, after rewriting of the method names, if it implements an ADD__ method.
-
-[15]
-Luckily, the Go std library helps us out again. We can simply invoke go/type on our syntax tree to compute the types for all our operands.
-In a 2nd step we can then rewrite all binary additions where the left operand implements the ADD__ method.
-Again, the same approach works for also indexing operators.
-
-[16]
-Let’s see this in action: Here we have a syntax tree for x + y + z after parsing. We don’t have any types at this point.
-
-[17]
-Now we run the type checker. As expected, it determines the types for our operands x, y, and z. But we also have a couple of types missing.
-This is of course because the type checker didn’t know about + for x and y. After all, this is still a Go type checker. We could change it, but we really don’t want to touch it - it’s a complex beast.
-Instead we simply assume the errors are due to the fact that we haven’t rewritten x + y.
-
-[18]
-So let’s just do the rewrite where we can. In our example, we will end up with a method call instead of the first addition, and the modified syntax tree shown on the right.
-
-[19]
-Now we’re turning the crank again for a second round of type checking. At this point we have more success and only one type is missing.
-
-[20]
-Again, we assume the missing type is due to a missing rewrite, so let’s determine what there is to rewrite...
-
-[21]
-… and rewrite once more. This leaves us with a final tree with all additions replaced by method calls.
-
-[22]
-How do we know we’re done? Well, we type-check again. This time there’s no errors anymore, so we do have a valid Go program that will compile --- maybe not run, but compile. We are in fact done!
-
-[23]
-With a concrete prototype implementation at our disposal, we can actually use it to judge our design: We can play with it and see how it feels. And if we don’t like it we can modify it and thus refine our design.
-
-[24]
-For instance, using our rewriter, we can now define a Matrix type, effectively representing a 2d slice, together with nice indexing accessors.
-
-[25]
-Given this Matrix type, we can implement matrix multiplication. I’m showing the core of the multiplication here: On the left, we have the code that we wish to write, and which current Go doesn’t understand, and on the right we have the rewritten version which is valid Go code.
-
-[26]
-Finally, I want to briefly raise an important point which I haven’t talked about yet: During the implementation of a prototype, one will invariable encounter the unexpected. In other words, questions will come up that we didn’t even know we should be asking.
-Without a prototype, these same questions will come up much later, when it’s perhaps too late.
-
-[27]
-In our example, there was one surprise, at least to me: I found that indexing operators were so effective --- and in fact so cheap, syntactic sugar really! --- in addressing the specific notational problem, that one might indeed be wondering if that’s perhaps all that’s needed.
-But that’s food for thought for another time…
-
-[28]
-I like to conclude with a couple of observations:
-First of all, it turns out, not unexpectedly of course, that Go is a fantastic prototyping language. This is really why people say that Go brought back the fun to programming.
-Secondly, prototyping is really the way to get to a good design: Instead of thinking about it, we can build towards it.
-And finally: If we can prototype even language changes we can prototype anything.
-
-[29]
-Frederick Brooks said it best in his 1975 classic:
-Plan to throw one away --- the prototype --- ; you will (throw one away), anyhow.
-
-[30]
-Thank you.
-For all of you who would like to dig into my prototype a bit more: It’s all on GitHub, and it’s small. Perhaps 200 lines of code or so, scattered across a dozen commits that are fairly easy to digest. Have fun!
diff --git a/content/2016/refactor.article b/content/2016/refactor.article
deleted file mode 100644
index 8cc34ca..0000000
--- a/content/2016/refactor.article
+++ /dev/null
@@ -1,699 +0,0 @@
-Codebase Refactoring (with help from Go)
-
-Russ Cox
-rsc@golang.org
-
-* Abstract
-
-Go should add the ability to create alternate equivalent names for types,
-in order to enable gradual code repair during codebase refactoring.
-This article explains the need for that ability and the implications of not having it
-for today’s large Go codebases.
-This article also examines some potential solutions,
-including the alias feature proposed during the development of
-(but not included in) Go 1.8.
-However, this article is _not_ a proposal of any specific solution.
-Instead, it is intended as the start of a discussion by the Go community
-about what solution should be included in Go 1.9.
-
-This article is an extended version of a talk given at
-GothamGo in New York on November 18, 2016.
-
-* Introduction
-
-Go’s goal is to make it easy to build software that scales.
-There are two kinds of scale that we care about.
-One kind of scale is the size of the systems that you can build with Go,
-meaning how easy it is to use large numbers of computers,
-process large amounts of data, and so on.
-That’s an important focus for Go but not for this article.
-Instead, this article focuses on another kind of scale,
-the size of Go programs,
-meaning how easy it is to work in large codebases
-with large numbers of engineers
-making large numbers of changes independently.
-
-One such codebase is
-[[http://m.cacm.acm.org/magazines/2016/7/204032-why-google-stores-billions-of-lines-of-code-in-a-single-repository/pdf][Google’s single repository]]
-that nearly all engineers work in on a daily basis.
-As of January 2015,
-that repository was seeing 40,000 commits per day
-across 9 million source files
-and 2 billion lines of code.
-Of course, there is more in the repository than just Go code.
-
-Another large codebase is the set of all the open source Go code
-that people have made available on GitHub
-and other code hosting sites.
-You might think of this as `go` `get`’s codebase.
-In contrast to Google’s codebase,
-`go` `get`’s codebase is completely decentralized,
-so it’s more difficult to get exact numbers.
-In November 2016, there were 140,000 packages known to [[https://godoc.org/][godoc.org]],
-and over 160,000
-[[https://github.com/search?utf8=%E2%9C%93&q=language%3AGo&type=Repositories&ref=searchresults][GitHub repos written in Go]].
-
-Supporting software development at this scale was in our
-minds from the very beginning of Go.
-We paid a lot of attention to implementing imports efficiently.
-We made sure that it was difficult to import code but forget to use it, to avoid code bloat.
-We made sure that there weren’t unnecessary dependencies
-between packages, both to simplify programs and to make it
-easier to test and refactor them.
-For more detail about these considerations, see Rob Pike’s 2012 article
-“[[https://talks.golang.org/2012/splash.article][Go at Google: Language Design in the Service of Software Engineering]].”
-
-Over the past few years we’ve come to realize that there’s
-more that can and should be done to make it easier
-to refactor whole codebases,
-especially at the broad package structure level,
-to help Go scale to ever-larger programs.
-
-* Codebase refactoring
-
-Most programs start with one package.
-As you add code, occasionally you recognize
-a coherent section of code that could stand on its own,
-so you move that section into its own package.
-Codebase refactoring is the process of rethinking
-and revising decisions about both the grouping of code
-into packages and the relationships between those packages.
-There are a few reasons you might want to change the way
-a codebase is organized into packages.
-
-The first reason is to split a package into more manageable pieces for users.
-For example, most users of [[https://golang.org/pkg/regexp/][package regexp]] don’t need access to the
-regular expression parser, although [[https://godoc.org/github.com/google/codesearch/regexp][advanced uses may]],
-so the parser is exported in [[https://golang.org/pkg/regexp/syntax][a separate regexp/syntax package]].
-
-The second reason is to [[https://blog.golang.org/package-names][improve naming]]. 
-For example, early versions of Go had an `io.ByteBuffer`,
-but we decided `bytes.Buffer` was a better name and package bytes a better place for the code.
-
-The third reason is to lighten dependencies.
-For example, we moved `os.EOF` to `io.EOF` so that code not using the operating system
-can avoid importing the fairly heavyweight [[https://golang.org/pkg/os][package os]].
-
-The fourth reason is to change the dependency graph
-so that one package can import another.
-For example, as part of the preparation for Go 1, we looked at the explicit dependencies
-between packages and how they constrained the APIs.
-Then we changed the dependency graph to make the APIs better.
-
-Before Go 1, the `os.FileInfo` struct contained these fields:
-
-	type FileInfo struct {
-		Dev      uint64 // device number
-		Ino      uint64 // inode number
-		...
-		Atime_ns int64  // access time; ns since epoch
-		Mtime_ns int64  // modified time; ns since epoch
-		Ctime_ns int64  // change time; ns since epoch
-		Name     string // name of file
-	}
-
-Notice the times `Atime_ns`, `Mtime_ns`, `Ctime_ns` have type int64,
-an `_ns` suffix, and are commented as “nanoseconds since epoch.”
-These fields would clearly be nicer using [[https://golang.org/pkg/time/#Time][`time.Time`]],
-but mistakes in the design of the package structure of the codebase
-prevented that.
-To be able to use `time.Time` here, we refactored the codebase.
-
-This graph shows eight packages from the standard library
-before Go 1, with an arrow from P to Q indicating that P imports Q.
-
-.html refactor/import1.html
-
-Nearly every package has to consider errors,
-so nearly every package, including package time, imported package os for `os.Error`.
-To avoid cycles, anything that imports package os cannot itself be used by package os.
-As a result, operating system APIs could not use `time.Time`.
-
-This kind of problem convinced us that
-`os.Error` and its constructor `os.NewError` were so fundamental
-that they should be moved out of package os.
-In the end, we moved `os.Error` into the language as [[https://golang.org/ref/spec/#Errors][`error`]]
-and `os.NewError` into the new 
-[[https://golang.org/pkg/errors][package errors]]
-as `errors.New`.
-After this and other refactoring, the import graph in Go 1 looked like:
-
-.html refactor/import2.html
-
-Package io and package time had few enough dependencies
-to be used by package os, and
-the Go 1 definition of [[https://golang.org/pkg/os/#FileInfo][`os.FileInfo`]] does use `time.Time`.
-
-(As a side note, our first idea was to move `os.Error` and `os.NewError`
-to a new package named error (singular) as `error.Value` and `error.New`.
-Feedback from Roger Peppe and others in the Go community helped us
-see that making the error type predefined in the language would 
-allow its use even in low-level contexts like the specification of 
-[[https://golang.org/ref/spec#Run_time_panics][run-time panics]].
-Since the type was named `error`, the package became errors (plural)
-and the constructor `errors.New`.
-Andrew Gerrand’s 2015 talk
-“[[https://talks.golang.org/2015/how-go-was-made.slide#37][How Go was Made]]” has more detail.)
-
-* Gradual code repair
-
-The benefits of a codebase refactoring apply throughout the codebase.
-Unfortunately, so do the costs:
-often a large number of repairs must be made as a result of the refactoring.
-As codebases grow, it becomes infeasible to do all the repairs at one time.
-The repairs must be done gradually, 
-and the programming language must make that possible.
-
-As a simple example,
-when we moved `io.ByteBuffer` to `bytes.Buffer` in 2009, the [[https://go.googlesource.com/go/+/d3a412a5abf1ee8815b2e70a18ee092154af7672][initial commit]]
-moved two files, adjusted three makefiles, and repaired 43 other Go source files.
-The repairs outweighed the actual API change by a factor of twenty,
-and the entire codebase was only 250 files.
-As codebases grow, so does the repair multiplier.
-Similar changes in large Go codebases, 
-such as Docker, and Juju, and Kubernetes,
-can have repair multipliers ranging from 10X to 100X.
-Inside Google we’ve seen repair multipliers well over 1000X.
-
-The conventional wisdom is that when making a codebase-wide API change,
-the API change and the associated code repairs should be committed
-together in one big commit:
-
-.html refactor/atomic.html
-
-The argument in favor of this approach, 
-which we will call “atomic code repair,”
-is that it is conceptually simple:
-by updating the API and the code repairs in the same commit,
-the codebase transitions in one step from the old API to the new API,
-without ever breaking the codebase.
-The atomic step avoids the need to plan for a transition
-during which both old and new API must coexist.
-In large codebases, however, the conceptual simplicity
-is quickly outweighed by a practical complexity:
-the one big commit can be very big.
-Big commits are hard to prepare, hard to review,
-and are fundamentally racing against other work in the tree.
-It’s easy to start doing a conversion, prepare your one big commit,
-finally get it submitted, and only then find out that another developer added
-a use of the old API while you were working.
-There were no merge conflicts,
-so you missed that use, and despite all your effort
-the one big commit broke the codebase.
-As codebases get larger,
-atomic code repairs become more difficult
-and more likely to break the codebase inadvertently.
-
-In our experience,
-an approach that scales better is to plan for a transition period
-during which the code repair proceeds gradually,
-across as many commits as needed:
-
-.html refactor/gradual.html
-
-Typically this means the overall process runs in three stages.
-First, introduce the new API.
-The old and new API must be _interchangeable_,
-meaning that it must be possible to convert individual uses
-from the old to the new API without changing the overall
-behavior of the program,
-and uses of the old and new APIs must be able to coexist
-in a single program.
-Second, across as many commits as you need,
-convert all the uses of the old API to the new API.
-Third, remove the old API.
-
-“Gradual code repair” is usually more work
-than the atomic code repair,
-but the work itself is easier:
-you don’t have to get everything right in one try.
-Also, the individual commits are much smaller,
-making them easier to review and submit
-and, if needed, roll back.
-Maybe most important of all, a gradual code repair
-works in situations when one big commit would be impossible,
-for example when code that needs repairs
-is spread across multiple repositories.
-
-The `bytes.Buffer` change looks like an atomic code repair, but it wasn’t.
-Even though the commit updated 43 source files,
-the commit message says,
-“left io.ByteBuffer stub around for now, for protocol compiler.”
-That stub was in a new file named `io/xxx.go` that read:
-
-	// This file defines the type io.ByteBuffer
-	// so that the protocol compiler's output
-	// still works. Once the protocol compiler
-	// gets fixed, this goes away.
-	
-	package io
-	
-	import "bytes"
-	
-	type ByteBuffer struct {
-		bytes.Buffer;
-	}
-
-Back then, just like today,
-Go was developed in a separate source repository
-from the rest of Google’s source code.
-The protocol compiler in Google’s main repository was
-responsible for generating Go source files from protocol buffer definitions;
-the generated code used `io.ByteBuffer`.
-This stub was enough to keep the generated code working
-until the protocol compiler could be updated.
-Then [[https://go.googlesource.com/go/+/832e72beff62e4fe4897699e9b40a2b228e8503b][a later commit]] removed `xxx.go`.
-
-Even though there were many fixes included in the original commit,
-this change was still a gradual code repair, not an atomic one,
-because the old API was only removed in a separate stage
-after the existing code was converted.
-
-In this specific case the gradual repair did succeed, but
-the old and new API were not completely interchangeable:
-if there had been a function taking an `*io.ByteBuffer` argument
-and code calling that function with an `*io.ByteBuffer`,
-those two pieces of code could not have been updated independently:
-code that passed an `*io.ByteBuffer` to a function expecting a `*bytes.Buffer`,
-or vice versa, would not compile.
-
-Again, a gradual code repair consists of three stages:
-
-.html refactor/template.html
-
-These stages apply to a gradual code repair for any API change.
-In the specific case of codebase refactoring—moving
-an API from one package to another, changing its full name in the process—making the old and new API
-interchangeable means making the old and new names interchangeable,
-so that code using the old name has exactly the same behavior
-as if it used the new name.
-
-Let’s look at examples of how Go makes that possible (or not).
-
-** Constants
-
-Let’s start with a simple example of moving a constant.
-
-Package io defines the [[https://golang.org/pkg/io/#Seeker][Seeker interface]],
-but the named constants that developers prefer to use
-when invoking the `Seek` method came from package os.
-Go 1.7 moved the constants to package io and gave them more idiomatic names;
-for example, `os.SEEK_SET` is now available as `io.SeekStart`.
-
-For a constant, one name is interchangeable with another
-when the definitions use the same type and value:
-
-	package io
-	const SeekStart int = 0
-	
-	package os
-	const SEEK_SET int = 0
-
-Due to [[https://golang.org/doc/go1compat][Go 1 compatibility]],
-we’re blocked in stage 2 of this gradual code change.
-We can’t delete the old constants,
-but making the new ones available in package io allows
-developers to avoid importing package os in code that
-does not actually depend on operating system functionality.
-
-This is also an example of a gradual code repair being done
-across many repositories.
-Go 1.7 introduced the new API,
-and now it’s up to everyone with Go code to update their code
-as they see fit.
-There’s no rush, no forced breakage of existing code.
-
-** Functions
-
-Now let’s look at moving a function from one package to another.
-
-As mentioned above,
-in 2011 we replaced `os.Error` with the predefined type `error`
-and moved the constructor `os.NewError` to a new package as
-[[https://golang.org/pkg/errors/#New][`errors.New`]].
-
-For a function, one name is interchangeable with another
-when the definitions use the same signature and implementation.
-In this case, we can define the old function as a wrapper calling
-the new function:
-
-	package errors
-	func New(msg string) error { ... }
-	
-	package os
-	func NewError(msg string) os.Error {
-	    return errors.New(msg)
-	}
-
-Since Go does not allow comparing functions for equality,
-there is no way to tell these two functions apart.
-The old and new API are interchangeable,
-so we can proceed to stages 2 and 3.
-
-(We are ignoring a small detail here: the original 
-`os.NewError` returned an `os.Error`, not an `error`,
-and two functions with different signatures _are_ distinguishable.
-To really make these functions indistinguishable,
-we would also need to make `os.Error` and `error` indistinguishable.
-We will return to that detail in the discussion of types below.)
-
-** Variables
-
-Now let’s look at moving a variable from one package to another.
-
-We are discussing exported package-level API, so the variable
-in question must be an exported global variable.
-Such variables are almost always set at init time
-and then only intended to be read from, never written again,
-to avoid races between reading and writing goroutines.
-For exported global variables that follow this pattern,
-one name is nearly interchangeable with another when the two have
-the same type and value.
-The simplest way to arrange that is to initialize one from the other:
-
-	package io
-	var EOF = ...
-	
-	package os
-	var EOF = io.EOF
-
-In this example, io.EOF and os.EOF are the same value. 
-The variable values are completely interchangeable.
-
-There is one small problem.
-Although the variable values are interchangeable,
-the variable addresses are not.
-In this example, `&io.EOF` and `&os.EOF` are different pointers.
-However, it is rare to export a read-only variable
-from a package and expect clients to take its address:
-it would be better for clients if the package exported a variable set to the address instead,
-and then the pattern works.
-
-** Types
-
-Finally let’s look at moving a type from one package to another.
-This is much harder to do in Go today, as the following three examples demonstrate.
-
-*** Go’s os.Error
-
-Consider once more the conversion from `os.Error` to `error`.
-There’s no way in Go to make two names of types interchangeable.
-The closest we can come in Go is to give `os.Error` and `error` the same underlying definition:
-
-	package os
-	type Error error 
-
-Even with this definition, and even though these are interface types,
-Go still considers these two types [[https://golang.org/ref/spec#Type_identity][different]],
-so that a function returning an os.Error
-is not the same as a function returning an error.
-Consider the [[https://golang.org/pkg/io/#Reader][`io.Reader`]] interface:
-	
-	package io
-	type Reader interface {
-	    Read(b []byte) (n int, err error)
-	}
-
-If `io.Reader` is defined using `error`, as above, then a `Read` method 
-returning `os.Error` will not satisfy the interface.
-
-If there’s no way to make two names for a type interchangeable,
-that raises two questions.
-First, how do we enable a gradual code repair for a moved or renamed type?
-Second, what did we do for `os.Error` in 2011?
-
-To answer the second question, we can look at the source control history.
-It turns out that to aid the conversion, we
-[[https://go.googlesource.com/go/+/47f4bf763dcb120d3b005974fec848eefe0858f0][added a temporary hack to the compiler]]
-to make code written using `os.Error` be interpreted as if it had written `error` instead.
-
-*** Kubernetes
-
-This problem with moving types is not limited to fundamental changes like `os.Error`,
-nor is it limited to the Go repository.
-Here’s a change from the [[https://kubernetes.io/][Kubernetes project]].
-Kubernetes has a package util, and at some point the developers
-decided to split out that package’s `IntOrString` type into its own 
-[[https://godoc.org/k8s.io/kubernetes/pkg/util/intstr][package intstr]].
-
-Applying the pattern for a gradual code repair,
-the first stage is to establish a way for the two types to be interchangeable.
-We can’t do that,
-because the `IntOrString` type is used in struct fields,
-and code can’t assign to that field unless the value being
-assigned has the correct type:
-
-	package util
-	type IntOrString intstr.IntOrString
-
-	// Not good enough for:
-	
-	// IngressBackend describes ...
-	type IngressBackend struct {
-	    ServiceName string             `json:"serviceName"`
-	    ServicePort intstr.IntOrString `json:"servicePort"`
-	}
-
-If this use were the only problem, then you could imagine
-writing a getter and setter using the old type
-and doing a gradual code repair to change all existing code
-to use the getter and setter,
-then modifying the field to use the new type
-and doing a gradual code repair to change all existing code
-to access the field directly using the new type,
-then finally deleting the getter and setter that mention the old type.
-That required two gradual code repairs instead of one,
-and there are many uses of the type other than this one struct field.
-
-In practice, the only option here is an atomic code repair,
-or else breaking all code using `IntOrString`.
-
-*** Docker
-
-As another example,
-here’s a change from the [[https://www.docker.com/][Docker project]].
-Docker has a package utils, and at some point the developers
-decided to split out that package’s `JSONError` type into a separate
-[[https://godoc.org/github.com/docker/docker/pkg/jsonmessage#JSONError][jsonmessage package]].
-
-Again we have the problem that the old and new types are not interchangeable,
-but it shows up in a different way, namely [[https://golang.org/ref/spec#Type_assertions][type assertions]]:
-
-	package utils
-	type JSONError jsonmessage.JSONError
-
-	// Not good enough for:
-	
-	jsonError, ok := err.(*jsonmessage.JSONError)
-	if !ok {
-		jsonError = &jsonmessage.JSONError{
-			Message: err.Error(),
-		}
-	}
-
-If the error `err` not already a `JSONError`, this code wraps it in one,
-but during a gradual repair, this code handles `utils.JSONError` and `jsonmessage.JSONError` differently.
-The two types are not interchangeable.
-(A [[https://golang.org/ref/spec#Type_switches][type switch]] would expose the same problem.)
-
-If this line were the only problem, then you could imagine
-adding a type assertion for `*utils.JSONError`,
-then doing a gradual code repair to remove other uses of `utils.JSONError`,
-and finally removing the additional type guard just before removing the old type.
-But this line is not the only problem.
-The type is also used elsewhere in the API and has all the 
-problems of the Kubernetes example.
-
-In practice, again the only option here is an atomic code repair
-or else breaking all code using `JSONError`.
-
-* Solutions?
-
-We’ve now seen examples of how we can and cannot move
-constants, functions, variables, and types from one package to another.
-The patterns for establishing interchangeable old and new API are:
-
-	const OldAPI = NewPackage.API
-
-	func OldAPI() { NewPackage.API() }
-
-	var OldAPI = NewPackage.API
-	
-	type OldAPI ... ??? modify compiler or ... ???
-
-For constants and functions, the setup for a gradual code repair is trivial.
-For variables, the trivial setup is incomplete but only in ways that are not likely to arise often in practice.
-
-For types, there is no way to set up a gradual code repair in essentially any real example.
-The most common option is to force an atomic code repair,
-or else to break all code using the moved type and leave clients
-to fix their code at the next update.
-In the case of moving os.Error, we resorted to modifying the compiler.
-None of these options is reasonable.
-Developers should be able to do refactorings
-that involve moving a type from one package to another
-without needing an atomic code repair,
-without resorting to intermediate code and multiple rounds of repair,
-without forcing all client packages to update their own code immediately,
-and without even thinking about modifying the compiler.
-
-But how? What should these refactorings look like tomorrow?
-
-We don’t know.
-The goal of this article is to define the problem well enough
-to discuss the possible answers.
-
-** Aliases
-
-As explained above, the fundamental problem with moving types is that
-while Go provides ways to create an alternate name
-for a constant or a function or (most of the time) a variable,
-there is no way to create an alternate name for a type.
-
-For Go 1.8 we experimented with introducing first-class support
-for these alternate names, called [[https://golang.org/design/16339-alias-decls][_aliases_]].
-A new declaration syntax, the alias form, would have provided a uniform way
-to create an alternate name for any kind of identifier:
-
-	const OldAPI => NewPackage.API
-	func  OldAPI => NewPackage.API
-	var   OldAPI => NewPackage.API
-	type  OldAPI => NewPackage.API
-
-Instead of four different mechanisms, the refactoring of package os we considered above
-would have used a single mechanism:
-
-	package os
-	const SEEK_SET => io.SeekStart
-	func  NewError => errors.New
-	var   EOF      => io.EOF
-	type  Error    => error
-
-During the Go 1.8 release freeze, we found two small but important unresolved technical details
-in the alias support (issues [[https://golang.org/issue/17746][17746]] and [[https://golang.org/issue/17784][17784]]),
-and we decided that it was not possible to resolve them confidently
-in the time remaining before the Go 1.8 release,
-so we held aliases back from Go 1.8.
-
-** Versioning
-
-An obvious question is whether to rely on versioning and
-dependency management for code repair,
-instead of focusing on strategies that enable gradual code repair.
-
-Versioning and gradual code repair strategies are complementary.
-A versioning system’s job is to identify a compatible set of
-versions of all the packages needed in a program, or else to
-explain why no such set can be constructed.
-Gradual code repair creates additional compatible combinations,
-making it more likely that a versioning system can find a way
-to build a particular program.
-
-Consider again the various updates to Go’s standard library
-that we discussed above.
-Suppose that the old API
-corresponded in a versioning system
-to standard library version 5.1.3.
-In the usual atomic code repair approach,
-the new API would be introduced and the old API removed at the same time,
-resulting in version 6.0.0;
-following [[http://semver.org/][semantic versioning]],
-the major version number is incremented to indicate the incompatibility
-caused by removing the old API.
-
-Now suppose that your larger program depends on two packages, Foo and Bar.
-Foo still uses the old standard library API.
-Bar has been updated to use the new standard library API,
-and there have been important changes since then that your
-program needs: you can’t use an older version of Bar from
-before the standard library changes.
-
-.html refactor/version1.html
-
-There is no compatible set of libraries to build your program:
-you want the latest version of Bar, which requires 
-standard library 6.0.0,
-but you also need Foo, which is incompatible with standard library 6.0.0.
-The best a versioning system can do in this case is report the failure clearly.
-(If you are sufficiently motivated, you might then resort to updating your own copy of Foo.)
-
-In contrast, with better support for gradual code repair,
-we can add the new, interchangeable API in version 5.2.0,
-and then remove the old API in version 6.0.0.
-
-.html refactor/version2.html
-
-The intermediate version 5.2.0 is backwards compatible with 5.1.3,
-indicated by the shared major version number 5.
-However, because the change from 5.2.0 to 6.0.0 only removed API,
-5.2.0 is also, perhaps surprisingly, backwards compatible with 6.0.0.
-Assuming that Bar declares its requirements precisely—it is
-compatible with both 5.2.0 and 6.0.0—a version system can see that
-both Foo and Bar are compatible with 5.2.0 and use that version
-of the standard library to build the program.
-
-Good support for and adoption of gradual code repair reduces incompatibility,
-giving versioning systems a better chance to find a way to build your program.
-
-** Type aliases
-
-To enable gradual code repair during codebase refactorings,
-it must be possible to create alternate names for a 
-constant, function, variable, or type.
-Go already allows introducing alternate names for 
-all constants, all functions, and nearly all variables, but no types.
-Put another way,
-the general alias form is never necessary for constants,
-never necessary for functions,
-only rarely necessary for variables,
-but always necessary for types.
-
-The relative importance to the specific declarations
-suggests that perhaps the Go 1.8 aliases were an overgeneralization,
-and that we should instead focus on a solution limited to types.
-The obvious solution is type-only aliases,
-for which no new operator is required.
-Following 
-[[http://www.freepascal.org/docs-html/ref/refse19.html][Pascal]]
-(or, if you prefer, [[https://doc.rust-lang.org/book/type-aliases.html][Rust]]),
-a Go program could introduce a type alias using the assignment operator:
-
-	type OldAPI = NewPackage.API
-
-The idea of limiting aliases to types was
-[[https://golang.org/issue/16339#issuecomment-233644777][raised during the Go 1.8 alias discussion]],
-but it seemed worth trying the more general approach, which we did, unsuccessfully.
-In retrospect, the fact that `=` and `=>` have identical meanings for constants
-while they have nearly identical but subtly different meanings for variables
-suggests that the general approach is not worth its complications.
-
-In fact, the idea of adding Pascal-style type aliases
-was [[https://golang.org/issue/16339#issuecomment-233759255][considered in the early design of Go]],
-but until now we didn’t have a strong use case for them.
-
-Type aliases seem like a promising approach to explore,
-but, at least to me, generalized aliases seemed equally promising
-before the discussion and experimentation during the Go 1.8 cycle.
-Rather than prejudge the outcome, the goal of this article is to
-explain the problem in detail and examine a few possible solutions,
-to enable a productive discussion and evaluation of ideas for next time.
-
-* Challenge
-
-Go aims to be ideal for large codebases.
-
-In large codebases, it’s important to be able to refactor codebase structure,
-which means moving APIs between packages and updating client code.
-
-In such large refactorings, it’s important to be able to use a gradual transition from the old API to the new API.
-
-Go does not support the specific case of gradual code repair when moving types between packages at all. It should.
-
-I hope we the Go community can fix this together in Go 1.9. Maybe type aliases are a good starting point. Maybe not. Time will tell.
-
-* Acknowledgements
-
-Thanks to the many people who helped us [[https://golang.org/issue/16339][think through the design questions]]
-that got us this far and led to the alias trial during Go 1.8 development.
-I look forward to the Go community helping us again when we revisit this problem for Go 1.9.
-If you’d like to contribute, please see [[https://golang.org/issue/18130][issue 18130]].
diff --git a/content/2016/refactor/atomic.graffle b/content/2016/refactor/atomic.graffle
deleted file mode 100644
index a4d9fa4..0000000
--- a/content/2016/refactor/atomic.graffle
+++ /dev/null
Binary files differ
diff --git a/content/2016/refactor/atomic.html b/content/2016/refactor/atomic.html
deleted file mode 100644
index 7d15ce3..0000000
--- a/content/2016/refactor/atomic.html
+++ /dev/null
@@ -1 +0,0 @@
-<div class="image"><center><img src="refactor/atomic.svg" alt="Atomic Code Repair"></img></center></div>
diff --git a/content/2016/refactor/atomic.svg b/content/2016/refactor/atomic.svg
deleted file mode 100644
index 244fe37..0000000
--- a/content/2016/refactor/atomic.svg
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="-1 -1 124 82" width="124pt" height="82pt" xmlns:dc="http://purl.org/dc/elements/1.1/">
-  <metadata> Produced by OmniGraffle 7.2.1 
-    <dc:date>2016-12-01 03:28:54 +0000</dc:date>
-  </metadata>
-  <defs>
-    <font-face font-family="Arial" font-size="12" panose-1="2 11 6 4 2 2 2 2 2 4" units-per-em="1000" underline-position="-105.95703" underline-thickness="73.24219" slope="0" x-height="518.5547" cap-height="716.3086" ascent="905.2734" descent="-211.91406" font-weight="500">
-      <font-face-src>
-        <font-face-name name="ArialMT"/>
-      </font-face-src>
-    </font-face>
-  </defs>
-  <g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
-    <title>Canvas 1</title>
-    <g>
-      <title>Layer 1</title>
-      <text transform="translate(17.125 4.411133)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="9.143555" y="11" textLength="50.033203">Add new </tspan>
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="58.51465" y="11" textLength="19.341797">API</tspan>
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="9.149414" y="39.39258" textLength="68.70117">Code repairs</tspan>
-        <tspan font-family="Arial" font-size="12" font-weight="500" x=".47753906" y="67.78516" textLength="67.365234">Remove old </tspan>
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="67.180664" y="67.78516" textLength="19.341797">API</tspan>
-      </text>
-      <path d="M 18.1875 7105427e-21 L 103.0625 7105427e-21 C 113.102 7105427e-21 121.25 17.92 121.25 40 C 121.25 62.08 113.102 80 103.0625 80 L 18.1875 80 C 8.148 80 0 62.08 0 40 C 0 17.92 8.148 7105427e-21 18.1875 7105427e-21" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
-    </g>
-  </g>
-</svg>
diff --git a/content/2016/refactor/gradual.graffle b/content/2016/refactor/gradual.graffle
deleted file mode 100644
index 65b6e84..0000000
--- a/content/2016/refactor/gradual.graffle
+++ /dev/null
Binary files differ
diff --git a/content/2016/refactor/gradual.html b/content/2016/refactor/gradual.html
deleted file mode 100644
index 24c5612..0000000
--- a/content/2016/refactor/gradual.html
+++ /dev/null
@@ -1 +0,0 @@
-<div class="image"><center><img src="refactor/gradual.svg" alt="Gradual Code Repair"></img></center></div>
diff --git a/content/2016/refactor/gradual.svg b/content/2016/refactor/gradual.svg
deleted file mode 100644
index d0caccb..0000000
--- a/content/2016/refactor/gradual.svg
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="-2 -1 305 178" width="305pt" height="178pt" xmlns:dc="http://purl.org/dc/elements/1.1/">
-  <metadata> Produced by OmniGraffle 7.2.1 
-    <dc:date>2016-12-01 03:27:43 +0000</dc:date>
-  </metadata>
-  <defs>
-    <font-face font-family="Arial" font-size="12" panose-1="2 11 6 4 2 2 2 2 2 4" units-per-em="1000" underline-position="-105.95703" underline-thickness="73.24219" slope="0" x-height="518.5547" cap-height="716.3086" ascent="905.2734" descent="-211.91406" font-weight="500">
-      <font-face-src>
-        <font-face-name name="ArialMT"/>
-      </font-face-src>
-    </font-face>
-    <font-face font-family="Arial" font-size="10" panose-1="2 11 6 4 2 2 2 2 2 4" units-per-em="1000" underline-position="-105.95703" underline-thickness="73.24219" slope="0" x-height="518.5547" cap-height="716.3086" ascent="905.2734" descent="-211.91406" font-weight="500">
-      <font-face-src>
-        <font-face-name name="ArialMT"/>
-      </font-face-src>
-    </font-face>
-  </defs>
-  <g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
-    <title>Canvas 1</title>
-    <g>
-      <title>Layer 1</title>
-      <path d="M 107.86806 0 L 192.9375 0 C 203 0 211.16667 5.0524444 211.16667 11.277778 C 211.16667 17.503111 203 22.555556 192.9375 22.555556 L 107.86806 22.555556 C 97.80556 22.555556 89.63889 17.503111 89.63889 11.277778 C 89.63889 5.0524444 97.80556 0 107.86806 0" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
-      <text transform="translate(106.79167 4.0814887)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="9.254666" y="11" textLength="50.033203">Add new </tspan>
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="58.62576" y="11" textLength="19.341797">API</tspan>
-      </text>
-      <path d="M 107.86806 38.11111 L 192.9375 38.11111 C 203 38.11111 211.16667 43.163556 211.16667 49.38889 C 211.16667 55.61422 203 60.66667 192.9375 60.66667 L 107.86806 60.66667 C 97.80556 60.66667 89.63889 55.61422 89.63889 49.38889 C 89.63889 43.163556 97.80556 38.11111 107.86806 38.11111" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
-      <text transform="translate(106.79167 42.1926)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="9.260525" y="11" textLength="68.70117">Code repairs</tspan>
-      </text>
-      <path d="M 184.09028 76.22222 L 269.15972 76.22222 C 279.22222 76.22222 287.3889 81.27467 287.3889 87.5 C 287.3889 93.72533 279.22222 98.77778 269.15972 98.77778 L 184.09028 98.77778 C 174.02778 98.77778 165.86111 93.72533 165.86111 87.5 C 165.86111 81.27467 174.02778 76.22222 184.09028 76.22222" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
-      <text transform="translate(183.01389 80.30371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="9.260525" y="11" textLength="68.70117">Code repairs</tspan>
-      </text>
-      <path d="M 30.868056 76.22222 L 115.9375 76.22222 C 126 76.22222 134.16667 81.27467 134.16667 87.5 C 134.16667 93.72533 126 98.77778 115.9375 98.77778 L 30.868056 98.77778 C 20.805556 98.77778 12.638889 93.72533 12.638889 87.5 C 12.638889 81.27467 20.805556 76.22222 30.868056 76.22222" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
-      <text transform="translate(29.791667 80.30371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="9.260525" y="11" textLength="68.70117">Code repairs</tspan>
-      </text>
-      <path d="M 107.86806 114.33333 L 192.9375 114.33333 C 203 114.33333 211.16667 119.38578 211.16667 125.61111 C 211.16667 131.83644 203 136.88889 192.9375 136.88889 L 107.86806 136.88889 C 97.80556 136.88889 89.63889 131.83644 89.63889 125.61111 C 89.63889 119.38578 97.80556 114.33333 107.86806 114.33333" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
-      <text transform="translate(106.79167 118.41482)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="9.260525" y="11" textLength="68.70117">Code repairs</tspan>
-      </text>
-      <path d="M 102.67639 152.66667 L 198.12917 152.66667 C 209.41987 152.66667 218.58333 157.71911 218.58333 163.94444 C 218.58333 170.16978 209.41987 175.22222 198.12917 175.22222 L 102.67639 175.22222 C 91.38569 175.22222 82.22222 170.16978 82.22222 163.94444 C 82.22222 157.71911 91.38569 152.66667 102.67639 152.66667" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
-      <text transform="translate(100.85833 156.74816)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="6.5219835" y="11" textLength="67.365234">Remove old </tspan>
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="73.22511" y="11" textLength="19.341797">API</tspan>
-      </text>
-      <line x1="36948222e-20" y1="29.555556" x2="300.41667" y2="29.555556" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="36948222e-20" y1="144.27778" x2="300.41667" y2="144.27778" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(5 2.8919813)" fill="black">
-        <tspan font-family="Arial" font-size="10" font-weight="500" x="11.985894" y="9" textLength="34.472656">Stage 1</tspan>
-      </text>
-      <text transform="translate(5 40.225315)" fill="black">
-        <tspan font-family="Arial" font-size="10" font-weight="500" x="11.985894" y="9" textLength="34.472656">Stage 2</tspan>
-      </text>
-      <text transform="translate(5 155.33643)" fill="black">
-        <tspan font-family="Arial" font-size="10" font-weight="500" x="11.985894" y="9" textLength="34.472656">Stage 3</tspan>
-      </text>
-    </g>
-  </g>
-</svg>
diff --git a/content/2016/refactor/import1.graffle b/content/2016/refactor/import1.graffle
deleted file mode 100644
index 020014a..0000000
--- a/content/2016/refactor/import1.graffle
+++ /dev/null
Binary files differ
diff --git a/content/2016/refactor/import1.html b/content/2016/refactor/import1.html
deleted file mode 100644
index 72177fd..0000000
--- a/content/2016/refactor/import1.html
+++ /dev/null
@@ -1 +0,0 @@
-<div class="image"><center><img src="refactor/import1.svg" alt="Import graph before Go 1"></img></center></div>
diff --git a/content/2016/refactor/import1.svg b/content/2016/refactor/import1.svg
deleted file mode 100644
index 5019904..0000000
--- a/content/2016/refactor/import1.svg
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 -1 150 284" width="150pt" height="284pt" xmlns:dc="http://purl.org/dc/elements/1.1/">
-  <metadata> Produced by OmniGraffle 7.2.1 
-    <dc:date>2016-12-01 04:39:54 +0000</dc:date>
-  </metadata>
-  <defs>
-    <font-face font-family="Arial" font-size="12" panose-1="2 11 6 4 2 2 2 2 2 4" units-per-em="1000" underline-position="-105.95703" underline-thickness="73.24219" slope="0" x-height="518.5547" cap-height="716.3086" ascent="905.2734" descent="-211.91406" font-weight="500">
-      <font-face-src>
-        <font-face-name name="ArialMT"/>
-      </font-face-src>
-    </font-face>
-    <marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -3 6 6" markerWidth="6" markerHeight="6" color="black">
-      <g>
-        <path d="M 4 0 L 0 -1.5 L 0 1.5 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
-      </g>
-    </marker>
-  </defs>
-  <g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
-    <title>Canvas 1</title>
-    <g>
-      <title>Layer 1</title>
-      <rect x="30.776487" y="0" width="76" height="23.5" fill="#0432ff" fill-opacity=".29794784"/>
-      <rect x="30.776487" y="0" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(35.776487 4.553711)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="21.66504" y="11" textLength="22.669922">time</tspan>
-      </text>
-      <rect x="30.776487" y="37" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(35.776487 41.55371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="14.323242" y="11" textLength="37.353516">io/ioutil</tspan>
-      </text>
-      <rect x="30.776487" y="74" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(35.776487 78.55371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="13.661133" y="11" textLength="38.677734">strconv</tspan>
-      </text>
-      <rect x="30.776487" y="111" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(35.776487 115.55371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="18.65918" y="11" textLength="28.68164">bytes</tspan>
-      </text>
-      <rect x="30.776487" y="148" width="76" height="23.5" fill="#ff2600" fill-opacity=".30133143"/>
-      <rect x="30.776487" y="148" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(35.776487 152.55371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="28.330078" y="11" textLength="9.339844">io</tspan>
-      </text>
-      <rect x="30.776487" y="185" width="76" height="23.5" fill="#fffc00" fill-opacity=".30303697"/>
-      <rect x="30.776487" y="185" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(35.776487 189.5537)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="26.663086" y="11" textLength="12.673828">os</tspan>
-      </text>
-      <rect x="30.776487" y="222" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(35.776487 226.5537)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="14.99707" y="11" textLength="36.00586">syscall</tspan>
-      </text>
-      <rect x="30.776487" y="259" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(35.776487 263.5537)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="19.655273" y="11" textLength="26.689453">utf16</tspan>
-      </text>
-      <line x1="68.77649" y1="23.5" x2="68.77649" y2="31.1" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="68.77649" y1="60.5" x2="68.77649" y2="68.1" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="68.77649" y1="97.5" x2="68.77649" y2="105.1" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="68.77649" y1="134.5" x2="68.77649" y2="142.1" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="68.77649" y1="171.5" x2="68.77649" y2="179.1" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="68.77649" y1="208.5" x2="68.77649" y2="216.1" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="68.77649" y1="245.5" x2="68.77649" y2="253.1" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 93.17678 23.500002 C 105.04188 30.545757 116.77649 40.134275 116.77649 50.5 C 116.77649 58.39145 109.97533 65.336525 101.49318 70.92955" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 103.57523 23.5 C 111.59158 28.577334 118.62773 35.76719 121.54406 45.89844 C 128.6898 70.72245 118.68265 88.35867 106.49728 106.14751" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 106.77649 20.676139 C 117.07421 26.626272 127.1848 36.423313 133.77649 52.5 C 152.33296 97.75797 152.69131 130.63325 134.27649 171.5 C 128.80609 183.64007 120.80561 190.79561 112.26099 194.85676" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 46.69024 60.5 C 32.14596 69.32664 15.776487 81.84894 15.776487 93.5 C 15.776487 99.29801 19.83028 104.12623 25.695615 108.07761" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 44.78756 60.5 C 27.89426 70.32656 8.276487 85.59294 8.276487 103.5 C 8.276487 119.9993 24.931005 134.66971 40.763704 144.88843" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 40.13828 60.499996 C 24.193 69.34241 6.925629 83.65174 3.7764867 105 C -1.1995027 138.73258 18.695969 159.73378 36.18698 180.46417" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 106.77649 94.66501 C 113.31042 98.37008 119.27522 103.60549 123.27649 111 C 137.72504 137.7015 135.21661 155.7066 119.77649 180 C 117.47504 183.62108 114.72658 186.53483 111.71549 188.87164" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 95.43459 134.5 C 107.53044 141.217 119.17688 150.30111 119.17688 160.3789 C 119.17688 168.6678 111.29816 176.08786 101.77084 182.03036" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 96.65663 208.5 C 109.00063 215.10652 120.77649 224.02344 120.77649 234 C 120.77649 242.434 112.36065 250.02977 102.3003 256.09678" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-    </g>
-  </g>
-</svg>
diff --git a/content/2016/refactor/import2.graffle b/content/2016/refactor/import2.graffle
deleted file mode 100644
index 16fe79e..0000000
--- a/content/2016/refactor/import2.graffle
+++ /dev/null
Binary files differ
diff --git a/content/2016/refactor/import2.html b/content/2016/refactor/import2.html
deleted file mode 100644
index c88de12..0000000
--- a/content/2016/refactor/import2.html
+++ /dev/null
@@ -1 +0,0 @@
-<div class="image"><center><img src="refactor/import2.svg" alt="Import graph for Go 1"></img></center></div>
diff --git a/content/2016/refactor/import2.svg b/content/2016/refactor/import2.svg
deleted file mode 100644
index 9e569fd..0000000
--- a/content/2016/refactor/import2.svg
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="-1 -1 250 247" width="250pt" height="247pt" xmlns:dc="http://purl.org/dc/elements/1.1/">
-  <metadata> Produced by OmniGraffle 7.2.1 
-    <dc:date>2016-12-01 04:34:01 +0000</dc:date>
-  </metadata>
-  <defs>
-    <font-face font-family="Arial" font-size="12" panose-1="2 11 6 4 2 2 2 2 2 4" units-per-em="1000" underline-position="-105.95703" underline-thickness="73.24219" slope="0" x-height="518.5547" cap-height="716.3086" ascent="905.2734" descent="-211.91406" font-weight="500">
-      <font-face-src>
-        <font-face-name name="ArialMT"/>
-      </font-face-src>
-    </font-face>
-    <marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -3 6 6" markerWidth="6" markerHeight="6" color="black">
-      <g>
-        <path d="M 4 0 L 0 -1.5 L 0 1.5 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
-      </g>
-    </marker>
-  </defs>
-  <g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
-    <title>Canvas 1</title>
-    <g>
-      <title>Layer 1</title>
-      <rect x="122.97266" y="148" width="76" height="23.5" fill="#0432ff" fill-opacity=".295307"/>
-      <rect x="122.97266" y="148" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(127.97266 152.55371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="21.66504" y="11" textLength="22.669922">time</tspan>
-      </text>
-      <rect x="122.21255" y="0" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(127.21255 4.553711)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="14.323242" y="11" textLength="37.353516">io/ioutil</tspan>
-      </text>
-      <rect x="122.21255" y="74" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(127.21255 78.55371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="13.661133" y="11" textLength="38.677734">strconv</tspan>
-      </text>
-      <rect x="122.21255" y="37" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(127.21255 41.55371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="18.65918" y="11" textLength="28.68164">bytes</tspan>
-      </text>
-      <rect x="0" y="185" width="76" height="23.5" fill="#ffc0c0"/>
-      <rect x="0" y="185" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(5 189.5537)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="28.330078" y="11" textLength="9.339844">io</tspan>
-      </text>
-      <rect x="122.97266" y="111" width="76" height="23.5" fill="#ffffc0"/>
-      <rect x="122.97266" y="111" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(127.97266 115.55371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="26.663086" y="11" textLength="12.673828">os</tspan>
-      </text>
-      <rect x="122.97266" y="185" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(127.97266 189.5537)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="14.99707" y="11" textLength="36.00586">syscall</tspan>
-      </text>
-      <rect x="122.97266" y="222" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(127.97266 226.5537)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="19.655273" y="11" textLength="26.689453">utf16</tspan>
-      </text>
-      <rect x="0" y="222" width="76" height="23.5" stroke="#666" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(5 226.5537)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="17.332031" y="11" textLength="31.335938">errors</tspan>
-      </text>
-      <line x1="160.21255" y1="23.5" x2="160.21255" y2="31.1" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 188.37477 23.500003 C 200.08476 29.83677 211 38.35015 211 48.06921 C 211 56.7416 202.30916 64.687 192.11774 71.02284" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 197.74767 23.500009 C 218.19313 31.76049 239.38865 44.239423 239.5 60.5 C 239.6234 78.51898 213.82277 96.32661 191.76642 108.24899" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 198.21255 17.560787 C 216.79686 22.535277 236.5144 31.720686 242.85742 48.63171 C 255.90117 83.4074 229.45227 103.01963 206.2539 134.5 C 203.58735 138.11854 200.93553 141.23882 198.3303 143.92759" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="160.21255" y1="60.5" x2="160.21255" y2="68.1" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 122.21254 50.13559 C 113.00153 54.213294 102.8189 61.503755 92.5 74 C 67.89765 103.79357 50.741114 153.22393 42.870807 179.34142" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 122.21254 91.98431 C 118.5502 95.44879 114.92645 100.0403 111.5 106.06921 C 90.75852 142.56434 107.82292 178.3966 87 214.5692 C 84.77209 218.43943 82.45999 221.70105 80.10723 224.44" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="38" y1="208.5" x2="38" y2="216.1" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="160.97266" y1="134.5" x2="160.97266" y2="142.1" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="160.97266" y1="171.5" x2="160.97266" y2="179.1" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="160.97266" y1="208.5" x2="160.97266" y2="216.1" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 191.02245 134.5 C 204.52862 141.17393 217.48633 150.19272 217.48633 160.23132 C 217.48633 168.6864 208.29419 176.26144 197.32434 182.29105" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 195.85316 134.50001 C 214.84078 142.7605 234.5 155.23942 234.5 171.5 C 234.5 189.44295 210.56231 207.17633 190.00368 219.09776" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 122.97265 158.83137 C 119.283 160.33365 115.72009 162.50762 112.5 165.56921 C 93.95127 183.20495 116.60622 202.68404 95.5 222 C 91.32614 225.81983 86.55442 228.58839 81.58454 230.57208" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="141.4466" y1="134.5" x2="62.58134" y2="181.95794" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 124.9436 60.5 C 118.85351 66.18221 112.66408 74.35976 107 86.06921 C 84.52826 132.52539 100.44062 170.89066 80.89258 212.72937 C 80.21104 214.18806 79.52489 215.5706 78.83527 216.8805" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-    </g>
-  </g>
-</svg>
diff --git a/content/2016/refactor/template.html b/content/2016/refactor/template.html
deleted file mode 100644
index f7d3708..0000000
--- a/content/2016/refactor/template.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<ol>
-<li>Add new API, <i>interchangeable</i> with old API.
-<li>Convert uses of old API to new API.
-<li>Remove old API.
-</ol>
diff --git a/content/2016/refactor/version1.graffle b/content/2016/refactor/version1.graffle
deleted file mode 100644
index d76d813..0000000
--- a/content/2016/refactor/version1.graffle
+++ /dev/null
Binary files differ
diff --git a/content/2016/refactor/version1.html b/content/2016/refactor/version1.html
deleted file mode 100644
index bd290ec..0000000
--- a/content/2016/refactor/version1.html
+++ /dev/null
@@ -1 +0,0 @@
-<div class="image"><center><img src="refactor/version1.svg" alt="Standard Library Incompatibility"></img></center></div>
diff --git a/content/2016/refactor/version1.svg b/content/2016/refactor/version1.svg
deleted file mode 100644
index 2e5d5d1..0000000
--- a/content/2016/refactor/version1.svg
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="-1 -1 296 187" width="296pt" height="187pt" xmlns:dc="http://purl.org/dc/elements/1.1/">
-  <metadata> Produced by OmniGraffle 7.2.1 
-    <dc:date>2016-12-01 03:51:49 +0000</dc:date>
-  </metadata>
-  <defs>
-    <font-face font-family="Arial" font-size="12" panose-1="2 11 6 4 2 2 2 2 2 4" units-per-em="1000" underline-position="-105.95703" underline-thickness="73.24219" slope="0" x-height="518.5547" cap-height="716.3086" ascent="905.2734" descent="-211.91406" font-weight="500">
-      <font-face-src>
-        <font-face-name name="ArialMT"/>
-      </font-face-src>
-    </font-face>
-    <marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
-      <g>
-        <path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
-      </g>
-    </marker>
-    <marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#0432ff">
-      <g>
-        <path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
-      </g>
-    </marker>
-    <marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_3" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#ff2600">
-      <g>
-        <path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
-      </g>
-    </marker>
-    <marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_4" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#ff2600">
-      <g>
-        <path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
-      </g>
-    </marker>
-    <font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.68359" underline-thickness="49.316406" slope="0" x-height="522.9492" cap-height="717.28516" ascent="770.0195" descent="-229.98047" font-weight="500">
-      <font-face-src>
-        <font-face-name name="Helvetica"/>
-      </font-face-src>
-    </font-face>
-  </defs>
-  <g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
-    <title>Canvas 1</title>
-    <g>
-      <title>Layer 1</title>
-      <rect x="78" y="0" width="76" height="23.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(83 4.553711)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="19.995117" y="11" textLength="26.009766">Main</tspan>
-      </text>
-      <rect x="0" y="48" width="76" height="23.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(5 52.55371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="22.661133" y="11" textLength="20.677734">Foo</tspan>
-      </text>
-      <rect x="156" y="46" width="76" height="23.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(161 50.55371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="23.663086" y="11" textLength="18.673828">Bar</tspan>
-      </text>
-      <line x1="135.92391" y1="23.5" x2="165.54856" y2="40.97095" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="96.90625" y1="23.5" x2="65.52517" y2="42.811435" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <rect x="48" y="117" width="136" height="68" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(53 166.10742)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="21.64746" y="11" textLength="82.70508">standard library</tspan>
-      </text>
-      <rect x="58.5" y="133.5" width="47.5" height="23.5" stroke="#a5a5a5" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(63.5 138.05371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="5.4052734" y="11" textLength="26.689453">5.1.3</tspan>
-      </text>
-      <rect x="126" y="133.5" width="47.5" height="23.5" stroke="#a5a5a5" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(131 138.05371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="5.4052734" y="11" textLength="26.689453">6.0.0</tspan>
-      </text>
-      <line x1="44.08114" y1="71.5" x2="71.618475" y2="124.70773" marker-end="url(#FilledArrow_Marker_2)" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="188.05786" y1="69.5" x2="160.1599" y2="124.66546" marker-end="url(#FilledArrow_Marker_2)" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="53.357456" y1="71.5" x2="126.5299" y2="127.48429" marker-end="url(#FilledArrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="1,3"/>
-      <line x1="178.99357" y1="69.5" x2="105.05126" y2="127.39667" marker-end="url(#FilledArrow_Marker_4)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="1,3"/>
-      <line x1="199.5" y1="130" x2="275.95" y2="130" marker-end="url(#FilledArrow_Marker_4)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width=".75" stroke-dasharray="1,3"/>
-      <text transform="translate(204.5 120)" fill="#ff2600">
-        <tspan font-family="Helvetica" font-size="8" font-weight="500" fill="#ff2600" x="14.542969" y="8" textLength="44.91406">incompatible</tspan>
-      </text>
-      <line x1="199.5" y1="150" x2="275.95" y2="150" marker-end="url(#FilledArrow_Marker_2)" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width=".75"/>
-      <text transform="translate(204.5 140)" fill="#0432ff">
-        <tspan font-family="Helvetica" font-size="8" font-weight="500" fill="#0432ff" x="17.65625" y="8" textLength="38.6875">compatible</tspan>
-      </text>
-    </g>
-  </g>
-</svg>
diff --git a/content/2016/refactor/version2.graffle b/content/2016/refactor/version2.graffle
deleted file mode 100644
index 122ec2b..0000000
--- a/content/2016/refactor/version2.graffle
+++ /dev/null
Binary files differ
diff --git a/content/2016/refactor/version2.html b/content/2016/refactor/version2.html
deleted file mode 100644
index ea6442e..0000000
--- a/content/2016/refactor/version2.html
+++ /dev/null
@@ -1 +0,0 @@
-<div class="image"><center><img src="refactor/version2.svg" alt="Standard Library Compatibility"></img></center></div>
diff --git a/content/2016/refactor/version2.svg b/content/2016/refactor/version2.svg
deleted file mode 100644
index 698fd14..0000000
--- a/content/2016/refactor/version2.svg
+++ /dev/null
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="-1 -1 296 219" width="296pt" height="219pt" xmlns:dc="http://purl.org/dc/elements/1.1/">
-  <metadata> Produced by OmniGraffle 7.2.1 
-    <dc:date>2016-12-01 03:54:17 +0000</dc:date>
-  </metadata>
-  <defs>
-    <font-face font-family="Arial" font-size="12" panose-1="2 11 6 4 2 2 2 2 2 4" units-per-em="1000" underline-position="-105.95703" underline-thickness="73.24219" slope="0" x-height="518.5547" cap-height="716.3086" ascent="905.2734" descent="-211.91406" font-weight="500">
-      <font-face-src>
-        <font-face-name name="ArialMT"/>
-      </font-face-src>
-    </font-face>
-    <marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
-      <g>
-        <path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
-      </g>
-    </marker>
-    <marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#0432ff">
-      <g>
-        <path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
-      </g>
-    </marker>
-    <marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_3" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#ff2600">
-      <g>
-        <path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
-      </g>
-    </marker>
-    <marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_4" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#ff2600">
-      <g>
-        <path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
-      </g>
-    </marker>
-    <font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.68359" underline-thickness="49.316406" slope="0" x-height="522.9492" cap-height="717.28516" ascent="770.0195" descent="-229.98047" font-weight="500">
-      <font-face-src>
-        <font-face-name name="Helvetica"/>
-      </font-face-src>
-    </font-face>
-    <marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_5" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#0432ff">
-      <g>
-        <path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
-      </g>
-    </marker>
-  </defs>
-  <g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
-    <title>Canvas 1</title>
-    <g>
-      <title>Layer 1</title>
-      <rect x="78" y="0" width="76" height="23.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(83 4.553711)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="19.995117" y="11" textLength="26.009766">Main</tspan>
-      </text>
-      <rect x="0" y="48" width="76" height="23.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(5 52.55371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="22.661133" y="11" textLength="20.677734">Foo</tspan>
-      </text>
-      <rect x="156" y="46" width="76" height="23.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(161 50.55371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="23.663086" y="11" textLength="18.673828">Bar</tspan>
-      </text>
-      <line x1="135.92391" y1="23.5" x2="165.54856" y2="40.97095" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="96.90625" y1="23.5" x2="65.52517" y2="42.811435" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <rect x="48" y="117" width="136" height="100.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(53 198.60742)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="21.64746" y="11" textLength="82.70508">standard library</tspan>
-      </text>
-      <rect x="58.5" y="133.5" width="47.5" height="23.5" stroke="#a5a5a5" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(63.5 138.05371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="5.4052734" y="11" textLength="26.689453">5.1.3</tspan>
-      </text>
-      <rect x="126" y="133.5" width="47.5" height="23.5" stroke="#a5a5a5" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(131 138.05371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="5.4052734" y="11" textLength="26.689453">6.0.0</tspan>
-      </text>
-      <line x1="44.08114" y1="71.5" x2="71.618475" y2="124.70773" marker-end="url(#FilledArrow_Marker_2)" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="188.05786" y1="69.5" x2="160.1599" y2="124.66546" marker-end="url(#FilledArrow_Marker_2)" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="53.357456" y1="71.5" x2="126.5299" y2="127.48429" marker-end="url(#FilledArrow_Marker_3)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="1,3"/>
-      <line x1="178.99357" y1="69.5" x2="105.05126" y2="127.39667" marker-end="url(#FilledArrow_Marker_4)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="1,3"/>
-      <line x1="199.5" y1="130" x2="275.95" y2="130" marker-end="url(#FilledArrow_Marker_4)" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width=".75" stroke-dasharray="1,3"/>
-      <text transform="translate(204.5 120)" fill="#ff2600">
-        <tspan font-family="Helvetica" font-size="8" font-weight="500" fill="#ff2600" x="14.542969" y="8" textLength="44.91406">incompatible</tspan>
-      </text>
-      <line x1="199.5" y1="150" x2="275.95" y2="150" marker-end="url(#FilledArrow_Marker_2)" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width=".75"/>
-      <text transform="translate(204.5 140)" fill="#0432ff">
-        <tspan font-family="Helvetica" font-size="8" font-weight="500" fill="#0432ff" x="17.65625" y="8" textLength="38.6875">compatible</tspan>
-      </text>
-      <rect x="58.5" y="164.5" width="47.5" height="23.5" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(63.5 169.05371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="5.4052734" y="11" textLength="26.689453">5.2.0</tspan>
-      </text>
-      <path d="M 38.299127 71.49998 C 39.23227 79.43687 41.73237 91.49878 48 108 C 54.4882 125.08193 63.43472 142.76385 70.55697 155.84909" marker-end="url(#FilledArrow_Marker_5)" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <path d="M 186.36683 69.5 C 174.03483 88.13288 148.80312 124.81951 126 149 C 121.50411 153.76745 117.40286 157.7304 113.67481 161.0212" marker-end="url(#FilledArrow_Marker_5)" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-    </g>
-  </g>
-</svg>
diff --git a/content/2016/state-of-go.slide b/content/2016/state-of-go.slide
deleted file mode 100644
index f2787e7..0000000
--- a/content/2016/state-of-go.slide
+++ /dev/null
@@ -1,509 +0,0 @@
-The State of Go
-Where we are in February 2016
-
-Francesc Campoy
-Gopher at Google
-@francesc
-campoy@golang.org
-
-* Time flies
-
-Go 1.4 is one year old (happy birthday!)
-
-Go 1.5 is already 6 months old!
-
-Go 1.6 to be released sometime in February.
-
-Go 1.6 Candidate Release 1 was released on January 28th
-
-* Notes
-
-The slides are available on [[https://talks.golang.org/2016/state-of-go.slide]]
-
-Most of the code examples won't run except locally and using Go 1.6.
-
-The playground still runs Go 1.5.
-
-* Agenda
-
-Changes since Go 1.5:
-
-- the language
-- the standard library
-- the runtime
-- the tooling
-- the community
-
-* Changes to the language
-
-* Changes to the language
-
-None.
-
-This is a feature.
-
-* Changes to the standard library
-
-* Changes to the standard library
-
-A couple of new things, in order of excitement.
-
-- net/http
-
-- {text,html}/template
-
-- sort
-
-Also more speed and fewer bugs.
-
-* net/http
-
-If:
-
-- you're using HTTPS
-
-- and Go 1.6
-
-you're using HTTP/2!
-
-* HTTP/2
-
-At a high level, HTTP/2:
-
-- is binary, instead of textual
-- is fully multiplexed, instead of ordered and blocking
-- can therefore use one connection for parallelism
-- uses header compression to reduce overhead
-- allows servers to “push” responses proactively into client caches
-
-.link https://http2.golang.org/gophertiles
-
-* text/template
-
-Imagine that given a slice of strings:
-
-	[]string{"one", "two", "three"}
-
-We want to write a template that will generate:
-
-	<ul>
-	<li>one</li>
-	<li>two</li>
-	<li>three</li>
-	</ul>
-
-What template would you write?
-
-* text/template: first try
-
-Naturally, I write this:
-
-.play state-of-go/template/old.go /`/,/`/
-
-But unfortunately it's not exactly what I want!
-
-* text/template: let's fix it
-
-We need to be careful with the line breaks.
-
-.play state-of-go/template/fixed.go /`/,/`/
-
-This works now, but ... I don't really like my code!
-
-* text/template: meet {{- and -}}
-
-Go 1.6 brings two new delimiters:
-
-- `{{-`
-- `-}}`
-
-Similar to `{{` and `}}`, but _all_ white space on the `-` side will be trimmed.
-
-The template:
-
-	{{23 -}}
-	<
-	{{- 45}}
-
-generates:
-
-	23<45
-
-* text/template: back to our problem
-
-We can now have:
-
-- the result we expected
-- without sacrificing the readability of our templates.
-
-.play state-of-go/template/new.go /`/,/`/
-
-* text/template: the block action
-
-Go 1.6 brings also a new action named `block`.
-
-Let's see what it is useful for.
-
-* Factoring out repetition in templates
-
-Both `<ul>` share the same structure.
-
-	{{define "presentation"}}
-		Authors:
-		<ul>
-		{{range .Authors}}
-			<li>{{.}}</li>
-		{{end}}
-		</ul>
-
-		Topics:
-		<ul>
-		{{range .Topics}}
-			<li>{{.}}</li>
-		{{end}}
-		</ul>
-	{{end}}
-
-Templates can be used to avoid repetition.
-
-* Factoring out repetition with templates (cont.)
-
-We can define a new template:
-
-.code state-of-go/template/define.go /define "list"/,/^{{end}}/
-
-And use it where needed:
-
-.code state-of-go/template/define.go /define "presentation"/,/^{{end}}/
-
-* Factoring out repetition with templates (cont.)
-
-We can parse that template and execute it.
-
-.play state-of-go/template/define.go /func main/,/^}/
-
-* Template redefinition
-
-We made also our template easier to reuse, as we can redefine `list`.
-
-.play state-of-go/template/redefine.go /func main/,/^}/
-
-* Meet the block action
-
-The `block` action defines and executes a template in place.
-
-.code state-of-go/template/blocks.go /define/,/`/
-
-That template defined by `block` can be:
-
-- referenced later by the same template,
-- redefined with `define`.
-
-* Why do we need it?
-
-It is more compact when
-
-- we're not factoring out repetition,
-- but we need to provide an extension point.
-
-We can make the following template more compact with `block`.
-
-	{{define "content" .}}
-		<h1>{{.Heading}}<h1>
-		<p>{{.Content}}</p>
-	{{end}}
-
-	{{define "page"}}
-		<title>{{.Title}}</title>
-		<body>
-		{{template "content" .}}
-		</body>
-	{{end}}
-
-* Why do we need it? (cont.)
-
-We can make the following template more compact with `block`.
-
-	{{define "page"}}
-		<title>{{.Title}}</title>
-		<body>
-		{{block "content" .}}
-			<h1>{{.Heading}}<h1>
-			<p>{{.Content}}</p>
-		{{end}}
-		</body>
-	{{end}}
-
-And still easily redefine `content`.
-
-* sort.Sort is faster
-
-`Sort` sorts your data by calling `Less`, `Swap`, and `Len`.
-
-We reduced the number of comparisons and swaps by about 10%.
-
-Sort `[]int` with Go 1.5
-
-	BenchmarkSort_1-4       20000000              67.2 ns/op
-	BenchmarkSort_10-4      10000000               227 ns/op
-	BenchmarkSort_100-4       500000              3863 ns/op
-	BenchmarkSort_1000-4       30000             52189 ns/op
-
-Sort `[]int` with Go 1.6
-
-	BenchmarkSort_1-4       20000000              64.7 ns/op
-	BenchmarkSort_10-4      10000000               137 ns/op
-	BenchmarkSort_100-4       500000              2849 ns/op
-	BenchmarkSort_1000-4       30000             46949 ns/op
-
-* sort.Sort is faster - plot
-
-.image state-of-go/img/bench-sort.png _ 800
-
-* Sort order and sort.Stable
-
-Reminder: sort.Sort is not a _stable_ sort.
-
-.play state-of-go/sort/unstable.go /byLength/,
-
-Use `sort.Stable`:
-
-.play state-of-go/sort/stable.go /func main/,
-
-* Minor changes
-
-.image state-of-go/img/minorchanges.png _ 900
-.caption too many to discuss: find them [[https://golang.org/doc/go1.6#minor_library_changes][here]]
-
-* Let's just discuss one
-
-`time.Parse` is smarter!
-
-.play state-of-go/time/time.go /func main/,/^}/
-
-
-* Changes to the runtime
-
-* Detection of concurrent map accesses
-
-Detection of unsafe concurrent access to maps.
-
-.play state-of-go/runtime/crash.go /const/,/Wait\(\)/
-
-Outputs:
-
-	fatal error: concurrent map read and map write
-	fatal error: concurrent map writes
-
-* Does it make it slower?
-
-No!
-
-Let's benchmark it - with a correct solution.
-
-.code state-of-go/runtime/good/good.go /func count/,/^}/
-
-* Benchmark results
-
-Go 1.4 - GOMAXPROCS = 4
-
-	BenchmarkCount_1         1000000              1862 ns/op
-	BenchmarkCount_10         100000             21214 ns/op
-	BenchmarkCount_100          1000           1602507 ns/op
-	BenchmarkCount_1000           10         141712948 ns/op
-
-Go 1.5 - GOMAXPROCS = 4
-
-	BenchmarkCount_1-4       2000000               867 ns/op
-	BenchmarkCount_10-4       200000              6909 ns/op
-	BenchmarkCount_100-4        1000           1025092 ns/op
-	BenchmarkCount_1000-4         20          94093719 ns/op
-
-Go 1.6 - GOMAXPROCS = 4
-
-	BenchmarkCount_1-4       2000000               750 ns/op
-	BenchmarkCount_10-4       200000              6582 ns/op
-	BenchmarkCount_100-4        2000           1113790 ns/op
-	BenchmarkCount_1000-4         20          87998054 ns/op
-
-* Benchmark results plot
-
-.image state-of-go/img/bench4.png _ 800
-
-* Benchmark results
-
-Go 1.4 - GOMAXPROCS = 1
-
-	BenchmarkCount_1         100000               1370 ns/op
-	BenchmarkCount_10         20000               8622 ns/op
-	BenchmarkCount_100          500             362725 ns/op
-	BenchmarkCount_1000          50           31378803 ns/op
-
-Go 1.5 - GOMAXPROCS = 1
-
-	BenchmarkCount_1-4      2000000                776 ns/op
-	BenchmarkCount_10-4      200000               6288 ns/op
-	BenchmarkCount_100-4       3000             345037 ns/op
-	BenchmarkCount_1000-4        50           31751625 ns/op
-
-Go 1.6 - GOMAXPROCS = 1
-
-	BenchmarkCount_1-4       2000000               767 ns/op
-	BenchmarkCount_10-4       200000              6041 ns/op
-	BenchmarkCount_100-4        5000            329328 ns/op
-	BenchmarkCount_1000-4         50          30176034 ns/op
-
-* Benchmark results plot
-
-.image state-of-go/img/bench1.png _ 800
-
-* Garbage Collector in Go 1.5
-
-At [[https://www.youtube.com/watch?v=aiv1JOfMjm0][GopherCon 2015 Rick Hudson gave a presentation]] about the Go 1.5 low latency collector
-
-.image state-of-go/img/gc345.png 500 _
-
-* Garbage Collector in Go 1.6
-
-At [[http://www.infoq.com/presentations/go-gc-performance][QCon SF in November Rick Hudson]] gave an updated presentation which showed this comparison of Go 1.5 to the upcoming Go 1.6
-
-.image state-of-go/img/gc56.png 400 _
-
-_Yes,_that_is_gigabytes_on_the_X_axis_
-
-* Garbage Collector on tip
-
-Right now it's even better!
-
-.image state-of-go/img/gcgotip.png _ 600
-
-* People loved it with Go 1.5
-
-.image state-of-go/img/twitter1.png _ 550
-.caption [[https://twitter.com/brianhatfield/status/634166123605331968][original tweet]]
-
-* People love it even more with Go 1.6
-
-.image state-of-go/img/twitter2.png _ 600
-.caption [[https://twitter.com/brianhatfield/status/692778741567721473][original tweet]]
-
-* Oops
-
-.image state-of-go/img/twitter3.png _ 600
-.caption [[https://twitter.com/bradfitz/status/692787593558118400][original tweet]] and [[https://www.youtube.com/watch?v=CduA0TULnow&t=1m29s][video]]
-
-* New ports
-
-Experimental ports to Linux on 64-bit MIPS (linux/mips64 and linux/mips64le).
-
-Experimental port to Android on 32-bit x86 (android/386).
-
-On Linux on little-endian 64-bit PowerPC (linux/ppc64le), Go 1.6 now supports cgo with external linking and is roughly feature complete.
-
-On NaCl, Go 1.5 required SDK version pepper-41. Go 1.6 adds support for later SDK versions.
-
-* Changes to the tooling
-
-* The cgo tool
-
-Go is garbage collected, can C and Go share memory?
-
-In short:
-
-- Go can pass a pointer to C
-- the referenced memory can't have pointers to Go allocated memory
-- C can't keep pointers to the memory after the call returns
-
-In more detail:
-
-- the `cgo` [[https://tip.golang.org/cmd/cgo/#hdr-Passing_pointers][docs]].
-
-This is checked by the runtime at execution.
-
-You could disable the checks, but you probably shouldn't.
-
-* Sharing pointers between Go and C
-
-.code state-of-go/cgo/main.go
-
-Outputs:
-
-	panic: runtime error: cgo argument has Go pointer to Go pointer
-
-* The go tool
-
-GO15VENDOREXPERIMENT is now enabled by default.
-
-How does it work?
-
-	/home/user/gocode/
-	    src/
-	        server-one/
-	            main.go            (import "github.com/gorilla/mux")
-	        server-two/
-	            main.go            (import "github.com/gorilla/mux")
-	            vendor/
-	                github.com/
-	                    gorilla/
-	                        mux/
-	                            ...
-
-`server-one` uses the `mux` package in `$GOPATH/src/github.com/gorilla/mux`.
-
-`server-two` uses the `mux` package in `vendor`.
-
-* Vendoring demo
-
-* go doc
-
-Go 1.5 added the possibility of searching by name
-
-	go doc math Pi
-
-Go 1.6 defines priority of packages with import paths with less elements.
-
-Non vendored packages appear first.
-
-* go vet
-
-Go vet warns if the code prints a function instead of its result.
-
-.play state-of-go/govet/main.go
-
-`go`vet` output:
-
-	main.go:8: arg foo in Println call is a function value, not a function call
-
-The warning can be removed using `%p` in the format string.
-
-* The community
-
-* The community
-
-Code of Conduct announced on November 24th 2015
-
-Go meetups:
-
-- [[http://go-meetups.appspot.com]]
-
-Women Who Go - 7 chapters already!
-
-- [[http://www.womenwhogo.org]]
-
-* Conferences:
-
-- [[http://gophergala.com/][GopherGala]] Jan 22-24th (judging proposals now)
-- [[https://fosdem.org/2016/][FOSDEM]] Right here, right now. Hello!
-- [[http://gophercon.ae][GopherCon Dubai]], Feb 23rd
-- [[http://www.gophercon.in/][GopherCon India]], Feb 19-20th
-- [[https://gophercon.com/][Gophercon Denver]], Jul 11-13th
-- [[http://2016.dotgo.eu/][dotGo]], Nov 9th
-
-* Go 1.6 release party, February 17th
-
-Go 1.6 ships soon!
-
-Go meetups are organising to hold a [[https://github.com/golang/go/wiki/Go-1.6-release-party][release party]] on the 17th of February.
-
-.image state-of-go/img/party-gopher.png _ 300
-.caption Join the party!!!
diff --git a/content/2016/state-of-go/cgo/main.go b/content/2016/state-of-go/cgo/main.go
deleted file mode 100644
index 6660eb7..0000000
--- a/content/2016/state-of-go/cgo/main.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-/*
-int fn(void* arg) { return arg == 0; }
-*/
-import "C"
-import "unsafe"
-
-type T struct{ a, b int }
-type X struct{ t *T }
-
-func main() {
-	t := T{a: 1, b: 2}
-	C.fn(unsafe.Pointer(&t)) // correct // HL
-
-	x := X{t: &t}
-	C.fn(unsafe.Pointer(&x)) // incorrect // HL
-}
diff --git a/content/2016/state-of-go/govet/main.go b/content/2016/state-of-go/govet/main.go
deleted file mode 100644
index d4f49a2..0000000
--- a/content/2016/state-of-go/govet/main.go
+++ /dev/null
@@ -1,11 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-func foo() string { return "bar" }
-
-func main() {
-	fmt.Printf("%v", foo)
-}
diff --git a/content/2016/state-of-go/img/bench-sort.png b/content/2016/state-of-go/img/bench-sort.png
deleted file mode 100644
index e42d4a2..0000000
--- a/content/2016/state-of-go/img/bench-sort.png
+++ /dev/null
Binary files differ
diff --git a/content/2016/state-of-go/img/bench1.png b/content/2016/state-of-go/img/bench1.png
deleted file mode 100644
index 0fee88c..0000000
--- a/content/2016/state-of-go/img/bench1.png
+++ /dev/null
Binary files differ
diff --git a/content/2016/state-of-go/img/bench4.png b/content/2016/state-of-go/img/bench4.png
deleted file mode 100644
index 88cd3d1..0000000
--- a/content/2016/state-of-go/img/bench4.png
+++ /dev/null
Binary files differ
diff --git a/content/2016/state-of-go/img/gc345.png b/content/2016/state-of-go/img/gc345.png
deleted file mode 100644
index 3180473..0000000
--- a/content/2016/state-of-go/img/gc345.png
+++ /dev/null
Binary files differ
diff --git a/content/2016/state-of-go/img/gc56.png b/content/2016/state-of-go/img/gc56.png
deleted file mode 100644
index bc97b2d..0000000
--- a/content/2016/state-of-go/img/gc56.png
+++ /dev/null
Binary files differ
diff --git a/content/2016/state-of-go/img/gcgotip.png b/content/2016/state-of-go/img/gcgotip.png
deleted file mode 100644
index 7088e1c..0000000
--- a/content/2016/state-of-go/img/gcgotip.png
+++ /dev/null
Binary files differ
diff --git a/content/2016/state-of-go/img/minorchanges.png b/content/2016/state-of-go/img/minorchanges.png
deleted file mode 100644
index 3a22ee6..0000000
--- a/content/2016/state-of-go/img/minorchanges.png
+++ /dev/null
Binary files differ
diff --git a/content/2016/state-of-go/img/party-gopher.png b/content/2016/state-of-go/img/party-gopher.png
deleted file mode 100644
index d18690f..0000000
--- a/content/2016/state-of-go/img/party-gopher.png
+++ /dev/null
Binary files differ
diff --git a/content/2016/state-of-go/img/twitter1.png b/content/2016/state-of-go/img/twitter1.png
deleted file mode 100644
index 1825bb9..0000000
--- a/content/2016/state-of-go/img/twitter1.png
+++ /dev/null
Binary files differ
diff --git a/content/2016/state-of-go/img/twitter2.png b/content/2016/state-of-go/img/twitter2.png
deleted file mode 100644
index 81ce982..0000000
--- a/content/2016/state-of-go/img/twitter2.png
+++ /dev/null
Binary files differ
diff --git a/content/2016/state-of-go/img/twitter3.png b/content/2016/state-of-go/img/twitter3.png
deleted file mode 100644
index 9368027..0000000
--- a/content/2016/state-of-go/img/twitter3.png
+++ /dev/null
Binary files differ
diff --git a/content/2016/state-of-go/runtime/crash.go b/content/2016/state-of-go/runtime/crash.go
deleted file mode 100644
index d65fb5e..0000000
--- a/content/2016/state-of-go/runtime/crash.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"sync"
-)
-
-func main() {
-	const workers = 100 // what if we have 1, 2, 25?
-
-	var wg sync.WaitGroup
-	wg.Add(workers)
-	m := map[int]int{}
-	for i := 1; i <= workers; i++ {
-		go func(i int) {
-			for j := 0; j < i; j++ {
-				m[i]++ // HL
-			}
-			wg.Done()
-		}(i)
-	}
-	wg.Wait()
-	fmt.Println(m)
-}
diff --git a/content/2016/state-of-go/runtime/good/good.go b/content/2016/state-of-go/runtime/good/good.go
deleted file mode 100644
index 677c3a5..0000000
--- a/content/2016/state-of-go/runtime/good/good.go
+++ /dev/null
@@ -1,31 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"runtime"
-	"sync"
-)
-
-func main() {
-	runtime.GOMAXPROCS(runtime.NumCPU())
-	count(10000) // what if we have 1, 2, 25?
-}
-
-func count(n int) {
-	var wg sync.WaitGroup
-	wg.Add(n)
-	m := map[int]int{}
-	var mu sync.Mutex // HL
-	for i := 1; i <= n; i++ {
-		go func(i int) {
-			for j := 0; j < i; j++ {
-				mu.Lock() // HL
-				m[i]++
-				mu.Unlock() // HL
-			}
-			wg.Done()
-		}(i)
-	}
-	wg.Wait()
-}
diff --git a/content/2016/state-of-go/sort/stable.go b/content/2016/state-of-go/sort/stable.go
deleted file mode 100644
index ac8e5c2..0000000
--- a/content/2016/state-of-go/sort/stable.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"sort"
-	"strings"
-)
-
-type byLength []string
-
-func (b byLength) Len() int           { return len(b) }
-func (b byLength) Less(i, j int) bool { return len(b[i]) < len(b[j]) }
-func (b byLength) Swap(i, j int)      { b[i], b[j] = b[j], b[i] }
-
-func main() {
-	values := []string{"ball", "hell", "one", "joke", "fool", "moon", "two"}
-	sort.Stable(byLength(values)) // HL
-	fmt.Println(strings.Join(values, "\n"))
-}
diff --git a/content/2016/state-of-go/sort/unstable.go b/content/2016/state-of-go/sort/unstable.go
deleted file mode 100644
index fa440f3..0000000
--- a/content/2016/state-of-go/sort/unstable.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"sort"
-	"strings"
-)
-
-type byLength []string
-
-func (b byLength) Len() int           { return len(b) }
-func (b byLength) Less(i, j int) bool { return len(b[i]) < len(b[j]) }
-func (b byLength) Swap(i, j int)      { b[i], b[j] = b[j], b[i] }
-
-func main() {
-	values := []string{"ball", "hell", "one", "joke", "fool", "moon", "two"}
-	sort.Sort(byLength(values))
-	fmt.Println(strings.Join(values, "\n"))
-}
diff --git a/content/2016/state-of-go/template/blocks.go b/content/2016/state-of-go/template/blocks.go
deleted file mode 100644
index 17fadd4..0000000
--- a/content/2016/state-of-go/template/blocks.go
+++ /dev/null
@@ -1,48 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"html/template"
-	"log"
-	"os"
-	"strings"
-)
-
-const tmplText = `
-{{define "presentation"}}
-	Authors:
-	{{block "list" .Authors}} // HL
-	<ul>
-	{{- range .}}
-		<li>{{.}}</li>
-	{{- end}}
-	</ul>
-	{{end}} // HL
-
-	Topics:
-	{{template "list" .Topics}} // HL
-{{end}}
-` // OMIT
-
-type Presentation struct {
-	Authors []string
-	Topics  []string
-}
-
-func main() {
-	p := Presentation{
-		Authors: []string{"one", "two", "three"},
-		Topics:  []string{"go", "templates"},
-	}
-
-	tmpl := template.Must(template.New("presentation").Parse(tmplText))
-
-	tmpl = tmpl.Funcs(template.FuncMap{"join": strings.Join})                       // HL
-	tmpl = template.Must(tmpl.Parse(`{{define "list"}} {{join . " | "}} {{ end}}`)) // HL
-
-	err := tmpl.Execute(os.Stdout, p)
-	if err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/content/2016/state-of-go/template/define.go b/content/2016/state-of-go/template/define.go
deleted file mode 100644
index cd4986a..0000000
--- a/content/2016/state-of-go/template/define.go
+++ /dev/null
@@ -1,46 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"html/template"
-	"log"
-	"os"
-)
-
-const tmplText = `
-{{define "list"}}
-	<ul>
-	{{range .}}
-		<li>{{.}}</li>
-	{{end}}
-	</ul>
-{{end}}	
-
-{{define "presentation"}}
-	Authors:
-	{{template "list" .Authors}}
-
-	Topics:
-	{{template "list" .Topics}}
-{{end}}
-`
-
-type Presentation struct {
-	Authors []string
-	Topics  []string
-}
-
-func main() {
-	p := Presentation{
-		Authors: []string{"one", "two", "three"},
-		Topics:  []string{"go", "templates"},
-	}
-
-	tmpl := template.Must(template.New("presentation").Parse(tmplText)) // HL
-
-	err := tmpl.Execute(os.Stdout, p)
-	if err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/content/2016/state-of-go/template/fixed.go b/content/2016/state-of-go/template/fixed.go
deleted file mode 100644
index 4a4dcb0..0000000
--- a/content/2016/state-of-go/template/fixed.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"html/template"
-	"log"
-	"os"
-)
-
-var tmpl = template.Must(template.New("tmpl").Parse(`
-<ul>
-{{range .}}<li>{{.}}</li>
-{{end}}</ul>
-`))
-
-func main() {
-	err := tmpl.Execute(os.Stdout, []string{"one", "two", "three"})
-	if err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/content/2016/state-of-go/template/new.go b/content/2016/state-of-go/template/new.go
deleted file mode 100644
index eb8f7b1..0000000
--- a/content/2016/state-of-go/template/new.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"html/template"
-	"log"
-	"os"
-)
-
-var tmpl = template.Must(template.New("tmpl").Parse(`
-<ul>
-{{range . -}}
-	<li>{{.}}</li>
-{{end -}}
-</ul>
-`))
-
-func main() {
-	err := tmpl.Execute(os.Stdout, []string{"one", "two", "three"})
-	if err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/content/2016/state-of-go/template/old.go b/content/2016/state-of-go/template/old.go
deleted file mode 100644
index 0bae788..0000000
--- a/content/2016/state-of-go/template/old.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"html/template"
-	"log"
-	"os"
-)
-
-var tmpl = template.Must(template.New("tmpl").Parse(`
-<ul>
-{{range .}}
-	<li>{{.}}</li>
-{{end}}
-</ul>
-`))
-
-func main() {
-	err := tmpl.Execute(os.Stdout, []string{"one", "two", "three"})
-	if err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/content/2016/state-of-go/template/redefine.go b/content/2016/state-of-go/template/redefine.go
deleted file mode 100644
index b4b736d..0000000
--- a/content/2016/state-of-go/template/redefine.go
+++ /dev/null
@@ -1,50 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"html/template"
-	"log"
-	"os"
-	"strings"
-)
-
-const tmplText = `
-{{define "list"}}
-	<ul>
-	{{range .}}
-		<li>{{.}}</li>
-	{{end}}
-	</ul>
-{{end}}	
-
-{{define "presentation"}}
-	Authors:
-	{{template "list" .Authors}}
-
-	Topics:
-	{{template "list" .Topics}}
-{{end}}
-`
-
-type Presentation struct {
-	Authors []string
-	Topics  []string
-}
-
-func main() {
-	p := Presentation{
-		Authors: []string{"one", "two", "three"},
-		Topics:  []string{"go", "templates"},
-	}
-
-	tmpl := template.Must(template.New("presentation").Parse(tmplText))
-
-	tmpl = tmpl.Funcs(template.FuncMap{"join": strings.Join})                       // HL
-	tmpl = template.Must(tmpl.Parse(`{{define "list"}} {{join . " | "}} {{ end}}`)) // HL
-
-	err := tmpl.Execute(os.Stdout, p)
-	if err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/content/2016/state-of-go/time/time.go b/content/2016/state-of-go/time/time.go
deleted file mode 100644
index 564c062..0000000
--- a/content/2016/state-of-go/time/time.go
+++ /dev/null
@@ -1,18 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"time"
-)
-
-func main() {
-	days := []string{"2015 Feb 29", "2016 Feb 29", "2017 Feb 29"}
-
-	fmt.Println("Are these days valid?")
-	for _, day := range days {
-		_, err := time.Parse("2006 Jan 2", day)
-		fmt.Printf("%v -> %v\n", day, err == nil)
-	}
-}
diff --git a/content/2016/token.slide b/content/2016/token.slide
deleted file mode 100644
index 049f3b9..0000000
--- a/content/2016/token.slide
+++ /dev/null
@@ -1,471 +0,0 @@
-Stacks of Tokens
-A study in interfaces
-
-Sydney Go Meetup
-15 September 2016
-
-Rob Pike
-Google
-@rob_pike
-[[http://golang.org/s/plusrob][+RobPikeTheHuman]]
-http://golang.org/
-
-* Background
-
-Spoke at Gophercon this year: [[https://talks.golang.org/2016/asm.slide]]
-
-That talk was about system design and portability.
-
-Today's talk is about its lexer.
-
-Spoke about lexing before: [[https://talks.golang.org/2011/lex.slide]]
-
-That talk showed a way to use concurrency to build a lexer.
-
-Today's talk is about interfaces.
-
-* Lexer
-
-A lexer, also called a scanner, breaks the input stream into distinct "tokens":
-
-- identifiers
-- numbers
-- quoted strings
-- operators
-- miscellaneous characters such as comma, colon.
-
-Each token has a _type_ and a _value_.
-
-* Example
-
-	MOVQ    R0, 4(R1)
-
-The lexer turns this into the stream
-
-- identifier `MOVQ`
-- identifier `R0`
-- character `,`
-- number `4`
-- character `(`
-- identifier `R1`
-- character `)`
-
-Spaces are ignored.
-
-The parser then reads these tokens to parse the input into a _parse_tree_.
-
-* Go's text/scanner package
-
-There is a nice, efficient lexer package in the Go standard library:
-
-- [[https://golang.org/pkg/text/scanner/][`text/scanner`]]
-
-It can do this job just fine.
-
-But.... that is not enough for the assembler because of
-
-* Backwards compatibility
-
-The new Go assembler had to be totally compatible with the ones it replaces, which used YACC and were written in C. (See [[https://talks.golang.org/2015/gogo.slide][]].)
-
-Each assembler (one per architecture) contained these lines at the end of `lex.c`:
-	
-	#include "../cc/lexbody"
-	#include "../cc/macbody"
-
-This gave the assemblers the same lexer as the C compiler.
-The differences between C tokens and Go tokens are minor and can be handled, but....
-
-
-The C lexer brings in something problematic.
- 
-* The C preprocessor
-
-The old assemblers had a C preprocessor built in!
-An old-fashioned one, without `#if` and token pasting, but still:
-
-	#include "file" 
-	#define  MAXBUF 512 
-	#define  MULDIV(a, b, c)  ((a)*(b)/(c)) 
-	#ifdef   MAXBUF
-	#endif
-
-The `text/scanner` package can't handle this.
-But we need to do it to be compatible.
-
-This talk is about how to use Go's interfaces to do it.
-
-* An observation
-
-What is standard input? An input source.
-
-- read the input
-
-What is an included file? An input source.
-
-- read the file
-
-What is a macro invocation? An input source.
-
-- read the macro definition
-
-Sounds a lot like `io.Reader`.
-
-* Token reader
-
-We don't want bytes, we want tokens. (Why?)
-
-Instead of
-
-	type Reader interface {
-		Read(p []byte) (n int, err error)
-	}
-
-we want something like
-
-	type TokenReader interface {
-		ReadToken() (Token, error)
-	}
-
-In practice the parser needs something different from `Read`, but the basic idea works.
-
-We build a lexer around an interface that reads tokens.
-
-* The observation in practice
-
-What is standard input? An input source.
-
-- get tokens from the input
-
-What is an included file? An input source.
-
-- get tokens from the file
-
-What is a macro invocation? An input source.
-
-- get tokens from the macro definition
-
-Each of these implements the `TokenReader` interface.
-
-* TokenReader
-
-	type TokenReader interface {
-		// Next returns the next token.
-		Next() ScanToken
-		// The following methods all refer to the most recent token returned by Next.
-		// Text returns the original string representation of the token.
-		Text() string
-		// File reports the source file name of the token.
-		File() string
-		// Line reports the source line number of the token.
-		Line() int
-		// Col reports the source column number of the token.
-		Col() int
-	}
-
-Parser calls `Next`, then can ask about the token: what is, where it is.
-`ScanToken` is just `text/scanner.Token` with tweaks.
-
-Note: No `Peek`. This has no lookahead.
-
-* Tokenizer
-
-`Tokenizer`, the foundational `TokenReader`, turns a `text/scanner.Scanner` into a `TokenReader`.
-
-	// A Tokenizer is a simple wrapping of text/scanner.Scanner, configured
-	// for our purposes and made a TokenReader. It forms the lowest level,
-	// turning text from readers into tokens.
-	type Tokenizer struct {
-		tok      ScanToken // Most recent token.
-		s        *scanner.Scanner
-		line     int
-		fileName string
-	}
-
-	func NewTokenizer(name string, r io.Reader, file *os.File) *Tokenizer
-
-Either the reader or the file may be nil.
-
-`Tokenizer` implements `TokenReader`
-
-* Tokenizer.Next
-
-To give the flavor:
-
-	func (t *Tokenizer) Next() ScanToken {
-		s := t.s
-		for {
-			t.tok = ScanToken(s.Scan())
-			if t.tok != scanner.Comment {
-				break
-			}
-			length := strings.Count(s.TokenText(), "\n")
-			t.line += length
-			histLine += length
-			// For now, just discard all comments.
-		}
-		// Special processing for '\n' etc. elided.
-		return t.tok
-	}
-
-* Tokenizer.Text
-
-	func (t *Tokenizer) Text() string {
-		switch t.tok {
-		case LSH:  // Special handling of odd tokens used by ARM.
-			return "<<"
-		case RSH:
-			return ">>"
-		case ARR:
-			return "->"
-		case ROT:
-			return "@>"
-		}
-		return t.s.TokenText()
-	}
-
-`LSH` etc. are the reason for `ScanToken`: the set of tokens is a superset of the underlying type `text/scanner.Token`.
-
-* Macro definitions
-
-It's easy to see how files work: `NewTokenizer` can do that.
-
-What about a macro definition?
-
-	#define A(arg) 27+(arg)
-
-Becomes the tokens
-
-	27 + ( arg )
-
-When we encounter `A(x)`, we substitute the argument and get
-
-	27 + ( x )
-
-Use a slice of tokens and store them in a `Macro` struct.
-
-	type Macro struct {
-		name   string   // The #define name.
-		args   []string // Formal arguments.
-		tokens []Token  // Body of macro.
-	}
-
-* Slice
-
-	// A Slice reads from a slice of Tokens.
-	type Slice struct {
-		tokens   []Token
-		fileName string
-		line     int
-		pos      int
-	}
-
-Implements `TokenReader`.
-
-	func (s *Slice) Next() ScanToken {
-		s.pos++
-		if s.pos >= len(s.tokens) {
-			return scanner.EOF
-		}
-		return s.tokens[s.pos].ScanToken
-	}
-
-To invoke a macro, substitute the _actuals_ for the _formals_ and make a `Slice`.
-
-* Command-line flags
-
-A command-line flag `-D` can define a macro before execution:
-
-	go tool asm -D 'macro=value' file.s
-
-That's easy!
-
-	var DFlag MultiFlag
-	flag.Var(&DFlag, "D", "predefined symbol D=identifier...")
-
-	type MultiFlag []string // Implements flag.Value, allows multiple settings.
-
-	predefine(DFlag)
-
-* Predefined macros
-
-	// predefine installs the macros set by the -D flag on the command line.
-	func predefine(defines MultiFlag) map[string]*Macro {
-		macros := make(map[string]*Macro)
-		for _, name := range defines {
-			value := "1"
-			i := strings.IndexRune(name, '=')
-			if i > 0 {
-				name, value = name[:i], name[i+1:]
-			}
-			// Various error checks elided.
-			macros[name] = &Macro{
-				name:   name,
-				args:   nil, // No arguments allowed.
-				tokens: Tokenize(value), // Turn the value into tokens.
-			}
-		}
-		return macros
-	}
-
-The return value is the initial symbol table of macros.
-
-* The big picture
-
-We know how to:
-
-- tokenize an input stream from text or `io.Reader`
-- define a macro
-- invoke a macro
-
-But how does it fit together?
-Which implementation `TokenReader` does the parser see?
-
-Consider
-
-- `#include` names a file to process next
-- macro invocation names a slice of tokens to process next
-
-It's a stack! Push new input, pop at EOF.
-
-* Stack
-
-	// A Stack is a stack of TokenReaders. As the top TokenReader hits EOF,
-	// it resumes reading the next one down.
-	type Stack struct {
-		tr []TokenReader
-	}
-
-	// Push adds tr to the top (end) of the input stack. (Popping happens automatically.)
-	func (s *Stack) Push(tr TokenReader) {
-		s.tr = append(s.tr, tr)
-	}
-
-	func (s *Stack) Next() ScanToken {
-		tos := s.tr[len(s.tr)-1]
-		tok := tos.Next()
-		for tok == scanner.EOF && len(s.tr) > 1 {
-			// Pop the topmost item from the stack and resume with the next one down.
-			s.tr = s.tr[:len(s.tr)-1]
-			tok = s.Next()
-		}
-		return tok
-	}
-
-* The Input type
-
-	// Input is the main input: a stack of readers and some macro definitions.
-	// It also handles #include processing (by pushing onto the input stack)
-	// and parses and instantiates macro definitions.
-	type Input struct {
-		Stack
-		includes        []string  // Directories in which to look for #includes
-		macros          map[string]*Macro
-		text            string // Text of last token returned by Next.
-		...
-	}
-
-Note the embedding of `Stack`: `Input` is a wrapping of the `Stack` implementation of `TokenReader`.
-The parser uses a single instance of `Input` as its `TokenReader`.
-
-* Example: #include processing
-
-Some error handling elided for brevity.
-
-	func (in *Input) include() {
-		// Find and parse file name, which is next token, a string.
-		tok := in.Stack.Next()
-		name, _ := strconv.Unquote(in.Stack.Text())
-		in.expectNewline("#include") // Checks that a newline comes now.
-		// Push tokenizer for file onto stack.
-		fd, err := os.Open(name)
-		if err != nil {
-			for _, dir := range in.includes {
-				fd, err = os.Open(filepath.Join(dir, name))
-				if err == nil {
-					break
-				}
-			}
-		}
-		in.Push(NewTokenizer(name, fd, fd))
-	}
-
-* Macro definition
-
-Macro definition is similar but more complex because of the variety of forms.
-Must deal with constants, empty values, macros with arguments, etc.
-
-The end result is to build a `Macro` value and install it in `Input.macros`.
-
-* The final piece: Input.Next
-
-Here is the implementation of a CPP input stream using these types.
-(Error handling mostly elided for brevity.)
-
-	func (in *Input) Next() ScanToken {
-		// If we cannot generate a token after 100 macro invocations, we're in trouble.
-		for nesting := 0; nesting < 100; {
-			tok := in.Stack.Next()
-			switch tok {
-			case '#':
-				in.hash()
-			case scanner.Ident:
-				// Is it a macro name?
-				name := in.Stack.Text()
-				macro := in.macros[name]
-				if macro != nil {
-					nesting++
-					in.invokeMacro(macro)
-					continue
-				}
-				fallthrough
-			default:
-				// Continued on next slide.
-
-* Input.Next part 2
-
-	func (in *Input) Next() ScanToken {
-				// Continued from previous slide.
-			default:
-				if tok == scanner.EOF && len(in.ifdefStack) > 0 {
-					// We're skipping text but have run out of input with no #endif.
-					in.Error("unclosed #ifdef or #ifndef")
-				}
-				if in.enabled() {
-					in.text = in.Stack.Text()
-					return tok
-				}
-			}
-		}
-		in.Error("recursive macro invocation")
-		return 0
-	}
-
-* Initializing and running the lexer
-
-	// NewInput returns an Input from the given path.
-	func NewInput(name string) *Input {
-		return &Input{
-			// include directories: look in source dir, then -I directories.
-			includes:        append([]string{filepath.Dir(name)}, IFlag...),
-			macros:          predefine(DFlag),
-		}
-	}
-
-To run, call `in.Push` to put the input file (or `os.Stdin`) on the stack.
-
-Then the lexer runs until the `Stack` is empty.
-
-* Summary
-
-Interfaces give programs structure.
-
-Interfaces encourage design by composition.
-
-- We have an interface that is implemented by a stack of itself!
-
-Interfaces enable and enforce clean divisions between components.
-
-- The simple idea of a `TokenReader` let us implement `#include` files, `#define` macros, command-line flags, `#ifdef` and more with one simple interface.
-
-And a final tip of the hat to `text/scanner` under it all.
diff --git a/content/2017/exporting-go.pdf b/content/2017/exporting-go.pdf
deleted file mode 100644
index d8c0b53..0000000
--- a/content/2017/exporting-go.pdf
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go-aug.pdf b/content/2017/state-of-go-aug.pdf
deleted file mode 100644
index 0894822..0000000
--- a/content/2017/state-of-go-aug.pdf
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go-may.slide b/content/2017/state-of-go-may.slide
deleted file mode 100644
index fc2738e..0000000
--- a/content/2017/state-of-go-may.slide
+++ /dev/null
@@ -1,305 +0,0 @@
-The State of Go
-Where we are in May 2017
-
-Francesc Campoy
-Google Developer Advocate
-@francesc
-campoy@golang.org
-
-* Recording
-
-A recording of this talk is available [[https://www.youtube.com/watch?v=dyvpF0jF3AY&list=PLtLJO5JKE5YAeVbgwCkgUWyOBsMvZu4UB&index=1][here]].
-
-.image https://img.youtube.com/vi/dyvpF0jF3AY/0.jpg
-
-* Time flies
-
-Go 1.7 is already 9 months old!
-
-Go 1.8 was released on February 16th.
-
-On May 1st we entered the release freeze for Go 1.9
-
-Go 1.9 will be released early August.
-
-.image state-of-go-may/img/flying.png
-
-* Notes
-
-The slides are available on [[https://talks.golang.org/2017/state-of-go-may.slide]]
-
-Most of the code examples won't run except locally and using tip.
-
-The playground runs Go 1.8.
-
-* Agenda
-
-Changes since Go 1.8:
-
-- The Language
-- The Standard Library
-- The Runtime
-- The Tooling
-- The Community
-
-* Changes to the language
-
-* Codebase Refactoring (with help from Go)
-
-Article written by Russ Cox [[https://talks.golang.org/2016/refactor.article][link]]
-
-.image state-of-go-may/img/atomic.svg _ 300
-
-* Gradual Code Repair
-
-In reality, atomically changing all usages of an API is often impossible.
-
-.image state-of-go-may/img/gradual.svg _ 600
-
-* An example
-
-Imagine we created a new package `net/http/status`.
-
-First: create the new API
-
-    package status
-
-    const OK = http.StatusOK
-
-Second: change each usage of `http.StatusOK` by `status.OK`.
-
-    if res.StatusCode != http.StatusOK {
-    
-    if res.StatusCode != status.OK {
-
-Third: remove the old API
-
-* Another example
-
-Let's rename `http.Get` to `http.DoGetPleaseAndThanks`.
-
-First: create the new API
-
-    func DoGetPleaseAndThanks(url string) (*http.Response, error) {
-        return Get(url)
-    }
-
-Second: change each usage of `http.Get` to `http.DoGetPleaseAndThanks`.
-
-    res, err := http.Get("https://golang.org")
-    
-    res, err := http.DoGetPleaseAndThanks("https://golang.org")
-
-Third: remove the old API
-
-* One last example
-
-Let's move `http.Client` to `http.Applicant`.
-
-First: create the new API
-
-    type Applicant Client
-
-- `Applicant` has no methods.
-- Both types are convertible.
-
-    type Applicant struct { Client }
-
-- `Applicant` has all the methods of `Client`
-- The types are not convertible.
-
-* Alias declarations
-
-An alias declaration is a new kind of type declaration.
-
-    type Applicant = http.Client
-
-Both types are equivalent and completely interchangeable.
-
-- type conversion is not needed
-- can't declare methods on the alias declaration
-
-.play state-of-go-may/alias/main.go /type/,
-
-
-* Quaternions
-
-.image state-of-go-may/img/quaternions.png _ 750
-.caption [[https://golang.org/issue/19813][issue #19813]]
-
-* The Standard library
-
-* A Twitter Poll
-
-.image state-of-go-may/img/twitter-poll.png _ 800
-.caption [[https://twitter.com/francesc/status/863514399486623744][twitter poll]]
-
-* math/bits
-
-[[https://tip.golang.org/pkg/math/bits/#Len16][Package bits]] implements bit counting and manipulation functions for the predeclared unsigned integer types.
-
-Added to the standard library with proposal [[https://golang.org/issue/18616][#18616]].
-
-- LenXX, OnesCountXX
-- ReverseXX, ReverseBytesXX
-- RotateLeftXX
-- LeadingZerosXX, TrailingZerosXX
-
-.play state-of-go-may/bits/main.go /START/,/END/
-
-* sync.Map
-
-A new type has been added to the `sync` package with proposal [[https://golang.org/issue/18177][#18177]].
-
-[[https://tip.golang.org/pkg/sync/#Map][sync.Map]] is a concurrent map with amortized-constant-time loads, stores,and deletes.
-
-- the zero map is valid
-- it must not be copied (use pointers)
-
-* sync.Map code sample
-
-.play state-of-go-may/syncmap/main.go /func main/,
-
-* html/template panic on predefined escaper
-
-What do you expect [[https://play.golang.org/p/-z5rZilH1F][this code]] to print?
-
-.play state-of-go-may/html/main.go /Foo/,
-
-Predefined escapers in `html` template create a security concern.
-
-Since 1.9 `Execute` will panic.
-
-* os.Exec
-
-Let's imagine that we have a command `getenv` that prints an environment variable
-using `os.Getenv`.
-
-.code state-of-go-may/exec/getenv/main.go /func main/,
-
-We can run it as follows:
-
-    $ foo=bar getenv foo
-    bar
-
-* os.Exec
-
-What do you expect this code to print?
-
-.code state-of-go-may/exec/main.go /func main/,
-
-bar, or newbar?
-
-* another Twitter poll
-
-.image state-of-go-may/img/exec-poll.png _ 600
-.caption [[https://twitter.com/francesc/status/863791506934472705][Twitter poll]]
-
-* os.Exec
-
-`Cmd.Start` now removes duplicates of environment variables, keeping the last one.
-
-This code does what one expects:
-
-    cmd := exec.Command("prog")
-    cmd.Env = append(os.Environ(), "FOO=bar")
-
-* The Runtime
-
-* Benchmarks
-
-.image state-of-go-may/img/benchmark.png _ 800
-.caption _note_: values over 1.0 mean tip is faster
-.caption _note_: unofficial benchmark ran on my laptop while playing YouTube videos
-
-* More runtime
-
-Garbage Collector
-
-- New algorithm for large object allocation
-- Better performance and increased determinism for large (+50GB) heaps
-
-[[https://en.wikipedia.org/wiki/DWARF][DWARF]]
-
-- Ongoing effort to improve the generated DWARF information.
-- This will help debuggers, among other tools.
-
-* The Tooling
-
-* go compiler: better errors!
-
-Better error messaging for Allman style braces.
-
-    package main
-
-    func main()
-    {
-        fmt.Println("that ain't gonna compile")
-    }
-
-With go 1.8:
-
-    fail/main.go:4: syntax error: unexpected semicolon or newline before {
-
-With go 1.9:
-
-    fail/main.go:3:6: missing function body for "main"
-    fail/main.go:4:1: syntax error: unexpected semicolon or newline before {
-
-* go compiler: more modular and faster
-
-The compiler has been refactored into multiple packages.
-
-    cmd/go/internal/...
-
-Issue [[https://golang.org/issue/17639][#17639]] made parsing concurrent.
-
-The compiler is faster as a result.
-
-* go test
-
-`vendor` directories are ignored by the `go` tool [[https://golang.org/issue/19090][#19090]]:
-
-    go test ./...
-
-You can now list all the tests to be executed, without running them [[https://golang.org/issue/17209][#17209]].
-
-	$ go test -test.list .
-    TestIntegration
-    TestEmbedStreams
-    TestEmbedFiles
-
-* godoc
-
-You can now link to fields in a struct in the documentation [[https://golang.org/issue/16753][#16753]].
-
-.link https://tip.golang.org/pkg/net/http/#Client.Transport
-
-_Note_: This was actually introduced with Go 1.8!
-
-* ... and much more!
-
-* The community
-
-* Go meetups
-
-.image state-of-go-may/img/meetups.png _ 900
-.caption Gophers all around the world! [[http://go-meetups.appspot.com]]
-
-* Women Who Go
-
-.image state-of-go-may/img/wwg.png _ 800
-.caption 19 chapters already! [[http://www.womenwhogo.org]]
-
-* Women Who Go Gophercon Scholarship
-
-WWG is sponsoring minority gophers from all over the world to attend Gophercon
-
-.image state-of-go-may/img/wwg-logo.png _ 700
-
-* Conferences:
-
-- [[http://gophercon.sg][Gophercon Singapore]], May 25-26th
-- [[https://gophercon.com/][Gophercon Denver]], Jul 12-15th
-- [[http://golanguk.com/][Golang UK]], August 16th-18th
-- [[http://2017.dotgo.eu/][dotGo]], Nov 6th
\ No newline at end of file
diff --git a/content/2017/state-of-go-may/alias/main.go b/content/2017/state-of-go-may/alias/main.go
deleted file mode 100644
index 9e93c99..0000000
--- a/content/2017/state-of-go-may/alias/main.go
+++ /dev/null
@@ -1,14 +0,0 @@
-// +build go1.9
-
-package main
-
-import (
-	"fmt"
-	"net/http"
-)
-
-type Applicant = http.Client
-
-func main() {
-	fmt.Printf("%T", Applicant{})
-}
diff --git a/content/2017/state-of-go-may/bits/main.go b/content/2017/state-of-go-may/bits/main.go
deleted file mode 100644
index e791883..0000000
--- a/content/2017/state-of-go-may/bits/main.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// +build go1.9
-
-package main
-
-import (
-	"fmt"
-	"math/bits"
-)
-
-func main() {
-	const n = 100
-	// START OMIT
-	fmt.Printf("%d (%b) has %d bits set to one\n", n, n, bits.OnesCount(n))
-
-	fmt.Printf("%d reversed is %d\n", n, bits.Reverse(n))
-
-	fmt.Printf("%d can be encoded in %d bits\n", n, bits.Len(n))
-	// END OMIT
-}
diff --git a/content/2017/state-of-go-may/exec/getenv/main.go b/content/2017/state-of-go-may/exec/getenv/main.go
deleted file mode 100644
index 08e6492..0000000
--- a/content/2017/state-of-go-may/exec/getenv/main.go
+++ /dev/null
@@ -1,14 +0,0 @@
-package main
-
-import (
-	"fmt"
-	"os"
-)
-
-func main() {
-	if len(os.Args) != 2 {
-		fmt.Printf("use %s varname\n", os.Args[0])
-		os.Exit(1)
-	}
-	fmt.Println(os.Getenv(os.Args[1]))
-}
diff --git a/content/2017/state-of-go-may/exec/main.go b/content/2017/state-of-go-may/exec/main.go
deleted file mode 100644
index dced1d3..0000000
--- a/content/2017/state-of-go-may/exec/main.go
+++ /dev/null
@@ -1,17 +0,0 @@
-package main
-
-import (
-	"log"
-	"os"
-	"os/exec"
-)
-
-func main() {
-	cmd := exec.Command("getenv", "foo")
-	cmd.Env = append(os.Environ(), "foo=newbar") // HL
-	cmd.Stdout = os.Stdout
-	cmd.Stderr = os.Stderr
-	if err := cmd.Run(); err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/content/2017/state-of-go-may/html/main.go b/content/2017/state-of-go-may/html/main.go
deleted file mode 100644
index 3668a66..0000000
--- a/content/2017/state-of-go-may/html/main.go
+++ /dev/null
@@ -1,23 +0,0 @@
-package main
-
-import (
-	"html/template"
-	"log"
-	"os"
-)
-
-type Foo struct{ Bar string }
-
-func main() {
-	tmpl, err := template.New("home").Parse(`
-		<a title={{.Bar | html}}>
-	`)
-	if err != nil {
-		log.Fatalf("could not parse: %v", err)
-	}
-
-	foo := Foo{"haha onclick=evil()"}
-	if err := tmpl.Execute(os.Stdout, foo); err != nil {
-		log.Fatalf("could not execute: %v", err)
-	}
-}
diff --git a/content/2017/state-of-go-may/img/atomic.svg b/content/2017/state-of-go-may/img/atomic.svg
deleted file mode 100644
index 244fe37..0000000
--- a/content/2017/state-of-go-may/img/atomic.svg
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="-1 -1 124 82" width="124pt" height="82pt" xmlns:dc="http://purl.org/dc/elements/1.1/">
-  <metadata> Produced by OmniGraffle 7.2.1 
-    <dc:date>2016-12-01 03:28:54 +0000</dc:date>
-  </metadata>
-  <defs>
-    <font-face font-family="Arial" font-size="12" panose-1="2 11 6 4 2 2 2 2 2 4" units-per-em="1000" underline-position="-105.95703" underline-thickness="73.24219" slope="0" x-height="518.5547" cap-height="716.3086" ascent="905.2734" descent="-211.91406" font-weight="500">
-      <font-face-src>
-        <font-face-name name="ArialMT"/>
-      </font-face-src>
-    </font-face>
-  </defs>
-  <g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
-    <title>Canvas 1</title>
-    <g>
-      <title>Layer 1</title>
-      <text transform="translate(17.125 4.411133)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="9.143555" y="11" textLength="50.033203">Add new </tspan>
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="58.51465" y="11" textLength="19.341797">API</tspan>
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="9.149414" y="39.39258" textLength="68.70117">Code repairs</tspan>
-        <tspan font-family="Arial" font-size="12" font-weight="500" x=".47753906" y="67.78516" textLength="67.365234">Remove old </tspan>
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="67.180664" y="67.78516" textLength="19.341797">API</tspan>
-      </text>
-      <path d="M 18.1875 7105427e-21 L 103.0625 7105427e-21 C 113.102 7105427e-21 121.25 17.92 121.25 40 C 121.25 62.08 113.102 80 103.0625 80 L 18.1875 80 C 8.148 80 0 62.08 0 40 C 0 17.92 8.148 7105427e-21 18.1875 7105427e-21" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
-    </g>
-  </g>
-</svg>
diff --git a/content/2017/state-of-go-may/img/benchmark.png b/content/2017/state-of-go-may/img/benchmark.png
deleted file mode 100644
index a8f4c5d..0000000
--- a/content/2017/state-of-go-may/img/benchmark.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go-may/img/exec-poll.png b/content/2017/state-of-go-may/img/exec-poll.png
deleted file mode 100644
index 6dc0ef0..0000000
--- a/content/2017/state-of-go-may/img/exec-poll.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go-may/img/flying.png b/content/2017/state-of-go-may/img/flying.png
deleted file mode 100644
index 7157563..0000000
--- a/content/2017/state-of-go-may/img/flying.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go-may/img/gradual.svg b/content/2017/state-of-go-may/img/gradual.svg
deleted file mode 100644
index d0caccb..0000000
--- a/content/2017/state-of-go-may/img/gradual.svg
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="-2 -1 305 178" width="305pt" height="178pt" xmlns:dc="http://purl.org/dc/elements/1.1/">
-  <metadata> Produced by OmniGraffle 7.2.1 
-    <dc:date>2016-12-01 03:27:43 +0000</dc:date>
-  </metadata>
-  <defs>
-    <font-face font-family="Arial" font-size="12" panose-1="2 11 6 4 2 2 2 2 2 4" units-per-em="1000" underline-position="-105.95703" underline-thickness="73.24219" slope="0" x-height="518.5547" cap-height="716.3086" ascent="905.2734" descent="-211.91406" font-weight="500">
-      <font-face-src>
-        <font-face-name name="ArialMT"/>
-      </font-face-src>
-    </font-face>
-    <font-face font-family="Arial" font-size="10" panose-1="2 11 6 4 2 2 2 2 2 4" units-per-em="1000" underline-position="-105.95703" underline-thickness="73.24219" slope="0" x-height="518.5547" cap-height="716.3086" ascent="905.2734" descent="-211.91406" font-weight="500">
-      <font-face-src>
-        <font-face-name name="ArialMT"/>
-      </font-face-src>
-    </font-face>
-  </defs>
-  <g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
-    <title>Canvas 1</title>
-    <g>
-      <title>Layer 1</title>
-      <path d="M 107.86806 0 L 192.9375 0 C 203 0 211.16667 5.0524444 211.16667 11.277778 C 211.16667 17.503111 203 22.555556 192.9375 22.555556 L 107.86806 22.555556 C 97.80556 22.555556 89.63889 17.503111 89.63889 11.277778 C 89.63889 5.0524444 97.80556 0 107.86806 0" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
-      <text transform="translate(106.79167 4.0814887)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="9.254666" y="11" textLength="50.033203">Add new </tspan>
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="58.62576" y="11" textLength="19.341797">API</tspan>
-      </text>
-      <path d="M 107.86806 38.11111 L 192.9375 38.11111 C 203 38.11111 211.16667 43.163556 211.16667 49.38889 C 211.16667 55.61422 203 60.66667 192.9375 60.66667 L 107.86806 60.66667 C 97.80556 60.66667 89.63889 55.61422 89.63889 49.38889 C 89.63889 43.163556 97.80556 38.11111 107.86806 38.11111" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
-      <text transform="translate(106.79167 42.1926)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="9.260525" y="11" textLength="68.70117">Code repairs</tspan>
-      </text>
-      <path d="M 184.09028 76.22222 L 269.15972 76.22222 C 279.22222 76.22222 287.3889 81.27467 287.3889 87.5 C 287.3889 93.72533 279.22222 98.77778 269.15972 98.77778 L 184.09028 98.77778 C 174.02778 98.77778 165.86111 93.72533 165.86111 87.5 C 165.86111 81.27467 174.02778 76.22222 184.09028 76.22222" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
-      <text transform="translate(183.01389 80.30371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="9.260525" y="11" textLength="68.70117">Code repairs</tspan>
-      </text>
-      <path d="M 30.868056 76.22222 L 115.9375 76.22222 C 126 76.22222 134.16667 81.27467 134.16667 87.5 C 134.16667 93.72533 126 98.77778 115.9375 98.77778 L 30.868056 98.77778 C 20.805556 98.77778 12.638889 93.72533 12.638889 87.5 C 12.638889 81.27467 20.805556 76.22222 30.868056 76.22222" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
-      <text transform="translate(29.791667 80.30371)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="9.260525" y="11" textLength="68.70117">Code repairs</tspan>
-      </text>
-      <path d="M 107.86806 114.33333 L 192.9375 114.33333 C 203 114.33333 211.16667 119.38578 211.16667 125.61111 C 211.16667 131.83644 203 136.88889 192.9375 136.88889 L 107.86806 136.88889 C 97.80556 136.88889 89.63889 131.83644 89.63889 125.61111 C 89.63889 119.38578 97.80556 114.33333 107.86806 114.33333" stroke="#0432ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
-      <text transform="translate(106.79167 118.41482)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" x="9.260525" y="11" textLength="68.70117">Code repairs</tspan>
-      </text>
-      <path d="M 102.67639 152.66667 L 198.12917 152.66667 C 209.41987 152.66667 218.58333 157.71911 218.58333 163.94444 C 218.58333 170.16978 209.41987 175.22222 198.12917 175.22222 L 102.67639 175.22222 C 91.38569 175.22222 82.22222 170.16978 82.22222 163.94444 C 82.22222 157.71911 91.38569 152.66667 102.67639 152.66667" stroke="#ff2600" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
-      <text transform="translate(100.85833 156.74816)" fill="black">
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="6.5219835" y="11" textLength="67.365234">Remove old </tspan>
-        <tspan font-family="Arial" font-size="12" font-weight="500" fill="black" x="73.22511" y="11" textLength="19.341797">API</tspan>
-      </text>
-      <line x1="36948222e-20" y1="29.555556" x2="300.41667" y2="29.555556" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <line x1="36948222e-20" y1="144.27778" x2="300.41667" y2="144.27778" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
-      <text transform="translate(5 2.8919813)" fill="black">
-        <tspan font-family="Arial" font-size="10" font-weight="500" x="11.985894" y="9" textLength="34.472656">Stage 1</tspan>
-      </text>
-      <text transform="translate(5 40.225315)" fill="black">
-        <tspan font-family="Arial" font-size="10" font-weight="500" x="11.985894" y="9" textLength="34.472656">Stage 2</tspan>
-      </text>
-      <text transform="translate(5 155.33643)" fill="black">
-        <tspan font-family="Arial" font-size="10" font-weight="500" x="11.985894" y="9" textLength="34.472656">Stage 3</tspan>
-      </text>
-    </g>
-  </g>
-</svg>
diff --git a/content/2017/state-of-go-may/img/meetups.png b/content/2017/state-of-go-may/img/meetups.png
deleted file mode 100644
index a868c17..0000000
--- a/content/2017/state-of-go-may/img/meetups.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go-may/img/quaternions.png b/content/2017/state-of-go-may/img/quaternions.png
deleted file mode 100644
index 875ec32..0000000
--- a/content/2017/state-of-go-may/img/quaternions.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go-may/img/twitter-poll.png b/content/2017/state-of-go-may/img/twitter-poll.png
deleted file mode 100644
index a3cca39..0000000
--- a/content/2017/state-of-go-may/img/twitter-poll.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go-may/img/wwg-logo.png b/content/2017/state-of-go-may/img/wwg-logo.png
deleted file mode 100644
index 613c1e0..0000000
--- a/content/2017/state-of-go-may/img/wwg-logo.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go-may/img/wwg.png b/content/2017/state-of-go-may/img/wwg.png
deleted file mode 100644
index a86fbd2..0000000
--- a/content/2017/state-of-go-may/img/wwg.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go-may/syncmap/main.go b/content/2017/state-of-go-may/syncmap/main.go
deleted file mode 100644
index c389c62..0000000
--- a/content/2017/state-of-go-may/syncmap/main.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// +build go1.9
-
-package main
-
-import (
-	"fmt"
-	"sync"
-	"time"
-)
-
-func main() {
-	var m sync.Map
-
-	for i := 0; i < 3; i++ {
-		go func(i int) {
-			for j := 0; ; j++ {
-				m.Store(i, j)
-			}
-		}(i)
-	}
-
-	for i := 0; i < 10; i++ {
-		m.Range(func(key, value interface{}) bool {
-			fmt.Printf("%d: %d\t", key, value)
-			return true
-		})
-		fmt.Println()
-		time.Sleep(time.Second)
-	}
-}
diff --git a/content/2017/state-of-go.slide b/content/2017/state-of-go.slide
deleted file mode 100644
index a9633bd..0000000
--- a/content/2017/state-of-go.slide
+++ /dev/null
@@ -1,522 +0,0 @@
-The State of Go
-Where we are in February 2017
-
-Francesc Campoy
-Google Developer Advocate
-@francesc
-campoy@golang.org
-
-* Time flies
-
-Go 1.6 is one year old (Happy Birthday!)
-
-Go 1.7 is already 6 months old!
-
-Go 1.8 was released on February 16th.
-
-.image state-of-go/img/flying.png
-
-* Notes
-
-The slides are available on [[https://talks.golang.org/2017/state-of-go.slide]]
-
-Most of the code examples won't run except locally and using Go 1.8.
-
-The playground still runs Go 1.7.
-
-* Agenda
-
-Changes since Go 1.7:
-
-- The Language
-- The Standard Library
-- The Runtime
-- The Tooling
-- The Community
-
-* Changes to the language
-
-* Conversion rules
-
-How many times have you found yourself with two types that were *almost* equal?
-
-Let's say you define `Person`:
-
-.code state-of-go/stdlib/json_old.go /type Person/,/^}/
-
-And that for some reason, like JSON you also have:
-
-.code state-of-go/stdlib/json_old.go /var aux/,/}/
-
-* Conversion rules
-
-In order to convert `aux` to type `Person` you needed to do:
-
-.code state-of-go/stdlib/json_old.go /type Person/,/}/
-
-    return Person{
-        Name:     aux.Name,
-        AgeYears: aux.AgeYears,
-        SSN:      aux.SSN
-    }
-
-* Conversion rules
-
-Since Go 1.8 you can simply do:
-
-    return Person(aux)
-
-Both types still need to have:
-
-- same *sequence* of fields (the order matters)
-- corresponding fields with same type.
-
-* Conversion rules
-
-A non-constant value x can be converted to type T in any of these cases:
-
-- x is assignable to T.
-- x's type and T have identical underlying types.
-- x's type and T are unnamed pointer types and their pointer base types have identical underlying types.
-- ...
-
-* Conversion rules
-
-A non-constant value x can be converted to type T in any of these cases:
-
-- x is assignable to T.
-- *ignoring*struct*tags*, x's type and T have identical underlying types.
-- *ignoring*struct*tags*, x's type and T are unnamed pointer types and their pointer base types have identical underlying types.
-- ...
-
-* Ports to other platforms
-
-* Ports to other platforms
-
-32-bit MIPS
-
-- big-endian (`linux/mips`)
-- little-endian (`linux/mipsle`) - requires Floating Point Unit
-
-Go on DragonFly BSD now requires DragonFly 4.4.4+.
-
-Go on OpenBSD now requires OpenBSD 5.9+.
-
-Plan 9 is now better!
-
-* Ports to other platforms
-
-Go 1.8 supports OS X 10.8+. Likely last time we support 10.8.
-
-ARM:
-
-- Go 1.8 is the last version to support ARMv5E and ARMv6 processors.
-
-- Go 1.9 will require ARMv6K. Will it work on my platform?
-
-    go tool dist -check-armv6k
-
-* Tools
-
-* Fix
-
-Fixes the import path `"golang.org/x/net/context"` to `"context"`.
-
-.code state-of-go/tools/gofix.go
-
-Simply run the command below:
-
-.play state-of-go/tools/gofix.sh /go tool/
-
-Drop the `-diff` flag to rewrite the files.
-
-* Vet
-
-"Vet is stricter in some ways and looser where it previously caused false positives."
-
-Example of extra check:
-
-.play -edit state-of-go/tools/govet.go /func main/,
-
-`govet` detects the problem statically:
-
-.play state-of-go/tools/govet.sh /go vet/
-
-* SSA everywhere!
-
-The SSA backend:
-
-- generates more compact and efficient code
-- is a better platform for optimizations
-
-For 32-bit ARM systems this means 20-30% speed up!
-
-For others (where SSA was used already) gains are 0-10%.
-
-* SSA everywhere
-
-.image state-of-go/img/benchmark.png _ 800
-
-* Default GOPATH
-
-Yay!
-
-When `GOPATH` is not defined, the tool will use:
-
-- `$HOME/go` on Unix
-- `%USERPROFILE%\go` on Windows
-
-* go bug
-
-Easier way to create bugs including all relevant information.
-
-Example:
-
-.play state-of-go/tools/gobug.sh /go bug/
-
-* Runtime
-
-* Detection of concurrent map accesses
-
-Improvement on Go 1.6.
-
-.play state-of-go/runtime/mapcrash.go /const/,/Wait\(\)/
-
-Outputs:
-
-	fatal error: concurrent map read and map write
-	fatal error: concurrent map writes
-
-* Mutex Contention Profiling
-
-Profile your benchmarks and the contention on your mutexes.
-
-    go test bench=. -mutexprofile=mutex.out
-
-
-Alternatively, activate contention profiling with this new method.
-
-    runtime.SetMutexProfileFraction
-
-_Note_: For now `sync.RWMutex` is not profiled.
-
-* Mutex Contention Profiling
-
-Let's write a program to count how many times each factor appears from 2 to N.
-
-Example N = 10:
-
-    Factorizations:
-
-        2:  2
-        3:  3
-        4:  2 2
-        5:  5
-        6:  2 3
-        7:  7
-        8:  2 2 2
-        9:  3 3
-        10: 2 5
-
-    Count:
-
-        2: 8
-        3: 4
-        5: 2
-        7: 1
-
-* Mutex Contention Profiling
-
-Which option is better?
-
-Wide protected region:
-
-.play state-of-go/runtime/mutex/main.go /WIDE/,/Unlock/
-
-Narrow protected region:
-
-.play state-of-go/runtime/mutex/main.go /NARROW/,/}/
-
-* Benchmark
-
-    $ go test -bench=.
-
-#    BenchmarkNarrowSection/10-8         	  300000	      5085 ns/op
-#    BenchmarkNarrowSection/100-8        	   20000	     77458 ns/op
-#    BenchmarkNarrowSection/1000-8       	    2000	    909658 ns/op
-#    BenchmarkNarrowSection/10000-8      	     100	  21230633 ns/op
-#
-#    BenchmarkWideSection/10-8           	  200000	      5323 ns/op
-#    BenchmarkWideSection/100-8          	   10000	    103228 ns/op
-#    BenchmarkWideSection/1000-8         	    1000	   2131861 ns/op
-#    BenchmarkWideSection/10000-8        	      10	 103575793 ns/op
-
-.image state-of-go/img/mutex_noprofile.png _ 1000
-
-* Benchmarking with Mutex Contention
-
-    $ go test -bench=. -mutexprofile=mutex.out
-
-#    BenchmarkNarrowSection/10-8         	  300000	      5464 ns/op
-#    BenchmarkNarrowSection/100-8        	   10000	    108583 ns/op
-#    BenchmarkNarrowSection/1000-8       	    1000	   1378379 ns/op
-#    BenchmarkNarrowSection/10000-8      	     100	  32828827 ns/op
-#
-#    BenchmarkWideSection/10-8           	  200000	      7155 ns/op
-#    BenchmarkWideSection/100-8          	   10000	    197001 ns/op
-#    BenchmarkWideSection/1000-8         	     300	   4339571 ns/op
-#    BenchmarkWideSection/10000-8        	       5	 303559562 ns/op
-
-.image state-of-go/img/mutex_profile.png _ 1000
-
-* Analyzing the Mutex Contention Profile
-
-    $ go tool pprof runtime.test mutex.out
-    Entering interactive mode (type "help" for commands)
-    (pprof) list
-
-    0      5.38s (flat, cum) 43.97% of Total
-    .          .     34:				mu.Lock()
-    .          .     35:				m[f]++
-    .      5.38s     36:				mu.Unlock()
-
-    0      6.86s (flat, cum) 56.03% of Total
-    .          .     53:			mu.Lock()
-    .          .     54:			for _, f := range factors(i) {
-    .          .     55:				m[f]++
-    .          .     56:			}
-    .      6.86s     57:			mu.Unlock()
-
-* So much contention ...
-
-* Contention by CPU
-
-.image state-of-go/img/mutex_procs.png _ 1000
-
-* Comparing it to sequential algorithm
-
-.image state-of-go/img/mutex_all.png _ 1000
-
-* Comparing it to sequential algorithm (zoom)
-
-.image state-of-go/img/mutex_all_zoom.png _ 1000
-
-* Performance
-
-* GC history in tweets
-
-* go 1.5
-
-.image state-of-go/img/gct1.png _ 900
-
-* go 1.6
-
-.image state-of-go/img/gct2.png _ 900
-
-* go 1.7
-
-.image state-of-go/img/gct4.png _ 900
-
-* go 1.8 (beta 1)
-
-.image state-of-go/img/gct5.png _ 700
-
-* go 1.8 (beta 1) CPU
-
-.image state-of-go/img/gctcpu.png _ 800
-
-* defer is faster
-
-    name         old time/op  new time/op  delta
-    Defer-4       101ns ± 1%    66ns ± 0%  -34.73%  (p=0.000 n=20+20)
-    Defer10-4    93.2ns ± 1%  62.5ns ± 8%  -33.02%  (p=0.000 n=20+20)
-    DeferMany-4   148ns ± 3%   131ns ± 3%  -11.42%  (p=0.000 n=19+19)
-
-.image state-of-go/img/defer.png _ 500
-
-* cgo is also faster!
-
-    name       old time/op  new time/op  delta
-    CgoNoop-8  93.5ns ± 0%  51.1ns ± 1%  -45.34%  (p=0.016 n=4+5)
-
-.image state-of-go/img/cgo.png _ 500
-
-Source: [[https://dave.cheney.net/2016/11/19/go-1-8-toolchain-improvements][dave.cheney.net]]
-
-* Changes to the standard library
-
-* Sorting
-
-Exercise:
-
-Given a slice of `Person`
-
-    var p []Person
-
-Print the slice sorted by name, age, and SSN.
-
-.code state-of-go/stdlib/sort/sort_test.go /sort.Sort/,/bySSN/
-
-Easy, right?
-
-* Sorting
-
-Well, you forgot about this part.
-
-.code state-of-go/stdlib/sort/sort_test.go /byName/,/bySSN\) Swap/
-
-* sort.Slice
-
-Since Go 1.8 you can simply write this:
-
-.code state-of-go/stdlib/sort/sort_test.go /sort\.Slice/,/SSN/
-
-Also new `SliceStable` and `SliceIsSorted`.
-
-* Benchmark
-
-    N=1 go test -bench=.
-        BenchmarkSortSort-8     10000000               145 ns/op
-        BenchmarkSortSlice-8    10000000               190 ns/op
-    N=10 go test -bench=.
-        BenchmarkSortSort-8      2000000               918 ns/op
-        BenchmarkSortSlice-8     1000000              1776 ns/op
-    N=100 go test -bench=.
-        BenchmarkSortSort-8       100000             16588 ns/op
-        BenchmarkSortSlice-8       50000             39035 ns/op
-    N=1000 go test -bench=.
-        BenchmarkSortSort-8         5000            320951 ns/op
-        BenchmarkSortSlice-8        3000            446677 ns/op
-    N=10000 go test -bench=.
-        BenchmarkSortSort-8          500           3644480 ns/op
-        BenchmarkSortSlice-8         300           4962263 ns/op
-    N=100000 go test -bench=.
-        BenchmarkSortSort-8           30          43573572 ns/op
-        BenchmarkSortSlice-8          20          60861706 ns/op
-
-.caption Benchmark ran on my MacBook Pro (8 cores), simply indicative.
-
-* Benchmark
-
-.image state-of-go/img/bench.png _ 800
-
-* Benchmark (log/log)
-
-.image state-of-go/img/bench_log.png _ 800
-
-
-* Plugins
-
-Define a plugin:
-
-.code state-of-go/stdlib/plugin/plugin.go
-
-Then build it:
-
-    go build -buildmode=plugin
-
-_Note_: This currently works only on Linux.
-
-* Plugins
-
-.code state-of-go/stdlib/plugin/main.go /plugin.Open/,/Hello/
-
-* Plugins demo
-
-Demo video: [[https://twitter.com/francesc/status/827851085943566336][twitter.com/francesc]]
-
-Source code: [[https://github.com/campoy/golang-plugins][github.com/campoy/golang-plugins]]
-
-* HTTP shutdown
-
-Added `Shutdown` method to `http.Server`.
-
-Example:
-
-Call `Shutdown` when a signal is received:
-
-.code state-of-go/stdlib/shutdown.go /subscribe/,/}\(\)/
-
-* HTTP shutdown
-
-Check why the server stopped.
-
-.code state-of-go/stdlib/shutdown.go /HandleFunc/,/gracefully/
-
-
-* HTTP/2
-
-`http.Response` now satisfies the `http.Pusher` interface.
-
-    type Pusher interface {
-        Push(target string, opts *PushOptions) error
-    }
-
-A simple example:
-
-.code state-of-go/stdlib/http2/http2.go /func rootHandler/,/^}/
-
-* HTTP/2
-
-.play state-of-go/stdlib/http2/http2.go /func main/,/^}/
-
-HTTP: [[http://localhost:8080]]
-HTTP/2: [[https://localhost:8081]]
-
-* HTTP/2
-
-HTTP
-
-.image state-of-go/img/http.png _ 800
-
-HTTP/2
-
-.image state-of-go/img/http2.png _ 800
-
-* More context support
-
-Since Go 1.7:
-
-- net
-- net/http
-- os/exec
-
-Since Go 1.8:
-
-- http.Server.Shutdown
-- database/sql
-- net.Resolver
-
-* A couple more changes too
-
-.image state-of-go/img/more.png _ 1000
-.caption [[https://beta.golang.org/doc/go1.8][Go 1.8 release notes]]
-
-* The community
-
-* Women Who Go
-
-.image state-of-go/img/wwg.png _ 800
-.caption 16 chapters already! [[http://www.womenwhogo.org]]
-
-* Go meetups
-
-.image state-of-go/img/meetups.png _ 900
-.caption Gophers all around the world! [[http://go-meetups.appspot.com]]
-
-* Conferences:
-
-- [[https://fosdem.org/2017/][FOSDEM]], right here right now!
-- [[http://www.gophercon.in/][GopherCon India]], Feb 25-25th
-- [[https://gophercon.com/][Gophercon Denver]], Jul 12-15th
-- [[http://golanguk.com/][Golang UK]], August 16th-18th
-- [[http://2017.dotgo.eu/][dotGo]], Nov 6th
-
-* Go 1.8 release party, February 16th
-
-Go 1.8 ships soon!
-
-Go meetups are organising to hold a [[https://github.com/golang/go/wiki/Go-1.8-release-party][release party]] on the 16th of February.
-
-.image state-of-go/img/party-gopher.png _ 300
-.caption Join the party!!!
diff --git a/content/2017/state-of-go/img/bench.png b/content/2017/state-of-go/img/bench.png
deleted file mode 100644
index 76d3112..0000000
--- a/content/2017/state-of-go/img/bench.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/bench_log.png b/content/2017/state-of-go/img/bench_log.png
deleted file mode 100644
index b1e2d9c..0000000
--- a/content/2017/state-of-go/img/bench_log.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/benchmark.png b/content/2017/state-of-go/img/benchmark.png
deleted file mode 100644
index 18f7163..0000000
--- a/content/2017/state-of-go/img/benchmark.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/cgo.png b/content/2017/state-of-go/img/cgo.png
deleted file mode 100644
index b05fc8d..0000000
--- a/content/2017/state-of-go/img/cgo.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/defer.png b/content/2017/state-of-go/img/defer.png
deleted file mode 100644
index cf96e09..0000000
--- a/content/2017/state-of-go/img/defer.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/flying.png b/content/2017/state-of-go/img/flying.png
deleted file mode 100644
index 7157563..0000000
--- a/content/2017/state-of-go/img/flying.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/gct1.png b/content/2017/state-of-go/img/gct1.png
deleted file mode 100644
index 22dbb67..0000000
--- a/content/2017/state-of-go/img/gct1.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/gct2.png b/content/2017/state-of-go/img/gct2.png
deleted file mode 100644
index a3f8a29..0000000
--- a/content/2017/state-of-go/img/gct2.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/gct3.png b/content/2017/state-of-go/img/gct3.png
deleted file mode 100644
index e1364f9..0000000
--- a/content/2017/state-of-go/img/gct3.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/gct4.png b/content/2017/state-of-go/img/gct4.png
deleted file mode 100644
index d8f0668..0000000
--- a/content/2017/state-of-go/img/gct4.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/gct5.png b/content/2017/state-of-go/img/gct5.png
deleted file mode 100644
index f34d6ea..0000000
--- a/content/2017/state-of-go/img/gct5.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/gctcpu.png b/content/2017/state-of-go/img/gctcpu.png
deleted file mode 100644
index 9d57649..0000000
--- a/content/2017/state-of-go/img/gctcpu.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/http.png b/content/2017/state-of-go/img/http.png
deleted file mode 100644
index e89d9bd..0000000
--- a/content/2017/state-of-go/img/http.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/http2.png b/content/2017/state-of-go/img/http2.png
deleted file mode 100644
index 552eb91..0000000
--- a/content/2017/state-of-go/img/http2.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/meetups.png b/content/2017/state-of-go/img/meetups.png
deleted file mode 100644
index 85a508c..0000000
--- a/content/2017/state-of-go/img/meetups.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/more.png b/content/2017/state-of-go/img/more.png
deleted file mode 100644
index 3160004..0000000
--- a/content/2017/state-of-go/img/more.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/mutex_all.png b/content/2017/state-of-go/img/mutex_all.png
deleted file mode 100644
index 8429e77..0000000
--- a/content/2017/state-of-go/img/mutex_all.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/mutex_all_zoom.png b/content/2017/state-of-go/img/mutex_all_zoom.png
deleted file mode 100644
index 7a1246c..0000000
--- a/content/2017/state-of-go/img/mutex_all_zoom.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/mutex_noprofile.png b/content/2017/state-of-go/img/mutex_noprofile.png
deleted file mode 100644
index 42a579e..0000000
--- a/content/2017/state-of-go/img/mutex_noprofile.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/mutex_procs.png b/content/2017/state-of-go/img/mutex_procs.png
deleted file mode 100644
index 340b9c0..0000000
--- a/content/2017/state-of-go/img/mutex_procs.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/mutex_profile.png b/content/2017/state-of-go/img/mutex_profile.png
deleted file mode 100644
index ff7daad..0000000
--- a/content/2017/state-of-go/img/mutex_profile.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/party-gopher.png b/content/2017/state-of-go/img/party-gopher.png
deleted file mode 100644
index d18690f..0000000
--- a/content/2017/state-of-go/img/party-gopher.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/img/wwg.png b/content/2017/state-of-go/img/wwg.png
deleted file mode 100644
index a86fbd2..0000000
--- a/content/2017/state-of-go/img/wwg.png
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/runtime/mapcrash.go b/content/2017/state-of-go/runtime/mapcrash.go
deleted file mode 100644
index d65fb5e..0000000
--- a/content/2017/state-of-go/runtime/mapcrash.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"sync"
-)
-
-func main() {
-	const workers = 100 // what if we have 1, 2, 25?
-
-	var wg sync.WaitGroup
-	wg.Add(workers)
-	m := map[int]int{}
-	for i := 1; i <= workers; i++ {
-		go func(i int) {
-			for j := 0; j < i; j++ {
-				m[i]++ // HL
-			}
-			wg.Done()
-		}(i)
-	}
-	wg.Wait()
-	fmt.Println(m)
-}
diff --git a/content/2017/state-of-go/runtime/mutex/main.go b/content/2017/state-of-go/runtime/mutex/main.go
deleted file mode 100644
index f5a1179..0000000
--- a/content/2017/state-of-go/runtime/mutex/main.go
+++ /dev/null
@@ -1,91 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"flag"
-	"fmt"
-	"sort"
-	"sync"
-)
-
-func main() {
-	n := flag.Int("n", 10, "maximum number to consider")
-	flag.Parse()
-
-	type pair struct{ n, c int }
-	var pairs []pair
-	for n, c := range countFactorsWideSection(*n) {
-		pairs = append(pairs, pair{n, c})
-	}
-	sort.Slice(pairs, func(i, j int) bool { return pairs[i].n < pairs[j].n })
-	for _, p := range pairs {
-		fmt.Printf("%3d: %3d\n", p.n, p.c)
-	}
-}
-
-func countFactorsNarrowSection(n int) map[int]int {
-	m := map[int]int{}
-	var mu sync.Mutex
-	var wg sync.WaitGroup
-
-	wg.Add(n - 1)
-	for i := 2; i <= n; i++ {
-		go func(i int) {
-			// NARROW OMIT
-			for _, f := range factors(i) {
-				mu.Lock() // HL
-				m[f]++
-				mu.Unlock() // HL
-			}
-			wg.Done()
-		}(i)
-	}
-	wg.Wait()
-	return m
-}
-
-func countFactorsWideSection(n int) map[int]int {
-	m := map[int]int{}
-	var mu sync.Mutex
-	var wg sync.WaitGroup
-
-	wg.Add(n - 1)
-	for i := 2; i <= n; i++ {
-		go func(i int) {
-			// WIDE OMIT
-			mu.Lock() // HL
-			for _, f := range factors(i) {
-				m[f]++
-			}
-			mu.Unlock() // HL
-			wg.Done()
-		}(i)
-	}
-	wg.Wait()
-	return m
-}
-
-func countFactorsSeq(n int) map[int]int {
-	m := map[int]int{}
-	for i := 2; i <= n; i++ {
-		for _, f := range factors(i) { // HL
-			m[f]++ // HL
-		} // HL
-	}
-	return m
-}
-
-func factors(v int) []int {
-	var fs []int
-	for v > 1 {
-		for f := 2; f <= v; f++ {
-			if v%f == 0 {
-				v = v / f
-				fs = append(fs, f)
-				break
-			}
-		}
-	}
-	return fs
-}
diff --git a/content/2017/state-of-go/runtime/mutex/main_test.go b/content/2017/state-of-go/runtime/mutex/main_test.go
deleted file mode 100644
index a4993c2..0000000
--- a/content/2017/state-of-go/runtime/mutex/main_test.go
+++ /dev/null
@@ -1,22 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"testing"
-)
-
-func benchFunc(b *testing.B, f func(int) map[int]int) {
-	for n := 10; n <= 10000; n *= 10 {
-		b.Run(fmt.Sprint(n), func(b *testing.B) {
-			for i := 0; i < b.N; i++ {
-				f(n)
-			}
-		})
-	}
-}
-
-func BenchmarkNarrowSection(b *testing.B) { benchFunc(b, countFactorsNarrowSection) }
-func BenchmarkWideSection(b *testing.B)   { benchFunc(b, countFactorsWideSection) }
-func BenchmarkSq(b *testing.B)            { benchFunc(b, countFactorsSeq) }
diff --git a/content/2017/state-of-go/runtime/mutex/mutex.out b/content/2017/state-of-go/runtime/mutex/mutex.out
deleted file mode 100644
index 59ea5b6..0000000
--- a/content/2017/state-of-go/runtime/mutex/mutex.out
+++ /dev/null
@@ -1,5 +0,0 @@
---- mutex:
-cycles/second=2793570419
-sampling period=1
-19155477440 1345723 @ 0x10575f1 0x10f0266 0x1051c61
-15032825888 1091734 @ 0x10575f1 0x10f0106 0x1051c61
diff --git a/content/2017/state-of-go/runtime/mutex/mutex.test b/content/2017/state-of-go/runtime/mutex/mutex.test
deleted file mode 100755
index 12ef088..0000000
--- a/content/2017/state-of-go/runtime/mutex/mutex.test
+++ /dev/null
Binary files differ
diff --git a/content/2017/state-of-go/stdlib/http2/cert.pem b/content/2017/state-of-go/stdlib/http2/cert.pem
deleted file mode 100644
index 6612f86..0000000
--- a/content/2017/state-of-go/stdlib/http2/cert.pem
+++ /dev/null
@@ -1,19 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIC/jCCAeagAwIBAgIQJmT9thxoUtA2lXTupgK7cDANBgkqhkiG9w0BAQsFADAS
-MRAwDgYDVQQKEwdBY21lIENvMB4XDTE3MDEyOTIwNTUxNVoXDTE4MDEyOTIwNTUx
-NVowEjEQMA4GA1UEChMHQWNtZSBDbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
-AQoCggEBAL4TpHOAUq54uyrGj06xE7TZ0+SPVXWiydYP4hg1QKkhFcwc2NHwnzIf
-wgFTBGXz7TrrWpLHNJLvWKjXeFDQo35BKfWd4u2TKMU43HUdPSgFT8skhbP3FYbJ
-WIYoD2J2BaMxylMYfGGm2azqnuTPc0/Qn98RLDFe9TAykDuel3YWvdlQJGYo+cth
-bUURzTzvQzmnMpQ+CxpU+TdBz4Ngh+e29CEfZGOWXtd/7ydWyK3BznzgPLBTuU9N
-3f0mC40sDayTTBaUiI+GkSEeqK0Ft/gwozM1KOK8l5lfqtOYzqhLjAAzcD5Hf8ZK
-GsnC5ojJkuypLY/uAq/BX+2oL4wZi+UCAwEAAaNQME4wDgYDVR0PAQH/BAQDAgWg
-MBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwGQYDVR0RBBIwEIIO
-bG9jYWxob3N0OjgwODAwDQYJKoZIhvcNAQELBQADggEBACqdIJJFcow4WJ0YW6l2
-bjYj0fAf7GZdLP3tRYzxcj1ORoJf9FIN2jwlraEgtXN2hhEK15nVgrxbrWzDMkrx
-e9VhGOSWnixo3rnN2i2vUEaKqZubawhzcU2/5ZnP6Q1JH00WYqavNYhfQIOdNI6e
-s6xqz+MUhYSw3ZhjgFGMAeed0fRIksWRlbioTAOk1TxoChTaa+N+tTf9Niwr1Eaz
-Cy6ygwmlJYhi/iutknG2Fp+MjDPX2hmemgoJYbn8i1C0DQuNlKxeNwY3zfEBxazu
-nLFbDwbyCIO+2q1+eervE1TF5Vw6ODNqRWKgsl9VnGmL369p8H1plU//SnQh4TIW
-nKc=
------END CERTIFICATE-----
\ No newline at end of file
diff --git a/content/2017/state-of-go/stdlib/http2/http2.go b/content/2017/state-of-go/stdlib/http2/http2.go
deleted file mode 100644
index 29a40f5..0000000
--- a/content/2017/state-of-go/stdlib/http2/http2.go
+++ /dev/null
@@ -1,69 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"fmt"
-	"go/build"
-	"log"
-	"net/http"
-	"path/filepath"
-)
-
-var cert, key string
-
-func init() {
-	pkg, err := build.Import("golang.org/x/talks/content/2017/state-of-go/stdlib/http2", ".", build.FindOnly)
-	if err != nil {
-		log.Fatal(err)
-	}
-	cert = filepath.Join(pkg.Dir, "cert.pem")
-	key = filepath.Join(pkg.Dir, "key.pem")
-}
-
-func main() {
-	http.HandleFunc("/", rootHandler)
-	http.HandleFunc("/style.css", cssHandler)
-
-	go func() {
-		log.Fatal(http.ListenAndServeTLS("127.0.0.1:8081", cert, key, nil))
-	}()
-	log.Fatal(http.ListenAndServe("127.0.0.1:8080", nil))
-}
-
-func rootHandler(w http.ResponseWriter, r *http.Request) {
-	if p, ok := w.(http.Pusher); ok { // HL
-		err := p.Push("/style.css", nil) // HL
-		if err != nil {
-			log.Printf("could not push: %v", err)
-		}
-	}
-
-	fmt.Fprintln(w, html)
-}
-
-func cssHandler(w http.ResponseWriter, r *http.Request) {
-	fmt.Fprintln(w, css)
-}
-
-const (
-	html = `
-<html>
-<head>
-	<link rel="stylesheet" href="/style.css">
-	<title>HTTP2 push test</title>
-</head>
-<body>
-	<h1>Hello</h1>
-</body>
-</html>
-`
-	css = `
-h1 {
-    color: red;
-    text-align: center;
-    text-shadow: green 0 0 40px;
-    font-size: 10em;
-}
-`
-)
diff --git a/content/2017/state-of-go/stdlib/http2/key.pem b/content/2017/state-of-go/stdlib/http2/key.pem
deleted file mode 100644
index cd458b0..0000000
--- a/content/2017/state-of-go/stdlib/http2/key.pem
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAvhOkc4BSrni7KsaPTrETtNnT5I9VdaLJ1g/iGDVAqSEVzBzY
-0fCfMh/CAVMEZfPtOutaksc0ku9YqNd4UNCjfkEp9Z3i7ZMoxTjcdR09KAVPyySF
-s/cVhslYhigPYnYFozHKUxh8YabZrOqe5M9zT9Cf3xEsMV71MDKQO56Xdha92VAk
-Zij5y2FtRRHNPO9DOacylD4LGlT5N0HPg2CH57b0IR9kY5Ze13/vJ1bIrcHOfOA8
-sFO5T03d/SYLjSwNrJNMFpSIj4aRIR6orQW3+DCjMzUo4ryXmV+q05jOqEuMADNw
-Pkd/xkoaycLmiMmS7Kktj+4Cr8Ff7agvjBmL5QIDAQABAoIBAFUAe76bWF5l523N
-tjC+x81MzJGd993Pmut71uR0jCIWhaTuEZhxPwAva5ckBQeC+kgrECoro7tCBigb
-k9awNy0y/wy0OtN7x/PK5ewJ01ueZHy4LIK6sInCaTA1oguqNAMzNQPMI3OYJihK
-FBzHGQ5MgfJDv7ukd4nCUvYWii1oYNoNsc/A2uYPonLRJfAnPLAfZ+ikiPdydLum
-4/nLxBKD5Yke/Y8lpxh1RzZz28G2YX9WKTwAZuBo9AJ+4U7bkjgSof5nUOlwvbcg
-Z9d/DMdWkI7yQxhaQzXaFWNmvpt6NvqHUSPYnqQnaCDPCRbUR8u3YU8vwCRN60ss
-dzac+4ECgYEA2+jYj3pllRMaifnAEVg4MS3mpQ9o+XCzQb4H7ecFztXh16Uom0e/
-gnI1cqutMdhcyAoy++RxTXLCca9xd5e8tC3N2kZG9+3vUV0kn43LbVY4sCK150wM
-UHy7TMdoAqg36W3AhTunIZ1sgDM/qc5LcesXeHVDUQF2NmteZnga9m0CgYEA3UVq
-y42mBXMuCqY8GZbTQlZqowqBjNLddhVxXjuuAHcxCTlLmD63L7UWx24dOAeVbEfq
-Aev6tsOiaNB+JPEGYfQf9ESRxbt3ZFArYP6+be94NmETzNVtekwCJqfp7Cjyzj1a
-C00r5L0qOSP0P8lvSrBOwT2Yxq3JVNL3EDj1YFkCgYAG7dpNAw1KWjS+3ji4EzCK
-FCktUEP9gBiV3LgBPgNH1iNsmQ6jfepB4PlgKJqndGrP/spGd5c+WnxX+rA3lXdj
-sgHHe+lmjH+675Vk1aHwSwQ0QJO8uv+0VYnNTIcxdj10xHmJeSy1+XDexT6fShnE
-eCTgLcm2NraT1mQ+FFC9LQKBgC3rtyMxbXAaHEcHgteIrqVIy+60QniYVm+oOZPl
-7NGZ6upQIrkg4uGawnR3DMdRA5iqQA1QDQMbDLyV8Gf4QWvYvzzxchNIOZnu7WG+
-3IRyO0+FzBcpgAPufE/Lb0eco+9bWjGYPXDGNVoQdSM7ycYFWwLNpsQs0uiws6eB
-OqNZAoGBALM48r7mA/3KuFH6CcRcsCGfcCoXkzjGogsxIfN2yKmNUu33koYkzUxc
-ihgXBGwQ5Sqdrqz9BYh1CArXQvVkb+Q0wEAVS1ikbMozTQQelI8FRiToVJF37zoS
-UgA+CE3BSuHa+zMBue+guh/+ssMlKPnpzTgWjkk50GXUAMy/NVf5
------END RSA PRIVATE KEY-----
diff --git a/content/2017/state-of-go/stdlib/json_old.go b/content/2017/state-of-go/stdlib/json_old.go
deleted file mode 100644
index 8ad0b97..0000000
--- a/content/2017/state-of-go/stdlib/json_old.go
+++ /dev/null
@@ -1,48 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"encoding/json"
-	"fmt"
-	"log"
-)
-
-func main() {
-	in := []byte(`
-    {
-        "full_name": "Gopher",
-        "age": 7,
-        "social_security": 1234
-    }`)
-
-	var p Person
-	if err := json.Unmarshal(in, &p); err != nil {
-		log.Fatal(err)
-	}
-	fmt.Printf("%+v\n", p)
-}
-
-type Person struct {
-	Name     string
-	AgeYears int
-	SSN      int
-}
-
-func (p *Person) UnmarshalJSON(data []byte) error {
-	var aux struct {
-		Name     string `json:"full_name"`
-		AgeYears int    `json:"age"`
-		SSN      int    `json:"social_security"`
-	}
-	if err := json.Unmarshal(data, &aux); err != nil {
-		return err
-	}
-	*p = Person{
-		Name:     aux.Name,
-		AgeYears: aux.AgeYears,
-		SSN:      aux.SSN,
-	}
-	*p = Person(aux)
-	return nil
-}
diff --git a/content/2017/state-of-go/stdlib/plugin/main.go b/content/2017/state-of-go/stdlib/plugin/main.go
deleted file mode 100644
index 925de05..0000000
--- a/content/2017/state-of-go/stdlib/plugin/main.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "plugin"
-
-func main() {
-	p, err := plugin.Open("plugin_name.so")
-	if err != nil {
-		panic(err)
-	}
-
-	v, err := p.Lookup("V")
-	if err != nil {
-		panic(err)
-	}
-
-	f, err := p.Lookup("F")
-	if err != nil {
-		panic(err)
-	}
-
-	*v.(*int) = 7
-	f.(func())() // prints "Hello, number 7"
-}
diff --git a/content/2017/state-of-go/stdlib/plugin/plugin.go b/content/2017/state-of-go/stdlib/plugin/plugin.go
deleted file mode 100644
index 0fbe41c..0000000
--- a/content/2017/state-of-go/stdlib/plugin/plugin.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "fmt"
-
-var V int
-
-func F() { fmt.Printf("Hello, number %d\n", V) }
diff --git a/content/2017/state-of-go/stdlib/shutdown.go b/content/2017/state-of-go/stdlib/shutdown.go
deleted file mode 100644
index c35f9f7..0000000
--- a/content/2017/state-of-go/stdlib/shutdown.go
+++ /dev/null
@@ -1,38 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"context"
-	"fmt"
-	"log"
-	"net/http"
-	"os"
-	"os/signal"
-)
-
-func main() {
-	// subscribe to SIGINT signals
-	quit := make(chan os.Signal) // HL
-	signal.Notify(quit, os.Interrupt)
-
-	srv := &http.Server{Addr: ":8080", Handler: http.DefaultServeMux}
-	go func() { // HL
-		<-quit // HL
-		log.Println("Shutting down server...")
-		if err := srv.Shutdown(context.Background()); err != nil { // HL
-			log.Fatalf("could not shutdown: %v", err)
-		}
-	}()
-
-	http.HandleFunc("/", handler)
-	err := srv.ListenAndServe()
-	if err != http.ErrServerClosed { // HL
-		log.Fatalf("listen: %s\n", err)
-	}
-	log.Println("Server gracefully stopped")
-}
-
-func handler(w http.ResponseWriter, r *http.Request) {
-	fmt.Fprintln(w, "hello")
-}
diff --git a/content/2017/state-of-go/stdlib/sort/sort_test.go b/content/2017/state-of-go/stdlib/sort/sort_test.go
deleted file mode 100644
index 1cc20fb..0000000
--- a/content/2017/state-of-go/stdlib/sort/sort_test.go
+++ /dev/null
@@ -1,68 +0,0 @@
-// +build go1.8
-
-package main
-
-import (
-	"fmt"
-	"math/rand"
-	"os"
-	"sort"
-	"strconv"
-	"testing"
-)
-
-type Person struct {
-	Name     string
-	AgeYears int
-	SSN      int64
-}
-
-type byName []Person
-
-func (b byName) Len() int           { return len(b) }
-func (b byName) Less(i, j int) bool { return b[i].Name < b[j].Name }
-func (b byName) Swap(i, j int)      { b[i], b[j] = b[j], b[i] }
-
-type byAge []Person
-
-func (b byAge) Len() int           { return len(b) }
-func (b byAge) Less(i, j int) bool { return b[i].AgeYears < b[j].AgeYears }
-func (b byAge) Swap(i, j int)      { b[i], b[j] = b[j], b[i] }
-
-type bySSN []Person
-
-func (b bySSN) Len() int           { return len(b) }
-func (b bySSN) Less(i, j int) bool { return b[i].SSN < b[j].SSN }
-func (b bySSN) Swap(i, j int)      { b[i], b[j] = b[j], b[i] }
-
-func BenchmarkSortSort(b *testing.B) {
-	p := manyPeople()
-	for i := 0; i < b.N; i++ {
-		sort.Sort(byName(p))
-		sort.Sort(byAge(p))
-		sort.Sort(bySSN(p))
-	}
-}
-
-func BenchmarkSortSlice(b *testing.B) {
-	p := manyPeople()
-	for i := 0; i < b.N; i++ {
-		sort.Slice(p, func(i, j int) bool { return p[i].Name < p[j].Name })
-		sort.Slice(p, func(i, j int) bool { return p[i].AgeYears < p[j].AgeYears })
-		sort.Slice(p, func(i, j int) bool { return p[i].SSN < p[j].SSN })
-	}
-}
-
-func manyPeople() []Person {
-	n, err := strconv.Atoi(os.Getenv("N"))
-	if err != nil {
-		panic(err)
-	}
-	p := make([]Person, n)
-	for i := range p {
-		p[i].AgeYears = rand.Intn(100)
-		p[i].SSN = rand.Int63n(1000000000)
-		p[i].Name = fmt.Sprintf("Mr or Ms %d", p[i].AgeYears)
-	}
-	return p
-}
diff --git a/content/2017/state-of-go/tools/gobug.sh b/content/2017/state-of-go/tools/gobug.sh
deleted file mode 100644
index 5100fea..0000000
--- a/content/2017/state-of-go/tools/gobug.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#! /bin/bash
-go bug
\ No newline at end of file
diff --git a/content/2017/state-of-go/tools/gofix.go b/content/2017/state-of-go/tools/gofix.go
deleted file mode 100644
index 1c83ded..0000000
--- a/content/2017/state-of-go/tools/gofix.go
+++ /dev/null
@@ -1,14 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import "golang.org/x/net/context" // HL
-
-func main() {
-	ctx := context.Background()
-	doSomething(ctx)
-}
-
-func doSomething(ctx context.Context) {
-	// doing something
-}
diff --git a/content/2017/state-of-go/tools/gofix.sh b/content/2017/state-of-go/tools/gofix.sh
deleted file mode 100644
index f0096e6..0000000
--- a/content/2017/state-of-go/tools/gofix.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-go tool fix -diff -force=context state-of-go/tools/gofix.go
\ No newline at end of file
diff --git a/content/2017/state-of-go/tools/govet.go b/content/2017/state-of-go/tools/govet.go
deleted file mode 100644
index f1eced1..0000000
--- a/content/2017/state-of-go/tools/govet.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// +build ignore,OMIT
-
-package main
-
-import (
-	"io"
-	"log"
-	"net/http"
-	"os"
-)
-
-func main() {
-	res, err := http.Get("https://golang.org")
-	defer res.Body.Close()
-	if err != nil {
-		log.Fatal(err)
-	}
-	io.Copy(os.Stdout, res.Body)
-}
diff --git a/content/2017/state-of-go/tools/govet.sh b/content/2017/state-of-go/tools/govet.sh
deleted file mode 100644
index fd3f847..0000000
--- a/content/2017/state-of-go/tools/govet.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-go vet state-of-go/tools/govet.go
\ No newline at end of file
diff --git a/content/2019/playground-v3/arch.png b/content/2019/playground-v3/arch.png
deleted file mode 100644
index 95fa8f5..0000000
--- a/content/2019/playground-v3/arch.png
+++ /dev/null
Binary files differ
diff --git a/content/2019/playground-v3/cos.png b/content/2019/playground-v3/cos.png
deleted file mode 100644
index 8195ee2..0000000
--- a/content/2019/playground-v3/cos.png
+++ /dev/null
Binary files differ
diff --git a/content/2019/playground-v3/hello.png b/content/2019/playground-v3/hello.png
deleted file mode 100644
index ed25abb..0000000
--- a/content/2019/playground-v3/hello.png
+++ /dev/null
Binary files differ
diff --git a/content/2019/playground-v3/pic.png b/content/2019/playground-v3/pic.png
deleted file mode 100644
index 498a2c4..0000000
--- a/content/2019/playground-v3/pic.png
+++ /dev/null
Binary files differ
diff --git a/content/2019/playground-v3/playground-v3.slide b/content/2019/playground-v3/playground-v3.slide
deleted file mode 100644
index 35d632a..0000000
--- a/content/2019/playground-v3/playground-v3.slide
+++ /dev/null
@@ -1,231 +0,0 @@
-Playground v3
-2019-10-08
-
-Brad Fitzpatrick
-@bradfitz
-bradfitz@golang.org
-
-* Overview
-
-- This is talk about play.golang.org
-- What it does
-- History of implementations
-- Latest incarnation
-
-* What does it does
-
-- Lets users run untrusted code in browser
-- Used by play.golang.org, tour.golang.org, godoc example snippets, etc.
-
-.image hello.png
-
-* Time
-
-- time is faked, cacheable
-- starts in Nov 2009, when Go was announced publicly
-
-.image time.png
-
-* Sleep replays
-
-- sleeps are emulated server-side (special runtime support)
-- stdout/stderr writes prefixed with binary header containing virtual time
-- sandbox parses output, simulates passage of time in browser
-- doesn't tie up server resources
-
-* Fun: clear screen with \f
-
-.link https://play.golang.org/p/lrSX-aXEOMe animation example
-
-  func main() {
-     const x = `.oOo`
-     for i := 0; i < 100; i++ {
-         fmt.Printf("\f%c", x[i%len(x)])
-         time.Sleep(200 * time.Millisecond)
-     }
-  }
-
-* Fun: images
-
-.link https://play.golang.org/p/t9ECgoq0XSD image example
-
-.image pic.png _ 600
-
-* History
-
-Caveat: fake, retroactive version numbers follow for ease of discussion.
-
-In reality, v0.0.0-20141209125517-dba9ba1953c6
-
-* Native Client (NaCl)
-
-- July 2009, four months before Go
-- GOOS=nacl, GOARCH={386,amd64p32,arm}
-- restricted, verifiable subset of {386,amd64,arm}
-- some had ambitions to add it to Chrome, web
-- most people opposed
-- "Portable NativeClient" (PNaCl) later proposed, opposed
-- GOARCH=amd64p32: amd64, but 32-bit pointers
-
-* Playground ~v1
-
-- App Engine frontend, in Python, made RPC calls to pass source to:
-- C++ Borg backend, compiled Go to NaCl, ran under ptrace syscall filter
-- standard two layers of paranoia; either sufficient in theory alone, ptrace layer logs/alerts hard on any violation
-
-* Playground ~v1.1
-
-- GAE frontend rewritten from Python to Go
-- backend still C++ running NaCl on Borg
-
-* Playground ~v2
-
-- move to App Engine Flex, where we can do more stuff
-- unify frontend + backend
-- run Native Client sel_ldr (NaCl runner binary) ourselves
-- no more C++
-- no more Borg
-
-* 2017
-
-- May 30, 2017: Portable Native Client (PNaCl) deprecated
-- Go never even implemented PNaCl (fortunately, in retrospect)
-- Go still implements the doubly deprecated arch-specific NaCl variants
-
-* 2018, 2019...
-
-- WebAssembly rise continues
-- NaCl looking increasingly odd, high maintenance cost relative to its worth
-- maintenance: builder resources
-- maintenance: hoping runtime faketime patches still apply at every release
-- maintenance: amd64p32
-- but play.golang.org still depends on it
-
-* How to sandbox play.golang.org without NaCl?
-
-* Plan: Playground v3
-
-- delete nacl/*
-- move Nacl's funky faketime support to linux/amd64 at least...
-- +build faketime (in master for Go 1.14; thanks, Austin!)
-- run otherwise regular linux/amd64 binaries in some sandbox
-
-* gVisor
-
-- gVisor is a mostly complete re-implementation of the Linux system call interface, in Go
-- runs under various modes ("platforms"): KVM, ptrace
-- everything is hookable: ~FUSE on steroids
-- performance pretty good, especially with KVM, not that we really need performance
-- was Google-internal, open source May 2018
-
-* Who uses gVisor?
-
-- App Engine 2nd gen runtimes (all new ones)
-- Cloud Run
-- Cloud Functions
-- GKE Sandbox (opt-in hardened containers)
-- ...
-
-* How to use gVisor?
-
-- tricky, ~unsupported to use directly
-- comes with a "runsc" wrapper command that team recommends
-
-* runsc woes
-
-- runsc ("run secure container") is an OCI "runc"-compatible frontend to gVisor
-- runc interface itself is tricky
-- kinda gross to use directly
-- syzkaller fuzzer does, though, so Go driver code exists
-- but ...
-
-* root
-
-- runsc requires root
-- without networking and ptrace instead of kvm, it _almost_ doesn't require root, but gvisor team isn't quite done with rootless
-- App Engine, etc doesn't give us real root (uid=0, but fake, not enough caps, under gVisor itself)
-- gvisor can't run nested under gvisor (can't run on Cloud Run, for example)
-
-* Docker
-
-- But Docker supports runsc easily:
-
-    docker run --runtime=runsc ...
-
-- So we can just run a dynamically scaled pool of VMs running Docker + a backend HTTP server driving Docker, with a load balancer in front of the pool of VMs.
-
-* v3 architecture
-
-- existing HTTP frontend takes source, compiles binary (for now)
-- HTTP PUTs compiled binary to backend HTTP server
-
-* v3 architecture
-
-.image arch.png _ 700
-
-* On each VM
-
-- one privileged container that speaks HTTP
-- has bind-mounted /var/run/docker.dock, to control its parent docker
-- creates sibling-but-gvisor'ed containers for each play
-- HTTP server reads PUT'ed binary, pipes into secure container, reads stdout/stderr response & exit status
-- replies over HTTP to frontend
-
-* VM view
-
-.image cos.png _ 900
-
-* Transition plan
-
-* Today
-
-- Frontend compiles to nacl/amd64p32, runs binary
-
-* Today+1
-
-- Frontend compiles to nacl/amd64p32, runs binary
-- opt-in support for using new backend (in either linux/amd64 or nacl/amd64p32 mode)
-- temporary support in new backend to understand how to wrap nacl with sel_ldr binary
-
-* Today+2:
-
-- Frontend compiles to nacl/amd64p2, PUTs all requests to new backend
-- gets us operational experience with backend before Go 1.14 release day chaos
-
-* Go 1.14 release day
-
-- flip a bit in frontend that forces linux/amd64
-- NaCl no longer allowed
-- can delete all its playground code (minimal)
-
-* Future possibilities
-
-- stop shipping compiled binaries around the network?
-- ... minimal win, might not be worth it
-- unify compilation & running in the backend?
-- 0, 1, or 2 sandbox services to update per Go release?
-- 2 is too many
-- 1 is today, acceptable
-- 0 might be too risky
-
-* Alternatives
-
-* Cloud Run?
-
-- Almost perfect
-- but doesn't let you disable network (yet? Cloud Functions has VPC connectors, can route traffic to Linux VM that drops packets)
-- if root-less runsc happens, can run in ptrace mode under Cloud Run
-
-* GKE Sandbox?
-
-- not obviously any simpler, faster than this setup
-- but might be alternative later
-- worry about node pool elasticity latency? COS boots quickly.
-
-* WebAssembly?
-
-- large binaries for users
-- still experimental support, but improving
-- use WebAssembly for x/tools/cmd/present?
-- ... because this Docker runsc contraption is too complicated for casual users giving talks on laptops
-- or just run unsandboxes in cmd/present
diff --git a/content/2019/playground-v3/time.png b/content/2019/playground-v3/time.png
deleted file mode 100644
index 3e7f629..0000000
--- a/content/2019/playground-v3/time.png
+++ /dev/null
Binary files differ
diff --git a/go.mod b/go.mod
deleted file mode 100644
index 63a51b9..0000000
--- a/go.mod
+++ /dev/null
@@ -1,3 +0,0 @@
-module golang.org/x/talks
-
-go 1.11
