gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-marketing] branch master updated: some final update


From: gnunet
Subject: [taler-marketing] branch master updated: some final update
Date: Thu, 07 Jul 2022 20:22:56 +0200

This is an automated email from the git hooks/post-receive script.

sebasjm pushed a commit to branch master
in repository marketing.

The following commit(s) were added to refs/heads/master by this push:
     new 695656f  some final update
695656f is described below

commit 695656f474fbba99341fc32e8795f70288d869db
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Thu Jul 7 15:22:36 2022 -0300

    some final update
---
 .../2022-osff-london/slides-osff-london-taler.html | 689 ---------------------
 presentations/2022-osff-london/web/index.html      | 433 +++++++++++++
 .../web/lib/fonts/montserrat/montserrat-bold.woff  | Bin 0 -> 29788 bytes
 .../lib/fonts/montserrat}/montserrat-regular.woff  | Bin
 .../lib/fonts/montserrat}/montserrat.css           |   0
 .../lib/fonts/opensans}/opensans-bold.woff         | Bin
 .../lib/fonts/opensans/opensans-bolditalic.woff    | Bin 0 -> 115868 bytes
 .../lib/fonts/opensans}/opensans-italic.woff       | Bin
 .../lib/fonts/opensans}/opensans-regular.woff      | Bin
 .../lib/fonts/opensans}/opensans.css               |   0
 .../web/lib/fonts/v3/asul/asul-bold.woff           | Bin 0 -> 34156 bytes
 .../web/lib/fonts/v3/asul/asul-regular.woff        | Bin 0 -> 33984 bytes
 .../web/lib/fonts/v3/asul/asul.css                 |  16 +
 .../lib/fonts/v3/cabinsketch/cabinsketch-bold.woff | Bin 0 -> 209720 bytes
 .../fonts/v3/cabinsketch/cabinsketch-regular.woff  | Bin 0 -> 112560 bytes
 .../web/lib/fonts/v3/cabinsketch/cabinsketch.css   |  14 +
 .../lib/fonts/v3/josefinsans/josefinsans-bold.woff | Bin 0 -> 23656 bytes
 .../v3/josefinsans/josefinsans-bolditalic.woff     | Bin 0 -> 26536 bytes
 .../fonts/v3/josefinsans/josefinsans-italic.woff   | Bin 0 -> 27808 bytes
 .../fonts/v3/josefinsans/josefinsans-regular.woff  | Bin 0 -> 23284 bytes
 .../web/lib/fonts/v3/josefinsans/josefinsans.css   |  28 +
 .../web/lib/fonts/v3/katex/KaTeX_AMS-Regular.woff  | Bin 0 -> 38868 bytes
 .../lib/fonts/v3/katex/KaTeX_Caligraphic-Bold.woff | Bin 0 -> 11696 bytes
 .../fonts/v3/katex/KaTeX_Caligraphic-Regular.woff  | Bin 0 -> 11460 bytes
 .../web/lib/fonts/v3/katex/KaTeX_Fraktur-Bold.woff | Bin 0 -> 22632 bytes
 .../lib/fonts/v3/katex/KaTeX_Fraktur-Regular.woff  | Bin 0 -> 22088 bytes
 .../web/lib/fonts/v3/katex/KaTeX_Main-Bold.woff    | Bin 0 -> 35464 bytes
 .../lib/fonts/v3/katex/KaTeX_Main-BoldItalic.woff  | Bin 0 -> 25352 bytes
 .../web/lib/fonts/v3/katex/KaTeX_Main-Italic.woff  | Bin 0 -> 26228 bytes
 .../web/lib/fonts/v3/katex/KaTeX_Main-Regular.woff | Bin 0 -> 38112 bytes
 .../lib/fonts/v3/katex/KaTeX_Math-BoldItalic.woff  | Bin 0 -> 22324 bytes
 .../web/lib/fonts/v3/katex/KaTeX_Math-Italic.woff  | Bin 0 -> 22844 bytes
 .../web/lib/fonts/v3/katex/KaTeX_Math-Regular.woff | Bin 0 -> 23712 bytes
 .../lib/fonts/v3/katex/KaTeX_SansSerif-Bold.woff   | Bin 0 -> 18516 bytes
 .../lib/fonts/v3/katex/KaTeX_SansSerif-Italic.woff | Bin 0 -> 17572 bytes
 .../fonts/v3/katex/KaTeX_SansSerif-Regular.woff    | Bin 0 -> 16228 bytes
 .../lib/fonts/v3/katex/KaTeX_Script-Regular.woff   | Bin 0 -> 13428 bytes
 .../lib/fonts/v3/katex/KaTeX_Size1-Regular.woff    | Bin 0 -> 6696 bytes
 .../lib/fonts/v3/katex/KaTeX_Size2-Regular.woff    | Bin 0 -> 6436 bytes
 .../lib/fonts/v3/katex/KaTeX_Size3-Regular.woff    | Bin 0 -> 4568 bytes
 .../lib/fonts/v3/katex/KaTeX_Size4-Regular.woff    | Bin 0 -> 6184 bytes
 .../fonts/v3/katex/KaTeX_Typewriter-Regular.woff   | Bin 0 -> 20260 bytes
 .../web/lib/fonts/v3/lato/lato-bold.woff           | Bin 0 -> 39404 bytes
 .../web/lib/fonts/v3/lato/lato-bolditalic.woff     | Bin 0 -> 36224 bytes
 .../web/lib/fonts/v3/lato/lato-italic.woff         | Bin 0 -> 35908 bytes
 .../web/lib/fonts/v3/lato/lato-regular.woff        | Bin 0 -> 38448 bytes
 .../web/lib/fonts/v3/lato/lato.css                 |  28 +
 .../web/lib/fonts/v3/league/league_gothic.css      |   8 +
 .../web/lib/fonts/v3/league/league_gothic.woff     | Bin 0 -> 21288 bytes
 .../web/lib/fonts/v3/league/league_gothic_license  |   2 +
 .../v3/merriweathersans/merriweathersans-bold.woff | Bin 0 -> 47916 bytes
 .../merriweathersans/merriweathersans-regular.woff | Bin 0 -> 47280 bytes
 .../fonts/v3/merriweathersans/merriweathersans.css |  14 +
 .../lib/fonts/v3/montserrat/montserrat-bold.woff   | Bin 0 -> 29788 bytes
 .../fonts/v3/montserrat}/montserrat-regular.woff   | Bin
 .../lib/fonts/v3/montserrat}/montserrat.css        |   0
 .../web/lib/fonts/v3/newscycle/newscycle-bold.woff | Bin 0 -> 76288 bytes
 .../lib/fonts/v3/newscycle/newscycle-regular.woff  | Bin 0 -> 155224 bytes
 .../web/lib/fonts/v3/newscycle/newscycle.css       |  14 +
 .../lib/fonts/v3/opensans}/opensans-bold.woff      | Bin
 .../lib/fonts/v3/opensans/opensans-bolditalic.woff | Bin 0 -> 115868 bytes
 .../lib/fonts/v3/opensans}/opensans-italic.woff    | Bin
 .../lib/fonts/v3/opensans}/opensans-regular.woff   | Bin
 .../lib/fonts/v3/opensans}/opensans.css            |   0
 .../web/lib/fonts/v3/overpass/overpass-bold.woff   | Bin 0 -> 29420 bytes
 .../web/lib/fonts/v3/overpass/overpass-light.woff  | Bin 0 -> 19468 bytes
 .../lib/fonts/v3/overpass/overpass-regular.woff    | Bin 0 -> 28072 bytes
 .../web/lib/fonts/v3/overpass/overpass.css         |  24 +
 .../web/lib/fonts/v3/overpass2/overpass2-bold.woff | Bin 0 -> 49068 bytes
 .../fonts/v3/overpass2/overpass2-bolditalic.woff   | Bin 0 -> 55840 bytes
 .../fonts/v3/overpass2/overpass2-extralight.woff   | Bin 0 -> 64332 bytes
 .../v3/overpass2/overpass2-extralightitalic.woff   | Bin 0 -> 64152 bytes
 .../lib/fonts/v3/overpass2/overpass2-italic.woff   | Bin 0 -> 65480 bytes
 .../lib/fonts/v3/overpass2/overpass2-light.woff    | Bin 0 -> 63280 bytes
 .../fonts/v3/overpass2/overpass2-lightitalic.woff  | Bin 0 -> 66292 bytes
 .../lib/fonts/v3/overpass2/overpass2-regular.woff  | Bin 0 -> 47420 bytes
 .../web/lib/fonts/v3/overpass2/overpass2.css       |  63 ++
 .../web/lib/fonts/v3/oxygen/oxygen-bold.woff       | Bin 0 -> 43356 bytes
 .../web/lib/fonts/v3/oxygen/oxygen-regular.woff    | Bin 0 -> 42816 bytes
 .../web/lib/fonts/v3/oxygen/oxygen.css             |  14 +
 .../web/lib/fonts/v3/quicksand/quicksand-bold.woff | Bin 0 -> 25048 bytes
 .../lib/fonts/v3/quicksand/quicksand-regular.woff  | Bin 0 -> 24788 bytes
 .../web/lib/fonts/v3/quicksand/quicksand.css       |  14 +
 .../2022-osff-london/web/lib/offline-v1.css        |  11 +
 .../2022-osff-london/web/lib/offline-v2.css        |  11 +
 presentations/2022-osff-london/web/lib/offline.js  | 227 +++++++
 .../2022-osff-london/web/lib/reveal-plugins.js     |  40 ++
 presentations/2022-osff-london/web/lib/reveal.css  |   7 +
 presentations/2022-osff-london/web/lib/reveal.js   |   8 +
 .../1e166270ee9577736d1296229df9a908.png}          | Bin
 .../24e99a2aadda4f8a9cee352274f37320.png}          | Bin
 .../2ddc171af541310c53585a269d7646e8.png}          | Bin
 .../2e9b1163c036ef53ceffb821b126f0a1.png}          | Bin
 .../2ef14826a2bb70f99baa34c612cc7dca.png}          | Bin
 .../3b765c77feed94adce3601656b191ad5.png}          | Bin
 .../3d28e7d49590bb3ce18faf79648865b0.png}          | Bin
 .../779be47661e8af186c69e55593e87168.png}          | Bin
 .../7b793611c934da890f39822aa0751d5d.png}          | Bin
 .../8250179553f606fd4e46b60697683cca.png}          | Bin
 .../9a1ab6ced69b37dde89163f858a58fb2.png}          | Bin
 .../b857d3315a79b987894298dbd4659b63.png}          | Bin
 .../ca64c81ca751777c30b5540440730d09.png}          | Bin
 .../cd724a4be9e7977ce00c41d949c535ff.png}          | Bin
 .../e7e710780dd483ec1dc7e088337905a0.png}          | Bin
 .../ea6b5581f700d53409347f06ffb73986.png           | Bin 0 -> 261166 bytes
 .../ec9e2e40717e54233e2ed3752d9ba790.png}          | Bin
 106 files changed, 976 insertions(+), 689 deletions(-)

diff --git a/presentations/2022-osff-london/slides-osff-london-taler.html 
b/presentations/2022-osff-london/slides-osff-london-taler.html
deleted file mode 100644
index 572b5d4..0000000
--- a/presentations/2022-osff-london/slides-osff-london-taler.html
+++ /dev/null
@@ -1,689 +0,0 @@
-<!DOCTYPE html>
-<!-- saved from 
url=(0106)file:///home/sebasjm/Work/taler/marketing/presentations/2022-osff-london/slides-osff-london-taler.html#/10
 -->
-<html class="sl-root decks export loaded ua-phantomjs&gt; &lt;head&gt; 
&lt;meta name= mz-history mz-svg mz-localstorage mz-csspositionsticky 
mz-supports mz-cssanimations mz-backgroundsize mz-no-cssgridlegacy mz-cssgrid 
mz-flexbox mz-csstransforms mz-csstransforms3d mz-csstransitions mz-fullscreen 
reveal-full-page mz-webpanimation fonts-are-ready" viewport"="" 
content="width=device-width, initial-scale=1.0"><head><meta 
http-equiv="Content-Type" content="text/html; charset=UTF-8">
-               <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-               <title>Building an Open Source payment system: Slides</title>
-               <meta name="description" content="Slides">
-               <style>/*! normalize.css v2.1.0 | MIT License | 
git.io/normalize */@import 
url("https://static.slid.es/fonts/v3/montserrat/montserrat.css";);@import 
url("https://static.slid.es/fonts/v3/opensans/opensans.css";);@import 
url("https://static.slid.es/fonts/v3/lato/lato.css";);@import 
url("https://static.slid.es/fonts/v3/asul/asul.css";);@import 
url("https://static.slid.es/fonts/v3/josefinsans/josefinsans.css";);@import 
url("https://static.slid.es/fonts/v3/league/league_gothic.css";);@import url( 
[...]
- * Main styles for Slides
- *
- * @author Hakim El Hattab
- 
*/*{box-sizing:border-box}:-webkit-full-screen{width:100%;height:100%}:-moz-full-screen{width:100%;height:100%}:-ms-fullscreen{width:100%;height:100%}:fullscreen{width:100%;height:100%}html,body{padding:0;margin:0;color:#252525;font-family:"Inter",
 Helvetica, sans-serif;font-size:16px}html:before,body:before{content:'' 
!important}html{-webkit-font-smoothing:subpixel-antialiased 
!important}html.sl-root:not(.loaded) *{-webkit-transition:none 
!important;transition:none !important}body{over [...]
-* reveal.js 4.3.1
-* https://revealjs.com
-* MIT licensed
-*
-* Copyright (C) 2011-2022 Hakim El Hattab, https://hakim.se
-*/.reveal .r-stretch,.reveal .stretch{max-width:none;max-height:none}.reveal 
pre.r-stretch code,.reveal pre.stretch 
code{height:100%;max-height:100%;box-sizing:border-box}.reveal 
.r-fit-text{display:inline-block;white-space:nowrap}.reveal 
.r-stack{display:-ms-grid;display:grid}.reveal 
.r-stack>*{grid-area:1/1;margin:auto}.reveal .r-hstack,.reveal 
.r-vstack{display:-webkit-box;display:-ms-flexbox;display:flex}.reveal 
.r-hstack img,.reveal .r-hstack video,.reveal .r-vstack img,.reveal .r-v [...]
-</style>
-
-               <meta name="csrf-param" content="authenticity_token">
-<meta name="csrf-token" 
content="ctXQ0g1MJVTup3GLX3zwqCzMsQZrdODStF1srXD9AIA1XBacT5LD8tINNbgcmFMqJzqtSBtQ8YXPLx8DIja99g==">
-               <style id="user-css-output" type="text/css"></style>
-       <link rel="stylesheet" href="./web_files/montserrat.css"><link 
rel="stylesheet" href="./web_files/opensans.css"><style 
type="text/css">.hljs-ln{border-collapse:collapse}.hljs-ln 
td{padding:0}.hljs-ln-n:before{content:attr(data-line-number)}</style></head>
-       <body class="reveal-viewport theme-font-montserrat 
theme-color-white-blue" "="" style="--slide-width:960px; --slide-height:540px; 
--slide-scale:1.70741;">
-               <div class="reveal none focused has-vertical-slides 
has-horizontal-slides ready" role="application" data-transition-speed="default" 
data-background-transition="slide">
-                       <div class="slides" style="width: 960px; height: 540px; 
inset: 50% auto auto 50%; transform: translate(-50%, -50%) scale(1.70741);">
-                               <section 
data-id="ce8d6ca103e2abb17e9e349a68e6ad77" class="past" style="display: none;" 
hidden="" aria-hidden="true"><div class="sl-block" data-block-type="image" 
style="width: 960px; height: 539.52px; left: 0px; top: 0px; min-width: 1px; 
min-height: 1px;" data-locked="true" 
data-block-id="e1a75f604ac9b2b19e1e32137263418f"><div 
class="sl-block-content"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" 
src="./web_files/nmd6coUl_001.png"></div></div> [...]
-<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-block-id="4e73cf754aa7888e2eddd323cbf016b6" 
data-name="text-4864a8"><div class="sl-block-content" data-placeholder-tag="h1" 
data-placeholder-text="Title Text" style="z-index: 11; color: rgb(255, 255, 
255);">
-<h2 style="text-align: left;">About this talk</h2>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
903px; left: 20px; top: 136px;" data-name="text-133880" 
data-block-id="1853b4d863ab6683c3263fc97deecc46"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
color: rgb(0, 0, 0); text-align: left;">
-<p style="color:rgb(255, 255, 255); text-align:left"><span 
style="color:#000000">Take away</span></p>
-
-<ul>
-       <li style="text-align:left"><span style="color:#000000">digital payment 
system, nominal valued</span></li>
-       <li style="text-align:left"><span style="color:#000000">token based, no 
ledger</span></li>
-</ul>
-
-<p style="text-align:left">&nbsp;</p>
-
-<p style="text-align:left">Wide view:</p>
-
-<ul>
-       <li>why? differences with cryptocurrencies</li>
-       <li>main components</li>
-       <li>demo, demo, demo</li>
-</ul>
-</div></div></section><section data-id="d39afa8e68650bcfc1f93bac0f2d3cb2" 
class="past" style="display: none;" data-notes="started coding in c and c++
-she has a nice profile page on github
-likes coding in rust and doing ui things in javascript, html, css
-she build a tower defense game when she was a kid" hidden="" 
aria-hidden="true"><div class="sl-block" data-block-type="image" style="width: 
960px; height: 539.52px; left: 0px; top: 0px; min-width: 1px; min-height: 1px;" 
data-locked="true" data-block-id="a2f5f20d4b46c772f2bf8a1b7d9cd0ab"><div 
class="sl-block-content" style="z-index: 10;"><img style="" 
data-natural-width="1500" data-natural-height="843" data-lazy-loaded="" 
src="./web_files/nmd6coUl_002.png"></div></div>
-<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="47757d42b4ed0d947e87fdf814b5e2c9"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
-<h2 style="text-align:left">About Alice</h2>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
903px; left: 20px; top: 136px;" data-name="text-133880" 
data-block-id="fb2da7034c70b24e38427fa71ed1b361"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
color: rgb(0, 0, 0); text-align: left;">
-<p style="text-align:left">Alice is a hacker</p>
-
-<ul>
-       <li style="text-align:left"><span style="color:#000000">like 
videogames</span></li>
-       <li style="text-align:left"><span style="color:#000000">has a arcade 
room business</span></li>
-       <li style="text-align:left">friends build games with her</li>
-       <li style="text-align:left">lives near a train station</li>
-</ul>
-
-<p style="text-align:left">&nbsp;</p>
-
-<p style="text-align:left">Business is doing really well!</p>
-</div></div>
-<div class="sl-block" data-block-type="image" style="width: 252.449px; height: 
263.6px; left: 640px; top: 179.2px; min-width: 1px; min-height: 1px;" 
data-name="image-cff032" data-block-id="0d983e36e1305b722d2c941e205ea5be"><div 
class="sl-block-content" style="z-index: 13;"><img style="" 
data-natural-width="815" data-natural-height="851" data-lazy-loaded="" 
src="./web_files/Selection_138.png"></div></div></section><section 
data-id="b966d7612cadbd62c40ea909869c41d5" class="past" style="dis [...]
-physical security is an issue" hidden="" aria-hidden="true"><div 
class="sl-block" data-block-type="image" style="width: 960px; height: 539.52px; 
left: 0px; top: 0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="19f610a32b02899137bb1e2879b093f8"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" 
src="./web_files/nmd6coUl_002.png"></div></div>
-<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="14a1f47da90f9cda732a2b0b00cbac9e"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
-<h2 style="text-align:left">Alice problem</h2>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
903px; left: 20px; top: 136px;" data-name="text-133880" 
data-block-id="710b732779914c589c92743c321ee680"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
color: rgb(0, 0, 0); text-align: left;">
-<p style="text-align:left">Alice lives in Argentina</p>
-
-<ul>
-       <li style="text-align:left">inflation is bad</li>
-       <li style="text-align:left"><span style="color:#000000">currency has 
low value</span></li>
-       <li style="text-align:left">security is an issue</li>
-</ul>
-
-<p style="text-align:left">&nbsp;</p>
-
-<p style="text-align:left">She wants to go digital</p>
-</div></div>
-<div class="sl-block" data-block-type="image" style="width: 357.86px; height: 
251.6px; left: 541.07px; top: 177.2px; min-width: 1px; min-height: 1px;" 
data-name="image-d1322e" data-block-id="6f27bb8c497e2d2c9f92d1d7a0a1acbf"><div 
class="sl-block-content" style="z-index: 13;"><img style="" 
data-natural-width="815" data-natural-height="573" data-lazy-loaded="" 
src="./web_files/Selection_140.png"></div></div></section><section 
data-id="e7e1b698fb322d171579009acf5f2478" class="past" style="d [...]
-<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="bbf010f94539d0dd00cbfee1566f96ba"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
-<h2 style="text-align:left">Alternatives to cash</h2>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
903px; left: 20px; top: 136px;" data-name="text-133880" 
data-block-id="63852b1149929c5faf8763205e7c0cde"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
color: rgb(0, 0, 0); text-align: left;">
-<p style="text-align:left">credit cards</p>
-
-<ul>
-       <li style="text-align:left">kids can't use it</li>
-       <li style="text-align:left">travelers have problems</li>
-</ul>
-
-<p style="text-align:left">fintech / banks</p>
-
-<ul>
-       <li style="text-align:left"><span style="color:#000000">needs 
account</span></li>
-       <li style="text-align:left">locks to some vendor</li>
-</ul>
-
-<p style="text-align:left">&nbsp;</p>
-
-<p style="text-align:left"><strong>Bob</strong>&nbsp;came with an idea!</p>
-</div></div>
-<div class="sl-block" data-block-type="image" style="width: 396.244px; height: 
249.6px; left: 521.878px; top: 174px; min-width: 1px; min-height: 1px;" 
data-name="image-62c438" data-block-id="3000251736f1289e23123fe385e067ec"><div 
class="sl-block-content" style="z-index: 13;"><img style="" 
data-natural-width="1297" data-natural-height="817" data-lazy-loaded="" 
src="./web_files/Selection_141.png"></div></div></section><section 
data-id="783f50ffa9dbeb670263ee4a4f7386f2" class="past" style=" [...]
-was not sure about other methods (PoS, private net)
-lightning network was maybe a possibility but with a private 2nd layer net 
-what happen to dead accounts? money locks
-" hidden="" aria-hidden="true"><div class="sl-block" data-block-type="image" 
style="width: 960px; height: 539.52px; left: 0px; top: 0px; min-width: 1px; 
min-height: 1px;" data-locked="true" 
data-block-id="02127ce290f03bb3f3694dd27c4c3ea4"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" 
src="./web_files/nmd6coUl_002.png"></div></div>
-<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="d6a17d4f3f13e1f18d9ee7062663f4b6"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
-<h2 style="text-align:left">Needs more blockchain!</h2>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
903px; left: 20px; top: 136px;" data-name="text-133880" 
data-block-id="52c1e56010a7f8dbd81a7c5aee12ba31"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
color: rgb(0, 0, 0); text-align: left;">
-<p style="text-align:left">Bitcoin/ETH/etc...</p>
-
-<ul>
-       <li style="text-align:left">transaction cost</li>
-       <li style="text-align:left">transaction time</li>
-</ul>
-
-<p style="text-align:left">... Build a new coin!</p>
-
-<ul>
-       <li style="text-align:left"><span style="color:#000000">the problem is 
getting bigger</span></li>
-       <li style="text-align:left">not 100% private</li>
-</ul>
-
-<p style="text-align:left">&nbsp;</p>
-
-<p style="text-align:left">then she heard about <strong>Richard</strong></p>
-</div></div>
-<div class="sl-block" data-block-type="image" style="width: 396.244px; height: 
249.6px; left: 521.878px; top: 174px; min-width: 1px; min-height: 1px;" 
data-name="image-62c438" data-block-id="eefb8206e7eb971199ded0f321c8437f"><div 
class="sl-block-content" style="z-index: 13;"><img style="" 
data-natural-width="1297" data-natural-height="817" data-lazy-loaded="" 
src="./web_files/Selection_141.png"></div></div></section><section 
data-id="baf7563ab7c2f657585648eafd9d6645" class="past" style=" [...]
-<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="7d92c765a5e46aa142758e5a225795e7"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
-<h2 style="text-align:left">GNU Taler</h2>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
434px; left: 20px; top: 136px;" data-name="text-133880" 
data-block-id="7aecb475c0bf79ada22d590c37145807"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
color: rgb(0, 0, 0); text-align: left;">
-<p style="text-align: center;"><em><span style="font-size:0.7em">Now, with 
Taler. Only the payer is anonymous. The payee has to identify itself for each 
transaction. And so Taler can't be used to hide wealth. However, Taler is 
really anonymous for the payer. There is no way, the developers are quite 
confident, there's no way to figure out from Taler itself, who made the 
payment.</span></em></p>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
767px; left: 20px; top: 446.5px;" data-name="text-9d84d6" 
data-block-id="2dc010c3219a3223d1ee1f25c28d34c9"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13;">
-<p style="text-align: left;"><a 
href="https://libreplanet.org/wiki/LibrePlanet:Conference/2022/Transcripts/RMS-state-of-free-software";
 target="_blank"><span style="font-size:11pt"><span><span 
style="color:#1155cc"><u>https://libreplanet.org/wiki/LibrePlanet:Conference/2022/Transcripts/RMS-state-of-free-software</u></span></span></span></a></p>
-</div></div>
-<div class="sl-block" data-block-type="image" style="width: 246.883px; height: 
249.3px; left: 605.823px; top: 159.7px; min-width: 1px; min-height: 1px;" 
data-name="image-dffbba" data-block-id="60af4d3a580bfed12d2e50c7ddfb92c1"><div 
class="sl-block-content" style="z-index: 14;"><img style="" 
data-natural-width="817" data-natural-height="825" data-lazy-loaded="" 
src="./web_files/Selection_142.png"></div></div></section><section class="stack 
past" data-id="15640c77bbde881ca11a3a776df120b6"  [...]
-<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="eca9419de3e3eeccf64e44ce0105a238"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
-<h2 style="text-align:left">Taler difference</h2>
-</div></div>
-<div class="sl-block" data-block-type="image" style="width: 246.883px; height: 
249.3px; left: 633.117px; top: 158.7px; min-width: 1px; min-height: 1px;" 
data-name="image-dffbba" data-block-id="43140639084bf5e0b1d4551ed80ef4ff"><div 
class="sl-block-content" style="z-index: 12;"><img style="" 
data-natural-width="817" data-natural-height="825" data-lazy-loaded="" 
src="./web_files/Selection_142.png"></div></div>
-<div class="sl-block sl-block-group" data-block-type="group" 
data-name="group-b4a1f5" data-block-id="9f536d6ad90fe24edf0c97d727925577" 
style="height: auto;"><div class="sl-block-content sl-block-group-content" 
style="transform-origin: 469.558px 307.75px; z-index: 13;">
-<div class="sl-block" data-block-type="line" data-name="line-d32e2e" 
style="width: auto; height: auto; left: 262.889px; top: 130px;" 
data-block-id="7c4de2e8ca2c96bc9ddef0ca1c7d07f9"><div class="sl-block-content" 
data-line-x1="0" data-line-y1="239" data-line-x2="0" data-line-y2="0" 
data-line-color="#000000" data-line-start-type="none" data-line-end-type="none" 
style="z-index: 14;"><svg xmlns="http://www.w3.org/2000/svg"; version="1.1" 
preserveAspectRatio="xMidYMid" width="1" height="239" v [...]
-<div class="sl-block" data-block-type="line" data-name="line-55297c" 
style="width: auto; height: auto; left: 55.389px; top: 262px;" 
data-block-id="edd118aeecd8f4b8cab4989689d4a44f"><div class="sl-block-content" 
data-line-x1="0" data-line-y1="0" data-line-x2="414.7525839285714" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="none" style="z-index: 15;"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveAspectRatio="xMidYMid" 
width="414. [...]
-<div class="sl-block" data-block-type="text" data-name="text-3d469c" 
style="height: auto; width: 153.071px; left: 480.046px; top: 314.5px;" 
data-block-id="2495e1c5b17711212c737766c88ec317"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 16; 
text-align: center;">
-<p><strong>physical</strong></p>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
146.071px; left: 487.046px; top: 185.5px;" data-name="text-53a0f7" 
data-block-id="1e6e3df70471543e614b3fe77c2e4da9"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 17; 
text-align: center;">
-<p><strong>digital</strong></p>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
205.184px; left: 41.2762px; top: 393px;" data-name="text-72d968" 
data-block-id="b594af98de7bda1372cd414eb331d127"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 18; 
text-align: center;">
-<p><strong>account</strong></p>
-</div></div>
-<div class="sl-block" data-block-type="text" data-name="text-d39275" 
style="height: auto; width: 203.43px; left: 266.712px; top: 393px;" 
data-block-id="75a7c6d6abbe7985482892667f7c4d4f"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 19;">
-<p><strong>token</strong></p>
-</div></div>
-<div class="sl-block" data-block-type="text" data-name="text-0663be" 
style="height: auto; width: 139.42px; left: 297.086px; top: 295px;" 
data-block-id="dacf57e1c4ac7e51d8be4de2d9a1cf56"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 20;">
-<p>cash</p>
-</div></div>
-<div class="sl-block" data-block-type="text" data-name="text-84f6f4" 
style="height: auto; width: 206.938px; left: 39.5222px; top: 159.7px;" 
data-block-id="b5c3640406e7fc6380fb69de48ba8c63"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 21;">
-<p>wire transfer &amp; cryptos</p>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
206.938px; left: 39.5222px; top: 295px;" data-name="text-97a7e1" 
data-block-id="351623a37fc6fad52d65c733db2e01cb"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 22;">
-<p>ledger book</p>
-</div></div>
-<div class="sl-block" data-block-type="text" data-name="text-b2118e" 
style="height: auto; width: 170.11px; left: 295.445px; top: 179.2px;" 
data-block-id="e18518f060caef20e7c6361ae595d7ad"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 23;">
-<p>GNU Taler</p>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
899.115px; left: 20px; top: 449.5px;" data-name="text-0d8899" 
data-block-id="5a5a6d987a6b9b35fef5297014355035"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 24; 
font-size: 51%;">
-<pre><a 
href="https://www.suerf.org/policynotes/46097/who-comes-after-us-the-correct-mindset-for-designing-a-central-bank-digital-currency";
 target="_blank">The French report correctly states that a digital Euro based 
on accounts poses “democratic risks”  and could allow “state surveillance of 
all transactions of every individual”</a>
-</pre>
-</div></div>
-</div></div></section><section data-id="99bd8e0cd9fe65412d0d7b6038524eab" 
class="future" aria-hidden="true" style="display: none;" hidden=""><div 
class="sl-block" data-block-type="image" style="width: 960px; height: 539.52px; 
left: 0px; top: 0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="6a46afa4073ac8ac374ccbf3f2b2d8b4"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" src=". [...]
-<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="19df135b461d480f9f374d607ecbe4fd"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
-<h2 style="text-align:left">Taler difference</h2>
-</div></div>
-<div class="sl-block" data-block-type="image" style="width: 308.494px; height: 
343.6px; left: 72.006px; top: 136px; min-width: 1px; min-height: 1px;" 
data-name="image-1b9c31" data-block-id="7d40bb878a654f81e2f5c35313aae68f"><div 
class="sl-block-content" style="z-index: 12;"><img style="" 
data-natural-width="703" data-natural-height="783" data-lazy-loaded="" 
src="./web_files/Selection_143.png"></div></div>
-<div class="sl-block" data-block-type="image" style="width: 438.092px; height: 
216.484px; left: 441.908px; top: 136px; min-width: 1px; min-height: 1px;" 
data-name="image-419a50" data-block-id="07c8e889fa098a5f9f798f3e7035982a"><div 
class="sl-block-content" style="z-index: 13;"><img style="" 
data-natural-width="684" data-natural-height="338" data-lazy-loaded="" 
src="./web_files/Selection_144.png"></div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
505px; left: 441.908px; top: 426.6px;" data-name="text-b118ed" 
data-block-id="6a87885c08ffd60d010ffab67e6985db"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 14; 
text-align: left; line-height: 0.585;" data-has-line-height="">
-<pre><span style="font-size:0.5em"><a 
href="https://www.suerf.org/policynotes/46097/who-comes-after-us-the-correct-mindset-for-designing-a-central-bank-digital-currency";
 
target="_blank">https://www.suerf.org/policynotes/46097/who-comes-after-us-the-correct-mindset-for-designing-a-central-bank-digital-currency</a></span></pre>
-</div></div></section></section><section 
data-id="9cbda302bb0cc56286dea24586e8a6f2" class="past" style="display: block;" 
hidden="" aria-hidden="true"><div class="sl-block" data-block-type="image" 
style="width: 960px; height: 539.52px; left: 0px; top: 0px; min-width: 1px; 
min-height: 1px;" data-locked="true" 
data-block-id="5596e83969921e455fc17b715c21da80"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded= [...]
-<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="65ef68006e9a6b5210004d70434f1c82"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
-<h2 style="text-align:left">Taler resources</h2>
-</div></div>
-<div class="sl-block" data-block-type="image" style="width: 224.06px; height: 
322.599px; left: 655.94px; top: 136px; min-width: 1px; min-height: 1px;" 
data-name="image-482053" data-block-id="cc0f61febe327902b6f0151f85e3efeb"><div 
class="sl-block-content" style="z-index: 12;"><img style="" 
data-natural-width="191" data-natural-height="275" data-lazy-loaded="" 
src="./web_files/Selection_145.png"></div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
600px; left: 20px; top: 136px;" data-name="text-6ec8bf" 
data-block-id="35d41fb16c5cd2cd38e656b2760a4408"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13; 
text-align: left;">
-<p>Nice documentation <a href="https://docs.taler.net/"; 
target="_blank">docs.taler.net</a><br>
-FLOSS <a href="https://git.taler.net/"; target="_blank">git.taler.net</a><br>
-Community: <a href="mailto:taler@gnu.org"; target="_blank">taler@gnu.org</a><br>
-News: <a href="https://taler.net/en/news/"; 
target="_blank">taler.net/en/news/</a></p>
-
-<p>Twitter: <a href="https://twitter.com/taler"; target="_blank">@taler</a></p>
-
-<p>&nbsp;</p>
-
-<p>Then she learned how it works...</p>
-</div></div></section><section data-id="b8f86db7fb95d33743de17851e458e5f" 
class="past" style="display: block;" hidden="" aria-hidden="true"><div 
class="sl-block" data-block-type="image" style="width: 960px; height: 539.52px; 
left: 0px; top: 0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="f3538ce3c3c5f8a0040cbf4d3a258473"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" src="./ [...]
-<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="ab9efdd556a3d0c5b6333c4cd082baf0"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
-<h2 style="text-align:left">Taler components</h2>
-</div></div>
-<div class="sl-block" data-block-type="image" style="width: 224.06px; height: 
322.599px; left: 655.94px; top: 136px; min-width: 1px; min-height: 1px;" 
data-name="image-482053" data-block-id="bb576d4f8d6179ce4f1432d9f0361145"><div 
class="sl-block-content" style="z-index: 12;"><img style="" 
data-natural-width="191" data-natural-height="275" data-lazy-loaded="" 
src="./web_files/Selection_145.png"></div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
417px; left: 20px; top: 456.5px;" data-name="text-6ec8bf" 
data-block-id="0df9993d2fd70c4112bc8017b909a0b9"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13; 
text-align: left;" dir="ui">
-<p>So she plays with the demo...</p>
-</div></div>
-<div class="sl-block sl-block-group" data-block-type="group" 
data-name="group-d882ae" data-block-id="07e337ae2328024346f14c38b35bac85" 
style="width: auto; height: auto;"><div class="sl-block-content 
sl-block-group-content" style="transform-origin: 292.688px 281.145px; z-index: 
14;">
-<div class="sl-block" data-block-type="text" data-name="text-5918d4" 
style="height: auto; width: 247.625px; left: 150.687px; top: 136px;" 
data-block-id="8c0173ba40156d4f674adceca89a8cf3"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 15;">
-<h3>exchange</h3>
-</div></div>
-<div class="sl-block" data-block-type="text" data-name="text-738a02" 
style="height: auto; width: 221px; left: 0px; top: 348px;" 
data-block-id="d61c5747f9a34a68cad11a0581110834"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 16;">
-<h3>wallet</h3>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
271px; left: 314.376px; top: 348px;" data-name="text-691836" 
data-block-id="24134101d3a1a0f9cc2f4d4d8920e0a9"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 17;">
-<h3>merchant</h3>
-</div></div>
-<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
left: 131.312px; top: 202px;" data-name="line-b44c95" 
data-block-id="f77ae87bb539636bdb5656056a12ead0"><div class="sl-block-content" 
data-line-x1="63.31299999999999" data-line-y1="0" data-line-x2="0" 
data-line-y2="137" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="arrow" style="z-index: 18;" data-line-width="4px"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveAspectRa [...]
-<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
left: 185.001px; top: 348px;" data-name="line-93c6bb" 
data-block-id="c12e6ccc4c7a3c6628af0aebb3e70b3b"><div class="sl-block-content" 
data-line-x1="0" data-line-y1="0" data-line-x2="143.67379999999997" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="line-arrow" 
data-line-end-type="none" style="z-index: 19;" data-line-width="4px"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveAspe [...]
-<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
left: 354.5px; top: 202px;" data-name="line-3dd52e" 
data-block-id="c9f7a618fa2395d56091a44c70403465"><div class="sl-block-content" 
data-line-x1="0" data-line-y1="0" data-line-x2="62.876000000000005" 
data-line-y2="146" data-line-color="#000000" data-line-start-type="line-arrow" 
data-line-end-type="none" style="z-index: 20;" data-line-width="4px"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveAspe [...]
-<div class="sl-block" data-block-type="text" data-name="text-65e231" 
style="height: auto; width: 172.082px; left: 46.4044px; top: 237.173px;" 
data-block-id="e59e3cc858ae6d22478798c498eeb27f"><div class="sl-block-style" 
style="z-index: 21; transform: rotate(-65deg);"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 21;">
-<p><span style="font-size:0.7em">1.withdraw coins</span></p>
-</div></div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
273.727px; left: 112.211px; top: 301.921px;" data-name="text-83aaa2" 
data-block-id="77755e41bf6447ba45c570bd2f97aac8"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 22;">
-<p><span style="font-size:0.7em">2. send ticket</span></p>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
116.203px; left: 359.274px; top: 237.173px;" data-name="text-8b825b" 
data-block-id="87d97b51aa8421d3221ac7dd21f5adee"><div class="sl-block-style" 
style="z-index: 23; transform: rotate(64deg);"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 23;">
-<p><span style="font-size:0.7em">4. deposit</span></p>
-</div></div></div>
-<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
left: 185.675px; top: 373.5px;" data-name="line-c2b5cb" 
data-block-id="b7c95c37ece2f7ffb6c6e769eb598bdd"><div class="sl-block-content" 
data-line-x1="0" data-line-y1="0" data-line-x2="143.67379999999997" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="arrow" style="z-index: 24;" data-line-width="4px"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveAspectR [...]
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
273.727px; left: 110.5px; top: 387.29px;" data-name="text-d58d73" 
data-block-id="92d96d81d021acb582eb0af1ac89e201"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 25;">
-<p><span style="font-size:0.7em">3. pay / sign</span></p>
-</div></div>
-</div></div></section><section data-id="b5192d5c83ed9b454a40cb1f16d98554" 
class="present" style="display: block;"><div class="sl-block" 
data-block-type="image" style="width: 960px; height: 539.52px; left: 0px; top: 
0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="e4cb6d266fadd92ef3d28088e83ac18c"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" src="./web_files/nmd6coUl_002.png 
[...]
-<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="e0d16d012cd1c54fa9cde968e45ecaad"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
-<h2 style="text-align:left">Taler demo</h2>
-</div></div>
-<div class="sl-block" data-block-type="image" style="width: 224.06px; height: 
322.599px; left: 655.94px; top: 136px; min-width: 1px; min-height: 1px;" 
data-name="image-482053" data-block-id="c599e9bfe8f3c522f41ca7309b987e94"><div 
class="sl-block-content" style="z-index: 12;"><img style="" 
data-natural-width="191" data-natural-height="275" data-lazy-loaded="" 
src="./web_files/Selection_145.png"></div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
572px; left: 20px; top: 146.5px;" data-name="text-6ec8bf" 
data-block-id="092376dfc76f3e22ffc38acb4317d827"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13; 
text-align: left;" dir="ui">
-<ol>
-       <li>she installs the wallet web-extension</li>
-       <li>then fill the wallet with KUDOS</li>
-       <li>goes to the essay shop</li>
-       <li>buys an article</li>
-       <li>receive a tip for participating in a survey</li>
-</ol>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
600px; left: 26px; top: 439.099px;" data-name="text-87191a" 
data-block-id="f154497e3ca6c88dd869bacc143ef27e"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 14; 
text-align: left;">
-<p>still needs to integrate with the arcades...</p>
-</div></div></section><section class="stack future" 
data-id="835a6aaa1a3a9e3993dbb938848b3446" style="display: block;" 
data-previous-indexv="0" hidden="" aria-hidden="true"><section 
data-id="b70edb1bc28d253a61b19ef7fa4cad95" style="display: block;" class="" 
aria-hidden="true"><div class="sl-block" data-block-type="image" style="width: 
960px; height: 539.52px; left: 0px; top: 0px; min-width: 1px; min-height: 1px;" 
data-locked="true" data-block-id="24b4cb361d2c07a91193438c5c0ffb38"><div cl 
[...]
-<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="165d1e7ded2032078409bc6f6ce11a4e"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
-<h2 style="text-align:left">Taler Arcade</h2>
-</div></div>
-<div class="sl-block" data-block-type="image" style="width: 154.668px; height: 
149.6px; left: 763.31px; top: 313.5px; min-width: 1px; min-height: 1px;" 
data-name="image-4f742d" data-block-id="d0b1f746d622481b90a32cddf5a6832c"><div 
class="sl-block-content" style="z-index: 12;"><img style="" 
data-natural-width="824" data-natural-height="797" data-lazy-loaded="" 
src="./web_files/Selection_147.png"></div></div>
-<div class="sl-block" data-block-type="shape" style="width: 178px; height: 
75px; left: 283.5px; top: 157.8px;" data-name="shape-c1ed89" 
data-block-id="092b949d53b7e5c7a3515f4d818dcfca"><div class="sl-block-content" 
data-shape-type="rect" data-shape-fill-color="rgba(0, 0, 0, 0)" 
data-shape-stretch="true" style="z-index: 13;" 
data-shape-stroke-color="#000000" data-shape-stroke-width="4px"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" width="100%" height="100%" 
preserveAspectRatio=" [...]
-<div class="sl-block" data-block-type="shape" style="width: 178px; height: 
75px; left: 542px; top: 159.5px;" 
data-block-id="e5a08c0e7c2833bbe6cce81b978321a8" data-name="shape-956563"><div 
class="sl-block-content" data-shape-type="rect" data-shape-fill-color="rgba(0, 
0, 0, 0)" data-shape-stretch="true" style="z-index: 14;" 
data-shape-stroke-color="#000000" data-shape-stroke-width="4px"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" width="100%" height="100%" 
preserveAspectRatio="no [...]
-<div class="sl-block" data-block-type="shape" style="width: 178px; height: 
75px; left: 499px; top: 358.3px;" 
data-block-id="80f58e1b5cbaea3f0f197a9c463fc5f9" data-name="shape-9c04ca"><div 
class="sl-block-content" data-shape-type="rect" data-shape-fill-color="rgba(0, 
0, 0, 0)" data-shape-stretch="true" style="z-index: 15;" 
data-shape-stroke-color="#000000" data-shape-stroke-width="4px"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" width="100%" height="100%" 
preserveAspectRatio="no [...]
-<div class="sl-block" data-block-type="shape" style="width: 178px; height: 
75px; left: 222px; top: 358.3px;" 
data-block-id="c465601a6aee2073ad1de820ff0cf178" data-name="shape-adac13"><div 
class="sl-block-content" data-shape-type="rect" data-shape-fill-color="rgba(0, 
0, 0, 0)" data-shape-stretch="true" style="z-index: 16;" 
data-shape-stroke-color="#000000" data-shape-stroke-width="4px"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" width="100%" height="100%" 
preserveAspectRatio="no [...]
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
178px; left: 283.5px; top: 159.5px;" data-name="text-e0fc73" 
data-block-id="eefc61890df193206184068dc5544e56"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 17; 
line-height: 1.027; font-size: 97%;" data-has-line-height="">
-<p><span style="font-size:0.7em">cash validator</span></p>
-
-<p><span style="font-size:0.7em">listener</span></p>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
178px; left: 542px; top: 163.5px;" 
data-block-id="2731e5284aa32a8d0fd0aecfcd60e9ed" data-name="text-cb6aa3"><div 
class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" 
style="z-index: 18; line-height: 1.027; font-size: 97%;" 
data-has-line-height="">
-<p><span style="font-size:20.37px">arcade pickup tiping</span></p>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
178px; left: 499px; top: 365.8px;" 
data-block-id="0a5714e7ff548c46fb02d51f4ea32883" data-name="text-6cb2e7"><div 
class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" 
style="z-index: 19; line-height: 1.027; font-size: 97%;" 
data-has-line-height="">
-<p><span style="font-size:20.37px">arcade insert coin watcher</span></p>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
178px; left: 222px; top: 358.3px;" 
data-block-id="0c61be3ca9732bc02ef525871e25e797" data-name="text-ce98d1"><div 
class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" 
style="z-index: 20; line-height: 1.027; font-size: 97%;" 
data-has-line-height="">
-<p><span style="font-size:20.37px">arcade payment listener</span></p>
-</div></div>
-<div class="sl-block" data-block-type="image" style="width: 119.038px; height: 
118.6px; left: 53.499px; top: 136px; min-width: 1px; min-height: 1px;" 
data-name="image-fb20a4" data-block-id="d9060a8aaaab124f957d8db2cce2b303"><div 
class="sl-block-style" style="z-index: 21; transform: rotate(0deg);"><div 
class="sl-block-content" style="z-index: 21;"><img style="" 
data-natural-width="544" data-natural-height="542" data-lazy-loaded="" 
src="./web_files/Selection_148.png"></div></div></div>
-<div class="sl-block" data-block-type="image" style="width: 81.5px; height: 
81.5px; left: 806.3px; top: 154.55px; min-width: 1px; min-height: 1px;" 
data-name="image-193fd4" data-block-id="5bff9febf88d1779cbd4875550f11a97"><div 
class="sl-block-content" style="z-index: 22;"><img style="" 
data-natural-width="150" data-natural-height="150" data-lazy-loaded="" 
src="./web_files/arcade_pay.png"></div></div>
-<div class="sl-block" data-block-type="image" style="width: 81.5px; height: 
81.5px; left: 53.499px; top: 355.05px; min-width: 1px; min-height: 1px;" 
data-block-id="bd62edf3a6ca35b885d958e235c1cb2b" data-name="image-a7b140"><div 
class="sl-block-content" style="z-index: 23;"><img style="" 
data-natural-width="150" data-natural-height="150" data-lazy-loaded="" 
src="./web_files/arcade_pay.png"></div></div>
-<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
min-width: 0px; min-height: 0px; left: 144px; top: 395.8px;" 
data-name="line-be12b3" data-block-id="ba7e948c302711f8e07c0bcbeae69e30"><div 
class="sl-block-content" data-line-x1="0" data-line-y1="0" data-line-x2="63" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="line-arrow" style="z-index: 24;"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveAspectRatio [...]
-<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
min-width: 0px; min-height: 0px; left: 417px; top: 394.8px;" 
data-block-id="6d97aa47032928971624c48c505af294" data-name="line-bd6dcd"><div 
class="sl-block-content" data-line-x1="0" data-line-y1="0" data-line-x2="63" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="line-arrow" style="z-index: 25;"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveAspectRatio [...]
-<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
min-width: 0px; min-height: 0px; left: 688.5px; top: 393.8px;" 
data-block-id="2c477b214909940f0afd56ef054ef61d" data-name="line-19dc9c"><div 
class="sl-block-content" data-line-x1="0" data-line-y1="0" data-line-x2="63" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="line-arrow" style="z-index: 26;"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveAspectRat [...]
-<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
min-width: 0px; min-height: 0px; left: 190.5px; top: 197px;" 
data-block-id="848a95dec675873c7a67d38ce09542e9" data-name="line-e2e5ea"><div 
class="sl-block-content" data-line-x1="0" data-line-y1="0" data-line-x2="63" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="line-arrow" style="z-index: 27;"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveAspectRatio [...]
-<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
min-width: 0px; min-height: 0px; left: 467.5px; top: 197px;" 
data-block-id="4526fc428e258f14abbdb72f682e3d8b" data-name="line-3b87b8"><div 
class="sl-block-content" data-line-x1="0" data-line-y1="0" data-line-x2="63" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="line-arrow" style="z-index: 28;"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveAspectRatio [...]
-<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
min-width: 0px; min-height: 0px; left: 731.81px; top: 197px;" 
data-block-id="9796d08a1cd818a6d1252c5cec741049" data-name="line-a87486"><div 
class="sl-block-content" data-line-x1="0" data-line-y1="0" data-line-x2="63" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="line-arrow" style="z-index: 29;"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveAspectRati [...]
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
103px; left: 794.81px; top: 115.55px;" data-name="text-feb358" 
data-block-id="3cd486ef9bddc09f18b29a6d17cd2da3"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 30;">
-<p>pickup</p>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
103px; left: 41px; top: 313.5px;" 
data-block-id="a8234874ca09acace90d395da8d57a4e" data-name="text-bc8e67"><div 
class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" 
style="z-index: 31;">
-<p>pay</p>
-</div></div></section><section data-id="7e7a27e7fce7bc4a8cfd144690d6caed" 
class="future" aria-hidden="true" style="display: block;" hidden=""><div 
class="sl-block" data-block-type="image" style="width: 960px; height: 539.52px; 
left: 0px; top: 0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="afb38048d5fbf40d5496d5fe3c5d24ca"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" src=" [...]
-<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="36c841a1062d8e7ae7d8c6cbb9a752a8"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
-<h2 style="text-align:left">Taler Arcade</h2>
-</div></div>
-<div class="sl-block" data-block-type="image" style="width: 272.8px; height: 
272.8px; left: 560px; top: 160px;" data-name="image-9ce838" 
data-block-id="e17cfda521a1626e06f7fefcc30af73d"><div class="sl-block-content" 
style="z-index: 12;"><img style="" data-natural-width="150" 
data-natural-height="150" data-lazy-loaded="" 
src="./web_files/arcade_pay.png"></div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
437px; left: 80px; top: 276.9px;" data-name="text-4242b9" 
data-block-id="0719ebca7bbc9e6224c183e689b5a40c"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13; 
text-align: left;">
-<p><a href="https://arcade.taler.ar/pay"; 
target="_blank">https://arcade.taler.ar/pay</a></p>
-</div></div></section><section data-id="aad2709cfda5874049bf6dfba2667fa0" 
class="future" aria-hidden="true" style="display: none;" hidden=""><div 
class="sl-block" data-block-type="image" style="width: 960px; height: 539.52px; 
left: 0px; top: 0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="3177bb59642d2a892ea6ef5414c751a7"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" src=". [...]
-<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="2067f33829e3d3fb73b4b684f0a90252"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
-<h2 style="text-align:left">Taler Arcade</h2>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
437px; left: 80px; top: 276.9px;" data-name="text-4242b9" 
data-block-id="7cba1a923f6cb298fe1bf2ba35faaa1d"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13; 
text-align: left;">
-<p><a href="https://arcade.taler.ar/pickup"; 
target="_blank">https://arcade.taler.ar/pickup</a></p>
-</div></div>
-<div class="sl-block" data-block-type="image" style="width: 272.8px; height: 
272.8px; left: 560px; top: 160px;" data-name="image-7fe35e" 
data-block-id="31bc0c9de2d7689669262592131d3f4b"><div class="sl-block-content" 
style="z-index: 14;"><img style="" data-natural-width="150" 
data-natural-height="150" data-lazy-loaded="" 
src="./web_files/arcade_pickup.png"></div></div></section></section><section 
data-id="b1fc95cba1c8a8fcf004ba16f5e6c0e6" class="future" style="display: 
block;" hidden="" a [...]
-<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="e2e1ec31c0cbb6897737e301caa1c953"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
-<h2 style="text-align:left">Final comments</h2>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
600px; left: 20px; top: 122px;" data-name="text-59d999" 
data-block-id="3462cd2c8da0b31d79dad1d2d053489d"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
text-align: left;">
-<p>Don't use this example in production!</p>
-
-<p>Missing topics:</p>
-
-<ul>
-       <li>regulations: KYC, AML, CFT</li>
-       <li>age restricted coins</li>
-       <li>coin changes &amp; fees</li>
-       <li>merchant forgettable contracts</li>
-       <li>Wallet backups</li>
-       <li>Taler Arcade is not secure enough</li>
-</ul>
-</div></div>
-<div class="sl-block" data-block-type="image" style="width: 200.047px; height: 
177.6px; left: 699.976px; top: 214.7px; min-width: 1px; min-height: 1px;" 
data-name="image-07fc5b" data-block-id="9003097783101776a9114e6ff3aadfcf"><div 
class="sl-block-content" style="z-index: 13;"><img style="" 
data-natural-width="811" data-natural-height="720" data-lazy-loaded="" 
src="./web_files/5a3a4d9a2adce1.10802893151377039417567787.png"></div></div></section><section
 data-id="ec22b24391198ec0cf5742f66 [...]
-<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="e7e74577eea7524bfdadf78dea4db793"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
-<h2 style="text-align:left">if you want more....</h2>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
360.5px; left: 20px; top: 124px;" data-name="text-59d999" 
data-block-id="c128b19388fec10844d780bceadb2d10"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
text-align: left; line-height: 1.027;" data-has-line-height="">
-<p>Connect with us <a href="https://www.taler.net/"; 
target="_blank">taler.net</a></p>
-
-<p>&nbsp;</p>
-
-<p>Hack <a href="https://git.taler.net/"; target="_blank">git.taler.net</a></p>
-
-<p>&nbsp;</p>
-
-<p>Join <a href="mailto:taler@gnu.org"; target="_blank">taler@gnu.org</a></p>
-</div></div>
-<div class="sl-block" data-block-type="image" style="width: 806.397px; height: 
146.198px; left: 73.603px; top: 364px; min-width: 1px; min-height: 1px;" 
data-name="image-a34220" data-block-id="df53a02e2758e5bd583e070a98d790ac"><div 
class="sl-block-content" style="z-index: 13;"><img style="" 
data-natural-width="1048" data-natural-height="190" data-lazy-loaded="" 
src="./web_files/Selection_149.png"></div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
516px; left: 426px; top: 124px;" 
data-block-id="e177ec05ad9a50a6341ef624bea98098" data-name="text-66b7bc"><div 
class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" 
style="z-index: 14; text-align: left; line-height: 1.027;" 
data-has-line-height="">
-<p>Read:</p>
-
-<ul>
-       <li><a href="https://taler.net/en/news/2022-07.html"; 
target="_blank"><span style="font-size:0.7em">A digital euro and the future of 
cash</span></a></li>
-       <li><a href="https://taler.net/en/news/2021-11.html"; 
target="_blank"><span style="font-size:0.7em">Understanding and designing 
technologies for everyday financial collaboration</span></a></li>
-       <li><a href="https://taler.net/en/news/2021-06.html"; 
target="_blank"><span style="font-size:0.7em">How to issue a privacy-preserving 
central bank digital currency</span></a></li>
-       <li><a href="https://cbdc-forum.tech/en/"; target="_blank"><span 
style="font-size:0.7em">The Libre rCBDC Technology Forum</span></a></li>
-</ul>
-</div></div></section><section data-id="fbd6c5911193838efd5bacd33d32feff" 
class="future" style="display: none;" hidden="" aria-hidden="true"><div 
class="sl-block" data-block-type="image" style="width: 960px; height: 539.52px; 
left: 0px; top: 0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="6981eb740b2b9bf9aa3d28b30f8c2f7f"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" src=". [...]
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
600px; left: 180px; top: 276px;" data-name="text-9e410b" 
data-block-id="240ba6f64a0f1442999d7bbcf0761f41"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11; 
color: rgb(255, 255, 255);">
-<p>Thanks!</p>
-
-<p>Sebastian Javier Marchano</p>
-
-<p>https://taler.net</p>
-</div></div>
-<div class="sl-block" data-block-type="text" style="height: auto; width: 
600px; left: 188px; top: 476px;" data-name="text-e8c73e" 
data-block-id="43dbbcfd78f091175f6642549e89d1ff"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
color: rgb(255, 255, 255);">
-<p>@sebasjm</p>
-</div></div></section>
-                       </div>
-               <div class="backgrounds"><div class="slide-background past" 
data-loaded="true" style="display: none;"><div 
class="slide-background-content"></div></div><div class="slide-background past" 
data-loaded="true" style="display: none;"><div 
class="slide-background-content"></div></div><div class="slide-background past" 
data-loaded="true" style="display: none;"><div 
class="slide-background-content"></div></div><div class="slide-background past" 
data-loaded="true" style="display: none;"><div cl [...]
-               
-                                       <div class="progress" style="display: 
block;"><span style="transform: scaleX(0.647059);"></span></div><div 
class="speaker-notes" data-prevent-swipe="" tabindex="0"></div><div 
class="pause-overlay"><button class="resume-button">Resume 
presentation</button></div><div class="aria-status" aria-live="polite" 
aria-atomic="true" style="position: absolute; height: 1px; width: 1px; 
overflow: hidden; clip: rect(1px, 1px, 1px, 1px);">Taler demo she installs the 
wallet web-extension then fill t [...]
-
-               
-<script>
-       var SLConfig = 
{"current_user":{"id":233396,"username":"sebasjm","name":"Sebastian 
Marchano","description":"","thumbnail_url":"https://lh3.googleusercontent.com/-K0BTr9B1jmo/AAAAAAAAAAI/AAAAAAAAD7k/xf6W0oNxnxw/photo.jpg","account_type":"default","team_id":null,"settings":{"id":39747,"present_controls":false,"present_upsizing":true,"present_pointer":false,"present_notes":true,"default_deck_tag_id":null,"editor_grid":true,"editor_grid_on_top":false,"editor_snap":true,"editor_fixed_notes":
 [...]
-</script>
-
-               <script>
-                       !function(t){function 
e(t,e,r,n,i){this._listener=e,this._isOnce=r,this.context=n,this._signal=t,this._priority=i||0}function
 r(t,e){if("function"!=typeof t)throw new Error("listener is a required param 
of {fn}() and should be a Function.".replace("{fn}",e))}function 
n(){this._bindings=[],this._prevParams=null;var 
t=this;this.dispatch=function(){n.prototype.dispatch.apply(t,arguments)}}e.prototype={active:!0,params:null,execute:function(t){var
 e,r;return this.active&&this._listener&&( [...]
-/*!
-{
-  "name": "History API",
-  "property": "history",
-  "caniuse": "history",
-  "tags": ["history"],
-  "authors": ["Hay Kranen", "Alexander Farkas"],
-  "notes": [{
-    "name": "W3C Spec",
-    "href": "https://www.w3.org/TR/html51/browsers.html#the-history-interface";
-  }, {
-    "name": "MDN documentation",
-    "href": "https://developer.mozilla.org/en-US/docs/Web/API/window.history";
-  }],
-  "polyfills": ["historyjs", "html5historyapi"]
-}
-!*/
-(S=new S).addTest("history",function(){var 
e=navigator.userAgent;return(-1===e.indexOf("Android 
2.")&&-1===e.indexOf("Android 4.0")||-1===e.indexOf("Mobile 
Safari")||-1!==e.indexOf("Chrome")||-1!==e.indexOf("Windows 
Phone")||"file:"===location.protocol)&&(t.history&&"pushState"in t.history)}),
-/*!
-{
-  "name": "SVG",
-  "property": "svg",
-  "caniuse": "svg",
-  "tags": ["svg"],
-  "authors": ["Erik Dahlstrom"],
-  "polyfills": [
-    "svgweb",
-    "raphael",
-    "amplesdk",
-    "canvg",
-    "svg-boilerplate",
-    "sie",
-    "dojogfx",
-    "fabricjs"
-  ]
-}
-!*/
-S.addTest("svg",!!e.createElementNS&&!!e.createElementNS("http://www.w3.org/2000/svg","svg";).createSVGRect),
-/*!
-{
-  "name": "Local Storage",
-  "property": "localstorage",
-  "caniuse": "namevalue-storage",
-  "tags": ["storage"],
-  "knownBugs": [],
-  "notes": [],
-  "warnings": [],
-  "polyfills": [
-    "joshuabell-polyfill",
-    "cupcake",
-    "storagepolyfill",
-    "amplifyjs",
-    "yui-cacheoffline"
-  ]
-}
-!*/
-S.addTest("localstorage",function(){var t="modernizr";try{return 
localStorage.setItem(t,t),localStorage.removeItem(t),!0}catch(e){return!1}});var
 A=k._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" 
"):["",""];k._prefixes=A;var 
M=e.documentElement,z="svg"===M.nodeName.toLowerCase(),T="Moz O ms 
Webkit",C=k._config.usePrefixes?T.toLowerCase().split(" "):[];k._domPrefixes=C,
-/*!
-{
-  "name": "CSS position: sticky",
-  "property": "csspositionsticky",
-  "tags": ["css"],
-  "builderAliases": ["css_positionsticky"],
-  "notes": [{
-    "name": "Chrome bug report",
-    "href":"https://code.google.com/p/chromium/issues/detail?id=322972";
-  }],
-  "warnings": [ "using position:sticky on anything but top aligned elements is 
buggy in Chrome < 37 and iOS <=7+" ]
-}
-!*/
-S.addTest("csspositionsticky",function(){var 
t="position:",e="sticky",r=o("a").style;return 
r.cssText=t+A.join(e+";"+t).slice(0,-t.length),-1!==r.position.indexOf(e)});
-/*!
-{
-  "name": "CSS Supports",
-  "property": "supports",
-  "caniuse": "css-featurequeries",
-  "tags": ["css"],
-  "builderAliases": ["css_supports"],
-  "notes": [{
-    "name": "W3 Spec",
-    "href": "http://dev.w3.org/csswg/css3-conditional/#at-supports";
-  },{
-    "name": "Related Github Issue",
-    "href": "https://github.com/Modernizr/Modernizr/issues/648";
-  },{
-    "name": "W3 Info",
-    "href": 
"http://dev.w3.org/csswg/css3-conditional/#the-csssupportsrule-interface";
-  }]
-}
-!*/
-var B="CSS"in t&&"supports"in t.CSS,L="supportsCSS"in 
t;S.addTest("supports",B||L);var N=k._config.usePrefixes?T.split(" 
"):[];k._cssomPrefixes=N;var E,O,q=k.testStyles=c,I=function(e){var 
n,i=A.length,a=t.CSSRule;if(void 0===a)return 
r;if(!e)return!1;if((n=(e=e.replace(/^@/,"")).replace(/-/g,"_").toUpperCase()+"_RULE")in
 a)return"@"+e;for(var o=0;o<i;o++){var s=A[o];if(s.toUpperCase()+"_"+n in 
a)return"@-"+s.toLowerCase()+"-"+e}return!1};k.atRule=I,O={}.hasOwnProperty,E=n(O,"undefined")
 [...]
-/*!
-{
-  "name": "Webp Animation",
-  "async": true,
-  "property": "webpanimation",
-  "aliases": ["webp-animation"],
-  "tags": ["image"],
-  "authors": ["Krister Kari", "Rich Bradshaw", "Ryan Seddon", "Paul Irish"],
-  "notes": [{
-    "name": "WebP Info",
-    "href": "https://developers.google.com/speed/webp/";
-  },{
-    "name": "Chromium blog - Chrome 32 Beta: Animated WebP images and faster 
Chrome for Android touch input",
-    "href": 
"https://blog.chromium.org/2013/11/chrome-32-beta-animated-webp-images-and.html";
-  }]
-}
-!*/
-S.addAsyncTest(function(){var t=new 
Image;t.onerror=function(){m("webpanimation",!1,{aliases:["webp-animation"]})},t.onload=function(){m("webpanimation",1==t.width,{aliases:["webp-animation"]})},t.src="data:image/webp;base64,UklGRlIAAABXRUJQVlA4WAoAAAASAAAAAAAAAAAAQU5JTQYAAAD/////AABBTk1GJgAAAAAAAAAAAAAAAAAAAGQAAABWUDhMDQAAAC8AAAAQBxAREYiI/gcA"});var
 R={elem:o("modernizr")};S._q.push(function(){delete R.elem});var 
_={style:R.elem.style};S._q.unshift(function(){delete _.style});k.testProp [...]
-/*!
-{
-  "name": "CSS Animations",
-  "property": "cssanimations",
-  "caniuse": "css-animation",
-  "polyfills": ["transformie", "csssandpaper"],
-  "tags": ["css"],
-  "warnings": ["Android < 4 will pass this test, but can only animate a single 
property at a time"],
-  "notes": [{
-    "name" : "Article: 'Dispelling the Android CSS animation myths'",
-    "href": "https://goo.gl/OGw5Gm";
-  }]
-}
-!*/
-S.addTest("cssanimations",x("animationName","a",!0)),
-/*!
-{
-  "name": "Background Size",
-  "property": "backgroundsize",
-  "tags": ["css"],
-  "knownBugs": ["This will false positive in Opera Mini - 
https://github.com/Modernizr/Modernizr/issues/396";],
-  "notes": [{
-    "name": "Related Issue",
-    "href": "https://github.com/Modernizr/Modernizr/issues/396";
-  }]
-}
-!*/
-S.addTest("backgroundsize",x("backgroundSize","100%",!0)),
-/*!
-{
-  "name": "CSS Grid (old & new)",
-  "property": ["cssgrid", "cssgridlegacy"],
-  "authors": ["Faruk Ates"],
-  "tags": ["css"],
-  "notes": [{
-    "name": "The new, standardized CSS Grid",
-    "href": "https://www.w3.org/TR/css3-grid-layout/";
-  }, {
-    "name": "The _old_ CSS Grid (legacy)",
-    "href": "https://www.w3.org/TR/2011/WD-css3-grid-layout-20110407/";
-  }]
-}
-!*/
-S.addTest("cssgridlegacy",x("grid-columns","10px",!0)),S.addTest("cssgrid",x("grid-template-rows","none",!0)),
-/*!
-{
-  "name": "Flexbox",
-  "property": "flexbox",
-  "caniuse": "flexbox",
-  "tags": ["css"],
-  "notes": [{
-    "name": "The _new_ flexbox",
-    "href": "http://dev.w3.org/csswg/css3-flexbox";
-  }],
-  "warnings": [
-    "A `true` result for this detect does not imply that the `flex-wrap` 
property is supported; see the `flexwrap` detect."
-  ]
-}
-!*/
-S.addTest("flexbox",x("flexBasis","1px",!0)),
-/*!
-{
-  "name": "CSS Transforms",
-  "property": "csstransforms",
-  "caniuse": "transforms2d",
-  "tags": ["css"]
-}
-!*/
-S.addTest("csstransforms",function(){return-1===navigator.userAgent.indexOf("Android
 2.")&&x("transform","scale(1)",!0)}),
-/*!
-{
-  "name": "CSS Transforms 3D",
-  "property": "csstransforms3d",
-  "caniuse": "transforms3d",
-  "tags": ["css"],
-  "warnings": [
-    "Chrome may occassionally fail this test on some systems; more info: 
https://code.google.com/p/chromium/issues/detail?id=129004";
-  ]
-}
-!*/
-S.addTest("csstransforms3d",function(){var 
t=!!x("perspective","1px",!0),e=S._config.usePrefixes;if(t&&(!e||"webkitPerspective"in
 M.style)){var r,n="#modernizr{width:0;height:0}";S.supports?r="@supports 
(perspective: 1px)":(r="@media 
(transform-3d)",e&&(r+=",(-webkit-transform-3d)")),q(n+(r+="{#modernizr{width:7px;height:18px;margin:0;padding:0;border:0}}"),function(e){t=7===e.offsetWidth&&18===e.offsetHeight})}return
 t}),
-/*!
-{
-  "name": "CSS Transitions",
-  "property": "csstransitions",
-  "caniuse": "css-transitions",
-  "tags": ["css"]
-}
-!*/
-S.addTest("csstransitions",x("transition","all",!0));var 
P=k.prefixed=function(t,e,r){return 
0===t.indexOf("@")?I(t):(-1!=t.indexOf("-")&&(t=l(t)),e?y(t,e,r):y(t,"pfx"))};
-/*!
-{
-  "name": "Fullscreen API",
-  "property": "fullscreen",
-  "caniuse": "fullscreen",
-  "notes": [{
-    "name": "MDN documentation",
-    "href": "https://developer.mozilla.org/en/API/Fullscreen";
-  }],
-  "polyfills": ["screenfulljs"],
-  "builderAliases": ["fullscreen_api"]
-}
-!*/S.addTest("fullscreen",!(!P("exitFullscreen",e,!1)&&!P("cancelFullScreen",e,!1))),i(),a(b),delete
 k.addTest,delete k.addAsyncTest;for(var 
D=0;D<S._q.length;D++)S._q[D]();t.Modernizr=S}(window,document),function(t,e){"object"==typeof
 exports&&"object"==typeof module?module.exports=e():"function"==typeof 
define&&define.amd?define([],e):"object"==typeof 
exports?exports.katex=e():t.katex=e()}("undefined"!=typeof 
self?self:this,function(){return function(t){function e(n){if(r[n])return r[n 
[...]
-var t=document.createElementNS("http://www.w3.org/2000/svg","svg";);for(var e 
in 
this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);for(var
 r=0;r<this.children.length;r++)t.appendChild(this.children[r].toNode());return 
t},e.toMarkup=function(){var t="<svg";for(var e in 
this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" 
"+e+"='"+this.attributes[e]+"'");t+=">";for(var 
r=0;r<this.children.length;r++)t+=thi [...]
-8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.67,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55
 [...]
-o("math",vt,"close","\u23b1","\\rmoustache",!0),o("math",vt,"open","\u23b0","\\lmoustache",!0),o("math",vt,"close","\u27ef","\\rgroup",!0),o("math",vt,"open","\u27ee","\\lgroup",!0),o("math",vt,xt,"\u2213","\\mp",!0),o("math",vt,xt,"\u2296","\\ominus",!0),o("math",vt,xt,"\u228e","\\uplus",!0),o("math",vt,xt,"\u2293","\\sqcap",!0),o("math",vt,xt,"\u2217","\\ast"),o("math",vt,xt,"\u2294","\\sqcup",!0),o("math",vt,xt,"\u25ef","\\bigcirc"),o("math",vt,xt,"\u2219","\\bullet"),o("math",vt,xt,"
 [...]
-}else if("bottom"===t.positionType)l=-t.positionData;else{var 
u=t.children[0];if("elem"!==u.type)throw new Error('First child must have type 
"elem".');if("shift"===t.positionType)l=-u.elem.depth-t.positionData;else{if("firstBaseline"!==t.positionType)throw
 new Error("Invalid positionType 
"+t.positionType+".");l=-u.elem.depth}}return{children:t.children,depth:l}}(t),r=e.children,n=e.depth,i=0,a=0;a<r.length;a++){var
 o=r[a];if("elem"===o.type){var s=o.elem;i=Math.max(i,s.maxFontSize,s.heig [...]
-n=.833/o):"large"===a.type?(c=1080*lr[a.size],h=(lr[a.size]+s)/o,l=(lr[a.size]+s+.08)/o,(r=ir("sqrtSize"+a.size,l,c,s,e)).style.minWidth="1.02em",n=1/o):(l=t+s+.08,h=t+s,c=Math.floor(1e3*t+s)+80,(r=ir("sqrtTall",l,c,s,e)).style.minWidth="0.742em",n=1.056),r.height=h,r.style.height=l+"em",{span:r,advanceWidth:n,ruleWidth:(e.fontMetrics().sqrtRuleThickness+s)*o}},gr=function(t,e,r,n,i){if("<"===t||"\\lt"===t||"\u27e8"===t?t="\\langle":">"!==t&&"\\gt"!==t&&"\u27e9"!==t||(t="\\rangle"),R.con
 [...]
-;return(h instanceof 
at||"\\oiint"===i.name||"\\oiiint"===i.name)&&!i.suppressBaseShift&&(x=(h.height-h.depth)/2-e.fontMetrics().axisHeight,b=h.italic),a?jr(h,r,n,e,c,b,x):(x&&(h.style.position="relative",h.style.top=x+"em"),h)},Gr=function(t,e){var
 r;if(t.symbol)r=new 
Te("mo",[Le(t.name,t.mode)]),R.contains(Ur,t.name)&&r.setAttribute("largeop","false");else
 if(t.body)r=new Te("mo",Oe(t.body,e));else{r=new Te("mi",[new 
Ce(t.name.slice(1))]);var n=new Te("mo",[Le("\u2061","text")]);r=t.pa [...]
-T("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),T("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),T("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}"),T("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}"),T("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),T("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),T("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),T("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),T("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),T("\\nshortparallel","\
 [...]
-return null}function d(t,e){this.X=t,this.fa=e}function 
p(t,e,r,n){this.c=null!=t?t:null,this.g=null!=e?e:null,this.A=null!=r?r:null,this.e=null!=n?n:null}function
 f(t){var 
e=null,r=null,n=null,i=null;return(t=Z.exec(t))&&(null!==t[1]&&t[1]&&(e=parseInt(t[1],10)),null!==t[2]&&t[2]&&(r=parseInt(t[2],10)),null!==t[3]&&t[3]&&(n=parseInt(t[3],10)),null!==t[4]&&t[4]&&(i=/^[0-9]+$/.test(t[4])?parseInt(t[4],10):t[4])),new
 p(e,r,n,i)}function g(t,e,r,n,i,a,o,s){this.M=t,this.k=s}function v(t){th [...]
-SL.deck.util.renderInlineMath(t)},renderMathBlocks:function(t){t||(t=document.querySelector(".reveal
 .slides")),window.katex&&"function"==typeof 
window.katex.render&&[].slice.call(t.querySelectorAll('.sl-block[data-block-type="math"]')).forEach(function(t){var
 
e=t.querySelector(".math-input"),r=t.querySelector(".math-output");e&&!r&&((r=document.createElement("div")).className="math-output",e.parentNode.insertBefore(r,e)),e&&r&&katex.render(e.innerText,r)})},renderInlineMath:function(t){
 [...]
-               </script>
-               <script>
-                       !function(t,e){"object"==typeof 
exports&&"object"==typeof module?module.exports=e():"function"==typeof 
define&&define.amd?define([],e):"object"==typeof 
exports?exports.katex=e():t.katex=e()}("undefined"!=typeof 
self?self:this,function(){return function(t){function e(n){if(r[n])return 
r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return 
t[n].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var r={};return 
e.m=t,e.c=r,e.d=function(t,r,n){e.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,
 [...]
-;for(var 
r=0;r<this.children.length;r++)t.appendChild(this.children[r].toNode());return 
t},e.toMarkup=function(){var t="<svg";for(var e in 
this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" 
"+e+"='"+this.attributes[e]+"'");t+=">";for(var 
r=0;r<this.children.length;r++)t+=this.children[r].toMarkup();return 
t+"</svg>"},t}(),st=function(){function t(t,e){this.pathName=void 
0,this.alternate=void 0,this.pathName=t,this.alternate=e}var 
e=t.prototype;return e.toNode= [...]
-8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],886
 [...]
-o("math",vt,bt,"\u2296","\\ominus",!0),o("math",vt,bt,"\u228e","\\uplus",!0),o("math",vt,bt,"\u2293","\\sqcap",!0),o("math",vt,bt,"\u2217","\\ast"),o("math",vt,bt,"\u2294","\\sqcup",!0),o("math",vt,bt,"\u25ef","\\bigcirc"),o("math",vt,bt,"\u2219","\\bullet"),o("math",vt,bt,"\u2021","\\ddagger"),o("math",vt,bt,"\u2240","\\wr",!0),o("math",vt,bt,"\u2a3f","\\amalg"),o("math",vt,bt,"&","\\And"),o("math",vt,kt,"\u27f5","\\longleftarrow",!0),o("math",vt,kt,"\u21d0","\\Leftarrow",!0),o("math",v
 [...]
-if("firstBaseline"!==t.positionType)throw new Error("Invalid positionType 
"+t.positionType+".");l=-d.elem.depth}}return{children:t.children,depth:l}}(t),r=e.children,n=e.depth,i=0,a=0;a<r.length;a++){var
 o=r[a];if("elem"===o.type){var 
s=o.elem;i=Math.max(i,s.maxFontSize,s.height)}}i+=2;var 
l=te(["pstrut"],[]);l.style.height=i+"em";for(var 
c=[],u=n,h=n,d=n,m=0;m<r.length;m++){var 
p=r[m];if("kern"===p.type)d+=p.size;else{var 
f=p.elem,g=p.wrapperClasses||[],v=p.wrapperStyle||{},y=te(g,[l,f] [...]
-(r=ir("sqrtTall",l,u,s,e)).style.minWidth="0.742em",n=1.056),r.height=c,r.style.height=l+"em",{span:r,advanceWidth:n,ruleWidth:(e.fontMetrics().sqrtRuleThickness+s)*o}},gr=function(t,e,r,n,i){if("<"===t||"\\lt"===t||"\u27e8"===t?t="\\langle":">"!==t&&"\\gt"!==t&&"\u27e9"!==t||(t="\\rangle"),B.contains(ar,t)||B.contains(sr,t))return
 tr(t,e,!1,r,n,i);if(B.contains(or,t))return nr(t,lr[e],!1,r,n,i);throw new 
z("Illegal delimiter: '"+t+"'")},vr=pr,yr=function(t,e,r,n,i,a){var 
o=n.fontMetrics [...]
-c.style.top=b+"em"),c)},Wr=function(t,e){var r;if(t.symbol)r=new 
Re("mo",[Le(t.name,t.mode)]),B.contains(_r,t.name)&&r.setAttribute("largeop","false");else
 if(t.body)r=new Re("mo",Pe(t.body,e));else{r=new Re("mi",[new 
Te(t.name.slice(1))]);var n=new 
Re("mo",[Le("\u2061","text")]);r=t.parentIsSupSub?new 
Re("mo",[r,n]):g([r,n])}return 
r},Gr={"\u220f":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22c0":"\\bigwedge","\u22c1":"\\bigvee","\u22c2":"\\bigcap","\u22c3":"\\bigcup","\u2a00":"\\b
 [...]
-R("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),R("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),R("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),R("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),R("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),R("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}"),R("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}"),R("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}"),R("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u2
 [...]
-;return 
jt=e(e(e(e(e({},Fm),jt),n),r),Rd()),a(),window.addEventListener("load",L,!1),ue.load(jt.plugins,jt.dependencies).then(o),new
 Promise(function(t){return Ht.on("ready",t)})}function 
a(){!0===jt.embedded?Yt.viewport=Ad(t,".reveal-viewport")||t:(Yt.viewport=document.body,document.documentElement.classList.add("reveal-full-page")),Yt.viewport.classList.add("reveal-viewport")}function
 
o(){Ut=!0,s(),l(),p(),d(),m(),X(),f(),oe.readURL(),re.update(!0),setTimeout(function(){Yt.slides.class
 [...]
-if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return 
t},Sr=kr,Ar=function(t,e,r){if(Sr(t),void 0===e)return t;switch(r){case 
0:return function(){return t.call(e)};case 1:return function(r){return 
t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return 
function(r,n,i){return t.call(e,r,n,i)}}return function(){return 
t.apply(e,arguments)}},Er=A,Mr=Array.isArray||function(t){return"Array"==Er(t)},Rr=ue("navigator","userAgent")||"",Tr=Rr,Cr=p.pr
 [...]
-;for(var e in 
location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi,function(e){t[e.split("=").shift()]=e.split("=").pop()}),t){var
 r=t[e];t[e]=wd(unescape(r))}return void 0!==t.dependencies&&delete 
t.dependencies,t},Td=function(t){var e=arguments.length>1&&void 
0!==arguments[1]?arguments[1]:0;if(t){var r,n=t.style.height;return 
t.style.height="0px",t.parentNode.style.height="auto",r=e-t.parentNode.offsetHeight,t.style.height=n+"px",t.parentNode.style.removeProperty("height"),r}return
 e},Cd [...]
-this.onSlideClicked=this.onSlideClicked.bind(this)}return 
o(t,[{key:"activate",value:function(){var 
t=this;if(this.Reveal.getConfig().overview&&!this.isActive()){this.active=!0,this.Reveal.getRevealElement().classList.add("overview"),this.Reveal.cancelAutoSlide(),this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()),bd(this.Reveal.getRevealElement(),rm).forEach(function(e){e.classList.contains("stack")||e.addEventListener("click",t.onSlideClicked,!0)});var
 e=thi [...]
-t.forEach(function(t){t.classList.remove("visible","current-fragment")})})}else
 
bd(g,".fragment:not(.fade-out)").forEach(function(t){t.classList.add("visible")})}},this),a.next=27,new
 Promise(requestAnimationFrame);case 27:m.forEach(function(t){return 
p.appendChild(t)}),this.Reveal.dispatchEvent({type:"pdf-ready"});case 
29:case"end":return a.stop()}},a,this)}),r=function(){var 
t=this,r=arguments;return new Promise(function(i,a){function 
o(t){n(l,i,a,o,s,"next",t)}function s(t){n(l,i,a,o, [...]
-               </script>
-               <script>
-                       !function(e,t){"object"==typeof 
exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof 
define&&define.amd?define(t):(e=e||self).RevealHighlight=t()}(this,function(){"use
 strict";function e(e,t,a){return 
e(a={path:t,exports:{},require:function(e,t){return function(){throw new 
Error("Dynamic requires are not currently supported by 
@rollup/plugin-commonjs")}(null==t&&a.path)}},a.exports),a.exports}function 
t(e,t){return RegExp(e,t)}function a(e){return(a="function"==ty [...]
-;nr?r&&!i&&(e=e.source):e instanceof 
ir&&(i&&(t=Na.call(e)),e=e.source),rr&&(a=!!t&&t.indexOf("y")>-1)&&(t=t.replace(/y/g,""));var
 o=jt(nr?new Jn(e,t):Jn(e,t),n?this:er,ir);return 
rr&&a&&Xn(o,{sticky:a}),o},or=function(e){e in 
ir||Kn(ir,e,{configurable:!0,get:function(){return 
Jn[e]},set:function(t){Jn[e]=t}})},sr=jn(Jn),lr=0;sr.length>lr;)or(sr[lr++]);er.constructor=ir,ir.prototype=er,be(N,"RegExp",ir)}!function(){var
 e=Re("RegExp"),t=$.f;v&&e&&!e[$n]&&t(e,$n,{configurable:!0,get:functi [...]
-built_in:"\u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0440\u0430\u043d\u0438\u0446
 
\u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0440\u043e\u043a
 
\u0441\u0438\u043c\u0432\u043e\u043b\u0442\u0430\u0431\u0443\u043b\u044f\u0446\u0438\u0438
 ansitooem oemtoansi 
\u0432\u0432\u0435\u0441\u0442\u0438\u0432\u0438\u0434\u0441\u0443\u0431\u043a\u043e\u043d\u0442\u043e
 \u0432\u0432\u0435\u0441\u0442\u0438\u043f\u0435\u0440\u0435\u [...]
-"class":"web\u0446\u0432\u0435\u0442\u0430 
windows\u0446\u0432\u0435\u0442\u0430 
windows\u0448\u0440\u0438\u0444\u0442\u044b 
\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a
 \u0440\u0430\u043c\u043a\u0438\u0441\u0442\u0438\u043b\u044f 
\u0441\u0438\u043c\u0432\u043e\u043b\u044b 
\u0446\u0432\u0435\u0442\u0430\u0441\u0442\u0438\u043b\u044f 
\u0448\u0440\u0438\u0444\u0442\u044b\u0441\u0442\u0438\u043b\u044f 
\u0430\u0432\u0442\u043e\u [...]
-type:"com\u043e\u0431\u044a\u0435\u043a\u0442 
ftp\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 
http\u0437\u0430\u043f\u0440\u043e\u0441 
http\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0442\u0432\u0435\u0442 
http\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 
ws\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f 
ws\u043f\u0440\u043e\u043a\u0441\u0438 xbase 
\u0430\u043d\u0430\u043b\u0438\u0437\u0434\u0430\u043d\u043d\u044b\u0445 
\u0430\u043d\u043d [...]
-built_in:"alias application boolean class constant date file integer list 
number real record string text activate beep count delay launch log offset read 
round run say summarize write character characters contents day frontmost id 
item length month name paragraph paragraphs rest reverse running time version 
weekday word words 
year"},contains:[t,e.C_NUMBER_MODE,{className:"built_in",begin:"\\b(clipboard 
info|the clipboard|info for|list (disks|folder)|mount volume|path 
to|(close|open for)  [...]
-built_in:"break cd continue eval exec exit export getopts hash pwd readonly 
return shift test times trap umask unset alias bind builtin caller command 
declare echo enable help let local logout mapfile printf read readarray source 
type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone 
comparguments compcall compctl compdescribe compfiles compgroups compquote 
comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg 
float functions getcap getln hist [...]
-begin:"^( 
{4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}},Li=function(e){var
 
t={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"}]},a={className:"subst",variants:[{begin:"\\${",end:"}"}],keywords:"true
 false null this is new 
super"},n={className:"string",variants:[{begin:"r'''",end:" [...]
-contains:[e.BACKSLASH_ESCAPE]},r={begin:"/",end:"/",keywords:t,contains:[n,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_NUMBER_MODE]},i={begin:/[a-z][a-z0-9_]*(\([a-z0-9_,
 ]*\))?[ 
\t]+/,excludeBegin:!0,end:"$",endsWithParent:!0,contains:[n,r,{className:"comment",begin:/([
 
]*[a-z0-9&#*=?@>\\<:\-,()$\[\]_.{}!+%^]+)+/,relevance:0}]};return{name:"GAMS",aliases:["gms"],case_insensitive:!0,keywords:t,contains:[e.COMMENT(/^\$ontext/,/^\$offtext/),{clas
 [...]
-built_in:"is_real is_string is_array is_undefined is_int32 is_int64 is_ptr 
is_vec3 is_vec4 is_matrix is_bool typeof variable_global_exists 
variable_global_get variable_global_set variable_instance_exists 
variable_instance_get variable_instance_set variable_instance_get_names 
array_length_1d array_length_2d array_height_2d array_equals array_create 
array_copy random random_range irandom irandom_range random_set_seed 
random_get_seed randomize randomise choose abs round floor ceil sign frac [...]
-literal:"self other all noone global local undefined pointer_invalid 
pointer_null path_action_stop path_action_restart path_action_continue 
path_action_reverse true false pi GM_build_date GM_version GM_runtime_version  
timezone_local timezone_utc gamespeed_fps gamespeed_microseconds  ev_create 
ev_destroy ev_step ev_alarm ev_keyboard ev_mouse ev_collision ev_other ev_draw 
ev_draw_begin ev_draw_end ev_draw_pre ev_draw_post ev_keypress ev_keyrelease 
ev_trigger ev_left_button ev_right_button [...]
-contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]};return{name:"TOML,
 also 
INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{begin:/^[a-z0-9\[\]_\.-]+(?=\s*=\s*)/,className:"attr",starts:{end:/$/,contains:[a,{begin:/\[/,end:/\]/,contains:[a,r,n,i,t,"self"],relevance:0},r,n,i,t]}}]}},Co=function(e){return{name:"IRPF90",case_
 [...]
-built_in:"SYSRES_CONST_ACCES_RIGHT_TYPE_EDIT 
SYSRES_CONST_ACCES_RIGHT_TYPE_FULL SYSRES_CONST_ACCES_RIGHT_TYPE_VIEW 
SYSRES_CONST_ACCESS_MODE_REQUISITE_CODE SYSRES_CONST_ACCESS_NO_ACCESS_VIEW 
SYSRES_CONST_ACCESS_NO_ACCESS_VIEW_CODE 
SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_CODE 
SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_YES_CODE 
SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_CODE 
SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_YES_CODE 
SYSRES_CONST_ACCESS_RIGHTS_DELETE_REQUISITE_CODE SYSRES_CONST_AC [...]
-"class":"AltState Application CallType ComponentTokens CreatedJobs 
CreatedNotices ControlState DialogResult Dialogs EDocuments 
EDocumentVersionSource Folders GlobalIDs Job Jobs InputValue LookUpReference 
LookUpRequisiteNames LookUpSearch Object ParentComponent Processes References 
Requisite ReportName Reports Result Scripts Searches SelectedAttachments 
SelectedItems SelectMode Sender ServerEvents ServiceFactory ShiftState SubTask 
SystemDialogs Tasks Wizard Wizards Work \u0412\u044b\u0437 [...]
-built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix 
AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray 
AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange 
AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError 
Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt 
BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool 
CapturedException CartesianIndex CartesianRange Cchar Cdouble Cflo [...]
-begin:"\\b(?:XP_ERROR_(?:EXPERIENCES_DISABLED|EXPERIENCE_(?:DISABLED|SUSPENDED)|INVALID_(?:EXPERIENCE|PARAMETERS)|KEY_NOT_FOUND|MATURITY_EXCEEDED|NONE|NOT_(?:FOUND|PERMITTED(?:_LAND)?)|NO_EXPERIENCE|QUOTA_EXCEEDED|RETRY_UPDATE|STORAGE_EXCEPTION|STORE_DISABLED|THROTTLED|UNKNOWN_ERROR)|JSON_APPEND|STATUS_(?:PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(?:_OBJECT)?|(?:DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(?:FOUND|SUPPORTED)|INTERNAL_ERROR|WHI
 [...]
-keywords:"AASTriangle AbelianGroup Abort AbortKernels AbortProtect 
AbortScheduledTask Above Abs AbsArg AbsArgPlot Absolute AbsoluteCorrelation 
AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing 
AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness 
AbsoluteTime AbsoluteTiming AcceptanceThreshold AccountingForm Accumulate 
Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions 
Activate Active ActiveClassification ActiveClassificationObje [...]
-contains:[e.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),e.QUOTE_STRING_MODE,e.C_NUMBER_MODE]}},Vo=function(e){var
 
t={relevance:0,contains:[{begin:"('|\\.')+"}]};return{name:"Matlab",keywords:{keyword:"break
 case catch classdef continue else elseif end enumerated events for function 
global if methods otherwise parfor persistent properties return spmd switch try 
while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh 
tan tand tanh atan atand atan2 atanh sec secd s [...]
-keywords:"int float string vector matrix if else switch case default while do 
for in break continue global proc return about abs addAttr 
addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory 
addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air 
alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight 
angle angleBetween animCone animCurveEditor animDisplay animView annotate 
appendStringArray applicationName applyAttrPreset [...]
-built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float 
float32 float64 bool char string cstring pointer expr stmt void auto any range 
array openarray varargs seq set clong culong cchar cschar cshort cint csize 
clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong 
cstringarray 
semistatic"},contains:[{className:"meta",begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([
 [...]
-begin:/\bRETURNS\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\b/,keywords:{keyword:"RETURNS",type:"LANGUAGE_HANDLER
 TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER 
TSM_HANDLER"}},{begin:"\\b("+r+")\\s*\\("},{begin:"\\.("+n+")\\b"},{begin:"\\b("+n+")\\s+PATH\\b",keywords:{keyword:"PATH",type:a.replace("PATH
 
","")}},{className:"type",begin:"\\b("+n+")\\b"},{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:"(e|
 [...]
-;return{name:"Roboconf",aliases:["graph","instances"],case_insensitive:!0,keywords:"import",contains:[{begin:"^facet
 
[a-zA-Z-_][^\\n{]+\\{",end:"}",keywords:"facet",contains:[t,e.HASH_COMMENT_MODE]},{begin:"^\\s*instance
 of [a-zA-Z-_][^\\n{]+\\{",end:"}",keywords:"name count channels instance-data 
instance-state instance 
of",illegal:/\S/,contains:["self",t,e.HASH_COMMENT_MODE]},{begin:"^[a-zA-Z-_][^\\n{]+\\{",end:"}",contains:[t,e.HASH_COMMENT_MODE]},e.HASH_COMMENT_MODE]}},Ms=function(e)
 [...]
-built_in:"abs accTime acos action actionIDs actionKeys actionKeysImages 
actionKeysNames actionKeysNamesArray actionName actionParams activateAddons 
activatedAddons activateKey add3DENConnection add3DENEventHandler add3DENLayer 
addAction addBackpack addBackpackCargo addBackpackCargoGlobal addBackpackGlobal 
addCamShake addCuratorAddons addCuratorCameraArea addCuratorEditableObjects 
addCuratorEditingArea addCuratorPoints addEditorObject addEventHandler addForce 
addGoggles addGroupIcon addHa [...]
-keyword:"as abort abs absolute acc acce accep accept access accessed 
accessible account acos action activate add addtime admin administer advanced 
advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all 
allocate allow alter always analyze ancillary and anti any anydata anydataset 
anyschema anytype apply archive archived archivelog are as asc ascii asin 
assembly assertion associate asynchronous at atan atn2 attr attri attrib 
attribu attribut attribute attributes audit auth [...]
-keywords:"if else in foreach for forv forva forval forvalu forvalue forvalues 
by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust 
ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms 
anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm 
areg areg_p args arima arima_dr arima_estat arima_p as asmprobit 
asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser 
assert avplot avplot_7 avplots avplots_7 [...]
-contains:[e.COMMENT(/\{#/,/#}/),{className:"template-tag",begin:/\{%/,end:/%}/,contains:[{className:"name",begin:/\w+/,keywords:r,starts:{endsWithParent:!0,contains:[n,a],relevance:0}}]},{className:"template-variable",begin:/\{\{/,end:/}}/,contains:["self",n,a]}]}},il=function(e){var
 t={keyword:"in if for while finally var new function do return void else break 
catch instanceof with throw case default try this switch continue typeof delete 
let yield const class public private protected g [...]
-keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam 
aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts 
call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg 
cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das 
dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb 
fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp 
fcompp fcos fdecstp fdisi [...]
-Hr.registerLanguage("step21",$s),Hr.registerLanguage("stylus",Ks),Hr.registerLanguage("subunit",js),Hr.registerLanguage("swift",Xs),Hr.registerLanguage("taggerscript",Zs),Hr.registerLanguage("yaml",Js),Hr.registerLanguage("tap",el),Hr.registerLanguage("tcl",tl),Hr.registerLanguage("thrift",al),Hr.registerLanguage("tp",nl),Hr.registerLanguage("twig",rl),Hr.registerLanguage("typescript",il),Hr.registerLanguage("vala",ol),Hr.registerLanguage("vbnet",sl),Hr.registerLanguage("vbscript",ll),Hr
 [...]
-/*!
-        * reveal.js plugin that adds syntax highlight support.
-        */
-var 
Tl={id:"highlight",HIGHLIGHT_STEP_DELIMITER:"|",HIGHLIGHT_LINE_DELIMITER:",",HIGHLIGHT_LINE_RANGE_DELIMITER:"-",hljs:Sl,init:function(e){var
 t=e.getConfig().highlight||{};t.highlightOnLoad="boolean"!=typeof 
t.highlightOnLoad||t.highlightOnLoad,t.escapeHTML="boolean"!=typeof 
t.escapeHTML||t.escapeHTML,[].slice.call(e.getRevealElement().querySelectorAll("pre
 code")).forEach(function(e){e.hasAttribute("data-trim")&&"function"==typeof 
e.innerHTML.trim&&(e.innerHTML=function(e){function t [...]
-               </script>
-               <script>
-                       Reveal.initialize({
-                               width: SLConfig.deck.width,
-                               height: SLConfig.deck.height,
-                               margin: 0.0,
-                               
-
-                               hash: true,
-                               controls: true,
-                               progress: true,
-                               mouseWheel: false,
-                               showNotes: SLConfig.deck.share_notes ? 
'separate-page' : false,
-                               slideNumber: SLConfig.deck.slide_number,
-                               fragmentInURL: true,
-
-                               autoSlide: SLConfig.deck.auto_slide_interval || 
0,
-                               autoSlideStoppable: true,
-
-                               autoAnimateMatcher: SL.deck.AutoAnimate.matcher,
-
-                               rollingLinks: false,
-                               center: SLConfig.deck.center || false,
-                               shuffle: SLConfig.deck.shuffle || false,
-                               loop: SLConfig.deck.should_loop || false,
-                               rtl: SLConfig.deck.rtl || false,
-                               navigationMode: SLConfig.deck.navigation_mode,
-
-                               transition: SLConfig.deck.transition,
-                               backgroundTransition: 
SLConfig.deck.background_transition,
-
-                               pdfMaxPagesPerSlide: 1,
-
-                               highlight: {
-                                       escapeHTML: false
-                               },
-
-                               plugins: [ RevealHighlight ]
-                       });
-               </script>
-
-               
-
-       
-
-</body></html>
diff --git a/presentations/2022-osff-london/web/index.html 
b/presentations/2022-osff-london/web/index.html
new file mode 100644
index 0000000..21543fd
--- /dev/null
+++ b/presentations/2022-osff-london/web/index.html
@@ -0,0 +1,433 @@
+<!DOCTYPE html>
+       <html class="sl-root decks export offline loaded">
+       <head>
+               <meta name="viewport" content="width=device-width, 
initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
+               <meta charset="utf-8">
+               <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+               <title>Building an Open Source payment system</title>
+
+               <meta name="description" content="Building an Open Source 
payment system with GNU Taler. Faster than credit card transactions, more 
efficient than Bitcoin, as private as email and free as GPL. GNU Taler is a 
payment system that you can install, modify and use for payments, withdrawals, 
tips and more.">
+
+               <link rel="stylesheet" type="text/css" 
href="lib/offline-v2.css">
+
+
+
+       </head>
+       <body class="reveal-viewport theme-font-montserrat 
theme-color-white-blue">
+               <div class="reveal">
+                       <div class="slides">
+                               <section 
data-id="ce8d6ca103e2abb17e9e349a68e6ad77"><div class="sl-block" 
data-block-type="image" style="width: 960px; height: 539.52px; left: 0px; top: 
0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="e1a75f604ac9b2b19e1e32137263418f"><div 
class="sl-block-content"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" 
data-src="osff-london-taler/2e9b1163c036ef53ceffb821b126f0a1.png"></div></div></section><section
 data-id="0c72ab [...]
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-block-id="4e73cf754aa7888e2eddd323cbf016b6" 
data-name="text-4864a8"><div class="sl-block-content" data-placeholder-tag="h1" 
data-placeholder-text="Title Text" style="z-index: 11; color: rgb(255, 255, 
255);">
+<h2 style="text-align: left;">About this talk</h2>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
903px; left: 20px; top: 136px;" data-name="text-133880" 
data-block-id="1853b4d863ab6683c3263fc97deecc46"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
color: rgb(0, 0, 0); text-align: left;">
+<p style="color:rgb(255, 255, 255); text-align:left"><span 
style="color:#000000">Take away</span></p>
+
+<ul>
+       <li style="text-align:left"><span style="color:#000000">digital payment 
system, nominal valued</span></li>
+       <li style="text-align:left"><span style="color:#000000">token based, no 
ledger</span></li>
+</ul>
+
+<p style="text-align:left"> </p>
+
+<p style="text-align:left">Wide view:</p>
+
+<ul>
+       <li>use case &amp; differences with cryptocurrencies</li>
+       <li>main components &amp; how they interact</li>
+       <li>demo, demo, demo</li>
+</ul>
+</div></div></section><section data-id="d39afa8e68650bcfc1f93bac0f2d3cb2"><div 
class="sl-block" data-block-type="image" style="width: 960px; height: 539.52px; 
left: 0px; top: 0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="a2f5f20d4b46c772f2bf8a1b7d9cd0ab"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" 
data-src="osff-london-taler/3d28e7d49590bb3ce18faf79648865b0.png"></div></div>
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="47757d42b4ed0d947e87fdf814b5e2c9"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">About Alice</h2>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
903px; left: 20px; top: 136px;" data-name="text-133880" 
data-block-id="fb2da7034c70b24e38427fa71ed1b361"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
color: rgb(0, 0, 0); text-align: left;">
+<p style="text-align:left">Alice is a hacker</p>
+
+<ul>
+       <li style="text-align:left"><span style="color:#000000">like 
videogames</span></li>
+       <li style="text-align:left"><span style="color:#000000">has a arcade 
room business</span></li>
+       <li style="text-align:left">friends build games with her</li>
+       <li style="text-align:left">new people all the time</li>
+</ul>
+
+<p style="text-align:left"> </p>
+
+<p style="text-align:left">Business is doing really well!</p>
+</div></div>
+<div class="sl-block" data-block-type="image" style="width: 252.449px; height: 
263.6px; left: 640px; top: 179.2px; min-width: 1px; min-height: 1px;" 
data-name="image-cff032" data-block-id="0d983e36e1305b722d2c941e205ea5be"><div 
class="sl-block-content" style="z-index: 13;"><img style="" 
data-natural-width="815" data-natural-height="851" data-lazy-loaded="" 
data-src="osff-london-taler/2ddc171af541310c53585a269d7646e8.png"></div></div></section><section
 data-id="b966d7612cadbd62c40ea909869 [...]
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="14a1f47da90f9cda732a2b0b00cbac9e"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">Alice problem</h2>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
502px; left: 20px; top: 136px;" data-name="text-133880" 
data-block-id="710b732779914c589c92743c321ee680"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
color: rgb(0, 0, 0); text-align: left;">
+<p style="text-align:left">Alice lives in Argentina</p>
+
+<ul>
+       <li style="text-align:left">inflation is bad</li>
+       <li style="text-align:left"><span style="color:#000000">currency has 
low value</span></li>
+       <li style="text-align:left">security is an issue</li>
+</ul>
+
+<p style="text-align:left"> </p>
+
+<p style="text-align:left">She wants to go digital and stay legal</p>
+</div></div>
+<div class="sl-block" data-block-type="image" style="width: 357.86px; height: 
251.6px; left: 541.07px; top: 177.2px; min-width: 1px; min-height: 1px;" 
data-name="image-d1322e" data-block-id="6f27bb8c497e2d2c9f92d1d7a0a1acbf"><div 
class="sl-block-content" style="z-index: 13;"><img style="" 
data-natural-width="815" data-natural-height="573" data-lazy-loaded="" 
data-src="osff-london-taler/7b793611c934da890f39822aa0751d5d.png"></div></div></section><section
 data-id="e7e1b698fb322d171579009ac [...]
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="bbf010f94539d0dd00cbfee1566f96ba"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">Alternatives to cash</h2>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
903px; left: 20px; top: 136px;" data-name="text-133880" 
data-block-id="63852b1149929c5faf8763205e7c0cde"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
color: rgb(0, 0, 0); text-align: left;">
+<p style="text-align:left">credit cards</p>
+
+<ul>
+       <li style="text-align:left">kids can't use it</li>
+       <li style="text-align:left">travelers have problems</li>
+</ul>
+
+<p style="text-align:left">fintech / banks</p>
+
+<ul>
+       <li style="text-align:left"><span style="color:#000000">needs 
account</span></li>
+       <li style="text-align:left">different APIs</li>
+</ul>
+</div></div>
+<div class="sl-block" data-block-type="image" style="width: 396.244px; height: 
249.6px; left: 521.878px; top: 174px; min-width: 1px; min-height: 1px;" 
data-name="image-62c438" data-block-id="3000251736f1289e23123fe385e067ec"><div 
class="sl-block-content" style="z-index: 13;"><img style="" 
data-natural-width="1297" data-natural-height="817" data-lazy-loaded="" 
data-src="osff-london-taler/9a1ab6ced69b37dde89163f858a58fb2.png"></div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
600px; left: 20px; top: 456.5px;" data-name="text-d862ff" 
data-block-id="2517b2f1d0ed5f537b5f4b0e8507ca25"><div class="sl-block-content 
fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 
14; text-align: left;" data-fragment-index="0">
+<p><strong>Bob</strong><span style="color:rgb(0, 0, 0); text-align:left"> came 
with an idea!</span></p>
+</div></div></section><section data-id="783f50ffa9dbeb670263ee4a4f7386f2"><div 
class="sl-block" data-block-type="image" style="width: 960px; height: 539.52px; 
left: 0px; top: 0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="02127ce290f03bb3f3694dd27c4c3ea4"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" 
data-src="osff-london-taler/3d28e7d49590bb3ce18faf79648865b0.png"></div></div>
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="d6a17d4f3f13e1f18d9ee7062663f4b6"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">Needs more blockchain!</h2>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
903px; left: 20px; top: 136px;" data-name="text-133880" 
data-block-id="52c1e56010a7f8dbd81a7c5aee12ba31"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
color: rgb(0, 0, 0); text-align: left;">
+<p style="text-align:left">Bitcoin/ETH/etc...</p>
+
+<ul>
+       <li style="text-align:left">transaction cost</li>
+       <li style="text-align:left">transaction time</li>
+       <li style="text-align:left">lightning network?</li>
+</ul>
+
+<p style="text-align:left">... Build a new coin!</p>
+
+<ul>
+       <li style="text-align:left"><span style="color:#000000">the problem is 
getting bigger</span></li>
+       <li style="text-align:left">not 100% private</li>
+</ul>
+</div></div>
+<div class="sl-block" data-block-type="image" style="width: 396.244px; height: 
249.6px; left: 521.878px; top: 174px; min-width: 1px; min-height: 1px;" 
data-name="image-62c438" data-block-id="eefb8206e7eb971199ded0f321c8437f"><div 
class="sl-block-content" style="z-index: 13;"><img style="" 
data-natural-width="1297" data-natural-height="817" data-lazy-loaded="" 
data-src="osff-london-taler/9a1ab6ced69b37dde89163f858a58fb2.png"></div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
600px; left: 20px; top: 456.5px;" data-name="text-0f9eeb" 
data-block-id="658f61389fb244d1144f40c44e6f3129"><div class="sl-block-content 
fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 
14; text-align: left;" data-fragment-index="0">
+<p><span style="color:rgb(0, 0, 0)">then she heard about this guy 
<strong>r</strong></span><strong><strong>i</strong>chard</strong><span 
style="color:rgb(0, 0, 0)">...</span></p>
+</div></div></section><section data-id="baf7563ab7c2f657585648eafd9d6645"><div 
class="sl-block" data-block-type="image" style="width: 960px; height: 539.52px; 
left: 0px; top: 0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="75fdc1e1f7f9a1237ba5867e232db322"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" 
data-src="osff-london-taler/3d28e7d49590bb3ce18faf79648865b0.png"></div></div>
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="7d92c765a5e46aa142758e5a225795e7"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">GNU Taler</h2>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
434px; left: 20px; top: 136px;" data-name="text-133880" 
data-block-id="7aecb475c0bf79ada22d590c37145807"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
color: rgb(0, 0, 0); text-align: left;">
+<p style="text-align: center;"><em><span style="font-size:0.7em">Now, with 
Taler. Only the payer is anonymous. The payee has to identify itself for each 
transaction. And so Taler can't be used to hide wealth. However, Taler is 
really anonymous for the payer. There is no way, the developers are quite 
confident, there's no way to figure out from Taler itself, who made the 
payment.</span></em></p>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
767px; left: 20px; top: 446.5px;" data-name="text-9d84d6" 
data-block-id="2dc010c3219a3223d1ee1f25c28d34c9"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13;">
+<p style="text-align: left;"><a 
href="https://libreplanet.org/wiki/LibrePlanet:Conference/2022/Transcripts/RMS-state-of-free-software";
 target="_blank"><span style="font-size:11pt"><span><span 
style="color:#1155cc"><u>https://libreplanet.org/wiki/LibrePlanet:Conference/2022/Transcripts/RMS-state-of-free-software</u></span></span></span></a></p>
+</div></div>
+<div class="sl-block" data-block-type="image" style="width: 246.883px; height: 
249.3px; left: 605.823px; top: 159.7px; min-width: 1px; min-height: 1px;" 
data-name="image-dffbba" data-block-id="60af4d3a580bfed12d2e50c7ddfb92c1"><div 
class="sl-block-content" style="z-index: 14;"><img style="" 
data-natural-width="817" data-natural-height="825" data-lazy-loaded="" 
data-src="osff-london-taler/cd724a4be9e7977ce00c41d949c535ff.png"></div></div></section><section
 class="stack" data-id="15640c77b [...]
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="eca9419de3e3eeccf64e44ce0105a238"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">Taler difference</h2>
+</div></div>
+<div class="sl-block" data-block-type="image" style="width: 246.883px; height: 
249.3px; left: 633.117px; top: 158.7px; min-width: 1px; min-height: 1px;" 
data-name="image-dffbba" data-block-id="43140639084bf5e0b1d4551ed80ef4ff"><div 
class="sl-block-content" style="z-index: 12;"><img style="" 
data-natural-width="817" data-natural-height="825" data-lazy-loaded="" 
data-src="osff-london-taler/cd724a4be9e7977ce00c41d949c535ff.png"></div></div>
+<div class="sl-block sl-block-group" data-block-type="group" 
data-name="group-b4a1f5" data-block-id="9f536d6ad90fe24edf0c97d727925577" 
style="height: auto;"><div class="sl-block-content sl-block-group-content" 
style="transform-origin: 469.558px 307.75px; z-index: 13;">
+<div class="sl-block" data-block-type="line" data-name="line-d32e2e" 
style="width: auto; height: auto; left: 262.889px; top: 130px;" 
data-block-id="7c4de2e8ca2c96bc9ddef0ca1c7d07f9"><div class="sl-block-content" 
data-line-x1="0" data-line-y1="239" data-line-x2="0" data-line-y2="0" 
data-line-color="#000000" data-line-start-type="none" data-line-end-type="none" 
style="z-index: 14;"><svg xmlns="http://www.w3.org/2000/svg"; version="1.1" 
preserveaspectratio="xMidYMid" width="1" height="239" v [...]
+<div class="sl-block" data-block-type="line" data-name="line-55297c" 
style="width: auto; height: auto; left: 55.389px; top: 262px;" 
data-block-id="edd118aeecd8f4b8cab4989689d4a44f"><div class="sl-block-content" 
data-line-x1="0" data-line-y1="0" data-line-x2="414.7525839285714" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="none" style="z-index: 15;"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveaspectratio="xMidYMid" 
width="414. [...]
+<div class="sl-block" data-block-type="text" data-name="text-3d469c" 
style="height: auto; width: 153.071px; left: 480.046px; top: 314.5px;" 
data-block-id="2495e1c5b17711212c737766c88ec317"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 16; 
text-align: center;">
+<p><strong>physical</strong></p>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
146.071px; left: 487.046px; top: 185.5px;" data-name="text-53a0f7" 
data-block-id="1e6e3df70471543e614b3fe77c2e4da9"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 17; 
text-align: center;">
+<p><strong>digital</strong></p>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
205.184px; left: 41.2762px; top: 393px;" data-name="text-72d968" 
data-block-id="b594af98de7bda1372cd414eb331d127"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 18; 
text-align: center;">
+<p><strong>account</strong></p>
+</div></div>
+<div class="sl-block" data-block-type="text" data-name="text-d39275" 
style="height: auto; width: 203.43px; left: 266.712px; top: 393px;" 
data-block-id="75a7c6d6abbe7985482892667f7c4d4f"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 19;">
+<p><strong>token</strong></p>
+</div></div>
+<div class="sl-block" data-block-type="text" data-name="text-0663be" 
style="height: auto; width: 139.42px; left: 297.086px; top: 295px;" 
data-block-id="dacf57e1c4ac7e51d8be4de2d9a1cf56"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 20;">
+<p>cash</p>
+</div></div>
+<div class="sl-block" data-block-type="text" data-name="text-84f6f4" 
style="height: auto; width: 206.938px; left: 39.5222px; top: 159.7px;" 
data-block-id="b5c3640406e7fc6380fb69de48ba8c63"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 21;">
+<p>wire transfer &amp; cryptos</p>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
206.938px; left: 39.5222px; top: 295px;" data-name="text-97a7e1" 
data-block-id="351623a37fc6fad52d65c733db2e01cb"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 22;">
+<p>ledger book</p>
+</div></div>
+<div class="sl-block" data-block-type="text" data-name="text-b2118e" 
style="height: auto; width: 170.11px; left: 295.445px; top: 179.2px;" 
data-block-id="e18518f060caef20e7c6361ae595d7ad"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 23;">
+<p>GNU Taler</p>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
899.115px; left: 20px; top: 449.5px;" data-name="text-0d8899" 
data-block-id="5a5a6d987a6b9b35fef5297014355035"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 24; 
font-size: 51%;">
+<pre><a 
href="https://www.suerf.org/policynotes/46097/who-comes-after-us-the-correct-mindset-for-designing-a-central-bank-digital-currency";
 target="_blank">The French report correctly states that a digital Euro based 
on accounts poses “democratic risks”  and could allow “state surveillance of 
all transactions of every individual”</a>
+</pre>
+</div></div>
+</div></div></section><section data-id="99bd8e0cd9fe65412d0d7b6038524eab"><div 
class="sl-block" data-block-type="image" style="width: 960px; height: 539.52px; 
left: 0px; top: 0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="6a46afa4073ac8ac374ccbf3f2b2d8b4"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" 
data-src="osff-london-taler/3d28e7d49590bb3ce18faf79648865b0.png"></div></div>
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="19df135b461d480f9f374d607ecbe4fd"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">Taler difference</h2>
+</div></div>
+<div class="sl-block" data-block-type="image" style="width: 308.494px; height: 
343.6px; left: 72.006px; top: 136px; min-width: 1px; min-height: 1px;" 
data-name="image-1b9c31" data-block-id="7d40bb878a654f81e2f5c35313aae68f"><div 
class="sl-block-content" style="z-index: 12;"><img style="" 
data-natural-width="703" data-natural-height="783" data-lazy-loaded="" 
data-src="osff-london-taler/e7e710780dd483ec1dc7e088337905a0.png"></div></div>
+<div class="sl-block" data-block-type="image" style="width: 438.092px; height: 
216.484px; left: 441.908px; top: 136px; min-width: 1px; min-height: 1px;" 
data-name="image-419a50" data-block-id="07c8e889fa098a5f9f798f3e7035982a"><div 
class="sl-block-content" style="z-index: 13;"><img style="" 
data-natural-width="684" data-natural-height="338" data-lazy-loaded="" 
data-src="osff-london-taler/b857d3315a79b987894298dbd4659b63.png"></div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
505px; left: 441.908px; top: 426.6px;" data-name="text-b118ed" 
data-block-id="6a87885c08ffd60d010ffab67e6985db"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 14; 
text-align: left; line-height: 0.585;" data-has-line-height="">
+<pre><span style="font-size:0.5em"><a 
href="https://www.suerf.org/policynotes/46097/who-comes-after-us-the-correct-mindset-for-designing-a-central-bank-digital-currency";
 
target="_blank">https://www.suerf.org/policynotes/46097/who-comes-after-us-the-correct-mindset-for-designing-a-central-bank-digital-currency</a></span></pre>
+</div></div></section></section><section 
data-id="9cbda302bb0cc56286dea24586e8a6f2"><div class="sl-block" 
data-block-type="image" style="width: 960px; height: 539.52px; left: 0px; top: 
0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="5596e83969921e455fc17b715c21da80"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" 
data-src="osff-london-taler/3d28e7d49590bb3ce18faf79648865b0.pn [...]
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="65ef68006e9a6b5210004d70434f1c82"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">Taler resources</h2>
+</div></div>
+<div class="sl-block" data-block-type="image" style="width: 224.06px; height: 
322.599px; left: 655.94px; top: 136px; min-width: 1px; min-height: 1px;" 
data-name="image-482053" data-block-id="cc0f61febe327902b6f0151f85e3efeb"><div 
class="sl-block-content" style="z-index: 12;"><img style="" 
data-natural-width="191" data-natural-height="275" data-lazy-loaded="" 
data-src="osff-london-taler/8250179553f606fd4e46b60697683cca.png"></div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
600px; left: 20px; top: 136px;" data-name="text-6ec8bf" 
data-block-id="35d41fb16c5cd2cd38e656b2760a4408"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13; 
text-align: left;">
+<p>Nice documentation <a href="https://docs.taler.net"; 
target="_blank">docs.taler.net</a><br>
+FLOSS <a href="https://git.taler.net"; target="_blank">git.taler.net</a><br>
+Community: <a href="mailto:taler@gnu.org"; target="_blank">taler@gnu.org</a><br>
+News: <a href="https://taler.net/en/news/"; 
target="_blank">taler.net/en/news/</a></p>
+
+<p>Twitter: <a href="https://twitter.com/taler"; target="_blank">@taler</a></p>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
600px; left: 20px; top: 437px;" data-name="text-0e433b" 
data-block-id="6ec3738183857ac8c2ff39d2ac8232e5"><div class="sl-block-content 
fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 
14; text-align: left;" data-fragment-index="0">
+<p><span style="color:rgb(0, 0, 0)">Then she learned how it works...</span></p>
+</div></div></section><section data-id="b8f86db7fb95d33743de17851e458e5f"><div 
class="sl-block" data-block-type="image" style="width: 960px; height: 539.52px; 
left: 0px; top: 0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="f3538ce3c3c5f8a0040cbf4d3a258473"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" 
data-src="osff-london-taler/3d28e7d49590bb3ce18faf79648865b0.png"></div></div>
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="ab9efdd556a3d0c5b6333c4cd082baf0"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">Taler components</h2>
+</div></div>
+<div class="sl-block" data-block-type="image" style="width: 224.06px; height: 
322.599px; left: 655.94px; top: 136px; min-width: 1px; min-height: 1px;" 
data-name="image-482053" data-block-id="bb576d4f8d6179ce4f1432d9f0361145"><div 
class="sl-block-content" style="z-index: 12;"><img style="" 
data-natural-width="191" data-natural-height="275" data-lazy-loaded="" 
data-src="osff-london-taler/8250179553f606fd4e46b60697683cca.png"></div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
417px; left: 20px; top: 456.5px;" data-name="text-6ec8bf" 
data-block-id="0df9993d2fd70c4112bc8017b909a0b9"><div class="sl-block-content 
fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 
13; text-align: left;" dir="ui" data-fragment-index="0">
+<p>So she plays with the demo...</p>
+</div></div>
+<div class="sl-block sl-block-group" data-block-type="group" 
data-name="group-d882ae" data-block-id="07e337ae2328024346f14c38b35bac85" 
style="width: auto; height: auto;"><div class="sl-block-content 
sl-block-group-content" style="transform-origin: 292.688px 281.145px; z-index: 
14;">
+<div class="sl-block" data-block-type="text" data-name="text-5918d4" 
style="height: auto; width: 247.625px; left: 150.687px; top: 136px;" 
data-block-id="8c0173ba40156d4f674adceca89a8cf3"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 15;">
+<h3>exchange</h3>
+</div></div>
+<div class="sl-block" data-block-type="text" data-name="text-738a02" 
style="height: auto; width: 221px; left: 0px; top: 348px;" 
data-block-id="d61c5747f9a34a68cad11a0581110834"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 16;">
+<h3>wallet</h3>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
271px; left: 314.376px; top: 348px;" data-name="text-691836" 
data-block-id="24134101d3a1a0f9cc2f4d4d8920e0a9"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 17;">
+<h3>merchant</h3>
+</div></div>
+<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
left: 131.312px; top: 202px;" data-name="line-b44c95" 
data-block-id="f77ae87bb539636bdb5656056a12ead0"><div class="sl-block-content" 
data-line-x1="63.31299999999999" data-line-y1="0" data-line-x2="0" 
data-line-y2="137" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="arrow" style="z-index: 18;" data-line-width="4px"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveaspectra [...]
+<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
left: 185.001px; top: 348px;" data-name="line-93c6bb" 
data-block-id="c12e6ccc4c7a3c6628af0aebb3e70b3b"><div class="sl-block-content" 
data-line-x1="0" data-line-y1="0" data-line-x2="143.67379999999997" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="line-arrow" 
data-line-end-type="none" style="z-index: 19;" data-line-width="4px"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveaspe [...]
+<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
left: 354.5px; top: 202px;" data-name="line-3dd52e" 
data-block-id="c9f7a618fa2395d56091a44c70403465"><div class="sl-block-content" 
data-line-x1="0" data-line-y1="0" data-line-x2="62.876000000000005" 
data-line-y2="146" data-line-color="#000000" data-line-start-type="line-arrow" 
data-line-end-type="none" style="z-index: 20;" data-line-width="4px"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveaspe [...]
+<div class="sl-block" data-block-type="text" data-name="text-65e231" 
style="height: auto; width: 172.082px; left: 46.4044px; top: 237.173px;" 
data-block-id="e59e3cc858ae6d22478798c498eeb27f"><div class="sl-block-style" 
style="z-index: 21; transform: rotate(-65deg);"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 21;">
+<p><span style="font-size:0.7em">1.withdraw coins</span></p>
+</div></div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
273.727px; left: 112.211px; top: 301.921px;" data-name="text-83aaa2" 
data-block-id="77755e41bf6447ba45c570bd2f97aac8"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 22;">
+<p><span style="font-size:0.7em">2. send ticket</span></p>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
116.203px; left: 359.274px; top: 237.173px;" data-name="text-8b825b" 
data-block-id="87d97b51aa8421d3221ac7dd21f5adee"><div class="sl-block-style" 
style="z-index: 23; transform: rotate(64deg);"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 23;">
+<p><span style="font-size:0.7em">4. deposit</span></p>
+</div></div></div>
+<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
left: 185.675px; top: 373.5px;" data-name="line-c2b5cb" 
data-block-id="b7c95c37ece2f7ffb6c6e769eb598bdd"><div class="sl-block-content" 
data-line-x1="0" data-line-y1="0" data-line-x2="143.67379999999997" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="arrow" style="z-index: 24;" data-line-width="4px"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveaspectr [...]
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
273.727px; left: 110.5px; top: 387.29px;" data-name="text-d58d73" 
data-block-id="92d96d81d021acb582eb0af1ac89e201"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 25;">
+<p><span style="font-size:0.7em">3. pay / sign</span></p>
+</div></div>
+</div></div></section><section class="stack" 
data-id="1cf0b9d9f843442774f27227f95dc231"><section 
data-id="b5192d5c83ed9b454a40cb1f16d98554"><div class="sl-block" 
data-block-type="image" style="width: 960px; height: 539.52px; left: 0px; top: 
0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="e4cb6d266fadd92ef3d28088e83ac18c"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" data-sr [...]
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="e0d16d012cd1c54fa9cde968e45ecaad"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">Taler demo</h2>
+</div></div>
+<div class="sl-block" data-block-type="image" style="width: 224.06px; height: 
322.599px; left: 655.94px; top: 136px; min-width: 1px; min-height: 1px;" 
data-name="image-482053" data-block-id="c599e9bfe8f3c522f41ca7309b987e94"><div 
class="sl-block-content" style="z-index: 12;"><img style="" 
data-natural-width="191" data-natural-height="275" data-lazy-loaded="" 
data-src="osff-london-taler/8250179553f606fd4e46b60697683cca.png"></div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
572px; left: 20px; top: 146.5px;" data-name="text-6ec8bf" 
data-block-id="092376dfc76f3e22ffc38acb4317d827"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13; 
text-align: left;" dir="ui">
+<ol>
+       <li>she installs the wallet web-extension</li>
+       <li>then fill the wallet with KUDOS</li>
+       <li>goes to the essay shop</li>
+       <li>buys an article</li>
+       <li>receive a tip for participating in a survey</li>
+</ol>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
600px; left: 26px; top: 439.099px;" 
data-block-id="002f7cb122f87c637235aafbc3950af7" data-name="text-d62c1e"><div 
class="sl-block-content fragment" data-placeholder-tag="p" 
data-placeholder-text="Text" style="z-index: 15; text-align: left;" 
data-fragment-index="0">
+<p>and also with an Android app </p>
+</div></div></section><section data-id="b9c0eb56e8afbf10e6d4f55f3ea9c614"><div 
class="sl-block" data-block-type="image" style="width: 960px; height: 539.52px; 
left: 0px; top: 0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="40f96b8d7bfa24ab3d9be16ae3da0326"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" 
data-src="osff-london-taler/3d28e7d49590bb3ce18faf79648865b0.png"></div></div>
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="8822c21d26fee88a4a183471b5e68418"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">Taler demo</h2>
+</div></div>
+
+
+<div class="sl-block" data-block-type="image" style="width: 464.5px; height: 
335.885px; left: 247.75px; top: 136px; min-width: 1px; min-height: 1px;" 
data-name="image-a29083" data-block-id="fd803a5c9f891cbdea5da1d81ef9f60d"><div 
class="sl-block-content" style="z-index: 14;"><img style="" 
data-natural-width="1376" data-natural-height="995" data-lazy-loaded="" 
data-src="osff-london-taler/ea6b5581f700d53409347f06ffb73986.png"></div></div></section></section><section
 class="stack" data-id="8 [...]
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="6c0b25ec1b3c55e1f3a637e467253e42"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">Taler Arcade</h2>
+</div></div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
600px; left: 180px; top: 262.76px;" data-name="text-87191a" 
data-block-id="252d0b07e752e7f9bc0d974be1d7de43"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
text-align: left;">
+<p>still needs to integrate with the arcades...</p>
+</div></div></section><section data-id="b70edb1bc28d253a61b19ef7fa4cad95"><div 
class="sl-block" data-block-type="image" style="width: 960px; height: 539.52px; 
left: 0px; top: 0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="24b4cb361d2c07a91193438c5c0ffb38"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" 
data-src="osff-london-taler/3d28e7d49590bb3ce18faf79648865b0.png"></div></div>
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="165d1e7ded2032078409bc6f6ce11a4e"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">Taler Arcade</h2>
+</div></div>
+<div class="sl-block" data-block-type="image" style="width: 154.668px; height: 
149.6px; left: 763.31px; top: 313.5px; min-width: 1px; min-height: 1px;" 
data-name="image-4f742d" data-block-id="d0b1f746d622481b90a32cddf5a6832c"><div 
class="sl-block-content" style="z-index: 12;"><img style="" 
data-natural-width="824" data-natural-height="797" data-lazy-loaded="" 
data-src="osff-london-taler/ca64c81ca751777c30b5540440730d09.png"></div></div>
+<div class="sl-block" data-block-type="shape" style="width: 178px; height: 
75px; left: 283.5px; top: 157.8px;" data-name="shape-c1ed89" 
data-block-id="092b949d53b7e5c7a3515f4d818dcfca"><div class="sl-block-content" 
data-shape-type="rect" data-shape-fill-color="rgba(0, 0, 0, 0)" 
data-shape-stretch="true" style="z-index: 13;" 
data-shape-stroke-color="#000000" data-shape-stroke-width="4px"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" width="100%" height="100%" 
preserveaspectratio=" [...]
+<div class="sl-block" data-block-type="shape" style="width: 178px; height: 
75px; left: 542px; top: 159.5px;" 
data-block-id="e5a08c0e7c2833bbe6cce81b978321a8" data-name="shape-956563"><div 
class="sl-block-content" data-shape-type="rect" data-shape-fill-color="rgba(0, 
0, 0, 0)" data-shape-stretch="true" style="z-index: 14;" 
data-shape-stroke-color="#000000" data-shape-stroke-width="4px"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" width="100%" height="100%" 
preserveaspectratio="no [...]
+<div class="sl-block" data-block-type="shape" style="width: 178px; height: 
75px; left: 499px; top: 358.3px;" 
data-block-id="80f58e1b5cbaea3f0f197a9c463fc5f9" data-name="shape-9c04ca"><div 
class="sl-block-content" data-shape-type="rect" data-shape-fill-color="rgba(0, 
0, 0, 0)" data-shape-stretch="true" style="z-index: 15;" 
data-shape-stroke-color="#000000" data-shape-stroke-width="4px"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" width="100%" height="100%" 
preserveaspectratio="no [...]
+<div class="sl-block" data-block-type="shape" style="width: 178px; height: 
75px; left: 222px; top: 358.3px;" 
data-block-id="c465601a6aee2073ad1de820ff0cf178" data-name="shape-adac13"><div 
class="sl-block-content" data-shape-type="rect" data-shape-fill-color="rgba(0, 
0, 0, 0)" data-shape-stretch="true" style="z-index: 16;" 
data-shape-stroke-color="#000000" data-shape-stroke-width="4px"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" width="100%" height="100%" 
preserveaspectratio="no [...]
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
178px; left: 283.5px; top: 171.3px;" data-name="text-e0fc73" 
data-block-id="eefc61890df193206184068dc5544e56"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 17; 
line-height: 0.715; font-size: 97%;" data-has-line-height="">
+<p><span style="font-size:0.7em">cash validator</span></p>
+
+<p><span style="font-size:0.7em">listener</span></p>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
178px; left: 542px; top: 176.5px;" 
data-block-id="2731e5284aa32a8d0fd0aecfcd60e9ed" data-name="text-cb6aa3"><div 
class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" 
style="z-index: 18; line-height: 0.715; font-size: 97%;" 
data-has-line-height="">
+<p><span style="font-size:20.37px">arcade pickup tiping</span></p>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
178px; left: 499px; top: 369.3px;" 
data-block-id="0a5714e7ff548c46fb02d51f4ea32883" data-name="text-6cb2e7"><div 
class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" 
style="z-index: 19; font-size: 97%; letter-spacing: -0.01em; line-height: 
0.715;" data-has-letter-spacing="" data-has-line-height="">
+<p><span style="font-size:20.37px">arcade insert</span></p>
+
+<p><span style="font-size:20.37px">coin watcher</span></p>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
178px; left: 222px; top: 369.3px;" 
data-block-id="0c61be3ca9732bc02ef525871e25e797" data-name="text-ce98d1"><div 
class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" 
style="z-index: 20; line-height: 0.858; font-size: 97%;" 
data-has-line-height="">
+<p><span style="font-size:20.37px">arcade payment listener</span></p>
+</div></div>
+<div class="sl-block" data-block-type="image" style="width: 119.038px; height: 
118.6px; left: 53.499px; top: 136px; min-width: 1px; min-height: 1px;" 
data-name="image-fb20a4" data-block-id="d9060a8aaaab124f957d8db2cce2b303"><div 
class="sl-block-style" style="z-index: 21; transform: rotate(0deg);"><div 
class="sl-block-content" style="z-index: 21;"><img style="" 
data-natural-width="544" data-natural-height="542" data-lazy-loaded="" 
data-src="osff-london-taler/ec9e2e40717e54233e2ed3752d9ba7 [...]
+<div class="sl-block" data-block-type="image" style="width: 81.5px; height: 
81.5px; left: 806.3px; top: 154.55px; min-width: 1px; min-height: 1px;" 
data-name="image-193fd4" data-block-id="5bff9febf88d1779cbd4875550f11a97"><div 
class="sl-block-content" style="z-index: 22;"><img style="" 
data-natural-width="150" data-natural-height="150" data-lazy-loaded="" 
data-src="osff-london-taler/1e166270ee9577736d1296229df9a908.png"></div></div>
+<div class="sl-block" data-block-type="image" style="width: 81.5px; height: 
81.5px; left: 53.499px; top: 355.05px; min-width: 1px; min-height: 1px;" 
data-block-id="bd62edf3a6ca35b885d958e235c1cb2b" data-name="image-a7b140"><div 
class="sl-block-content" style="z-index: 23;"><img style="" 
data-natural-width="150" data-natural-height="150" data-lazy-loaded="" 
data-src="osff-london-taler/1e166270ee9577736d1296229df9a908.png"></div></div>
+<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
min-width: 0px; min-height: 0px; left: 144px; top: 395.8px;" 
data-name="line-be12b3" data-block-id="ba7e948c302711f8e07c0bcbeae69e30"><div 
class="sl-block-content" data-line-x1="0" data-line-y1="0" data-line-x2="63" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="line-arrow" style="z-index: 24;"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveaspectratio [...]
+<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
min-width: 0px; min-height: 0px; left: 417px; top: 394.8px;" 
data-block-id="6d97aa47032928971624c48c505af294" data-name="line-bd6dcd"><div 
class="sl-block-content" data-line-x1="0" data-line-y1="0" data-line-x2="63" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="line-arrow" style="z-index: 25;"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveaspectratio [...]
+<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
min-width: 0px; min-height: 0px; left: 688.5px; top: 393.8px;" 
data-block-id="2c477b214909940f0afd56ef054ef61d" data-name="line-19dc9c"><div 
class="sl-block-content" data-line-x1="0" data-line-y1="0" data-line-x2="63" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="line-arrow" style="z-index: 26;"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveaspectrat [...]
+<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
min-width: 0px; min-height: 0px; left: 190.5px; top: 197px;" 
data-block-id="848a95dec675873c7a67d38ce09542e9" data-name="line-e2e5ea"><div 
class="sl-block-content" data-line-x1="0" data-line-y1="0" data-line-x2="63" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="line-arrow" style="z-index: 27;"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveaspectratio [...]
+<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
min-width: 0px; min-height: 0px; left: 467.5px; top: 197px;" 
data-block-id="4526fc428e258f14abbdb72f682e3d8b" data-name="line-3b87b8"><div 
class="sl-block-content" data-line-x1="0" data-line-y1="0" data-line-x2="63" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="line-arrow" style="z-index: 28;"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveaspectratio [...]
+<div class="sl-block" data-block-type="line" style="width: auto; height: auto; 
min-width: 0px; min-height: 0px; left: 731.81px; top: 197px;" 
data-block-id="9796d08a1cd818a6d1252c5cec741049" data-name="line-a87486"><div 
class="sl-block-content" data-line-x1="0" data-line-y1="0" data-line-x2="63" 
data-line-y2="0" data-line-color="#000000" data-line-start-type="none" 
data-line-end-type="line-arrow" style="z-index: 29;"><svg 
xmlns="http://www.w3.org/2000/svg"; version="1.1" preserveaspectrati [...]
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
103px; left: 794.81px; top: 115.55px;" data-name="text-feb358" 
data-block-id="3cd486ef9bddc09f18b29a6d17cd2da3"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 30;">
+<p>pickup</p>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
103px; left: 41px; top: 313.5px;" 
data-block-id="a8234874ca09acace90d395da8d57a4e" data-name="text-bc8e67"><div 
class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" 
style="z-index: 31;">
+<p>pay</p>
+</div></div></section><section data-id="7e7a27e7fce7bc4a8cfd144690d6caed"><div 
class="sl-block" data-block-type="image" style="width: 960px; height: 539.52px; 
left: 0px; top: 0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="afb38048d5fbf40d5496d5fe3c5d24ca"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" 
data-src="osff-london-taler/3d28e7d49590bb3ce18faf79648865b0.png"></div></div>
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="36c841a1062d8e7ae7d8c6cbb9a752a8"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">Taler Arcade</h2>
+</div></div>
+<div class="sl-block" data-block-type="image" style="width: 272.8px; height: 
272.8px; left: 560px; top: 160px; min-width: 1px; min-height: 1px;" 
data-name="image-9ce838" data-block-id="e17cfda521a1626e06f7fefcc30af73d"><div 
class="sl-block-content" style="z-index: 12;"><img style="" 
data-natural-width="150" data-natural-height="150" data-lazy-loaded="" 
data-src="osff-london-taler/1e166270ee9577736d1296229df9a908.png"></div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
437px; left: 80px; top: 276.9px;" data-name="text-4242b9" 
data-block-id="0719ebca7bbc9e6224c183e689b5a40c"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13; 
text-align: left;">
+<p><a href="https://arcade.taler.ar/pay"; 
target="_blank">https://arcade.taler.ar/pay</a></p>
+</div></div></section><section data-id="aad2709cfda5874049bf6dfba2667fa0"><div 
class="sl-block" data-block-type="image" style="width: 960px; height: 539.52px; 
left: 0px; top: 0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="3177bb59642d2a892ea6ef5414c751a7"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" 
data-src="osff-london-taler/3d28e7d49590bb3ce18faf79648865b0.png"></div></div>
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="2067f33829e3d3fb73b4b684f0a90252"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">Taler Arcade</h2>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
437px; left: 80px; top: 276.9px;" data-name="text-4242b9" 
data-block-id="7cba1a923f6cb298fe1bf2ba35faaa1d"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13; 
text-align: left;">
+<p><a href="https://arcade.taler.ar/pickup"; 
target="_blank">https://arcade.taler.ar/pickup</a></p>
+</div></div>
+<div class="sl-block" data-block-type="image" style="width: 272.8px; height: 
272.8px; left: 560px; top: 160px; min-width: 1px; min-height: 1px;" 
data-name="image-7fe35e" data-block-id="31bc0c9de2d7689669262592131d3f4b"><div 
class="sl-block-content" style="z-index: 14;"><img style="" 
data-natural-width="150" data-natural-height="150" data-lazy-loaded="" 
data-src="osff-london-taler/2ef14826a2bb70f99baa34c612cc7dca.png"></div></div></section></section><section
 data-id="b1fc95cba1c8a8fcf004b [...]
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="e2e1ec31c0cbb6897737e301caa1c953"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">Final comments</h2>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
600px; left: 20px; top: 122px;" data-name="text-59d999" 
data-block-id="3462cd2c8da0b31d79dad1d2d053489d"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
text-align: left;">
+<p>Don't use this example in production!</p>
+
+<p>Missing topics:</p>
+
+<ul>
+       <li>auditors &amp; back-office</li>
+       <li>regulations: KYC, AML, CFT</li>
+       <li>age restricted coins</li>
+       <li>operation fees</li>
+       <li>p2p payments</li>
+       <li>wallet backups</li>
+</ul>
+</div></div>
+<div class="sl-block" data-block-type="image" style="width: 200.047px; height: 
177.6px; left: 699.976px; top: 214.7px; min-width: 1px; min-height: 1px;" 
data-name="image-07fc5b" data-block-id="9003097783101776a9114e6ff3aadfcf"><div 
class="sl-block-content" style="z-index: 13;"><img style="" 
data-natural-width="811" data-natural-height="720" data-lazy-loaded="" 
data-src="osff-london-taler/24e99a2aadda4f8a9cee352274f37320.png"></div></div></section><section
 data-id="ec22b24391198ec0cf5742f [...]
+<div class="sl-block" data-block-type="text" style="width: 721px; left: 20px; 
top: 15px; height: auto;" data-name="text-4864a8" 
data-block-id="e7e74577eea7524bfdadf78dea4db793"><div class="sl-block-content" 
data-placeholder-tag="h1" data-placeholder-text="Title Text" style="z-index: 
11; color: rgb(255, 255, 255);">
+<h2 style="text-align:left">if you want more....</h2>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
360.5px; left: 20px; top: 124px;" data-name="text-59d999" 
data-block-id="c128b19388fec10844d780bceadb2d10"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
text-align: left; line-height: 1.027;" data-has-line-height="">
+<p>Connect with us <a href="https://www.taler.net"; 
target="_blank">taler.net</a></p>
+
+<p> </p>
+
+<p>Hack <a href="https://git.taler.net"; target="_blank">git.taler.net</a></p>
+
+<p> </p>
+
+<p>Join <a href="mailto:taler@gnu.org"; target="_blank">taler@gnu.org</a></p>
+</div></div>
+<div class="sl-block" data-block-type="image" style="width: 806.397px; height: 
146.198px; left: 73.603px; top: 364px; min-width: 1px; min-height: 1px;" 
data-name="image-a34220" data-block-id="df53a02e2758e5bd583e070a98d790ac"><div 
class="sl-block-content" style="z-index: 13;"><img style="" 
data-natural-width="1048" data-natural-height="190" data-lazy-loaded="" 
data-src="osff-london-taler/3b765c77feed94adce3601656b191ad5.png"></div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
516px; left: 426px; top: 124px;" 
data-block-id="e177ec05ad9a50a6341ef624bea98098" data-name="text-66b7bc"><div 
class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" 
style="z-index: 14; text-align: left; line-height: 1.027;" 
data-has-line-height="">
+<p>Read:</p>
+
+<ul>
+       <li><a href="https://taler.net/en/news/2022-07.html"; 
target="_blank"><span style="font-size:0.7em">A digital euro and the future of 
cash</span></a></li>
+       <li><a href="https://taler.net/en/news/2021-11.html"; 
target="_blank"><span style="font-size:0.7em">Understanding and designing 
technologies for everyday financial collaboration</span></a></li>
+       <li><a href="https://taler.net/en/news/2021-06.html"; 
target="_blank"><span style="font-size:0.7em">How to issue a privacy-preserving 
central bank digital currency</span></a></li>
+       <li><a href="https://cbdc-forum.tech/en/"; target="_blank"><span 
style="font-size:0.7em">The Libre rCBDC Technology Forum</span></a></li>
+</ul>
+</div></div></section><section data-id="fbd6c5911193838efd5bacd33d32feff"><div 
class="sl-block" data-block-type="image" style="width: 960px; height: 539.52px; 
left: 0px; top: 0px; min-width: 1px; min-height: 1px;" data-locked="true" 
data-block-id="6981eb740b2b9bf9aa3d28b30f8c2f7f"><div class="sl-block-content" 
style="z-index: 10;"><img style="" data-natural-width="1500" 
data-natural-height="843" data-lazy-loaded="" 
data-src="osff-london-taler/779be47661e8af186c69e55593e87168.png"></div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
600px; left: 180px; top: 276px;" data-name="text-9e410b" 
data-block-id="240ba6f64a0f1442999d7bbcf0761f41"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11; 
color: rgb(255, 255, 255);">
+<p>Thanks!</p>
+
+<p>Sebastian Javier Marchano</p>
+
+<p>https://taler.net</p>
+</div></div>
+<div class="sl-block" data-block-type="text" style="height: auto; width: 
600px; left: 188px; top: 476px;" data-name="text-e8c73e" 
data-block-id="43dbbcfd78f091175f6642549e89d1ff"><div class="sl-block-content" 
data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12; 
color: rgb(255, 255, 255);">
+<p>@sebasjm</p>
+</div></div></section>
+                       </div>
+               </div>
+
+               <script>
+                       var SLConfig = {"deck": 
{"id":2425936,"slug":"osff-london-taler","title":"Building an Open Source 
payment system","description":"Building an Open Source payment system with GNU 
Taler. Faster than credit card transactions, more efficient than Bitcoin, as 
private as email and free as GPL. GNU Taler is a payment system that you can 
install, modify and use for payments, withdrawals, tips and 
more.","width":960,"height":540,"margin":0.0,"visibility":"all","published_at":"2022-07-05T17:20:4
 [...]
+
+
+                       // Use local fonts
+                       SLConfig.fonts_url = 'lib/fonts/';
+               </script>
+
+               <script src="lib/reveal.js"></script>
+               <script src="lib/reveal-plugins.js"></script>
+               <script src="lib/offline.js"></script>
+
+               <!-- Initialize the presentation -->
+               <script>
+                       Reveal.initialize({
+                               width: 960,
+                               height: 540,
+                               margin: 0.0,
+                               
+
+                               hash: true,
+                               controls: true,
+                               progress: true,
+                               mouseWheel: false,
+                               showNotes: false,
+                               slideNumber: true,
+                               fragmentInURL: true,
+
+                               autoSlide: 0,
+                               autoSlideStoppable: true,
+
+                               autoAnimateMatcher: SL.deck.AutoAnimate.matcher,
+
+                               center: false,
+                               shuffle: false,
+                               loop: false,
+                               rtl: false,
+                               navigationMode: "default",
+
+                               transition: "none",
+                               backgroundTransition: "slide",
+
+                               highlight: {
+                                       escapeHTML: false
+                               },
+
+                               plugins: [ RevealZoom, RevealNotes, 
RevealMarkdown, RevealHighlight ]
+                       });
+               </script>
+
+               
+
+       </body>
+</html>
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/montserrat/montserrat-bold.woff 
b/presentations/2022-osff-london/web/lib/fonts/montserrat/montserrat-bold.woff
new file mode 100644
index 0000000..38ad386
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/montserrat/montserrat-bold.woff 
differ
diff --git a/presentations/2022-osff-london/web_files/montserrat-regular.woff 
b/presentations/2022-osff-london/web/lib/fonts/montserrat/montserrat-regular.woff
similarity index 100%
copy from presentations/2022-osff-london/web_files/montserrat-regular.woff
copy to 
presentations/2022-osff-london/web/lib/fonts/montserrat/montserrat-regular.woff
diff --git a/presentations/2022-osff-london/web_files/montserrat.css 
b/presentations/2022-osff-london/web/lib/fonts/montserrat/montserrat.css
similarity index 100%
copy from presentations/2022-osff-london/web_files/montserrat.css
copy to presentations/2022-osff-london/web/lib/fonts/montserrat/montserrat.css
diff --git a/presentations/2022-osff-london/web_files/opensans-bold.woff 
b/presentations/2022-osff-london/web/lib/fonts/opensans/opensans-bold.woff
similarity index 100%
copy from presentations/2022-osff-london/web_files/opensans-bold.woff
copy to presentations/2022-osff-london/web/lib/fonts/opensans/opensans-bold.woff
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/opensans/opensans-bolditalic.woff
 
b/presentations/2022-osff-london/web/lib/fonts/opensans/opensans-bolditalic.woff
new file mode 100644
index 0000000..28437d2
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/opensans/opensans-bolditalic.woff
 differ
diff --git a/presentations/2022-osff-london/web_files/opensans-italic.woff 
b/presentations/2022-osff-london/web/lib/fonts/opensans/opensans-italic.woff
similarity index 100%
copy from presentations/2022-osff-london/web_files/opensans-italic.woff
copy to 
presentations/2022-osff-london/web/lib/fonts/opensans/opensans-italic.woff
diff --git a/presentations/2022-osff-london/web_files/opensans-regular.woff 
b/presentations/2022-osff-london/web/lib/fonts/opensans/opensans-regular.woff
similarity index 100%
copy from presentations/2022-osff-london/web_files/opensans-regular.woff
copy to 
presentations/2022-osff-london/web/lib/fonts/opensans/opensans-regular.woff
diff --git a/presentations/2022-osff-london/web_files/opensans.css 
b/presentations/2022-osff-london/web/lib/fonts/opensans/opensans.css
similarity index 100%
copy from presentations/2022-osff-london/web_files/opensans.css
copy to presentations/2022-osff-london/web/lib/fonts/opensans/opensans.css
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/asul/asul-bold.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/asul/asul-bold.woff
new file mode 100644
index 0000000..e441a2f
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/asul/asul-bold.woff differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/asul/asul-regular.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/asul/asul-regular.woff
new file mode 100644
index 0000000..4f7be34
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/asul/asul-regular.woff differ
diff --git a/presentations/2022-osff-london/web/lib/fonts/v3/asul/asul.css 
b/presentations/2022-osff-london/web/lib/fonts/v3/asul/asul.css
new file mode 100644
index 0000000..efa19c8
--- /dev/null
+++ b/presentations/2022-osff-london/web/lib/fonts/v3/asul/asul.css
@@ -0,0 +1,16 @@
+/* Generated by Font Squirrel (http://www.fontsquirrel.com) on May 10, 2013 */
+
+@font-face {
+  font-family: 'Asul';
+  font-style: normal;
+  font-weight: 400;
+  font-display: auto;
+  src: url('asul-regular.woff') format('woff');
+}
+@font-face {
+  font-family: 'Asul';
+  font-style: normal;
+  font-weight: 700;
+  font-display: auto;
+  src: url('asul-bold.woff') format('woff');
+}
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/cabinsketch/cabinsketch-bold.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/cabinsketch/cabinsketch-bold.woff
new file mode 100644
index 0000000..388e71e
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/cabinsketch/cabinsketch-bold.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/cabinsketch/cabinsketch-regular.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/cabinsketch/cabinsketch-regular.woff
new file mode 100644
index 0000000..24dd17f
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/cabinsketch/cabinsketch-regular.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/cabinsketch/cabinsketch.css 
b/presentations/2022-osff-london/web/lib/fonts/v3/cabinsketch/cabinsketch.css
new file mode 100644
index 0000000..3c75999
--- /dev/null
+++ 
b/presentations/2022-osff-london/web/lib/fonts/v3/cabinsketch/cabinsketch.css
@@ -0,0 +1,14 @@
+@font-face {
+  font-family: 'Cabin Sketch';
+  font-style: normal;
+  font-weight: 400;
+  font-display: auto;
+  src: url('cabinsketch-regular.woff') format('woff');
+}
+@font-face {
+  font-family: 'Cabin Sketch';
+  font-style: normal;
+  font-weight: 700;
+  font-display: auto;
+  src: url('cabinsketch-regular.woff') format('woff');
+}
\ No newline at end of file
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/josefinsans/josefinsans-bold.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/josefinsans/josefinsans-bold.woff
new file mode 100644
index 0000000..ed14f94
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/josefinsans/josefinsans-bold.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/josefinsans/josefinsans-bolditalic.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/josefinsans/josefinsans-bolditalic.woff
new file mode 100644
index 0000000..1d6635b
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/josefinsans/josefinsans-bolditalic.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/josefinsans/josefinsans-italic.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/josefinsans/josefinsans-italic.woff
new file mode 100644
index 0000000..3f1bb3e
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/josefinsans/josefinsans-italic.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/josefinsans/josefinsans-regular.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/josefinsans/josefinsans-regular.woff
new file mode 100644
index 0000000..2624cd9
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/josefinsans/josefinsans-regular.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/josefinsans/josefinsans.css 
b/presentations/2022-osff-london/web/lib/fonts/v3/josefinsans/josefinsans.css
new file mode 100644
index 0000000..d8a32bd
--- /dev/null
+++ 
b/presentations/2022-osff-london/web/lib/fonts/v3/josefinsans/josefinsans.css
@@ -0,0 +1,28 @@
+@font-face {
+  font-family: 'Josefin Sans';
+  font-style: normal;
+  font-weight: 400;
+  font-display: auto;
+  src: url('josefinsans-regular.woff') format('woff');
+}
+@font-face {
+  font-family: 'Josefin Sans';
+  font-style: normal;
+  font-weight: 700;
+  font-display: auto;
+  src: url('josefinsans-bold.woff') format('woff');
+}
+@font-face {
+  font-family: 'Josefin Sans';
+  font-style: italic;
+  font-weight: 400;
+  font-display: auto;
+  src: url('josefinsans-italic.woff') format('woff');
+}
+@font-face {
+  font-family: 'Josefin Sans';
+  font-style: italic;
+  font-weight: 700;
+  font-display: auto;
+  src: url('josefinsans-bolditalic.woff') format('woff');
+}
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_AMS-Regular.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_AMS-Regular.woff
new file mode 100644
index 0000000..4f57515
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_AMS-Regular.woff 
differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Caligraphic-Bold.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Caligraphic-Bold.woff
new file mode 100644
index 0000000..ab56ab7
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Caligraphic-Bold.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Caligraphic-Regular.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Caligraphic-Regular.woff
new file mode 100644
index 0000000..aec8a33
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Caligraphic-Regular.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Fraktur-Bold.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Fraktur-Bold.woff
new file mode 100644
index 0000000..189fea5
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Fraktur-Bold.woff 
differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Fraktur-Regular.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Fraktur-Regular.woff
new file mode 100644
index 0000000..d01450e
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Fraktur-Regular.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Main-Bold.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Main-Bold.woff
new file mode 100644
index 0000000..acf48e6
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Main-Bold.woff 
differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Main-BoldItalic.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Main-BoldItalic.woff
new file mode 100644
index 0000000..d2cfe4e
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Main-BoldItalic.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Main-Italic.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Main-Italic.woff
new file mode 100644
index 0000000..1184295
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Main-Italic.woff 
differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Main-Regular.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Main-Regular.woff
new file mode 100644
index 0000000..9f8228f
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Main-Regular.woff 
differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Math-BoldItalic.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Math-BoldItalic.woff
new file mode 100644
index 0000000..87d4f22
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Math-BoldItalic.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Math-Italic.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Math-Italic.woff
new file mode 100644
index 0000000..959746e
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Math-Italic.woff 
differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Math-Regular.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Math-Regular.woff
new file mode 100644
index 0000000..0e2ebdf
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Math-Regular.woff 
differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_SansSerif-Bold.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_SansSerif-Bold.woff
new file mode 100644
index 0000000..f0d6ea7
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_SansSerif-Bold.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_SansSerif-Italic.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_SansSerif-Italic.woff
new file mode 100644
index 0000000..9da0dfe
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_SansSerif-Italic.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_SansSerif-Regular.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_SansSerif-Regular.woff
new file mode 100644
index 0000000..6ed9878
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_SansSerif-Regular.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Script-Regular.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Script-Regular.woff
new file mode 100644
index 0000000..4a48e65
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Script-Regular.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Size1-Regular.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Size1-Regular.woff
new file mode 100644
index 0000000..0832f7a
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Size1-Regular.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Size2-Regular.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Size2-Regular.woff
new file mode 100644
index 0000000..14f6485
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Size2-Regular.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Size3-Regular.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Size3-Regular.woff
new file mode 100644
index 0000000..d3626ce
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Size3-Regular.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Size4-Regular.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Size4-Regular.woff
new file mode 100644
index 0000000..93c57a6
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Size4-Regular.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Typewriter-Regular.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Typewriter-Regular.woff
new file mode 100644
index 0000000..e90fa2b
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/katex/KaTeX_Typewriter-Regular.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/lato/lato-bold.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/lato/lato-bold.woff
new file mode 100644
index 0000000..5a75acb
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/lato/lato-bold.woff differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/lato/lato-bolditalic.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/lato/lato-bolditalic.woff
new file mode 100644
index 0000000..46f16b1
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/lato/lato-bolditalic.woff 
differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/lato/lato-italic.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/lato/lato-italic.woff
new file mode 100644
index 0000000..0c75c27
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/lato/lato-italic.woff differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/lato/lato-regular.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/lato/lato-regular.woff
new file mode 100644
index 0000000..c3320b6
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/lato/lato-regular.woff differ
diff --git a/presentations/2022-osff-london/web/lib/fonts/v3/lato/lato.css 
b/presentations/2022-osff-london/web/lib/fonts/v3/lato/lato.css
new file mode 100644
index 0000000..36ea69d
--- /dev/null
+++ b/presentations/2022-osff-london/web/lib/fonts/v3/lato/lato.css
@@ -0,0 +1,28 @@
+@font-face {
+  font-family: 'Lato';
+  font-style: normal;
+  font-weight: 400;
+  font-display: auto;
+  src: url('lato-regular.woff') format('woff');
+}
+@font-face {
+  font-family: 'Lato';
+  font-style: normal;
+  font-weight: 700;
+  font-display: auto;
+  src: url('lato-bold.woff') format('woff');
+}
+@font-face {
+  font-family: 'Lato';
+  font-style: italic;
+  font-weight: 400;
+  font-display: auto;
+  src: url('lato-italic.woff') format('woff');
+}
+@font-face {
+  font-family: 'Lato';
+  font-style: italic;
+  font-weight: 700;
+  font-display: auto;
+  src: url('lato-bolditalic.woff') format('woff');
+}
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/league/league_gothic.css 
b/presentations/2022-osff-london/web/lib/fonts/v3/league/league_gothic.css
new file mode 100644
index 0000000..7106626
--- /dev/null
+++ b/presentations/2022-osff-london/web/lib/fonts/v3/league/league_gothic.css
@@ -0,0 +1,8 @@
+@font-face {
+       font-family: 'League Gothic';
+       font-weight: normal;
+       font-style: normal;
+       font-display: auto;
+
+       src: url('league_gothic.woff') format('woff');
+}
\ No newline at end of file
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/league/league_gothic.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/league/league_gothic.woff
new file mode 100644
index 0000000..71117fb
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/league/league_gothic.woff 
differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/league/league_gothic_license 
b/presentations/2022-osff-london/web/lib/fonts/v3/league/league_gothic_license
new file mode 100644
index 0000000..29513e9
--- /dev/null
+++ 
b/presentations/2022-osff-london/web/lib/fonts/v3/league/league_gothic_license
@@ -0,0 +1,2 @@
+SIL Open Font License (OFL)
+http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/merriweathersans/merriweathersans-bold.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/merriweathersans/merriweathersans-bold.woff
new file mode 100644
index 0000000..fe0ef0d
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/merriweathersans/merriweathersans-bold.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/merriweathersans/merriweathersans-regular.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/merriweathersans/merriweathersans-regular.woff
new file mode 100644
index 0000000..46e2c96
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/merriweathersans/merriweathersans-regular.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/merriweathersans/merriweathersans.css
 
b/presentations/2022-osff-london/web/lib/fonts/v3/merriweathersans/merriweathersans.css
new file mode 100644
index 0000000..f342232
--- /dev/null
+++ 
b/presentations/2022-osff-london/web/lib/fonts/v3/merriweathersans/merriweathersans.css
@@ -0,0 +1,14 @@
+@font-face {
+  font-family: 'Merriweather Sans';
+  font-style: normal;
+  font-weight: 400;
+  font-display: auto;
+  src: url('merriweathersans-regular.woff') format('woff');
+}
+@font-face {
+  font-family: 'Merriweather Sans';
+  font-style: normal;
+  font-weight: 700;
+  font-display: auto;
+  src: url('merriweathersans-bold.woff') format('woff');
+}
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/montserrat/montserrat-bold.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/montserrat/montserrat-bold.woff
new file mode 100644
index 0000000..38ad386
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/montserrat/montserrat-bold.woff
 differ
diff --git a/presentations/2022-osff-london/web_files/montserrat-regular.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/montserrat/montserrat-regular.woff
similarity index 100%
rename from presentations/2022-osff-london/web_files/montserrat-regular.woff
rename to 
presentations/2022-osff-london/web/lib/fonts/v3/montserrat/montserrat-regular.woff
diff --git a/presentations/2022-osff-london/web_files/montserrat.css 
b/presentations/2022-osff-london/web/lib/fonts/v3/montserrat/montserrat.css
similarity index 100%
rename from presentations/2022-osff-london/web_files/montserrat.css
rename to 
presentations/2022-osff-london/web/lib/fonts/v3/montserrat/montserrat.css
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/newscycle/newscycle-bold.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/newscycle/newscycle-bold.woff
new file mode 100644
index 0000000..e5b6156
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/newscycle/newscycle-bold.woff 
differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/newscycle/newscycle-regular.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/newscycle/newscycle-regular.woff
new file mode 100644
index 0000000..57d584b
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/newscycle/newscycle-regular.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/newscycle/newscycle.css 
b/presentations/2022-osff-london/web/lib/fonts/v3/newscycle/newscycle.css
new file mode 100644
index 0000000..c673e07
--- /dev/null
+++ b/presentations/2022-osff-london/web/lib/fonts/v3/newscycle/newscycle.css
@@ -0,0 +1,14 @@
+@font-face {
+  font-family: 'News Cycle';
+  font-style: normal;
+  font-weight: 400;
+  font-display: auto;
+  src: url('newscycle-regular.woff') format('woff');
+}
+@font-face {
+  font-family: 'News Cycle';
+  font-style: normal;
+  font-weight: 700;
+  font-display: auto;
+  src: url('newscycle-bold.woff') format('woff');
+}
diff --git a/presentations/2022-osff-london/web_files/opensans-bold.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/opensans/opensans-bold.woff
similarity index 100%
rename from presentations/2022-osff-london/web_files/opensans-bold.woff
rename to 
presentations/2022-osff-london/web/lib/fonts/v3/opensans/opensans-bold.woff
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/opensans/opensans-bolditalic.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/opensans/opensans-bolditalic.woff
new file mode 100644
index 0000000..28437d2
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/opensans/opensans-bolditalic.woff
 differ
diff --git a/presentations/2022-osff-london/web_files/opensans-italic.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/opensans/opensans-italic.woff
similarity index 100%
rename from presentations/2022-osff-london/web_files/opensans-italic.woff
rename to 
presentations/2022-osff-london/web/lib/fonts/v3/opensans/opensans-italic.woff
diff --git a/presentations/2022-osff-london/web_files/opensans-regular.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/opensans/opensans-regular.woff
similarity index 100%
rename from presentations/2022-osff-london/web_files/opensans-regular.woff
rename to 
presentations/2022-osff-london/web/lib/fonts/v3/opensans/opensans-regular.woff
diff --git a/presentations/2022-osff-london/web_files/opensans.css 
b/presentations/2022-osff-london/web/lib/fonts/v3/opensans/opensans.css
similarity index 100%
rename from presentations/2022-osff-london/web_files/opensans.css
rename to presentations/2022-osff-london/web/lib/fonts/v3/opensans/opensans.css
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/overpass/overpass-bold.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass/overpass-bold.woff
new file mode 100644
index 0000000..3fee4ce
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass/overpass-bold.woff 
differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/overpass/overpass-light.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass/overpass-light.woff
new file mode 100644
index 0000000..8aa2daf
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass/overpass-light.woff 
differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/overpass/overpass-regular.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass/overpass-regular.woff
new file mode 100644
index 0000000..c2483ed
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass/overpass-regular.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/overpass/overpass.css 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass/overpass.css
new file mode 100644
index 0000000..0e360dc
--- /dev/null
+++ b/presentations/2022-osff-london/web/lib/fonts/v3/overpass/overpass.css
@@ -0,0 +1,24 @@
+@font-face {
+    font-family: 'Overpass';
+    font-style: normal;
+    font-weight: bold;
+    font-display: auto;
+    src: url('overpass-bold.woff') format('woff');
+}
+
+@font-face {
+    font-family: 'Overpass';
+    font-style: normal;
+    font-weight: 500;
+    font-display: auto;
+    src: url('overpass-regular.woff') format('woff');
+}
+
+@font-face {
+    font-family: 'Overpass';
+    font-style: normal;
+    font-weight: normal;
+    font-display: auto;
+    src: url('overpass-light.woff') format('woff');
+}
+
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-bold.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-bold.woff
new file mode 100644
index 0000000..12a5d0c
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-bold.woff 
differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-bolditalic.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-bolditalic.woff
new file mode 100644
index 0000000..f134951
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-bolditalic.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-extralight.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-extralight.woff
new file mode 100644
index 0000000..384531c
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-extralight.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-extralightitalic.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-extralightitalic.woff
new file mode 100644
index 0000000..fcb778c
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-extralightitalic.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-italic.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-italic.woff
new file mode 100644
index 0000000..9810ed8
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-italic.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-light.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-light.woff
new file mode 100644
index 0000000..e6f4f8e
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-light.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-lightitalic.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-lightitalic.woff
new file mode 100644
index 0000000..bf83df3
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-lightitalic.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-regular.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-regular.woff
new file mode 100644
index 0000000..5bdd163
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2-regular.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2.css 
b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2.css
new file mode 100644
index 0000000..a1eed69
--- /dev/null
+++ b/presentations/2022-osff-london/web/lib/fonts/v3/overpass2/overpass2.css
@@ -0,0 +1,63 @@
+@font-face {
+    font-family: 'Overpass 2';
+    font-style: normal;
+    font-weight: 700;
+    font-display: auto;
+    src: url('overpass2-bold.woff') format('woff');
+}
+
+@font-face {
+    font-family: 'Overpass 2';
+    font-style: italic;
+    font-weight: 700;
+    font-display: auto;
+    src: url('overpass2-bolditalic.woff') format('woff');
+}
+
+@font-face {
+    font-family: 'Overpass 2';
+    font-style: normal;
+    font-weight: 500;
+    font-display: auto;
+    src: url('overpass2-regular.woff') format('woff');
+}
+
+@font-face {
+    font-family: 'Overpass 2';
+    font-style: italic;
+    font-weight: 500;
+    font-display: auto;
+    src: url('overpass2-italic.woff') format('woff');
+}
+
+@font-face {
+    font-family: 'Overpass 2';
+    font-style: normal;
+    font-weight: normal;
+    font-display: auto;
+    src: url('overpass2-light.woff') format('woff');
+}
+
+@font-face {
+    font-family: 'Overpass 2';
+    font-style: italic;
+    font-weight: normal;
+    font-display: auto;
+    src: url('overpass2-lightitalic.woff') format('woff');
+}
+
+@font-face {
+    font-family: 'Overpass 2';
+    font-style: normal;
+    font-weight: 300;
+    font-display: auto;
+    src: url('overpass2-extralight.woff') format('woff');
+}
+
+@font-face {
+    font-family: 'Overpass 2';
+    font-style: italic;
+    font-weight: 300;
+    font-display: auto;
+    src: url('overpass2-extralightitalic.woff') format('woff');
+}
\ No newline at end of file
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/oxygen/oxygen-bold.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/oxygen/oxygen-bold.woff
new file mode 100644
index 0000000..6adac7a
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/oxygen/oxygen-bold.woff differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/oxygen/oxygen-regular.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/oxygen/oxygen-regular.woff
new file mode 100644
index 0000000..739217d
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/oxygen/oxygen-regular.woff 
differ
diff --git a/presentations/2022-osff-london/web/lib/fonts/v3/oxygen/oxygen.css 
b/presentations/2022-osff-london/web/lib/fonts/v3/oxygen/oxygen.css
new file mode 100644
index 0000000..082694a
--- /dev/null
+++ b/presentations/2022-osff-london/web/lib/fonts/v3/oxygen/oxygen.css
@@ -0,0 +1,14 @@
+@font-face {
+  font-family: 'Oxygen';
+  font-style: normal;
+  font-weight: 400;
+  font-display: auto;
+  src: url('oxygen-regular.woff') format('woff');
+}
+@font-face {
+  font-family: 'Oxygen';
+  font-style: normal;
+  font-weight: 700;
+  font-display: auto;
+  src: url('oxygen-bold.woff') format('woff');
+}
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/quicksand/quicksand-bold.woff 
b/presentations/2022-osff-london/web/lib/fonts/v3/quicksand/quicksand-bold.woff
new file mode 100644
index 0000000..2618503
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/quicksand/quicksand-bold.woff 
differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/quicksand/quicksand-regular.woff
 
b/presentations/2022-osff-london/web/lib/fonts/v3/quicksand/quicksand-regular.woff
new file mode 100644
index 0000000..eaf1e1f
Binary files /dev/null and 
b/presentations/2022-osff-london/web/lib/fonts/v3/quicksand/quicksand-regular.woff
 differ
diff --git 
a/presentations/2022-osff-london/web/lib/fonts/v3/quicksand/quicksand.css 
b/presentations/2022-osff-london/web/lib/fonts/v3/quicksand/quicksand.css
new file mode 100644
index 0000000..93399b0
--- /dev/null
+++ b/presentations/2022-osff-london/web/lib/fonts/v3/quicksand/quicksand.css
@@ -0,0 +1,14 @@
+@font-face {
+  font-family: 'Quicksand';
+  font-style: normal;
+  font-weight: 400;
+  font-display: auto;
+  src: url('quicksand-regular.woff') format('woff');
+}
+@font-face {
+  font-family: 'Quicksand';
+  font-style: normal;
+  font-weight: 700;
+  font-display: auto;
+  src: url('quicksand-bold.woff') format('woff');
+}
diff --git a/presentations/2022-osff-london/web/lib/offline-v1.css 
b/presentations/2022-osff-london/web/lib/offline-v1.css
new file mode 100644
index 0000000..47ceb17
--- /dev/null
+++ b/presentations/2022-osff-london/web/lib/offline-v1.css
@@ -0,0 +1,11 @@
+/*! normalize.css v2.1.0 | MIT License | git.io/normalize */@import 
url("fonts/montserrat/montserrat.css");@import 
url("fonts/opensans/opensans.css");@import url("fonts/lato/lato.css");@import 
url("fonts/asul/asul.css");@import 
url("fonts/josefinsans/josefinsans.css");@import 
url("fonts/league/league_gothic.css");@import 
url("fonts/merriweathersans/merriweathersans.css");@import 
url("fonts/overpass/overpass.css");@import 
url("fonts/overpass2/overpass2.css");@import url("fonts/quicksand/q [...]
+ * Main styles for Slides
+ *
+ * @author Hakim El Hattab
+ 
*/*{box-sizing:border-box}:-webkit-full-screen{width:100%;height:100%}:-moz-full-screen{width:100%;height:100%}:-ms-fullscreen{width:100%;height:100%}:fullscreen{width:100%;height:100%}html,body{padding:0;margin:0;color:#252525;font-family:"Inter",
 Helvetica, sans-serif;font-size:16px}html:before,body:before{content:'' 
!important}html{-webkit-font-smoothing:subpixel-antialiased 
!important}html.sl-root:not(.loaded) *{-webkit-transition:none 
!important;transition:none !important}body{over [...]
+* reveal.js 4.2.0
+* https://revealjs.com
+* MIT licensed
+*
+* Copyright (C) 2011-2021 Hakim El Hattab, https://hakim.se
+*/.reveal .r-stretch,.reveal .stretch{max-width:none;max-height:none}.reveal 
pre.r-stretch code,.reveal pre.stretch 
code{height:100%;max-height:100%;box-sizing:border-box}.reveal 
.r-fit-text{display:inline-block;white-space:nowrap}.reveal 
.r-stack{display:-ms-grid;display:grid}.reveal 
.r-stack>*{grid-area:1/1;margin:auto}.reveal .r-hstack,.reveal 
.r-vstack{display:-webkit-box;display:-ms-flexbox;display:flex}.reveal 
.r-hstack img,.reveal .r-hstack video,.reveal .r-vstack img,.reveal .r-v [...]
diff --git a/presentations/2022-osff-london/web/lib/offline-v2.css 
b/presentations/2022-osff-london/web/lib/offline-v2.css
new file mode 100644
index 0000000..4776826
--- /dev/null
+++ b/presentations/2022-osff-london/web/lib/offline-v2.css
@@ -0,0 +1,11 @@
+/*! normalize.css v2.1.0 | MIT License | git.io/normalize */@import 
url("fonts/v3/montserrat/montserrat.css");@import 
url("fonts/v3/opensans/opensans.css");@import 
url("fonts/v3/lato/lato.css");@import url("fonts/v3/asul/asul.css");@import 
url("fonts/v3/josefinsans/josefinsans.css");@import 
url("fonts/v3/league/league_gothic.css");@import 
url("fonts/v3/merriweathersans/merriweathersans.css");@import 
url("fonts/v3/overpass/overpass.css");@import 
url("fonts/v3/overpass2/overpass2.css");@im [...]
+ * Main styles for Slides
+ *
+ * @author Hakim El Hattab
+ 
*/*{box-sizing:border-box}:-webkit-full-screen{width:100%;height:100%}:-moz-full-screen{width:100%;height:100%}:-ms-fullscreen{width:100%;height:100%}:fullscreen{width:100%;height:100%}html,body{padding:0;margin:0;color:#252525;font-family:"Inter",
 Helvetica, sans-serif;font-size:16px}html:before,body:before{content:'' 
!important}html{-webkit-font-smoothing:subpixel-antialiased 
!important}html.sl-root:not(.loaded) *{-webkit-transition:none 
!important;transition:none !important}body{over [...]
+* reveal.js 4.2.0
+* https://revealjs.com
+* MIT licensed
+*
+* Copyright (C) 2011-2021 Hakim El Hattab, https://hakim.se
+*/.reveal .r-stretch,.reveal .stretch{max-width:none;max-height:none}.reveal 
pre.r-stretch code,.reveal pre.stretch 
code{height:100%;max-height:100%;box-sizing:border-box}.reveal 
.r-fit-text{display:inline-block;white-space:nowrap}.reveal 
.r-stack{display:-ms-grid;display:grid}.reveal 
.r-stack>*{grid-area:1/1;margin:auto}.reveal .r-hstack,.reveal 
.r-vstack{display:-webkit-box;display:-ms-flexbox;display:flex}.reveal 
.r-hstack img,.reveal .r-hstack video,.reveal .r-vstack img,.reveal .r-v [...]
diff --git a/presentations/2022-osff-london/web/lib/offline.js 
b/presentations/2022-osff-london/web/lib/offline.js
new file mode 100644
index 0000000..b666630
--- /dev/null
+++ b/presentations/2022-osff-london/web/lib/offline.js
@@ -0,0 +1,227 @@
+!function(t){function 
e(t,e,r,n,i){this._listener=e,this._isOnce=r,this.context=n,this._signal=t,this._priority=i||0}function
 r(t,e){if("function"!=typeof t)throw new Error("listener is a required param 
of {fn}() and should be a Function.".replace("{fn}",e))}function 
n(){this._bindings=[],this._prevParams=null;var 
t=this;this.dispatch=function(){n.prototype.dispatch.apply(t,arguments)}}e.prototype={active:!0,params:null,execute:function(t){var
 e,r;return this.active&&this._listener&&(r=t [...]
+/*!
+{
+  "name": "History API",
+  "property": "history",
+  "caniuse": "history",
+  "tags": ["history"],
+  "authors": ["Hay Kranen", "Alexander Farkas"],
+  "notes": [{
+    "name": "W3C Spec",
+    "href": "https://www.w3.org/TR/html51/browsers.html#the-history-interface";
+  }, {
+    "name": "MDN documentation",
+    "href": "https://developer.mozilla.org/en-US/docs/Web/API/window.history";
+  }],
+  "polyfills": ["historyjs", "html5historyapi"]
+}
+!*/
+(S=new S).addTest("history",function(){var 
e=navigator.userAgent;return(-1===e.indexOf("Android 
2.")&&-1===e.indexOf("Android 4.0")||-1===e.indexOf("Mobile 
Safari")||-1!==e.indexOf("Chrome")||-1!==e.indexOf("Windows 
Phone")||"file:"===location.protocol)&&(t.history&&"pushState"in t.history)}),
+/*!
+{
+  "name": "SVG",
+  "property": "svg",
+  "caniuse": "svg",
+  "tags": ["svg"],
+  "authors": ["Erik Dahlstrom"],
+  "polyfills": [
+    "svgweb",
+    "raphael",
+    "amplesdk",
+    "canvg",
+    "svg-boilerplate",
+    "sie",
+    "dojogfx",
+    "fabricjs"
+  ]
+}
+!*/
+S.addTest("svg",!!e.createElementNS&&!!e.createElementNS("http://www.w3.org/2000/svg","svg";).createSVGRect),
+/*!
+{
+  "name": "Local Storage",
+  "property": "localstorage",
+  "caniuse": "namevalue-storage",
+  "tags": ["storage"],
+  "knownBugs": [],
+  "notes": [],
+  "warnings": [],
+  "polyfills": [
+    "joshuabell-polyfill",
+    "cupcake",
+    "storagepolyfill",
+    "amplifyjs",
+    "yui-cacheoffline"
+  ]
+}
+!*/
+S.addTest("localstorage",function(){var t="modernizr";try{return 
localStorage.setItem(t,t),localStorage.removeItem(t),!0}catch(e){return!1}});var
 A=k._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" 
"):["",""];k._prefixes=A;var 
M=e.documentElement,z="svg"===M.nodeName.toLowerCase(),T="Moz O ms 
Webkit",C=k._config.usePrefixes?T.toLowerCase().split(" "):[];k._domPrefixes=C,
+/*!
+{
+  "name": "CSS position: sticky",
+  "property": "csspositionsticky",
+  "tags": ["css"],
+  "builderAliases": ["css_positionsticky"],
+  "notes": [{
+    "name": "Chrome bug report",
+    "href":"https://code.google.com/p/chromium/issues/detail?id=322972";
+  }],
+  "warnings": [ "using position:sticky on anything but top aligned elements is 
buggy in Chrome < 37 and iOS <=7+" ]
+}
+!*/
+S.addTest("csspositionsticky",function(){var 
t="position:",e="sticky",r=o("a").style;return 
r.cssText=t+A.join(e+";"+t).slice(0,-t.length),-1!==r.position.indexOf(e)});
+/*!
+{
+  "name": "CSS Supports",
+  "property": "supports",
+  "caniuse": "css-featurequeries",
+  "tags": ["css"],
+  "builderAliases": ["css_supports"],
+  "notes": [{
+    "name": "W3 Spec",
+    "href": "http://dev.w3.org/csswg/css3-conditional/#at-supports";
+  },{
+    "name": "Related Github Issue",
+    "href": "https://github.com/Modernizr/Modernizr/issues/648";
+  },{
+    "name": "W3 Info",
+    "href": 
"http://dev.w3.org/csswg/css3-conditional/#the-csssupportsrule-interface";
+  }]
+}
+!*/
+var B="CSS"in t&&"supports"in t.CSS,L="supportsCSS"in 
t;S.addTest("supports",B||L);var N=k._config.usePrefixes?T.split(" 
"):[];k._cssomPrefixes=N;var E,O,q=k.testStyles=c,I=function(e){var 
n,i=A.length,a=t.CSSRule;if(void 0===a)return 
r;if(!e)return!1;if((n=(e=e.replace(/^@/,"")).replace(/-/g,"_").toUpperCase()+"_RULE")in
 a)return"@"+e;for(var o=0;o<i;o++){var s=A[o];if(s.toUpperCase()+"_"+n in 
a)return"@-"+s.toLowerCase()+"-"+e}return!1};k.atRule=I,O={}.hasOwnProperty,E=n(O,"undefined")
 [...]
+/*!
+{
+  "name": "Webp Animation",
+  "async": true,
+  "property": "webpanimation",
+  "aliases": ["webp-animation"],
+  "tags": ["image"],
+  "authors": ["Krister Kari", "Rich Bradshaw", "Ryan Seddon", "Paul Irish"],
+  "notes": [{
+    "name": "WebP Info",
+    "href": "https://developers.google.com/speed/webp/";
+  },{
+    "name": "Chromium blog - Chrome 32 Beta: Animated WebP images and faster 
Chrome for Android touch input",
+    "href": 
"https://blog.chromium.org/2013/11/chrome-32-beta-animated-webp-images-and.html";
+  }]
+}
+!*/
+S.addAsyncTest(function(){var t=new 
Image;t.onerror=function(){m("webpanimation",!1,{aliases:["webp-animation"]})},t.onload=function(){m("webpanimation",1==t.width,{aliases:["webp-animation"]})},t.src="data:image/webp;base64,UklGRlIAAABXRUJQVlA4WAoAAAASAAAAAAAAAAAAQU5JTQYAAAD/////AABBTk1GJgAAAAAAAAAAAAAAAAAAAGQAAABWUDhMDQAAAC8AAAAQBxAREYiI/gcA"});var
 R={elem:o("modernizr")};S._q.push(function(){delete R.elem});var 
_={style:R.elem.style};S._q.unshift(function(){delete _.style});k.testProp [...]
+/*!
+{
+  "name": "CSS Animations",
+  "property": "cssanimations",
+  "caniuse": "css-animation",
+  "polyfills": ["transformie", "csssandpaper"],
+  "tags": ["css"],
+  "warnings": ["Android < 4 will pass this test, but can only animate a single 
property at a time"],
+  "notes": [{
+    "name" : "Article: 'Dispelling the Android CSS animation myths'",
+    "href": "https://goo.gl/OGw5Gm";
+  }]
+}
+!*/
+S.addTest("cssanimations",x("animationName","a",!0)),
+/*!
+{
+  "name": "Background Size",
+  "property": "backgroundsize",
+  "tags": ["css"],
+  "knownBugs": ["This will false positive in Opera Mini - 
https://github.com/Modernizr/Modernizr/issues/396";],
+  "notes": [{
+    "name": "Related Issue",
+    "href": "https://github.com/Modernizr/Modernizr/issues/396";
+  }]
+}
+!*/
+S.addTest("backgroundsize",x("backgroundSize","100%",!0)),
+/*!
+{
+  "name": "CSS Grid (old & new)",
+  "property": ["cssgrid", "cssgridlegacy"],
+  "authors": ["Faruk Ates"],
+  "tags": ["css"],
+  "notes": [{
+    "name": "The new, standardized CSS Grid",
+    "href": "https://www.w3.org/TR/css3-grid-layout/";
+  }, {
+    "name": "The _old_ CSS Grid (legacy)",
+    "href": "https://www.w3.org/TR/2011/WD-css3-grid-layout-20110407/";
+  }]
+}
+!*/
+S.addTest("cssgridlegacy",x("grid-columns","10px",!0)),S.addTest("cssgrid",x("grid-template-rows","none",!0)),
+/*!
+{
+  "name": "Flexbox",
+  "property": "flexbox",
+  "caniuse": "flexbox",
+  "tags": ["css"],
+  "notes": [{
+    "name": "The _new_ flexbox",
+    "href": "http://dev.w3.org/csswg/css3-flexbox";
+  }],
+  "warnings": [
+    "A `true` result for this detect does not imply that the `flex-wrap` 
property is supported; see the `flexwrap` detect."
+  ]
+}
+!*/
+S.addTest("flexbox",x("flexBasis","1px",!0)),
+/*!
+{
+  "name": "CSS Transforms",
+  "property": "csstransforms",
+  "caniuse": "transforms2d",
+  "tags": ["css"]
+}
+!*/
+S.addTest("csstransforms",function(){return-1===navigator.userAgent.indexOf("Android
 2.")&&x("transform","scale(1)",!0)}),
+/*!
+{
+  "name": "CSS Transforms 3D",
+  "property": "csstransforms3d",
+  "caniuse": "transforms3d",
+  "tags": ["css"],
+  "warnings": [
+    "Chrome may occassionally fail this test on some systems; more info: 
https://code.google.com/p/chromium/issues/detail?id=129004";
+  ]
+}
+!*/
+S.addTest("csstransforms3d",function(){var 
t=!!x("perspective","1px",!0),e=S._config.usePrefixes;if(t&&(!e||"webkitPerspective"in
 M.style)){var r,n="#modernizr{width:0;height:0}";S.supports?r="@supports 
(perspective: 1px)":(r="@media 
(transform-3d)",e&&(r+=",(-webkit-transform-3d)")),q(n+(r+="{#modernizr{width:7px;height:18px;margin:0;padding:0;border:0}}"),function(e){t=7===e.offsetWidth&&18===e.offsetHeight})}return
 t}),
+/*!
+{
+  "name": "CSS Transitions",
+  "property": "csstransitions",
+  "caniuse": "css-transitions",
+  "tags": ["css"]
+}
+!*/
+S.addTest("csstransitions",x("transition","all",!0));var 
P=k.prefixed=function(t,e,r){return 
0===t.indexOf("@")?I(t):(-1!=t.indexOf("-")&&(t=l(t)),e?y(t,e,r):y(t,"pfx"))};
+/*!
+{
+  "name": "Fullscreen API",
+  "property": "fullscreen",
+  "caniuse": "fullscreen",
+  "notes": [{
+    "name": "MDN documentation",
+    "href": "https://developer.mozilla.org/en/API/Fullscreen";
+  }],
+  "polyfills": ["screenfulljs"],
+  "builderAliases": ["fullscreen_api"]
+}
+!*/S.addTest("fullscreen",!(!P("exitFullscreen",e,!1)&&!P("cancelFullScreen",e,!1))),i(),a(b),delete
 k.addTest,delete k.addAsyncTest;for(var 
D=0;D<S._q.length;D++)S._q[D]();t.Modernizr=S}(window,document),function(t,e){"object"==typeof
 exports&&"object"==typeof module?module.exports=e():"function"==typeof 
define&&define.amd?define([],e):"object"==typeof 
exports?exports.katex=e():t.katex=e()}("undefined"!=typeof 
self?self:this,function(){return function(t){function e(n){if(r[n])return r[n 
[...]
+var t=document.createElementNS("http://www.w3.org/2000/svg","svg";);for(var e 
in 
this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);for(var
 r=0;r<this.children.length;r++)t.appendChild(this.children[r].toNode());return 
t},e.toMarkup=function(){var t="<svg";for(var e in 
this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" 
"+e+"='"+this.attributes[e]+"'");t+=">";for(var 
r=0;r<this.children.length;r++)t+=thi [...]
+8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.67,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55
 [...]
+o("math",vt,"close","\u23b1","\\rmoustache",!0),o("math",vt,"open","\u23b0","\\lmoustache",!0),o("math",vt,"close","\u27ef","\\rgroup",!0),o("math",vt,"open","\u27ee","\\lgroup",!0),o("math",vt,xt,"\u2213","\\mp",!0),o("math",vt,xt,"\u2296","\\ominus",!0),o("math",vt,xt,"\u228e","\\uplus",!0),o("math",vt,xt,"\u2293","\\sqcap",!0),o("math",vt,xt,"\u2217","\\ast"),o("math",vt,xt,"\u2294","\\sqcup",!0),o("math",vt,xt,"\u25ef","\\bigcirc"),o("math",vt,xt,"\u2219","\\bullet"),o("math",vt,xt,"
 [...]
+}else if("bottom"===t.positionType)l=-t.positionData;else{var 
u=t.children[0];if("elem"!==u.type)throw new Error('First child must have type 
"elem".');if("shift"===t.positionType)l=-u.elem.depth-t.positionData;else{if("firstBaseline"!==t.positionType)throw
 new Error("Invalid positionType 
"+t.positionType+".");l=-u.elem.depth}}return{children:t.children,depth:l}}(t),r=e.children,n=e.depth,i=0,a=0;a<r.length;a++){var
 o=r[a];if("elem"===o.type){var s=o.elem;i=Math.max(i,s.maxFontSize,s.heig [...]
+n=.833/o):"large"===a.type?(c=1080*lr[a.size],h=(lr[a.size]+s)/o,l=(lr[a.size]+s+.08)/o,(r=ir("sqrtSize"+a.size,l,c,s,e)).style.minWidth="1.02em",n=1/o):(l=t+s+.08,h=t+s,c=Math.floor(1e3*t+s)+80,(r=ir("sqrtTall",l,c,s,e)).style.minWidth="0.742em",n=1.056),r.height=h,r.style.height=l+"em",{span:r,advanceWidth:n,ruleWidth:(e.fontMetrics().sqrtRuleThickness+s)*o}},gr=function(t,e,r,n,i){if("<"===t||"\\lt"===t||"\u27e8"===t?t="\\langle":">"!==t&&"\\gt"!==t&&"\u27e9"!==t||(t="\\rangle"),R.con
 [...]
+;return(h instanceof 
at||"\\oiint"===i.name||"\\oiiint"===i.name)&&!i.suppressBaseShift&&(x=(h.height-h.depth)/2-e.fontMetrics().axisHeight,b=h.italic),a?jr(h,r,n,e,c,b,x):(x&&(h.style.position="relative",h.style.top=x+"em"),h)},Gr=function(t,e){var
 r;if(t.symbol)r=new 
Te("mo",[Le(t.name,t.mode)]),R.contains(Ur,t.name)&&r.setAttribute("largeop","false");else
 if(t.body)r=new Te("mo",Oe(t.body,e));else{r=new Te("mi",[new 
Ce(t.name.slice(1))]);var n=new Te("mo",[Le("\u2061","text")]);r=t.pa [...]
+T("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),T("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),T("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}"),T("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}"),T("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),T("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),T("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),T("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),T("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),T("\\nshortparallel","\
 [...]
+/*! Native Promise Only
+    v0.8.1 (c) Kyle Simpson
+    MIT License: http://getify.mit-license.org
+    https://github.com/getify/native-promise-only
+*/
+function(t,e,r){e[t]=e[t]||r(),"undefined"!=typeof 
module&&module.exports?module.exports=e[t]:"function"==typeof 
define&&define.amd&&define(function(){return 
e[t]})}("Promise","undefined"!=typeof global?global:this,function(){"use 
strict";function t(t,e){u.add(t,e),m||(m=p(u.drain))}function e(t){var 
e,r=typeof t;return 
null==t||"object"!=r&&"function"!=r||(e=t.then),"function"==typeof 
e&&e}function r(){for(var 
t=0;t<this.chain.length;t++)n(this,1===this.state?this.chain[t].success:this. 
[...]
+to:a.style.zIndex},/text|snippet|table/i.test(l)?h.width={property:"width"}:/code|math/i.test(l)&&(h.width={property:"width"},h.height={property:"height"}),o&&s?(h.opacity={property:"opacity",from:o.style.opacity||"1",to:s.style.opacity||"1"},(o.style.transform||s.style.transform)&&(h.width={property:"width"},h.height={property:"height"},t.push({from:o,to:s,options:{translate:!1,scale:!1,styles:[{property:"transform"}]}}))):o?(h.opacity={property:"opacity",from:o.style.opacity||"1",to:"1
 [...]
\ No newline at end of file
diff --git a/presentations/2022-osff-london/web/lib/reveal-plugins.js 
b/presentations/2022-osff-london/web/lib/reveal-plugins.js
new file mode 100644
index 0000000..c19f61d
--- /dev/null
+++ b/presentations/2022-osff-london/web/lib/reveal-plugins.js
@@ -0,0 +1,40 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof 
module?module.exports=t():"function"==typeof 
define&&define.amd?define(t):(e=e||self).RevealZoom=t()}(this,function(){"use 
strict";
+/*!
+        * reveal.js Zoom plugin
+        */var 
e={id:"zoom",init:function(e){e.getRevealElement().addEventListener("mousedown",function(n){var
 
a=/Linux/.test(window.navigator.platform)?"ctrl":"alt",r=(e.getConfig().zoomKey?e.getConfig().zoomKey:a)+"Key",i=e.getConfig().zoomLevel?e.getConfig().zoomLevel:2;n[r]&&!e.isOverview()&&(n.preventDefault(),t.to({x:n.clientX,y:n.clientY,scale:i,pan:!1}))})}},t=function(){function
 e(e,t){var 
n=a();if(e.width=e.width||1,e.height=e.height||1,e.x-=(window.innerWidth-e.width*t)/2,e.y-=(windo
 [...]
+;for(a=0;a<r;a++)/^ *-+: *$/.test(n.align[a])?n.align[a]="right":/^ *:-+: 
*$/.test(n.align[a])?n.align[a]="center":/^ *:-+ 
*$/.test(n.align[a])?n.align[a]="left":n.align[a]=null;for(r=n.cells.length,a=0;a<r;a++)n.cells[a]=Ga(n.cells[a],n.header.length);return
 n}}}},{key:"hr",value:function(e){var 
t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}},{key:"blockquote",value:function(e){var
 t=this.rules.block.blockquote.exec(e);if(t){var n=t[0].replace(/^ *> 
?/gm,"");return{type: [...]
+n.document.write("<html lang=\"en\">\n\t<head>\n\t\t<meta 
charset=\"utf-8\">\n\n\t\t<title>reveal.js - Speaker 
View</title>\n\n\t\t<style>\n\t\t\tbody {\n\t\t\t\tfont-family: 
Helvetica;\n\t\t\t\tfont-size: 
18px;\n\t\t\t}\n\n\t\t\t#current-slide,\n\t\t\t#upcoming-slide,\n\t\t\t#speaker-controls
 {\n\t\t\t\tpadding: 6px;\n\t\t\t\tbox-sizing: 
border-box;\n\t\t\t\t-moz-box-sizing: 
border-box;\n\t\t\t}\n\n\t\t\t#current-slide iframe,\n\t\t\t#upcoming-slide 
iframe {\n\t\t\t\twidth: 100%;\n\t\t\ [...]
+var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof 
window?window:"undefined"!=typeof global?global:"undefined"!=typeof 
self?self:{},b=function(e){return e&&e.Math==Math&&e},T=b("object"==typeof 
globalThis&&globalThis)||b("object"==typeof window&&window)||b("object"==typeof 
self&&self)||b("object"==typeof f&&f)||Function("return 
this")(),h=function(e){try{return!!e()}catch(e){return!0}},C=!h(function(){return
 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}), [...]
+silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}e.exports={defaults:{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:t,changeDefaults:function(t){e.exports.defaults=t}}}),Xi=(Ki.defaults,Ki.getDefaults,Ki.changeDefaults,ut("splice")),Zi=Nt("splice",{ACCESS
 [...]
+n.outerHTML='<section data-state="alert">ERROR: The attempt to fetch '+t+" 
failed with HTTP status "+e.status+".Check your browser's JavaScript console 
for more details.<p>Remember that you need to serve the presentation HTML from 
a HTTP 
server.</p></section>"})):n.getAttribute("data-separator")||n.getAttribute("data-separator-vertical")||n.getAttribute("data-separator-notes")?n.outerHTML=r(e(n),{separator:n.getAttribute("data-separator"),verticalSeparator:n.getAttribute("data-separator-
 [...]
+;return 
e[n]=7,"abcdefghijklmnopqrst".split("").forEach(function(e){t[e]=e}),7!=Da({},e)[n]||"abcdefghijklmnopqrst"!=Xt(Da({},t)).join("")})?function(e){for(var
 t=Xe(e),n=arguments.length,a=1,r=Fe.f,i=I.f;n>a;)for(var 
o,s=M(arguments[a++]),l=r?Xt(s).concat(r(s)):Xt(s),c=l.length,_=0;c>_;)o=l[_++],O&&!i.call(s,o)||(t[o]=s[o]);return
 t}:Da;je({target:"Object",stat:!0,forced:Object.assign!==wa},{assign:wa});var 
Ma=!R(function(){return 
Object.isExtensible(Object.preventExtensions({}))}),La=e [...]
+built_in:"\u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0440\u0430\u043d\u0438\u0446
 
\u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0440\u043e\u043a
 
\u0441\u0438\u043c\u0432\u043e\u043b\u0442\u0430\u0431\u0443\u043b\u044f\u0446\u0438\u0438
 ansitooem oemtoansi 
\u0432\u0432\u0435\u0441\u0442\u0438\u0432\u0438\u0434\u0441\u0443\u0431\u043a\u043e\u043d\u0442\u043e
 \u0432\u0432\u0435\u0441\u0442\u0438\u043f\u0435\u0440\u0435\u [...]
+"class":"web\u0446\u0432\u0435\u0442\u0430 
windows\u0446\u0432\u0435\u0442\u0430 
windows\u0448\u0440\u0438\u0444\u0442\u044b 
\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a
 \u0440\u0430\u043c\u043a\u0438\u0441\u0442\u0438\u043b\u044f 
\u0441\u0438\u043c\u0432\u043e\u043b\u044b 
\u0446\u0432\u0435\u0442\u0430\u0441\u0442\u0438\u043b\u044f 
\u0448\u0440\u0438\u0444\u0442\u044b\u0441\u0442\u0438\u043b\u044f 
\u0430\u0432\u0442\u043e\u [...]
+type:"com\u043e\u0431\u044a\u0435\u043a\u0442 
ftp\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 
http\u0437\u0430\u043f\u0440\u043e\u0441 
http\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0442\u0432\u0435\u0442 
http\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 
ws\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f 
ws\u043f\u0440\u043e\u043a\u0441\u0438 xbase 
\u0430\u043d\u0430\u043b\u0438\u0437\u0434\u0430\u043d\u043d\u044b\u0445 
\u0430\u043d\u043d [...]
+built_in:"alias application boolean class constant date file integer list 
number real record string text activate beep count delay launch log offset read 
round run say summarize write character characters contents day frontmost id 
item length month name paragraph paragraphs rest reverse running time version 
weekday word words 
year"},contains:[t,e.C_NUMBER_MODE,{className:"built_in",begin:"\\b(clipboard 
info|the clipboard|info for|list (disks|folder)|mount volume|path 
to|(close|open for)  [...]
+built_in:"break cd continue eval exec exit export getopts hash pwd readonly 
return shift test times trap umask unset alias bind builtin caller command 
declare echo enable help let local logout mapfile printf read readarray source 
type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone 
comparguments compcall compctl compdescribe compfiles compgroups compquote 
comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg 
float functions getcap getln hist [...]
+begin:"^( 
{4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}},wi=function(e){var
 
t={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"}]},n={className:"subst",variants:[{begin:"\\${",end:"}"}],keywords:"true
 false null this is new 
super"},a={className:"string",variants:[{begin:"r'''",end:" [...]
+contains:[e.BACKSLASH_ESCAPE]},r={begin:"/",end:"/",keywords:t,contains:[a,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_NUMBER_MODE]},i={begin:/[a-z][a-z0-9_]*(\([a-z0-9_,
 ]*\))?[ 
\t]+/,excludeBegin:!0,end:"$",endsWithParent:!0,contains:[a,r,{className:"comment",begin:/([
 
]*[a-z0-9&#*=?@>\\<:\-,()$\[\]_.{}!+%^]+)+/,relevance:0}]};return{name:"GAMS",aliases:["gms"],case_insensitive:!0,keywords:t,contains:[e.COMMENT(/^\$ontext/,/^\$offtext/),{clas
 [...]
+built_in:"is_real is_string is_array is_undefined is_int32 is_int64 is_ptr 
is_vec3 is_vec4 is_matrix is_bool typeof variable_global_exists 
variable_global_get variable_global_set variable_instance_exists 
variable_instance_get variable_instance_set variable_instance_get_names 
array_length_1d array_length_2d array_height_2d array_equals array_create 
array_copy random random_range irandom irandom_range random_set_seed 
random_get_seed randomize randomise choose abs round floor ceil sign frac [...]
+literal:"self other all noone global local undefined pointer_invalid 
pointer_null path_action_stop path_action_restart path_action_continue 
path_action_reverse true false pi GM_build_date GM_version GM_runtime_version  
timezone_local timezone_utc gamespeed_fps gamespeed_microseconds  ev_create 
ev_destroy ev_step ev_alarm ev_keyboard ev_mouse ev_collision ev_other ev_draw 
ev_draw_begin ev_draw_end ev_draw_pre ev_draw_post ev_keypress ev_keyrelease 
ev_trigger ev_left_button ev_right_button [...]
+contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]};return{name:"TOML,
 also 
INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[n,{className:"section",begin:/\[+/,end:/\]+/},{begin:/^[a-z0-9\[\]_\.-]+(?=\s*=\s*)/,className:"attr",starts:{end:/$/,contains:[n,{begin:/\[/,end:/\]/,contains:[n,r,a,i,t,"self"],relevance:0},r,a,i,t]}}]}},ho=function(e){return{name:"IRPF90",case_
 [...]
+built_in:"SYSRES_CONST_ACCES_RIGHT_TYPE_EDIT 
SYSRES_CONST_ACCES_RIGHT_TYPE_FULL SYSRES_CONST_ACCES_RIGHT_TYPE_VIEW 
SYSRES_CONST_ACCESS_MODE_REQUISITE_CODE SYSRES_CONST_ACCESS_NO_ACCESS_VIEW 
SYSRES_CONST_ACCESS_NO_ACCESS_VIEW_CODE 
SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_CODE 
SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_YES_CODE 
SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_CODE 
SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_YES_CODE 
SYSRES_CONST_ACCESS_RIGHTS_DELETE_REQUISITE_CODE SYSRES_CONST_AC [...]
+"class":"AltState Application CallType ComponentTokens CreatedJobs 
CreatedNotices ControlState DialogResult Dialogs EDocuments 
EDocumentVersionSource Folders GlobalIDs Job Jobs InputValue LookUpReference 
LookUpRequisiteNames LookUpSearch Object ParentComponent Processes References 
Requisite ReportName Reports Result Scripts Searches SelectedAttachments 
SelectedItems SelectMode Sender ServerEvents ServiceFactory ShiftState SubTask 
SystemDialogs Tasks Wizard Wizards Work \u0412\u044b\u0437 [...]
+built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix 
AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray 
AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange 
AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError 
Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt 
BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool 
CapturedException CartesianIndex CartesianRange Cchar Cdouble Cflo [...]
+begin:"\\b(?:XP_ERROR_(?:EXPERIENCES_DISABLED|EXPERIENCE_(?:DISABLED|SUSPENDED)|INVALID_(?:EXPERIENCE|PARAMETERS)|KEY_NOT_FOUND|MATURITY_EXCEEDED|NONE|NOT_(?:FOUND|PERMITTED(?:_LAND)?)|NO_EXPERIENCE|QUOTA_EXCEEDED|RETRY_UPDATE|STORAGE_EXCEPTION|STORE_DISABLED|THROTTLED|UNKNOWN_ERROR)|JSON_APPEND|STATUS_(?:PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(?:_OBJECT)?|(?:DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(?:FOUND|SUPPORTED)|INTERNAL_ERROR|WHI
 [...]
+keywords:"AASTriangle AbelianGroup Abort AbortKernels AbortProtect 
AbortScheduledTask Above Abs AbsArg AbsArgPlot Absolute AbsoluteCorrelation 
AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing 
AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness 
AbsoluteTime AbsoluteTiming AcceptanceThreshold AccountingForm Accumulate 
Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions 
Activate Active ActiveClassification ActiveClassificationObje [...]
+contains:[e.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),e.QUOTE_STRING_MODE,e.C_NUMBER_MODE]}},Vo=function(e){var
 
t={relevance:0,contains:[{begin:"('|\\.')+"}]};return{name:"Matlab",keywords:{keyword:"break
 case catch classdef continue else elseif end enumerated events for function 
global if methods otherwise parfor persistent properties return spmd switch try 
while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh 
tan tand tanh atan atand atan2 atanh sec secd s [...]
+keywords:"int float string vector matrix if else switch case default while do 
for in break continue global proc return about abs addAttr 
addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory 
addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air 
alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight 
angle angleBetween animCone animCurveEditor animDisplay animView annotate 
appendStringArray applicationName applyAttrPreset [...]
+built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float 
float32 float64 bool char string cstring pointer expr stmt void auto any range 
array openarray varargs seq set clong culong cchar cschar cshort cint csize 
clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong 
cstringarray 
semistatic"},contains:[{className:"meta",begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([
 [...]
+begin:/\bRETURNS\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\b/,keywords:{keyword:"RETURNS",type:"LANGUAGE_HANDLER
 TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER 
TSM_HANDLER"}},{begin:"\\b("+r+")\\s*\\("},{begin:"\\.("+a+")\\b"},{begin:"\\b("+a+")\\s+PATH\\b",keywords:{keyword:"PATH",type:n.replace("PATH
 
","")}},{className:"type",begin:"\\b("+a+")\\b"},{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:"(e|
 [...]
+;return{name:"Roboconf",aliases:["graph","instances"],case_insensitive:!0,keywords:"import",contains:[{begin:"^facet
 
[a-zA-Z-_][^\\n{]+\\{",end:"}",keywords:"facet",contains:[t,e.HASH_COMMENT_MODE]},{begin:"^\\s*instance
 of [a-zA-Z-_][^\\n{]+\\{",end:"}",keywords:"name count channels instance-data 
instance-state instance 
of",illegal:/\S/,contains:["self",t,e.HASH_COMMENT_MODE]},{begin:"^[a-zA-Z-_][^\\n{]+\\{",end:"}",contains:[t,e.HASH_COMMENT_MODE]},e.HASH_COMMENT_MODE]}},xs=function(e)
 [...]
+built_in:"abs accTime acos action actionIDs actionKeys actionKeysImages 
actionKeysNames actionKeysNamesArray actionName actionParams activateAddons 
activatedAddons activateKey add3DENConnection add3DENEventHandler add3DENLayer 
addAction addBackpack addBackpackCargo addBackpackCargoGlobal addBackpackGlobal 
addCamShake addCuratorAddons addCuratorCameraArea addCuratorEditableObjects 
addCuratorEditingArea addCuratorPoints addEditorObject addEventHandler addForce 
addGoggles addGroupIcon addHa [...]
+keyword:"as abort abs absolute acc acce accep accept access accessed 
accessible account acos action activate add addtime admin administer advanced 
advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all 
allocate allow alter always analyze ancillary and anti any anydata anydataset 
anyschema anytype apply archive archived archivelog are as asc ascii asin 
assembly assertion associate asynchronous at atan atn2 attr attri attrib 
attribu attribut attribute attributes audit auth [...]
+keywords:"if else in foreach for forv forva forval forvalu forvalue forvalues 
by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust 
ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms 
anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm 
areg areg_p args arima arima_dr arima_estat arima_p as asmprobit 
asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser 
assert avplot avplot_7 avplots avplots_7 [...]
+contains:[e.COMMENT(/\{#/,/#}/),{className:"template-tag",begin:/\{%/,end:/%}/,contains:[{className:"name",begin:/\w+/,keywords:r,starts:{endsWithParent:!0,contains:[a,n],relevance:0}}]},{className:"template-variable",begin:/\{\{/,end:/}}/,contains:["self",a,n]}]}},il=function(e){var
 t={keyword:"in if for while finally var new function do return void else break 
catch instanceof with throw case default try this switch continue typeof delete 
let yield const class public private protected g [...]
+keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam 
aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts 
call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg 
cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das 
dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb 
fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp 
fcompp fcos fdecstp fdisi [...]
+Hr.registerLanguage("step21",Qs),Hr.registerLanguage("stylus",js),Hr.registerLanguage("subunit",Ks),Hr.registerLanguage("swift",Xs),Hr.registerLanguage("taggerscript",Zs),Hr.registerLanguage("yaml",Js),Hr.registerLanguage("tap",el),Hr.registerLanguage("tcl",tl),Hr.registerLanguage("thrift",nl),Hr.registerLanguage("tp",al),Hr.registerLanguage("twig",rl),Hr.registerLanguage("typescript",il),Hr.registerLanguage("vala",ol),Hr.registerLanguage("vbnet",sl),Hr.registerLanguage("vbscript",ll),Hr
 [...]
+/*!
+        * reveal.js plugin that adds syntax highlight support.
+        */
+var 
fl={id:"highlight",HIGHLIGHT_STEP_DELIMITER:"|",HIGHLIGHT_LINE_DELIMITER:",",HIGHLIGHT_LINE_RANGE_DELIMITER:"-",hljs:Sl,init:function(e){var
 t=e.getConfig().highlight||{};t.highlightOnLoad="boolean"!=typeof 
t.highlightOnLoad||t.highlightOnLoad,t.escapeHTML="boolean"!=typeof 
t.escapeHTML||t.escapeHTML,[].slice.call(e.getRevealElement().querySelectorAll("pre
 code")).forEach(function(e){e.hasAttribute("data-trim")&&"function"==typeof 
e.innerHTML.trim&&(e.innerHTML=function(e){function t [...]
\ No newline at end of file
diff --git a/presentations/2022-osff-london/web/lib/reveal.css 
b/presentations/2022-osff-london/web/lib/reveal.css
new file mode 100644
index 0000000..2ae250f
--- /dev/null
+++ b/presentations/2022-osff-london/web/lib/reveal.css
@@ -0,0 +1,7 @@
+.reveal div,.reveal span,.reveal applet,.reveal object,.reveal iframe,.reveal 
h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6,.reveal p,.reveal 
blockquote,.reveal pre,.reveal a,.reveal abbr,.reveal acronym,.reveal 
address,.reveal big,.reveal cite,.reveal code,.reveal del,.reveal dfn,.reveal 
em,.reveal img,.reveal ins,.reveal kbd,.reveal q,.reveal s,.reveal samp,.reveal 
small,.reveal strike,.reveal strong,.reveal sub,.reveal sup,.reveal tt,.reveal 
var,.reveal b,.reveal u,.reveal [...]
+* reveal.js 4.2.0
+* https://revealjs.com
+* MIT licensed
+*
+* Copyright (C) 2011-2021 Hakim El Hattab, https://hakim.se
+*/.reveal .r-stretch,.reveal .stretch{max-width:none;max-height:none}.reveal 
pre.r-stretch code,.reveal pre.stretch 
code{height:100%;max-height:100%;box-sizing:border-box}.reveal 
.r-fit-text{display:inline-block;white-space:nowrap}.reveal 
.r-stack{display:-ms-grid;display:grid}.reveal 
.r-stack>*{grid-area:1/1;margin:auto}.reveal .r-hstack,.reveal 
.r-vstack{display:-webkit-box;display:-ms-flexbox;display:flex}.reveal 
.r-hstack img,.reveal .r-hstack video,.reveal .r-vstack img,.reveal .r-v [...]
diff --git a/presentations/2022-osff-london/web/lib/reveal.js 
b/presentations/2022-osff-london/web/lib/reveal.js
new file mode 100644
index 0000000..558d1c1
--- /dev/null
+++ b/presentations/2022-osff-london/web/lib/reveal.js
@@ -0,0 +1,8 @@
+/*!
+* reveal.js 4.2.0
+* https://revealjs.com
+* MIT licensed
+*
+* Copyright (C) 2011-2021 Hakim El Hattab, https://hakim.se
+*/
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof 
module?module.exports=t():"function"==typeof 
define&&define.amd?define(t):(e="undefined"!=typeof 
globalThis?globalThis:e||self).Reveal=t()}(this,(function(){"use strict";var 
e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof 
window?window:"undefined"!=typeof global?global:"undefined"!=typeof 
self?self:{},t=function(e){return e&&e.Math==Math&&e},n=t("object"==typeof 
globalThis&&globalThis)||t("object"==typeof window [...]
᠎"!="​…᠎"[e]()||Sl[e].name!==e}))}("trim")},{trim:function(){return 
El(this)}});var kl={},Al=b,Rl=Ze.f,xl={}.toString,Ll="object"==typeof 
window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];kl.f=function(e){return
 Ll&&"[object Window]"==xl.call(e)?function(e){try{return Rl(e)}catch(e){return 
Ll.slice()}}(e):Rl(Al(e))};var Pl={},Cl=Dn;Pl.f=Cl;var 
Nl=$e,Il=L,Ml=Pl,Tl=_.f,Ol=$t,Dl=n,jl=Qe,Fl=a,zl=An,Hl=Rn,Ul=r,Bl=L,_l=gn,ql=w,Wl=W,Vl=A,Kl=b,Yl=E,$l=u,Xl=Hs,Gl=Jt,Jl=Ze,Q
 [...]
diff --git a/presentations/2022-osff-london/web_files/arcade_pay.png 
b/presentations/2022-osff-london/web/osff-london-taler/1e166270ee9577736d1296229df9a908.png
similarity index 100%
rename from presentations/2022-osff-london/web_files/arcade_pay.png
rename to 
presentations/2022-osff-london/web/osff-london-taler/1e166270ee9577736d1296229df9a908.png
diff --git 
a/presentations/2022-osff-london/web_files/5a3a4d9a2adce1.10802893151377039417567787.png
 
b/presentations/2022-osff-london/web/osff-london-taler/24e99a2aadda4f8a9cee352274f37320.png
similarity index 100%
rename from 
presentations/2022-osff-london/web_files/5a3a4d9a2adce1.10802893151377039417567787.png
rename to 
presentations/2022-osff-london/web/osff-london-taler/24e99a2aadda4f8a9cee352274f37320.png
diff --git a/presentations/2022-osff-london/web_files/Selection_138.png 
b/presentations/2022-osff-london/web/osff-london-taler/2ddc171af541310c53585a269d7646e8.png
similarity index 100%
rename from presentations/2022-osff-london/web_files/Selection_138.png
rename to 
presentations/2022-osff-london/web/osff-london-taler/2ddc171af541310c53585a269d7646e8.png
diff --git a/presentations/2022-osff-london/web_files/nmd6coUl_001.png 
b/presentations/2022-osff-london/web/osff-london-taler/2e9b1163c036ef53ceffb821b126f0a1.png
similarity index 100%
rename from presentations/2022-osff-london/web_files/nmd6coUl_001.png
rename to 
presentations/2022-osff-london/web/osff-london-taler/2e9b1163c036ef53ceffb821b126f0a1.png
diff --git a/presentations/2022-osff-london/web_files/arcade_pickup.png 
b/presentations/2022-osff-london/web/osff-london-taler/2ef14826a2bb70f99baa34c612cc7dca.png
similarity index 100%
rename from presentations/2022-osff-london/web_files/arcade_pickup.png
rename to 
presentations/2022-osff-london/web/osff-london-taler/2ef14826a2bb70f99baa34c612cc7dca.png
diff --git a/presentations/2022-osff-london/web_files/Selection_149.png 
b/presentations/2022-osff-london/web/osff-london-taler/3b765c77feed94adce3601656b191ad5.png
similarity index 100%
rename from presentations/2022-osff-london/web_files/Selection_149.png
rename to 
presentations/2022-osff-london/web/osff-london-taler/3b765c77feed94adce3601656b191ad5.png
diff --git a/presentations/2022-osff-london/web_files/nmd6coUl_002.png 
b/presentations/2022-osff-london/web/osff-london-taler/3d28e7d49590bb3ce18faf79648865b0.png
similarity index 100%
rename from presentations/2022-osff-london/web_files/nmd6coUl_002.png
rename to 
presentations/2022-osff-london/web/osff-london-taler/3d28e7d49590bb3ce18faf79648865b0.png
diff --git a/presentations/2022-osff-london/web_files/nmd6coUl_003.png 
b/presentations/2022-osff-london/web/osff-london-taler/779be47661e8af186c69e55593e87168.png
similarity index 100%
rename from presentations/2022-osff-london/web_files/nmd6coUl_003.png
rename to 
presentations/2022-osff-london/web/osff-london-taler/779be47661e8af186c69e55593e87168.png
diff --git a/presentations/2022-osff-london/web_files/Selection_140.png 
b/presentations/2022-osff-london/web/osff-london-taler/7b793611c934da890f39822aa0751d5d.png
similarity index 100%
rename from presentations/2022-osff-london/web_files/Selection_140.png
rename to 
presentations/2022-osff-london/web/osff-london-taler/7b793611c934da890f39822aa0751d5d.png
diff --git a/presentations/2022-osff-london/web_files/Selection_145.png 
b/presentations/2022-osff-london/web/osff-london-taler/8250179553f606fd4e46b60697683cca.png
similarity index 100%
rename from presentations/2022-osff-london/web_files/Selection_145.png
rename to 
presentations/2022-osff-london/web/osff-london-taler/8250179553f606fd4e46b60697683cca.png
diff --git a/presentations/2022-osff-london/web_files/Selection_141.png 
b/presentations/2022-osff-london/web/osff-london-taler/9a1ab6ced69b37dde89163f858a58fb2.png
similarity index 100%
rename from presentations/2022-osff-london/web_files/Selection_141.png
rename to 
presentations/2022-osff-london/web/osff-london-taler/9a1ab6ced69b37dde89163f858a58fb2.png
diff --git a/presentations/2022-osff-london/web_files/Selection_144.png 
b/presentations/2022-osff-london/web/osff-london-taler/b857d3315a79b987894298dbd4659b63.png
similarity index 100%
rename from presentations/2022-osff-london/web_files/Selection_144.png
rename to 
presentations/2022-osff-london/web/osff-london-taler/b857d3315a79b987894298dbd4659b63.png
diff --git a/presentations/2022-osff-london/web_files/Selection_147.png 
b/presentations/2022-osff-london/web/osff-london-taler/ca64c81ca751777c30b5540440730d09.png
similarity index 100%
rename from presentations/2022-osff-london/web_files/Selection_147.png
rename to 
presentations/2022-osff-london/web/osff-london-taler/ca64c81ca751777c30b5540440730d09.png
diff --git a/presentations/2022-osff-london/web_files/Selection_142.png 
b/presentations/2022-osff-london/web/osff-london-taler/cd724a4be9e7977ce00c41d949c535ff.png
similarity index 100%
rename from presentations/2022-osff-london/web_files/Selection_142.png
rename to 
presentations/2022-osff-london/web/osff-london-taler/cd724a4be9e7977ce00c41d949c535ff.png
diff --git a/presentations/2022-osff-london/web_files/Selection_143.png 
b/presentations/2022-osff-london/web/osff-london-taler/e7e710780dd483ec1dc7e088337905a0.png
similarity index 100%
rename from presentations/2022-osff-london/web_files/Selection_143.png
rename to 
presentations/2022-osff-london/web/osff-london-taler/e7e710780dd483ec1dc7e088337905a0.png
diff --git 
a/presentations/2022-osff-london/web/osff-london-taler/ea6b5581f700d53409347f06ffb73986.png
 
b/presentations/2022-osff-london/web/osff-london-taler/ea6b5581f700d53409347f06ffb73986.png
new file mode 100644
index 0000000..8da4856
Binary files /dev/null and 
b/presentations/2022-osff-london/web/osff-london-taler/ea6b5581f700d53409347f06ffb73986.png
 differ
diff --git a/presentations/2022-osff-london/web_files/Selection_148.png 
b/presentations/2022-osff-london/web/osff-london-taler/ec9e2e40717e54233e2ed3752d9ba790.png
similarity index 100%
rename from presentations/2022-osff-london/web_files/Selection_148.png
rename to 
presentations/2022-osff-london/web/osff-london-taler/ec9e2e40717e54233e2ed3752d9ba790.png

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]