diff --git a/20201112/hp-2020ws-p1.pdf b/20201112/hp-2020ws-p1.pdf
index 21817a9946f935f48a046ef3cc2c1f2025dc9875..53d11a2244231aeaf456105cc01b7cd12b9a817e 100644
Binary files a/20201112/hp-2020ws-p1.pdf and b/20201112/hp-2020ws-p1.pdf differ
diff --git a/20201112/hp-2020ws-p1.tex b/20201112/hp-2020ws-p1.tex
index 7eff7a252852eaa3e862ed2e50d0c571ca609bc2..46566d8a56196bbd4b5db233cec529b9968a46b1 100644
--- a/20201112/hp-2020ws-p1.tex
+++ b/20201112/hp-2020ws-p1.tex
@@ -160,10 +160,12 @@
         die Dicke eines Blatts Papier messen. Beides ist jedoch möglich.
 
       \item
-        \textbf{Abgabe}
+        \textbf{Abgabe:}
         Ihre Quelltexte mit den Lösungen der Praktikumsaufgabe schicken Sie bitte
         per E-Mail an \file{peter.gerwinski@hs-bochum.de}
-        mit dem \textbf{Betreff:} \lstinline[style=terminal]{fi2niNoh}.
+        mit dem \textbf{Betreff:} \lstinline[style=terminal]{fi2niNoh}
+        unter Angabe von Name, Matrikel-Nummer,
+        Studiengang (MI/MP/TI) und Studienmodell (KIA/KIS/GS).
 
     \end{itemize}
 
@@ -181,7 +183,7 @@
 
     \setlength{\leftskip}{3cm}
 
-    Stand: 26.\ November 2020
+    Stand: 17.\ Dezember 2020
 
 %    Soweit nicht anders angegeben:\\
     Copyright \copyright\ 2014, 2015, 2016, 2017, 2018, 2019, 2020\quad Peter Gerwinski\\
diff --git a/20201210/hp-20201210.tex b/20201210/hp-20201210.tex
index f0a92cd7a43744436b67af0486d133f5e85e7fbf..9e8407703a644366ac8af831ed7de4b56021f9b7 100644
--- a/20201210/hp-20201210.tex
+++ b/20201210/hp-20201210.tex
@@ -20,7 +20,7 @@
 % Attribution-ShareAlike 3.0 Unported License along with this
 % document.  If not, see <http://creativecommons.org/licenses/>.
 
-% README: Parameter des Hauptprogramms, String-Operationen
+% README: Präprozessor, Bibliotheken einbinden und verwenden
 
 \documentclass[10pt,t]{beamer}
 
diff --git a/20201217/aufgabe-2.c b/20201217/aufgabe-2.c
new file mode 100644
index 0000000000000000000000000000000000000000..5b0cb23fdd5ee15a4403808c18d2104ed49caf3f
--- /dev/null
+++ b/20201217/aufgabe-2.c
@@ -0,0 +1,62 @@
+#include <gtk/gtk.h>
+
+#define WIDTH 320
+#define HEIGHT 240
+
+double t = 0.0;
+double dt = 0.2;
+
+int r = 5;
+
+double x = 10;
+double y = 200;
+double vx = 20;
+double vy = -60;
+double g = 9.81;
+
+gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
+{
+  GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
+
+  gdk_cairo_set_source_rgba (c, &blue);
+  cairo_arc (c, x, y, r, 0, 2 * G_PI);
+  cairo_fill (c);
+
+  return FALSE;
+}
+
+gboolean timer (GtkWidget *widget)
+{
+  t += dt;
+  x += vx * dt;
+  y += vy * dt;
+  vx = vx;
+  vy = 0.5 * g * (t * t);
+  if (y + r >= HEIGHT)
+    vy = -vy * 0.9;
+  if (x + r >= WIDTH)
+    vx = -vx * 0.9;
+  if (x - r <= 0)
+    vx = -vx * 0.9;
+  gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
+  g_timeout_add (50, (GSourceFunc) timer, widget);
+  return FALSE;
+}
+
+int main (int argc, char **argv)
+{
+  gtk_init (&argc, &argv);
+
+  GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_widget_show (window);
+  gtk_window_set_title (GTK_WINDOW (window), "Hello");
+  g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+
+  GtkWidget *drawing_area = gtk_drawing_area_new ();
+  gtk_widget_show (drawing_area);
+  gtk_container_add (GTK_CONTAINER (window), drawing_area);
+  gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
+
+  gtk_main ();
+  return 0;
+}
diff --git a/20201217/gtk-10.c b/20201217/gtk-10.c
new file mode 100644
index 0000000000000000000000000000000000000000..f7fb2d5b1c4d3f1082a15b8f3a23fb5480fdd4f1
--- /dev/null
+++ b/20201217/gtk-10.c
@@ -0,0 +1,60 @@
+#include <gtk/gtk.h>
+
+#define WIDTH 320
+#define HEIGHT 240
+
+double x = 5;
+double y = 95;
+double vx = 0.5;
+double vy = 0.7;
+double dt = 0.05;
+double g = 9.81;
+
+gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
+{
+  GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
+  gdk_cairo_set_source_rgba (c, &blue);
+  cairo_arc (c, x, HEIGHT - y, 5, 0, 2 * G_PI);
+  cairo_fill (c);
+  return FALSE;
+}
+
+gboolean timer (GtkWidget *widget)
+{
+  x += vx * dt;
+  y += vy * dt;
+  vx += 0.0 * dt;
+  vy += (-g) * dt;
+  gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
+  g_timeout_add (50, (GSourceFunc) timer, widget);
+  return FALSE;
+}
+
+int main (int argc, char **argv)
+{
+  gtk_init (&argc, &argv);
+  GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_window_set_title (GTK_WINDOW (window), "Hello");
+  g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+
+  GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+  gtk_container_add (GTK_CONTAINER (window), vbox);
+
+  GtkWidget *button = gtk_button_new_with_label ("Quit");
+  g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
+  gtk_container_add (GTK_CONTAINER (vbox), button);
+
+  GtkWidget *drawing_area = gtk_drawing_area_new ();
+  gtk_container_add (GTK_CONTAINER (vbox), drawing_area);
+  g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
+  gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
+
+  g_timeout_add (50, (GSourceFunc) timer, drawing_area);
+
+  gtk_widget_show (drawing_area);
+  gtk_widget_show (button);
+  gtk_widget_show (vbox);
+  gtk_widget_show (window);
+  gtk_main ();
+  return 0;
+}
diff --git a/20201217/gtk-11.c b/20201217/gtk-11.c
new file mode 100644
index 0000000000000000000000000000000000000000..1fa3d7169dc09ed0a5e89abffdce3cb297509842
--- /dev/null
+++ b/20201217/gtk-11.c
@@ -0,0 +1,60 @@
+#include <gtk/gtk.h>
+
+#define WIDTH 640
+#define HEIGHT 480
+
+double x = 5;
+double y = 95;
+double vx = 0.5;
+double vy = 0.7;
+double dt = 0.05;
+double g = 9.81;
+
+gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
+{
+  GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
+  gdk_cairo_set_source_rgba (c, &blue);
+  cairo_arc (c, x, HEIGHT - y, 5, 0, 2 * G_PI);
+  cairo_fill (c);
+  return FALSE;
+}
+
+gboolean timer (GtkWidget *widget)
+{
+  x += vx * dt;
+  y += vy * dt;
+  vx += 0.0 * dt;
+  vy += (-g) * dt;
+  gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
+  g_timeout_add (50, (GSourceFunc) timer, widget);
+  return FALSE;
+}
+
+int main (int argc, char **argv)
+{
+  gtk_init (&argc, &argv);
+  GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_window_set_title (GTK_WINDOW (window), "Hello");
+  g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+
+  GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+  gtk_container_add (GTK_CONTAINER (window), vbox);
+
+  GtkWidget *button = gtk_button_new_with_label ("Quit");
+  g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
+  gtk_container_add (GTK_CONTAINER (vbox), button);
+
+  GtkWidget *drawing_area = gtk_drawing_area_new ();
+  gtk_container_add (GTK_CONTAINER (vbox), drawing_area);
+  g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
+  gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
+
+  g_timeout_add (50, (GSourceFunc) timer, drawing_area);
+
+  gtk_widget_show (drawing_area);
+  gtk_widget_show (button);
+  gtk_widget_show (vbox);
+  gtk_widget_show (window);
+  gtk_main ();
+  return 0;
+}
diff --git a/20201217/gtk-12.c b/20201217/gtk-12.c
new file mode 100644
index 0000000000000000000000000000000000000000..e0c274336e1ea7a21983daaa95a563796b532e25
--- /dev/null
+++ b/20201217/gtk-12.c
@@ -0,0 +1,60 @@
+#include <gtk/gtk.h>
+
+#define WIDTH 640
+#define HEIGHT 480
+
+double x = 5;
+double y = 95;
+double vx = 5.0;
+double vy = 0.7;
+double dt = 0.05;
+double g = 9.81;
+
+gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
+{
+  GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
+  gdk_cairo_set_source_rgba (c, &blue);
+  cairo_arc (c, x, HEIGHT - y, 5, 0, 2 * G_PI);
+  cairo_fill (c);
+  return FALSE;
+}
+
+gboolean timer (GtkWidget *widget)
+{
+  x += vx * dt;
+  y += vy * dt;
+  vx += 0.0 * dt;
+  vy += (-g) * dt;
+  gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
+  g_timeout_add (50, (GSourceFunc) timer, widget);
+  return FALSE;
+}
+
+int main (int argc, char **argv)
+{
+  gtk_init (&argc, &argv);
+  GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_window_set_title (GTK_WINDOW (window), "Hello");
+  g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+
+  GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+  gtk_container_add (GTK_CONTAINER (window), vbox);
+
+  GtkWidget *button = gtk_button_new_with_label ("Quit");
+  g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
+  gtk_container_add (GTK_CONTAINER (vbox), button);
+
+  GtkWidget *drawing_area = gtk_drawing_area_new ();
+  gtk_container_add (GTK_CONTAINER (vbox), drawing_area);
+  g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
+  gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
+
+  g_timeout_add (50, (GSourceFunc) timer, drawing_area);
+
+  gtk_widget_show (drawing_area);
+  gtk_widget_show (button);
+  gtk_widget_show (vbox);
+  gtk_widget_show (window);
+  gtk_main ();
+  return 0;
+}
diff --git a/20201217/gtk-13.c b/20201217/gtk-13.c
new file mode 100644
index 0000000000000000000000000000000000000000..a91d9abf14066d773103a8fca1e2c41abad40be3
--- /dev/null
+++ b/20201217/gtk-13.c
@@ -0,0 +1,60 @@
+#include <gtk/gtk.h>
+
+#define WIDTH 640
+#define HEIGHT 480
+
+double x = 5;
+double y = 95;
+double vx = 50.0;
+double vy = 0.7;
+double dt = 0.05;
+double g = 9.81;
+
+gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
+{
+  GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
+  gdk_cairo_set_source_rgba (c, &blue);
+  cairo_arc (c, x, HEIGHT - y, 5, 0, 2 * G_PI);
+  cairo_fill (c);
+  return FALSE;
+}
+
+gboolean timer (GtkWidget *widget)
+{
+  x += vx * dt;
+  y += vy * dt;
+  vx += 0.0 * dt;
+  vy += (-g) * dt;
+  gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
+  g_timeout_add (50, (GSourceFunc) timer, widget);
+  return FALSE;
+}
+
+int main (int argc, char **argv)
+{
+  gtk_init (&argc, &argv);
+  GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_window_set_title (GTK_WINDOW (window), "Hello");
+  g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+
+  GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+  gtk_container_add (GTK_CONTAINER (window), vbox);
+
+  GtkWidget *button = gtk_button_new_with_label ("Quit");
+  g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
+  gtk_container_add (GTK_CONTAINER (vbox), button);
+
+  GtkWidget *drawing_area = gtk_drawing_area_new ();
+  gtk_container_add (GTK_CONTAINER (vbox), drawing_area);
+  g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
+  gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
+
+  g_timeout_add (50, (GSourceFunc) timer, drawing_area);
+
+  gtk_widget_show (drawing_area);
+  gtk_widget_show (button);
+  gtk_widget_show (vbox);
+  gtk_widget_show (window);
+  gtk_main ();
+  return 0;
+}
diff --git a/20201217/gtk-16.c b/20201217/gtk-16.c
new file mode 100644
index 0000000000000000000000000000000000000000..0901dd7f491ca219cceb6c1f344291de0c154f38
--- /dev/null
+++ b/20201217/gtk-16.c
@@ -0,0 +1,63 @@
+#include <gtk/gtk.h>
+
+#define WIDTH 640
+#define HEIGHT 480
+#define RADIUS 5
+
+double x = 5;
+double y = 95;
+double vx = 50.0;
+double vy = 70.0;
+double dt = 0.05;
+double g = 9.81;
+
+gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
+{
+  GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
+  gdk_cairo_set_source_rgba (c, &blue);
+  cairo_arc (c, x, HEIGHT - y, RADIUS, 0, 2 * G_PI);
+  cairo_fill (c);
+  return FALSE;
+}
+
+gboolean timer (GtkWidget *widget)
+{
+  x += vx * dt;
+  y += vy * dt;
+  vx += 0.0 * dt;
+  vy += (-g) * dt;
+  if (x + RADIUS >= WIDTH)
+    vx = -vx;
+  gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
+  g_timeout_add (50, (GSourceFunc) timer, widget);
+  return FALSE;
+}
+
+int main (int argc, char **argv)
+{
+  gtk_init (&argc, &argv);
+  GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_window_set_title (GTK_WINDOW (window), "Hello");
+  g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+
+  GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+  gtk_container_add (GTK_CONTAINER (window), vbox);
+
+  GtkWidget *button = gtk_button_new_with_label ("Quit");
+  g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
+  gtk_container_add (GTK_CONTAINER (vbox), button);
+
+  GtkWidget *drawing_area = gtk_drawing_area_new ();
+  gtk_container_add (GTK_CONTAINER (vbox), drawing_area);
+  g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
+  gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
+
+  g_timeout_add (50, (GSourceFunc) timer, drawing_area);
+
+  gtk_widget_show (drawing_area);
+  gtk_widget_show (button);
+  gtk_widget_show (vbox);
+  gtk_widget_show (window);
+  gtk_main ();
+  return 0;
+}
diff --git a/20201217/gtk-9.c b/20201217/gtk-9.c
new file mode 100644
index 0000000000000000000000000000000000000000..7beb24ccbed561b4f7451838ea1120fe71cf8b1c
--- /dev/null
+++ b/20201217/gtk-9.c
@@ -0,0 +1,60 @@
+#include <gtk/gtk.h>
+
+#define WIDTH 320
+#define HEIGHT 240
+
+double x = 5;
+double y = 95;
+double vx = 0.5;
+double vy = 0.7;
+double dt = 0.05;
+double g = 9.81;
+
+gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
+{
+  GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
+  gdk_cairo_set_source_rgba (c, &blue);
+  cairo_arc (c, x, y, 5, 0, 2 * G_PI);
+  cairo_fill (c);
+  return FALSE;
+}
+
+gboolean timer (GtkWidget *widget)
+{
+  x += vx * dt;
+  y += vy * dt;
+  vx += 0.0 * dt;
+  vy += (-g) * dt;
+  gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
+  g_timeout_add (50, (GSourceFunc) timer, widget);
+  return FALSE;
+}
+
+int main (int argc, char **argv)
+{
+  gtk_init (&argc, &argv);
+  GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_window_set_title (GTK_WINDOW (window), "Hello");
+  g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+
+  GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+  gtk_container_add (GTK_CONTAINER (window), vbox);
+
+  GtkWidget *button = gtk_button_new_with_label ("Quit");
+  g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
+  gtk_container_add (GTK_CONTAINER (vbox), button);
+
+  GtkWidget *drawing_area = gtk_drawing_area_new ();
+  gtk_container_add (GTK_CONTAINER (vbox), drawing_area);
+  g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
+  gtk_widget_set_size_request (drawing_area, 100, 100);
+
+  g_timeout_add (50, (GSourceFunc) timer, drawing_area);
+
+  gtk_widget_show (drawing_area);
+  gtk_widget_show (button);
+  gtk_widget_show (vbox);
+  gtk_widget_show (window);
+  gtk_main ();
+  return 0;
+}
diff --git a/20201217/hp-20201217.pdf b/20201217/hp-20201217.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..173a2277de52dffc99c4e949574ebe3797c9d641
Binary files /dev/null and b/20201217/hp-20201217.pdf differ
diff --git a/20201217/hp-20201217.tex b/20201217/hp-20201217.tex
new file mode 100644
index 0000000000000000000000000000000000000000..be44ed7ba94b35fb895021d5cd18d64683abaaaa
--- /dev/null
+++ b/20201217/hp-20201217.tex
@@ -0,0 +1,930 @@
+% hp-20201217.pdf - Lecture Slides on Low-Level Programming
+% Copyright (C) 2012, 2013, 2015, 2016, 2017, 2018, 2019, 2020  Peter Gerwinski
+%
+% This document is free software: you can redistribute it and/or
+% modify it either under the terms of the Creative Commons
+% Attribution-ShareAlike 3.0 License, or under the terms of the
+% GNU General Public License as published by the Free Software
+% Foundation, either version 3 of the License, or (at your option)
+% any later version.
+%
+% This document is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this document.  If not, see <http://www.gnu.org/licenses/>.
+%
+% You should have received a copy of the Creative Commons
+% Attribution-ShareAlike 3.0 Unported License along with this
+% document.  If not, see <http://creativecommons.org/licenses/>.
+
+% README: make, Differentialgleichungen
+
+\documentclass[10pt,t]{beamer}
+
+\usepackage{pgslides}
+\usepackage{pdftricks}
+\usepackage{tikz}
+
+\begin{psinputs}
+  \usepackage[utf8]{inputenc}
+  \usepackage[german]{babel}
+  \usepackage[T1]{fontenc}
+  \usepackage{helvet}
+  \renewcommand*\familydefault{\sfdefault}
+  \usepackage{pstricks,pst-grad}
+\end{psinputs}
+
+\title{Hardwarenahe Programmierung}
+\author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski}
+\date{17.\ Dezember 2020}
+
+\begin{document}
+
+\maketitleframe
+
+\nosectionnonumber{\inserttitle}
+
+\begin{frame}
+
+  \shownosectionnonumber
+
+  \begin{itemize}
+    \item[\textbf{1}] \textbf{Einführung}
+      \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/hp}}}
+    \item[\textbf{2}] \textbf{Einführung in C}
+    \item[\textbf{3}] \textbf{Bibliotheken}
+      \begin{itemize}
+        \color{medgreen}
+        \item[3.1] Der Präprozessor
+        \item[3.2] Bibliotheken einbinden
+        \item[3.3] Bibliotheken verwenden
+        \color{red}
+        \item[3.4] Projekt organisieren: make
+        \vspace*{-\smallskipamount}
+        \item[\dots]
+      \end{itemize}
+    \item[\textbf{4}] \textbf{Hardwarenahe Programmierung}
+    \item[\textbf{5}] \textbf{Algorithmen}
+    \vspace*{-\smallskipamount}
+    \item[\textbf{\dots}]
+  \end{itemize}
+
+\end{frame}
+
+\setcounter{section}{2}
+\section{Bibliotheken}
+\subsection{Der Präprozessor}
+
+\begin{frame}[fragile]
+
+  \showsection
+  \showsubsection
+
+  \lstinline{#include}: %\pause:
+  Text einbinden
+  \begin{itemize}
+%    \pause
+    \item
+      \lstinline{#include <stdio.h>}: Standard-Verzeichnisse -- Standard-Header
+%    \pause
+    \item
+      \lstinline{#include "answer.h"}: auch aktuelles Verzeichnis -- eigene Header
+  \end{itemize}
+
+%  \pause
+  \bigskip
+
+  \lstinline{#define VIER 4}: Text ersetzen lassen -- Konstante definieren
+  \begin{itemize}
+%    \pause
+    \item
+      Kein Semikolon!
+%    \pause
+    \item
+      Berechnungen in Klammern setzen:\\
+      \lstinline{#define VIER (2 + 2)}
+%    \pause
+    \item
+      Konvention: Großbuchstaben
+  \end{itemize}
+
+\end{frame}
+
+\subsection{Bibliotheken einbinden}
+
+\begin{frame}[fragile]
+
+  \showsection
+  \showsubsection
+
+  Inhalt der Header-Datei: externe Deklarationen
+
+%  \pause
+  \smallskip
+  \lstinline{extern int answer (void);}
+
+%  \pause
+  \smallskip
+  \lstinline{extern int printf (__const char *__restrict __format, ...);}
+
+%  \pause
+  \bigskip
+  Funktion wird "`anderswo"' definiert
+  \begin{itemize}
+%    \pause
+    \item
+      separater C-Quelltext: mit an \lstinline[style=terminal]{gcc} übergeben
+%    \pause
+    \item
+      Zusammenfügen zu ausführbarem Programm durch den \newterm{Linker}
+%    \pause
+    \item
+      vorcompilierte Bibliothek: \lstinline[style=terminal]{-lfoo}\\
+%      \pause
+      = Datei \file{libfoo.a} in Standard-Verzeichnis
+  \end{itemize}
+
+\end{frame}
+
+\subsection{Bibliothek verwenden (Beispiel: GTK+)}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  \begin{itemize}
+    \item
+      \lstinline{#include <gtk/gtk.h>}
+%    \pause
+    \smallskip
+    \item
+      Mit \lstinline[style=cmd]{pkg-config --cflags --libs} erfährt man,\\
+      welche Optionen und Bibliotheken man an \lstinline[style=cmd]{gcc}
+      übergeben muß\alt<1->{.}{:}
+%      \pause
+      \begin{onlyenv}<1>
+        \begin{lstlisting}[style=terminal,gobble=10]
+          $ ¡pkg-config --cflags --libs gtk+-3.0¿
+          -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-
+          atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1
+          .0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/
+          include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/inc
+          lude/cairo -I/usr/include/pango-1.0 -I/usr/include/harf
+          buzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I
+          /usr/include/cairo -I/usr/include/pixman-1 -I/usr/inclu
+          de/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk
+          -pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib
+          -2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lgtk
+          -3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcai
+          ro-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject
+          -2.0 -lglib-2.0
+        \end{lstlisting}
+        \vspace*{-3cm}
+      \end{onlyenv}
+    \pause
+    \arrowitem
+      Compiler-Aufruf:
+      \begin{onlyenv}<2>
+        \begin{lstlisting}[style=terminal,gobble=10]
+          $ ¡gcc -Wall -O hello-gtk.c -pthread -I/usr/include/gtk-
+          3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-sp
+          i-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-g
+          nu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/inclu
+          de/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pa
+          ngo-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.
+          0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/in
+          clude/pixman-1 -I/usr/include/freetype2 -I/usr/include/
+          libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/l
+          ibpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux
+          -gnu/glib-2.0/include -lgtk-3 -lgdk-3 -lpangocairo-1.0
+          -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pix
+          buf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -o hello-gtk¿
+        \end{lstlisting}
+        \vspace*{-2cm}
+      \end{onlyenv}
+      \begin{onlyenv}<3->
+        \begin{lstlisting}[style=terminal,gobble=10]
+          $ ¡gcc -Wall -O hello-gtk.c $(pkg-config --cflags --libs
+                 gtk+-3.0 -o hello-gtk¿
+        \end{lstlisting}
+      \end{onlyenv}
+      \begin{onlyenv}<3>
+        \begin{picture}(0,0)(0.3,0.3)
+          \color{red}
+          \put(6.6,-0.6){\makebox(0,0)[bl]{\tikz{\draw[-latex](0,0)--(3,1.5);}}}
+          \put(6.3,-0.7){\makebox(0,0)[t]{\shortstack{\strut Optionen:\\
+                           \strut u.\,a.\ viele Include-Verzeichnisse:\\
+                           \lstinline[style=cmd]{-I/usr/include/gtk-3.0}}}}
+          \put(10.0,-2.1){\makebox(0,0)[bl]{\tikz{\draw[-latex](0,0)--(1.5,3);}}}
+          \put(10.3,-2.2){\makebox(0,0)[t]{\shortstack{\strut Bibliotheken:\\
+                            \strut u.\,a.\ \lstinline[style=cmd]{-lgtk-3 -lcairo}\qquad\strut}}}
+        \end{picture}
+      \end{onlyenv}
+    \pause
+    \pause
+    \item
+      Auf manchen Plattformen kommt es auf die Reihenfolge an:
+      \begin{lstlisting}[style=terminal,gobble=8]
+        $ ¡gcc -Wall -O $(pkg-config --cflags gtk+-3.0) \
+               hello-gtk.c $(pkg-config --libs gtk+-3.0) \
+               -o hello-gtk¿
+      \end{lstlisting}
+      (Backslash = "`Es geht in der nächsten Zeile weiter."')
+  \end{itemize}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Selbst geschriebene Funktion übergeben: \newterm{Callback}
+
+  \bigskip
+
+  \begin{lstlisting}[xleftmargin=1em]
+    gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
+    {
+      /* Zeichenbefehle */
+      ...
+
+      return FALSE;
+    }
+  
+    ...
+
+    g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);
+  \end{lstlisting}
+
+  \medskip
+
+  \begin{itemize}
+    \arrowitem 
+      GTK+ ruft immer dann, wenn es etwas zu zeichnen gibt,\\
+      die Funktion \lstinline{draw} auf.
+  \end{itemize}
+
+%  \pause
+  \begin{picture}(0,0)(-0.07,0.2)
+    \color{red}
+    \put(5.3,4.8){\makebox(0,0)[bl]{\tikz{\draw[-latex](0,0)--(1.90,1.15);}}}
+    \put(5.0,4.7){\makebox(0,0)[t]{\shortstack{\strut repräsentiert den\\
+                    \strut Bildschirm, auf den\\
+                    \strut gezeichnet werden soll}}}
+%    \pause
+    \put(9.7,5.1){\makebox(0,0)[br]{\tikz{\draw[-latex](0,0)--(-0.2,0.85);}}}
+    \put(9.7,5.0){\makebox(0,0)[t]{\shortstack{\strut optionale Zusatzinformationen\\
+                    \strut für draw(), typischerweise\\
+                    \strut ein Zeiger auf ein struct}}}
+    \put(10.0,3.5){\makebox(0,0)[tl]{\tikz{\draw[-latex](0,0)--(0.6,-1.25);}}}
+  \end{picture}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Selbst geschriebene Funktion übergeben: \newterm{Callback}
+
+  \bigskip
+
+  \begin{lstlisting}[xleftmargin=1em]
+    gboolean timer (GtkWidget *widget)
+    {
+      /* Rechenbefehle */
+      ...
+
+      gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
+      g_timeout_add (50, (GSourceFunc) timer, widget);
+      return FALSE;
+    }
+  
+    ...
+
+    g_timeout_add (50, (GSourceFunc) timer, drawing_area);
+  \end{lstlisting}
+
+  \medskip
+
+  \begin{itemize}
+    \arrowitem 
+      GTK+ ruft nach 50 Millisekunden
+      die Funktion \lstinline{timer} auf.
+  \end{itemize}
+
+%  \pause
+  \begin{picture}(0,0)(-0.07,0.2)
+    \color{red}
+    \put(9.7,6.7){\makebox(0,0)[t]{\shortstack{\strut Dieser Bereich soll\\
+                    \strut neu gezeichnet werden.}}}
+    \put(9.7,5.7){\makebox(0,0)[tr]{\tikz{\draw[-latex](0,0)--(-0.6,-0.8);}}}
+%    \pause
+    \put(4.3,3.2){\makebox(0,0)[br]{\tikz{\draw[-latex](0,0)--(-0.7,0.6);}}}
+    \put(4.3,3.1){\makebox(0,0)[t]{\shortstack{\strut In weiteren 50 Millisekunden soll\\
+                    \strut die Funktion erneut aufgerufen werden.}}}
+%    \pause
+    \put(9.3,2.9){\makebox(0,0)[br]{\tikz{\draw[-latex](0,0)--(-3.3,0.9);}}}
+    \put(9.8,2.8){\makebox(0,0)[t]{\shortstack{\strut Explizite Typumwandlung\\
+                    \strut eines Zeigers (später)}}}
+  \end{picture}
+
+\end{frame}
+
+\subsection{Projekt organisieren: make}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+  \begin{itemize}
+    \item
+      \only<4->{explizite und implizite} Regeln
+      \begin{onlyenv}<2>
+        \smallskip
+        \begin{lstlisting}[language=make,gobble=10]
+          philosophy: philosophy.o answer.o
+                  gcc philosophy.o answer.o -o philosophy
+
+          answer.o: answer.c answer.h
+                  gcc -Wall -O answer.c -c
+
+          philosophy.o: philosophy.c answer.h
+                  gcc -Wall -O philosophy.c -c
+        \end{lstlisting}
+      \end{onlyenv}
+      \begin{onlyenv}<4>
+        \smallskip
+        \begin{lstlisting}[language=make,gobble=10]
+          TARGET = philosophy
+          OBJECTS = philosophy.o answer.o
+          HEADERS = answer.h
+          CFLAGS = -Wall -O
+
+          $(TARGET): $(OBJECTS)
+                  gcc $(OBJECTS) -o $(TARGET)
+
+          %.o: %.c $(HEADERS)
+                  gcc $(CFLAGS) $< -c
+
+          clean:
+                  rm -f $(OBJECTS) $(TARGET)
+        \end{lstlisting}
+      \end{onlyenv}
+    \item
+      Makros
+      \begin{onlyenv}<3>
+        \smallskip
+        \begin{lstlisting}[language=make,gobble=10]
+          TARGET = philosophy
+          OBJECTS = philosophy.o answer.o
+          HEADERS = answer.h
+          CFLAGS = -Wall -O
+
+          $(TARGET): $(OBJECTS)
+                  gcc $(OBJECTS) -o $(TARGET)
+
+          answer.o: answer.c $(HEADERS)
+                  gcc $(CFLAGS) answer.c -c
+
+          philosophy.o: philosophy.c $(HEADERS)
+                  gcc $(CFLAGS) philosophy.c -c
+
+          clean:
+                  rm -f $(OBJECTS) $(TARGET)
+        \end{lstlisting}
+        \vspace*{-1cm}
+      \end{onlyenv}
+    \begin{onlyenv}<5->
+      \smallskip
+      \arrowitem
+        3 Sprachen: C, Präprozessor, make
+    \end{onlyenv}
+  \end{itemize}
+
+\end{frame}
+
+\section{Algorithmen}
+\subsection{Differentialgleichungen}
+
+\begin{frame}[fragile]
+
+  \showsection
+  \showsubsection
+
+  \textbf{Beispiel 1: Gleichmäßig beschleunigte Bewegung}
+
+  \strut\hfill
+  \begin{minipage}{2.5cm}
+    \vspace*{0.6cm}
+    \begin{align*}
+      x'(t) &= v_x(t) \\[0.65cm]
+      y'(t) &= v_y(t) \\[0.75cm]
+      v_x'(t) &= 0 \\[0.65cm]
+      v_y'(t) &= -g
+    \end{align*}
+    \vspace*{0.0cm}
+  \end{minipage}%
+  \only<1>{\hspace*{9.49cm}}\strut
+  \only<2->{\hfill$\Rightarrow$\hfill}%
+  \begin{onlyenv}<2-8>
+    \begin{minipage}{8.3cm}
+      \begin{align*}
+        x(t) &= \int v_x(t)\,dt
+          \visible<4->{= \int v_{0x}\,dt}
+          \visible<5->{= x_0 + v_{0x}\cdot t}\\[\medskipamount]
+        y(t) &= \int v_y(t)\,dt
+          \visible<7->{= \int v_{0y} - g\cdot t\,dt}
+          \visible<8->{= y_0 + v_{0y}\cdot t
+                         - {\textstyle\frac12}gt^2}\\[\bigskipamount]
+        v_x(t) &= \int 0\,dt
+          \visible<3->{= v_{0x}} \\[\medskipamount]
+        v_y(t) &= \int -g\,dt
+          \visible<6->{= v_{0y} - g\cdot t}
+      \end{align*}
+    \end{minipage}%
+  \end{onlyenv}%
+  \begin{onlyenv}<9->
+    \begin{minipage}{3.5cm}
+      \vspace*{0.5cm}
+      \begin{lstlisting}[gobble=8,xleftmargin=0.5em]
+        ¡x += vx * dt;¿
+      \end{lstlisting}
+      \vspace{0.75cm}
+      \begin{lstlisting}[gobble=8,xleftmargin=0.5em]
+        ¡y += vy * dt;¿
+      \end{lstlisting}
+      \vspace{0.90cm}
+      \begin{lstlisting}[gobble=8,xleftmargin=0.5em]
+        ¡vx += 0 * dt;¿
+      \end{lstlisting}
+      \vspace{0.75cm}
+      \begin{lstlisting}[gobble=8,xleftmargin=0.5em]
+        ¡vy += -g * dt;¿
+      \end{lstlisting}
+    \end{minipage}%
+    \begin{minipage}{5.13cm}
+      Siehe: \file{gtk-13.c}
+    \end{minipage}
+  \end{onlyenv}%
+  \hfill\strut
+
+\end{frame}
+
+\begin{frame}[fragile]
+  \showsection
+  \showsubsection
+
+  \textbf{Beispiel 1: Gleichmäßig beschleunigte Bewegung}
+
+  \medskip
+
+  \textbf{Beispiel 2: Mathematisches Pendel}
+
+  \vspace*{-2\bigskipamount}
+
+  \begin{picture}(0,0)
+    \put(8,-6.5){\includegraphics{pendulum.pdf}}
+  \end{picture}
+
+  \begin{eqnarray*}
+    \varphi'(t) &=& \omega(t) \\[\smallskipamount]
+    \omega'(t) &=& -\frac{g}{l}\cdot\sin\varphi(t)\hspace*{7.1cm}
+  \end{eqnarray*}
+  \vspace*{-1.5\medskipamount}
+  \begin{itemize}
+    \item
+      Von Hand (analytisch):\\
+      Lösung raten (Ansatz), Parameter berechnen
+    \item
+      Mit Computer (numerisch):\\
+      Eulersches Polygonzugverfahren
+  \end{itemize}
+  \smallskip
+  \begin{lstlisting}[gobble=0]
+    phi += dt * omega;
+    omega += - dt * g / l * sin (phi);
+  \end{lstlisting}
+
+  \pause
+  \bigskip
+
+  \textbf{Beispiel 3: Weltraum-Simulation}
+
+  Praktikumsaufgabe
+  \vspace*{-1cm}
+
+\end{frame}
+
+\nosectionnonumber{\inserttitle}
+
+\begin{frame}
+
+  \shownosectionnonumber
+
+  \begin{itemize}
+    \item[\textbf{1}] \textbf{Einführung}
+      \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/hp.git}}}
+    \item[\textbf{2}] \textbf{Einführung in C}
+    \item[\textbf{3}] \textbf{Bibliotheken}
+      \begin{itemize}
+        \item[3.1] Der Präprozessor
+        \item[3.2] Bibliotheken einbinden
+        \item[3.3] Bibliotheken verwenden
+        \color{medgreen}
+        \item[3.4] Projekt organisieren: make
+      \end{itemize}
+    \item[\textbf{4}] \textbf{Hardwarenahe Programmierung}
+      \begin{itemize}
+        \color{red}
+        \item[4.1] Bit-Operationen
+        \item[4.2] I/O-Ports
+        \item[4.3] Interrupts
+        \vspace*{-0.1cm}
+        \item[\dots]
+      \end{itemize}
+    \item[\textbf{5}] \textbf{Algorithmen}
+      \begin{itemize}
+        \color{medgreen}
+        \item[5.1] Differentialgleichungen
+        \color{black}
+        \vspace*{-0.1cm}
+        \item[\dots]
+      \end{itemize}
+    \item[\textbf{\dots}]
+%    \item[\textbf{4}] \textbf{Hardwarenahe Programmierung}
+%    \item[\textbf{5}] \textbf{Algorithmen}
+%    \item[\textbf{6}] \textbf{Ergänzungen und Ausblicke}
+  \end{itemize}
+  \vspace*{-1cm}
+
+\end{frame}
+
+\iffalse
+
+\begin{frame}
+
+  \shownosectionnonumber
+
+  \begin{itemize}
+    \item[\textbf{1}] \textbf{Einführung}
+      \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/hp}}}
+    \item[\textbf{2}] \textbf{Einführung in C}
+      \begin{itemize}
+        \vspace*{-\smallskipamount}
+        \item[\dots]
+        \item[2.10] Zeiger
+        \color{medgreen}
+        \item[2.11] Arrays und Strings
+        \item[2.12] Strukturen
+        \item[2.13] Dateien und Fehlerbehandlung
+        \color{red}
+        \item[2.14] Parameter des Hauptprogramms
+        \item[2.15] String-Operationen
+      \end{itemize}
+    \item[\textbf{3}] \textbf{Bibliotheken}
+%      \begin{itemize}
+%        \color{red}
+%        \item[3.1] Der Präprozessor
+%        \item[3.2] Bibliotheken einbinden
+%        \item[3.3] Bibliotheken verwenden
+%        \vspace*{-\smallskipamount}
+%        \item[\dots]
+%%        \item[3.4] Projekt organisieren: make
+%      \end{itemize}
+%    \vspace*{-\smallskipamount}
+    \item[\textbf{4}] \textbf{Hardwarenahe Programmierung}
+      \begin{itemize}
+        \color{red}
+        \item[4.1] Bit-Operationen
+        \item[4.2] I/O-Ports
+        \color{black}
+        \item[4.3] Interrupts
+        \vspace*{-0.1cm}
+        \item[\dots]
+      \end{itemize}
+    \item[\textbf{5}] \textbf{Algorithmen}
+    \item[\textbf{\dots}]
+  \end{itemize}
+
+\end{frame}
+
+\setcounter{section}{3}
+\section{Hardwarenahe Programmierung}
+\subsection{Bit-Operationen}
+\subsubsection{Zahlensysteme}
+
+\begin{frame}[fragile]
+
+  \showsection
+  \vspace*{-\smallskipamount}
+  \showsubsection
+  \vspace*{-\medskipamount}
+  \showsubsubsection
+
+  \begin{tabular}{rlrl}
+    Basis & Name & Beispiel & Anwendung \\[\smallskipamount]
+      2 & Binärsystem & 1\,0000\,0011 & Bit-Operationen \\
+      8 & Oktalsystem & \lstinline,0403, & Dateizugriffsrechte (Unix) \\
+     10 & Dezimalsystem & \lstinline,259, & Alltag \\
+     16 & Hexadezimalsystem & \lstinline,0x103, & Bit-Operationen \\
+    256 & (keiner gebräuchlich) & 0.0.1.3 & IP-Adressen (IPv4)
+  \end{tabular}
+
+  \bigskip
+
+  \begin{itemize}
+    \item
+      Computer rechnen im Binärsystem.
+    \item
+      Für viele Anwendungen (z.\,B.\ I/O-Ports, Grafik, \dots) ist es notwendig,\\
+      Bits in Zahlen einzeln ansprechen zu können.
+  \end{itemize}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  \begin{tabular}{rlrlrc}
+    \qquad 000 & \bf 0 \hspace*{1.5cm} & 0000 & \bf 0 & \quad 1000 & \bf 8\\
+           001 & \bf 1                 & 0001 & \bf 1 &       1001 & \bf 9\\
+           010 & \bf 2                 & 0010 & \bf 2 &       1010 & \bf A\\
+           011 & \bf 3                 & 0011 & \bf 3 &       1011 & \bf B\\[\smallskipamount]
+           100 & \bf 4                 & 0100 & \bf 4 &       1100 & \bf C\\
+           101 & \bf 5                 & 0101 & \bf 5 &       1101 & \bf D\\
+           110 & \bf 6                 & 0110 & \bf 6 &       1110 & \bf E\\
+           111 & \bf 7                 & 0111 & \bf 7 &       1111 & \bf F\\
+  \end{tabular}
+
+  \medskip
+
+  \begin{itemize}
+    \item
+      Oktal- und Hexadezimalzahlen lassen sich ziffernweise\\
+      in Binär-Zahlen umrechnen.
+    \item
+      Hexadezimalzahlen sind eine Kurzschreibweise für Binärzahlen,\\
+      gruppiert zu jeweils 4 Bits.
+    \item
+      Oktalzahlen sind eine Kurzschreibweise für Binärzahlen,\\
+      gruppiert zu jeweils 3 Bits.
+    \item
+      Trotz Taschenrechner u.\,ä.\ lohnt es sich,\\
+      die o.\,a.\ Umrechnungstabelle \textbf{auswendig} zu kennen.
+  \end{itemize}
+
+\end{frame}
+
+\subsubsection{Bit-Operationen in C}
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  \begin{tabular}{lll}
+    C-Operator     & Verknüpfung              & Anwendung                \\[\smallskipamount]
+    \lstinline,&,  & Und                      & Bits gezielt löschen     \\
+    \lstinline,|,  & Oder                     & Bits gezielt setzen      \\
+    \lstinline,^,  & Exklusiv-Oder            & Bits gezielt invertieren \\
+    \lstinline,~,  & Nicht                    & Alle Bits invertieren    \\[\smallskipamount]
+    \lstinline,<<, & Verschiebung nach links  & Maske generieren         \\
+    \lstinline,>>, & Verschiebung nach rechts & Bits isolieren
+  \end{tabular}
+
+  \bigskip
+
+  Numerierung der Bits: von rechts ab 0
+
+  \medskip
+
+  \begin{tabular}{ll}
+    Bit Nr.\ 3 auf 1 setzen: &
+    \lstinline,a |= 1 << 3;, \\
+    Bit Nr.\ 4 auf 0 setzen: &
+    \lstinline,a &= ~(1 << 4);, \\
+    Bit Nr.\ 0 invertieren: &
+    \lstinline,a ^= 1 << 0;,
+  \end{tabular}
+
+  \smallskip
+
+  ~~Abfrage, ob Bit Nr.\ 1 gesetzt ist:\quad
+  \lstinline{if (a & (1 << 1))}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsubsection
+
+  C-Datentypen für Bit-Operationen:
+  \smallskip\par
+  \lstinline{#include <stdint.h>}
+  \medskip\par
+  \begin{tabular}{lllll}
+                    & 8 Bit & 16 Bit & 32 Bit & 64 Bit \\
+    mit Vorzeichen  & \lstinline,int8_t,
+                    & \lstinline,int16_t,
+                    & \lstinline,int32_t,
+                    & \lstinline,int64_t, \\
+    ohne Vorzeichen & \lstinline,uint8_t,
+                    & \lstinline,uint16_t,
+                    & \lstinline,uint32_t,
+                    & \lstinline,uint64_t,
+  \end{tabular}
+
+  \bigskip
+  \bigskip
+
+  Ausgabe:
+  \smallskip\par
+  \begin{lstlisting}
+    #include <stdio.h>
+    #include <stdint.h>
+    #include <inttypes.h>
+    ...
+    uint64_t x = 42;
+    printf ("Die Antwort lautet: %" PRIu64 "\n", x);
+  \end{lstlisting}
+
+  \bigskip
+
+  Aufgabe: Schreiben Sie C-Funktionen, die ein "`Array von Bits"' realisieren, z.\,B.
+
+  \smallskip
+
+  \begin{tabular}[t]{ll}
+    \lstinline|void set_bit (int i);|   & Bei Index $i$ auf 1 setzen \\
+    \lstinline|void clear_bit (int i);| & Bei Index $i$ auf 0 setzen \\
+    \lstinline|int get_bit (int i);|    & Bei Index $i$ lesen
+  \end{tabular}
+
+  \medskip
+
+  Hinweise:
+  \begin{itemize}
+    \item
+      Die Größe des Bit-"`Arrays"' (z.\,B.\ 1000) dürfen Sie als \emph{vorher bekannt\/} voraussetzen.
+    \item
+      Sie benötigen ein Array, z.\,B.\ von \lstinline|char|- oder \lstinline|int|-Variablen.
+    \item
+      Sie benötigen eine Division (\lstinline|/|) sowie den Divisionsrest (Modulo: \lstinline|%|).
+  \end{itemize}
+
+\end{frame}
+
+\subsection{I/O-Ports}
+
+\begin{frame}[fragile]
+
+%  \showsection
+  \showsubsection
+  \vspace*{-1.5\medskipamount}
+  {\large\textbf{\color{structure}4.3\quad Interrupts}}
+
+  \bigskip
+
+  Kommunikation mit externen Geräten
+
+  \bigskip
+
+  \begin{center}
+    \includegraphics{io-ports-and-interrupts.pdf}
+  \end{center}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  In Output-Port schreiben = Aktoren ansteuern
+
+  Beispiel: LED
+
+  \medskip
+
+  \begin{lstlisting}
+    #include <avr/io.h>
+    ...
+    DDRC = 0x70;
+    PORTC = 0x40;
+  \end{lstlisting}
+  \begin{picture}(0,0)
+    \put(3,0.67){\begin{minipage}{3cm}
+                \color{red}%
+                binär: 0111\,0000\\
+                binär: 0100\,0000
+              \end{minipage}}
+    \put(10,0.67){\makebox(0,0)[r]{\color{red}Herstellerspezifisch!}}
+  \end{picture}
+
+  \bigskip
+
+  \lstinline{DDR} = Data Direction Register\\
+  Bit = 1 für Output-Port\\
+  Bit = 0 für Input-Port
+
+  \bigskip
+
+  \emph{Details: siehe Datenblatt und Schaltplan}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Aus Input-Port lesen = Sensoren abfragen
+
+  Beispiel: Taster
+
+  \medskip
+
+  \begin{lstlisting}
+    #include <avr/io.h>
+    ...
+    DDRC = 0xfd;
+    while ((PINC & 0x02) == 0)
+      ; /* just wait */
+  \end{lstlisting}
+  \begin{picture}(0,0)(-1.5,-0.42)
+    \put(3,0.67){\begin{minipage}{3cm}
+                \color{red}%
+                binär: 1111\,1101\\
+                binär: 0000\,0010
+              \end{minipage}}
+    \put(10,0.67){\makebox(0,0)[r]{\color{red}Herstellerspezifisch!}}
+  \end{picture}
+
+  \bigskip
+
+  \lstinline{DDR} = Data Direction Register\\
+  Bit = 1 für Output-Port\\
+  Bit = 0 für Input-Port
+
+  \bigskip
+
+  \emph{Details: siehe Datenblatt und Schaltplan}
+  
+  \bigskip
+
+  Praktikumsaufgabe: Druckknopfampel
+
+\end{frame}
+
+\nosectionnonumber{\inserttitle}
+
+\begin{frame}
+
+  \shownosectionnonumber
+
+  \begin{itemize}
+    \item[\textbf{1}] \textbf{Einführung}
+      \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/hp}}}
+    \item[\textbf{2}] \textbf{Einführung in C}
+      \begin{itemize}
+        \vspace*{-\smallskipamount}
+        \item[\dots]
+        \item[2.10] Zeiger
+        \item[2.11] Arrays und Strings
+        \item[2.12] Strukturen
+        \item[2.13] Dateien und Fehlerbehandlung
+        \color{medgreen}
+        \item[2.14] Parameter des Hauptprogramms
+        \item[2.15] String-Operationen
+      \end{itemize}
+    \item[\textbf{3}] \textbf{Bibliotheken}
+%      \begin{itemize}
+%        \color{red}
+%        \item[3.1] Der Präprozessor
+%        \item[3.2] Bibliotheken einbinden
+%        \item[3.3] Bibliotheken verwenden
+%        \vspace*{-\smallskipamount}
+%        \item[\dots]
+%%        \item[3.4] Projekt organisieren: make
+%      \end{itemize}
+%    \vspace*{-\smallskipamount}
+    \item[\textbf{4}] \textbf{Hardwarenahe Programmierung}
+      \begin{itemize}
+        \color{medgreen}
+        \item[4.1] Bit-Operationen
+        \item[4.2] I/O-Ports
+        \color{red}
+        \item[4.3] Interrupts
+        \vspace*{-0.1cm}
+        \item[\dots]
+      \end{itemize}
+    \item[\textbf{5}] \textbf{Algorithmen}
+    \item[\textbf{\dots}]
+  \end{itemize}
+
+\end{frame}
+
+\fi
+
+\end{document}
diff --git a/20201217/hp-2020ws-p2.pdf b/20201217/hp-2020ws-p2.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..4916d463ee8b413c41cf654537397798a23ebf4d
Binary files /dev/null and b/20201217/hp-2020ws-p2.pdf differ
diff --git a/20201217/hp-2020ws-p2.tex b/20201217/hp-2020ws-p2.tex
new file mode 100644
index 0000000000000000000000000000000000000000..38bdde2fd5b9ebe9ce3a3631a80efca598642108
--- /dev/null
+++ b/20201217/hp-2020ws-p2.tex
@@ -0,0 +1,201 @@
+% hp-2020ws-p2.pdf - Labor Notes on Low-Level Programming
+% Copyright (C) 2014, 2015, 2018, 2019, 2020  Peter Gerwinski
+%
+% This document is free software: you can redistribute it and/or
+% modify it either under the terms of the Creative Commons
+% Attribution-ShareAlike 3.0 License, or under the terms of the
+% GNU General Public License as published by the Free Software
+% Foundation, either version 3 of the License, or (at your option)
+% any later version.
+%
+% This document is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this document.  If not, see <http://www.gnu.org/licenses/>.
+%
+% You should have received a copy of the Creative Commons
+% Attribution-ShareAlike 3.0 Unported License along with this
+% document.  If not, see <http://creativecommons.org/licenses/>.
+
+% README: Versuch 2: Weltraum-Simulation
+
+\documentclass[a4paper]{article}
+
+\usepackage{pgscript}
+\usepackage{multicol}
+%\usepackage{sfmath}
+
+\sloppy
+\raggedcolumns
+\pagestyle{empty}
+\addtolength{\textheight}{1cm}
+\newcommand{\sep}{~$\cdot$~}
+\newcommand{\mylicense}{CC BY-SA (Version 4.0) oder GNU GPL (Version 3 oder höher)}
+
+\begin{document}
+
+  \makebox(0,0.005)[tl]{\includegraphics[scale=0.72]{logo-hochschule-bochum-cvh-text-v2.pdf}}\hfill
+  \makebox(0,0)[tr]{\includegraphics[scale=0.5]{logo-hochschule-bochum.pdf}}
+  \par\bigskip\bigskip
+  \begin{center}
+    \Large\textbf{Praktikumsversuch 2: Weltraum-Simulation}
+    \par\medskip
+    \normalsize Hardwarenahe Programmierung\sep
+    Wintersemester 2020/21\sep
+    Prof.~Dr.~Peter Gerwinski
+  \end{center}
+
+  Aufgabe: Schreiben Sie ein C-Programm,
+  das die Bahnen von beliebig vielen Massenpunkten unter Einfluß der Gravitation
+  simuliert und in bewegter Grafik darstellt.
+
+  \begin{multicols}{2}
+
+    \begin{itemize}
+      \item
+        Zwei Massenpunkte ("`Himmelskörper"') mit den Massen $m_i$ und $m_j$
+        an den Orten $\vec{r}_i$ und $\vec{r}_j$ ziehen einander an.
+        Diese Kraft heißt Gravitation. Sie hat den Betrag:
+        \begin{equation}
+          |\vec{F}_{ij}| = \frac{m_j\cdot m_i\cdot G}{|\vec{r}_j - \vec{r}_i|^2}
+        \end{equation}
+        Hierbei ist $G$ eine Konstante (Gravitationskonstante).
+
+      \item
+        Die auf einen Himmelskörper wirkende Gesamtkraft $\vec{F}_i$
+        ergibt sich als Summe der von allen anderen Himmelskörpern herrührenden
+        Gravitationskräfte:
+        \begin{equation}
+          \vec{F}_i = \sum_{j=0,\,j\ne i}^{N - 1} \vec{F}_{ij}
+        \end{equation}
+
+      \item
+        Die Gravitationskraft beschleunigt jeden Himmelskörper gemäß:
+        \begin{equation}
+          \vec{F_i} = m_i\cdot \vec{a_i}
+        \end{equation}
+
+      \item
+        Beispiel: Wir betrachten zwei Himmelskörper. Einer davon ("`Zentralgestirn"')
+        ruht im Zentrum ($\vec{r}_0 = 0$, $\vec{v}_0 = 0$)
+        und hat eine wesentlich größere Masse als der andere
+        ("`Satellit"', $m_1 \ll m_0$).  Mit geeignetem Anfangsort $\vec{r}_1$
+        und geeigneter Anfangsgeschwindigkeit $\vec{v}_1$ beschreibt dann
+        der Satellit eine elliptische Umlaufbahn um das Zentralgestirn.
+
+      \item
+        Wir rechnen in zwei Dimensionen $x$ und $y$.
+
+      \item
+        Für die Zerlegung einer Kraft $\vec{F}_{ij}$ in $x$- und $y$-Komponenten
+        benötigen Sie nur die Grundrechenarten und die Wurzelfunktion,
+        jedoch insbesondere \emph{keine} trigonometrischen Funktionen:
+        \begin{equation}
+          \vec{F}_{ij} = |\vec{F}_{ij}| \cdot \frac{\vec{r}_j - \vec{r}_i}{|\vec{r}_j - \vec{r}_i|}
+        \end{equation}
+
+      \item
+        Die Wurzelfunktion \lstinline{sqrt()} finden Sie
+        in der Mathematik-Bibliothek.
+        Um diese zu nutzen, verwenden Sie \lstinline{#include <math.h>} im Quelltext,
+        und geben Sie beim \lstinline[style=cmd]{gcc}-Aufruf
+        \lstinline[style=cmd]{-lm} mit an.
+
+      \columnbreak
+
+      \item
+        Für die Simulation betrachten wir das System in kurzen Zeitintervallen $dt$
+        und berechnen die Änderungen des Ortes $\vec{r}_i = (x_i,y_i)$
+        und der Geschwindigkeit $\vec{v}_i = (v_{xi},v_{yi})$ jedes Himmelskörpers
+        mit Hilfe des expliziten Eulerschen Polygonzugverfahrens.
+        \par
+        (Wer möchte, darf natürlich auch andere Verfahren anwenden,
+        beispielsweise das klassische Runge-Kutta-Verfahren 4.~Ordnung.)
+
+      \item
+        Für eine derartige Simulation
+        einschließlich ihrer Darstellung als bewegte Grafik
+        können Sie sich von dem Beispiel-Programm \gitfile{hp}{20201217}{gtk-16.c}
+        inspirieren lassen.
+%        (Compilieren mit:
+%        \lstinline[style=cmd]{gcc}
+%        \lstinline[style=cmd]{-Wall}
+%        \lstinline[style=cmd]{-O}
+%        \lstinline[style=cmd]{gtk-16.c}
+%        \lstinline[style=cmd]{$(pkg-config}
+%        \lstinline[style=cmd]{--cflags}
+%        \lstinline[style=cmd]{--libs}
+%        \lstinline[style=cmd]{gtk+-3.0)}
+%        \lstinline[style=cmd]{-o}
+%        \lstinline[style=cmd]{gtk-16})
+
+      \item
+        In einer \file{GTK+}-\lstinline{drawing_area}
+        liegt der Nullpunkt der Zeichnung oben links,
+        eine Längeneinheit entspricht einem Pixel,
+        und die $y$-Koordinate wächst nach unten.
+        Es empfiehlt sich, die Koordinaten so umzurechnen,
+        daß der Nullpunkt in der Mitte der Zeichnung liegt,
+        die Längeneinheit Ihrem persönlichen Geschmack entspricht
+        und die $y$-Koordinate nach oben wächst.
+
+      \item
+        Beispiel-Szenarien für 3 oder mehr Körper:
+        \vspace{-\smallskipamount}
+        \begin{itemize}\itemsep0pt
+          \item 
+            Planet mit Mond umkreist Sonne
+          \item
+            Sonne mit mehreren Planeten, die sich gegenseitig beeinflussen
+          \item
+            zwei Sonnen umkreisen sich gegenseitig, Planet kreist drumherum
+          \item
+            Raumsonde besucht nacheinander mehrere Planeten
+        \end{itemize}
+
+      \item
+        \textbf{Hinweis:}
+        Speichern Sie die verschiedenen Körper nicht als separate Variable,
+        sondern in einem Array. Ihr Programm wird dadurch nicht nur flexibler,
+        sondern auch übersichtlicher und weniger fehleranfällig.
+
+      \item
+        \textbf{Abgabe:}
+        Ihre Quelltexte mit den Lösungen der Praktikumsaufgabe schicken Sie bitte
+        per E-Mail an \file{peter.gerwinski@hs-bochum.de}
+        mit dem \textbf{Betreff:} \lstinline[style=terminal]{aezeev1C}
+        unter Angabe von Name, Matrikel-Nummer,
+        Studiengang (MI/MP/TI) und Studienmodell (KIA/KIS/GS).
+
+    \end{itemize}
+
+  \end{multicols}
+
+  \vspace*{-\bigskipamount}
+
+  \strut\hfill\emph{Viel Erfolg!}\qquad\qquad
+
+  \vfill
+
+  \begingroup
+
+    \small
+
+    \setlength{\leftskip}{3cm}
+
+    Stand: 17.\ Dezember 2020
+
+%    Soweit nicht anders angegeben:\\
+    Copyright \copyright\ 2014, 2015, 2018, 2019, 2020\quad Peter Gerwinski\\
+    Lizenz: \mylicense
+
+    Sie können diese Praktikumsunterlagen einschließlich \LaTeX-Quelltext
+    und Beispielprogramm herunterladen unter:
+    \url{https://gitlab.cvh-server.de/pgerwinski/hp}
+
+  \endgroup
+
+\end{document}
diff --git a/20201217/hp-musterloesung-20201217.pdf b/20201217/hp-musterloesung-20201217.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..b24f535efe114e8c0e5539547b29f19ab90e3d4d
Binary files /dev/null and b/20201217/hp-musterloesung-20201217.pdf differ
diff --git a/20201217/hp-musterloesung-20201217.tex b/20201217/hp-musterloesung-20201217.tex
new file mode 100644
index 0000000000000000000000000000000000000000..80b5cf47a725e33ea10db827fa4a34d6c24ac89d
--- /dev/null
+++ b/20201217/hp-musterloesung-20201217.tex
@@ -0,0 +1,326 @@
+% hp-musterloesung-20201217.pdf - Solutions to the Exercises on Low-Level Programming
+% Copyright (C) 2013, 2015, 2016, 2017, 2018, 2019, 2020  Peter Gerwinski
+%
+% This document is free software: you can redistribute it and/or
+% modify it either under the terms of the Creative Commons
+% Attribution-ShareAlike 3.0 License, or under the terms of the
+% GNU General Public License as published by the Free Software
+% Foundation, either version 3 of the License, or (at your option)
+% any later version.
+%
+% This document is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this document.  If not, see <http://www.gnu.org/licenses/>.
+%
+% You should have received a copy of the Creative Commons
+% Attribution-ShareAlike 3.0 Unported License along with this
+% document.  If not, see <http://creativecommons.org/licenses/>.
+
+% README: Kondensator, hüpfender Ball
+
+\documentclass[a4paper]{article}
+
+\usepackage{pgscript}
+\usepackage{gnuplot-lua-tikz}
+
+\begin{document}
+
+  \section*{Hardwarenahe Programmierung\\
+            Musterlösung zu den Übungsaufgaben -- 17.\ Dezember 2020}
+
+  \exercise{Kondensator}
+
+  Ein Kondensator der Kapazität $C = 100\,\mu{\rm F}$
+  ist auf die Spannung $U_0 = 5\,{\rm V}$ aufgeladen
+  und wird über einen Widerstand $R = 33\,{\rm k}\Omega$ entladen.
+
+  \begin{enumerate}[(a)]
+    \item
+      Schreiben Sie ein C-Programm, das
+      den zeitlichen Spannungsverlauf in einer Tabelle darstellt.
+      \points{5}
+    \item
+      Schreiben Sie ein C-Programm, das ermittelt,
+      wie lange es dauert, bis die Spannung unter $0.1\,{\rm V}$ gefallen ist.
+      \points{4}
+    \item
+      Vergleichen Sie die berechneten Werte mit der exakten theoretischen Entladekurve:
+      \begin{math}
+        U(t) = U_0 \cdot e^{-\frac{t}{RC}}
+      \end{math}\\
+      \points{3}
+  \end{enumerate}
+
+  Hinweise:
+  \begin{itemize}
+    \item
+      Für die Simulation zerlegen wir den Entladevorgang in kurze Zeitintervalle $dt$.
+      Innerhalb jedes Zeitintervalls betrachten wir den Strom $I$ als konstant
+      und berechnen, wieviel Ladung $Q$ innerhalb des Zeitintervalls
+      aus dem Kondensator herausfließt.
+      Aus der neuen Ladung berechnen wir die Spannung am Ende des Zeitintervalls.
+    \item
+      Für den Vergleich mit der exakten theoretischen Entladekurve
+      benötigen Sie die Exponentialfunktion \lstinline{exp()}.
+      Diese finden Sie in der Mathematik-Bibliothek:
+      \lstinline{#include <math.h>} im Quelltext,
+      beim \lstinline[style=cmd]{gcc}-Aufruf \lstinline[style=cmd]{-lm} mit angeben.
+    \item
+      $Q = C \cdot U$,\quad $U = R \cdot I$,\quad $I = \frac{dQ}{dt}$
+  \end{itemize}
+
+  \solution
+
+  \begin{itemize}
+    \item
+      \textbf{Schreiben Sie ein C-Programm, das
+      den zeitlichen Spannungsverlauf in einer Tabelle darstellt.}
+
+      In dem Programm \gitfile{hp}{20201217}{loesung-1a.c}
+      arbeiten wir, dem ersten Hinweis folgend,
+      mit einem Zeitintervall von \lstinline{dt = 0.01}.
+      Mit dieser Schrittweite lassen wir uns eine Tabelle ausgeben,
+      die jeweils die Zeit und durch die Simulation berechnete Spannung ausgibt.
+
+      Wir simulieren, wie die Ladung $Q = C \cdot U$ des Kondensators
+      im Laufe der Zeit abfließt.
+      Dazu berechnen wir in jedem Zeitschritt zunächst den Strom $I = U / R$,
+      der aus dem Kondensator fließt.
+      Dieser Strom bewirkt, daß innerhalb des Zeitintervalls $dt$
+      die Ladung $dQ = I \cdot dt$ aus dem Kondensator abfließt.
+      Am Ende des Zeitintervalls berechnen wir die zur neuen Ladung $Q$
+      gehörende neue Spannung $U = Q / C$.
+
+      Für eine einfache Ausgabe der Tabelle
+      verwenden wir die Formatspezifikationen \lstinline{%10.3lf} für drei 
+      bzw.\ \lstinline{%15.8lf} für acht Nachkommastellen Genauigkeit.
+      Damit schreiben wir jeweils eine \emph{lange Fließkommazahl\/} (\lstinline{%lf})
+      rechtsbündig in ein Feld der Breite 10 bzw.\ 15
+      und lassen uns 3 bzw.\ 8 Nachkommastellen ausgeben. 
+
+      Wir compilieren das Programm mit:
+      \lstinline[style=cmd]{gcc -Wall -O loesung-1a.c -o loesung-1a}
+
+    \item
+      \textbf{Schreiben Sie ein C-Programm, das ermittelt,
+      wie lange es dauert, bis die Spannung unter \boldmath $0.1\,{\rm V}$ gefallen ist.}
+
+      Wir ändern das Programm \gitfile{hp}{20201217}{loesung-1a.c} so ab,
+      daß zum einen die Schleife abbricht, sobald die Spannung 
+      den Wert $0.1\,{\rm V}$ unterschreitet (\gitfile{hp}{20201217}{loesung-1b.c}),
+      und daß zum anderen nicht jedesmal eine Zeile für die Tabelle ausgegeben wird,
+      sondern erst am Ende die Zeit (und die Spannung).
+
+      Der Ausgabe entnehmen wir, daß die Spannung bei etwa $t = 12.90\,{\rm s}$
+      den Wert $0.1\,{\rm V}$ unterschreitet.
+
+    \item
+      \textbf{Vergleichen Sie die berechneten Werte
+      mit der exakten theoretischen Entladekurve:\\[0.5\smallskipamount]
+      \boldmath  
+      \begin{math}
+        U(t) = U_0 \cdot e^{-\frac{t}{RC}}
+      \end{math}}
+
+      Wir ändern das Programm \gitfile{hp}{20201217}{loesung-1a.c} so ab,
+      daß es zusätzlich zur Zeit und zur simulierten Spannung
+      die exakte Spannung $U_0 \cdot e^{-\frac{t}{RC}}$
+      gemäß der theoretischen Entladekurve ausgibt (\gitfile{hp}{20201217}{loesung-1c.c}),
+
+      Da dieses Programm die Exponentialfunktion verwendet, müssen wir nun
+      beim Compilieren zusätzlich \lstinline[style=cmd]{-lm}\hspace{1pt}
+      für das Einbinden der Mathematik-Bibliothek angeben.
+
+      Der erweiterten Tabelle können wir entnehmen,
+      daß die durch die Simulation berechnete Spannung
+      mit der Spannung $U_0 \cdot e^{-\frac{t}{RC}}$
+      gemäß der theoretischen Entladekurve
+      bis auf wenige Prozent übereinstimmt.
+      Dies ist für viele praktische Anwendungen ausreichend,
+      wenn auch nicht für Präzisionsmessungen.
+
+      Wenn Sie die Ausgabe des Programms, z.\,B.\ mit
+      \lstinline[style=cmd]{./loesung-1c > loesung-1c.dat},
+      in einer Datei \gitfile{hp}{20201217}{loesung-1c.dat} speichern,
+      können Sie sich die beiden Kurven graphisch darstellen lassen,
+      z.\,B.\ mit \file{gnuplot} und dem folgenden Befehl:
+      \begin{lstlisting}[style=cmd,gobble=8]
+        plot "loesung-1c.dat" using 1:2 with lines title "Simulation",
+             "loesung-1c.dat" using 1:3 with lines title "Theorie"
+      \end{lstlisting}
+      \begin{center}
+        \input{loesung-1c.tikz}
+      \end{center}
+
+      Der Unterschied zwischen der simulierten und der theoretischen Entladungskurve
+      ist mit bloßem Auge nicht sichtbar.
+  \end{itemize}
+
+  \vfill
+
+  \exercise{Fehlerhaftes Programm: Hüpfender Ball}
+
+  Das auf der nächsten Seite abgedruckte GTK+-Programm
+  (Datei: \gitfile{hp}{20201217}{aufgabe-2.c}) soll einen
+  hüpfenden Ball darstellen, ist jedoch fehlerhaft.
+
+  \begin{enumerate}[\quad(a)]
+    \item
+      Warum sieht man lediglich ein leeres Fenster?
+      Welchen Befehl muß man ergänzen, um diesen Fehler zu beheben?
+      \points{3}
+    \item
+      Nach der Fehlerbehebung in Aufgabenteil (a)
+      zeigt das Programm einen unbeweglichen Ball.
+      Welchen Befehl muß man ergänzen, um diesen Fehler zu beheben, und warum?
+      \points{2}
+    \item
+      Erklären Sie das merkwürdige Hüpfverhalten des Balls.
+      Wie kommt es zustande?
+      Was an diesem Verhalten ist korrekt, und was ist fehlerhaft? \points{5}
+    \item
+      Welche Befehle muß man in welcher Weise ändern,
+      um ein realistischeres Hüpf-Verhalten zu bekommen? \points{2}
+  \end{enumerate}
+
+  Hinweis: Das Hinzuziehen von Beispiel-Programmen aus der Vorlesung
+  ist ausdrücklich erlaubt -- auch in der Klausur.
+
+  Allgemeiner Hinweis:
+  Wenn Sie die Übungsaufgaben zu dieser Lehrveranstaltung
+  als PDF-Datei betrachten und darin auf die Dateinamen klicken,
+  können Sie die Beispiel-Programme direkt herunterladen.
+  Dadurch vermeiden Sie Übertragungsfehler.
+
+  \clearpage
+
+  \vbox to \textheight{\vspace*{-0.5cm}\begin{lstlisting}
+    #include <gtk/gtk.h>
+
+    #define WIDTH 320
+    #define HEIGHT 240
+
+    double t = 0.0;
+    double dt = 0.2;
+
+    int r = 5;
+
+    double x = 10;
+    double y = 200;
+    double vx = 20;
+    double vy = -60;
+    double g = 9.81;
+
+    gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
+    {
+      GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
+
+      gdk_cairo_set_source_rgba (c, &blue);
+      cairo_arc (c, x, y, r, 0, 2 * G_PI);
+      cairo_fill (c);
+
+      return FALSE;
+    }
+
+    gboolean timer (GtkWidget *widget)
+    {
+      t += dt;
+      x += vx * dt;
+      y += vy * dt;
+      vx = vx;
+      vy = 0.5 * g * (t * t);
+      if (y + r >= HEIGHT)
+        vy = -vy * 0.9;
+      if (x + r >= WIDTH)
+        vx = -vx * 0.9;
+      if (x - r <= 0)
+        vx = -vx * 0.9;
+      gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
+      g_timeout_add (50, (GSourceFunc) timer, widget);
+      return FALSE;
+    }
+
+    int main (int argc, char **argv)
+    {
+      gtk_init (&argc, &argv);
+
+      GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+      gtk_widget_show (window);
+      gtk_window_set_title (GTK_WINDOW (window), "Hello");
+      g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+
+      GtkWidget *drawing_area = gtk_drawing_area_new ();
+      gtk_widget_show (drawing_area);
+      gtk_container_add (GTK_CONTAINER (window), drawing_area);
+      gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
+
+      gtk_main ();
+      return 0;
+    }
+  \end{lstlisting}\vss}
+
+  \solution
+
+  \begin{enumerate}[\quad(a)]
+    \item
+      \textbf{Warum sieht man lediglich ein leeres Fenster?
+      Welchen Befehl muß man ergänzen, um diesen Fehler zu beheben?}
+
+      Die für das Zeichnen zuständige Callback-Funktion wurde zwar geschrieben,
+      aber nicht installiert.
+      Um dies zu beheben, ergänze man den folgenden Befehl im Hauptprogramm:
+
+      \lstinline{g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);}
+
+      Dies erkennt man sehr schnell durch Vergleich mit dem Beispiel-Programm
+      \gitfile{hp}{20201217}{gtk-16.c}.
+
+    \item
+      \textbf{Nach der Fehlerbehebung in Aufgabenteil (a)
+      zeigt das Programm einen unbeweglichen Ball.
+      Welchen Befehl muß man ergänzen, um diesen Fehler zu beheben, und warum?}
+
+      Die Timer-Callback-Funktion wurde zwar geschrieben, aber nicht installiert.
+      Um dies zu beheben, ergänze man den folgenden Befehl im Hauptprogramm:
+
+      \lstinline{g_timeout_add (50, (GSourceFunc) timer, drawing_area);}
+
+      Auch dies erkennt man sehr schnell durch Vergleich mit dem Beispiel-Programm
+      \gitfile{hp}{20201217}{gtk-16.c}.
+
+    \item
+      \textbf{Erklären Sie das merkwürdige Hüpfverhalten des Balls.
+      Wie kommt es zustande?
+      Was an diesem Verhalten ist korrekt, und was ist fehlerhaft?}
+
+      Die Geschwindigkeit in $y$-Richtung wächst immer weiter.
+      Der Grund dafür ist, daß die $y$-Komponente der Geschwindigkeit
+      nicht auf physikalisch sinnvolle Weise berechnet wird.
+      In der dafür zuständigen Zeile
+      \lstinline{vy = 0.5 * g * (t * t);}
+      wird stattdessen der Weg in $y$-Richtung bei einer gleichmäßig
+      beschleunigten Bewegung berechnet und als Geschwindigkeit verwendet.
+
+    \item
+      \textbf{Welche Befehle muß man in welcher Weise ändern,
+      um ein realistischeres Hüpf-Verhalten zu bekommen?}
+
+      Da der Ball am Boden abprallen soll, ist es \emph{nicht\/} sinnvoll,
+      die $y$-Komponente der Geschwindigkeit über die bekannte physikalische
+      Formel $v_y = -g\cdot t$ für die Geschwindigkeit in einer
+      gleichmäßig beschleunigten Bewegung zu berechnen.
+
+      Stattdessen ist es sinnvoll, die \emph{Geschwindigkeitsänderung\/}
+      innerhalb des Zeitintervalls \lstinline{dt}
+      zur Geschwindigkeitskomponente zu addieren:
+      \lstinline{vy += g * dt;}
+
+      Auch dies erkennt man sehr schnell durch Vergleich mit dem Beispiel-Programm
+      \gitfile{hp}{20201217}{gtk-16.c}.
+  \end{enumerate}
+
+\end{document}
diff --git a/20201217/hp-uebung-20201217.pdf b/20201217/hp-uebung-20201217.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..0e0a9dd70fa2689fdffa47b22ff53faf76d9534f
Binary files /dev/null and b/20201217/hp-uebung-20201217.pdf differ
diff --git a/20201217/hp-uebung-20201217.tex b/20201217/hp-uebung-20201217.tex
new file mode 100644
index 0000000000000000000000000000000000000000..c751465ed845232f67ea819201ea0c875d465d49
--- /dev/null
+++ b/20201217/hp-uebung-20201217.tex
@@ -0,0 +1,193 @@
+% hp-uebung-20201217.pdf - Exercises on Low-Level Programming
+% Copyright (C) 2013, 2015, 2016, 2017, 2018, 2019, 2020  Peter Gerwinski
+%
+% This document is free software: you can redistribute it and/or
+% modify it either under the terms of the Creative Commons
+% Attribution-ShareAlike 3.0 License, or under the terms of the
+% GNU General Public License as published by the Free Software
+% Foundation, either version 3 of the License, or (at your option)
+% any later version.
+%
+% This document is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this document.  If not, see <http://www.gnu.org/licenses/>.
+%
+% You should have received a copy of the Creative Commons
+% Attribution-ShareAlike 3.0 Unported License along with this
+% document.  If not, see <http://creativecommons.org/licenses/>.
+
+% README: Kondensator, hüpfender Ball
+
+\documentclass[a4paper]{article}
+
+\usepackage{pgscript}
+
+\begin{document}
+
+%  \thispagestyle{empty}
+
+  \section*{Hardwarenahe Programmierung\\
+            Übungsaufgaben -- 17.\ Dezember 2020}
+
+  Diese Übung enthält Punkteangaben wie in einer Klausur.
+  Um zu "`bestehen"', müssen Sie innerhalb von 70 Minuten
+  unter Verwendung ausschließlich zugelassener Hilfsmittel
+  12 Punkte (von insgesamt \totalpoints) erreichen.
+
+  \exercise{Kondensator}
+
+  Ein Kondensator der Kapazität $C = 100\,\mu{\rm F}$
+  ist auf die Spannung $U_0 = 5\,{\rm V}$ aufgeladen
+  und wird über einen Widerstand $R = 33\,{\rm k}\Omega$ entladen.
+
+  \begin{enumerate}[(a)]
+    \item
+      Schreiben Sie ein C-Programm, das
+      den zeitlichen Spannungsverlauf in einer Tabelle darstellt.
+      \points{5}
+    \item
+      Schreiben Sie ein C-Programm, das ermittelt,
+      wie lange es dauert, bis die Spannung unter $0.1\,{\rm V}$ gefallen ist.
+      \points{4}
+    \item
+      Vergleichen Sie die berechneten Werte mit der exakten theoretischen Entladekurve:
+      \begin{math}
+        U(t) = U_0 \cdot e^{-\frac{t}{RC}}
+      \end{math}\\
+      \points{3}
+  \end{enumerate}
+
+  Hinweise:
+  \begin{itemize}
+    \item
+      Für die Simulation zerlegen wir den Entladevorgang in kurze Zeitintervalle $dt$.
+      Innerhalb jedes Zeitintervalls betrachten wir den Strom $I$ als konstant
+      und berechnen, wieviel Ladung $Q$ innerhalb des Zeitintervalls
+      aus dem Kondensator herausfließt.
+      Aus der neuen Ladung berechnen wir die Spannung am Ende des Zeitintervalls.
+    \item
+      Für den Vergleich mit der exakten theoretischen Entladekurve
+      benötigen Sie die Exponentialfunktion \lstinline{exp()}.
+      Diese finden Sie in der Mathematik-Bibliothek:
+      \lstinline{#include <math.h>} im Quelltext,
+      beim \lstinline[style=cmd]{gcc}-Aufruf \lstinline[style=cmd]{-lm} mit angeben.
+    \item
+      $Q = C \cdot U$,\quad $U = R \cdot I$,\quad $I = \frac{dQ}{dt}$
+  \end{itemize}
+
+  \exercise{Fehlerhaftes Programm: Hüpfender Ball}
+
+  Das auf der nächsten Seite abgedruckte GTK+-Programm
+  (Datei: \gitfile{hp}{20201217}{aufgabe-2.c}) soll einen
+  hüpfenden Ball darstellen, ist jedoch fehlerhaft.
+
+  \begin{enumerate}[\quad(a)]
+    \item
+      Warum sieht man lediglich ein leeres Fenster?
+      Welchen Befehl muß man ergänzen, um diesen Fehler zu beheben?
+      \points{3}
+    \item
+      Nach der Fehlerbehebung in Aufgabenteil (a)
+      zeigt das Programm einen unbeweglichen Ball.
+      Welchen Befehl muß man ergänzen, um diesen Fehler zu beheben, und warum?
+      \points{2}
+    \item
+      Erklären Sie das merkwürdige Hüpfverhalten des Balls.
+      Wie kommt es zustande?
+      Was an diesem Verhalten ist korrekt, und was ist fehlerhaft? \points{5}
+    \item
+      Welche Befehle muß man in welcher Weise ändern,
+      um ein realistischeres Hüpf-Verhalten zu bekommen? \points{2}
+  \end{enumerate}
+
+  Hinweis: Das Hinzuziehen von Beispiel-Programmen aus der Vorlesung
+  ist ausdrücklich erlaubt -- auch in der Klausur.
+
+  Allgemeiner Hinweis:
+  Wenn Sie die Übungsaufgaben zu dieser Lehrveranstaltung
+  als PDF-Datei betrachten und darin auf die Dateinamen klicken,
+  können Sie die Beispiel-Programme direkt herunterladen.
+  Dadurch vermeiden Sie Übertragungsfehler.
+
+  \bigskip
+
+  \begin{flushright}
+    \textit{Viel Erfolg!}
+  \end{flushright}
+
+  \clearpage
+
+  \vbox to \textheight{\vspace*{-0.5cm}\begin{lstlisting}
+    #include <gtk/gtk.h>
+
+    #define WIDTH 320
+    #define HEIGHT 240
+
+    double t = 0.0;
+    double dt = 0.2;
+
+    int r = 5;
+
+    double x = 10;
+    double y = 200;
+    double vx = 20;
+    double vy = -60;
+    double g = 9.81;
+
+    gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
+    {
+      GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
+
+      gdk_cairo_set_source_rgba (c, &blue);
+      cairo_arc (c, x, y, r, 0, 2 * G_PI);
+      cairo_fill (c);
+
+      return FALSE;
+    }
+
+    gboolean timer (GtkWidget *widget)
+    {
+      t += dt;
+      x += vx * dt;
+      y += vy * dt;
+      vx = vx;
+      vy = 0.5 * g * (t * t);
+      if (y + r >= HEIGHT)
+        vy = -vy * 0.9;
+      if (x + r >= WIDTH)
+        vx = -vx * 0.9;
+      if (x - r <= 0)
+        vx = -vx * 0.9;
+      gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
+      g_timeout_add (50, (GSourceFunc) timer, widget);
+      return FALSE;
+    }
+
+    int main (int argc, char **argv)
+    {
+      gtk_init (&argc, &argv);
+
+      GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+      gtk_widget_show (window);
+      gtk_window_set_title (GTK_WINDOW (window), "Hello");
+      g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+
+      GtkWidget *drawing_area = gtk_drawing_area_new ();
+      gtk_widget_show (drawing_area);
+      gtk_container_add (GTK_CONTAINER (window), drawing_area);
+      gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
+
+      gtk_main ();
+      return 0;
+    }
+  \end{lstlisting}\vss}
+
+  \makeatletter
+    \immediate\write\@mainaux{\string\gdef\string\totalpoints{\arabic{points}}}
+  \makeatother
+
+\end{document}
diff --git a/20201217/loesung-1a.c b/20201217/loesung-1a.c
new file mode 100644
index 0000000000000000000000000000000000000000..f355706a6ff6f95bd72897123a985fb2b7ead7c3
--- /dev/null
+++ b/20201217/loesung-1a.c
@@ -0,0 +1,22 @@
+#include <stdio.h>
+#include <math.h>
+
+int main (void)
+{
+  double C = 0.0001;
+  double U0 = 5.0;
+  double U = U0;
+  double R = 33000.0;
+  double t = 0.0;
+  double dt = 0.01;
+  double Q = C * U;
+  while (U > 0.09)
+    {
+      printf ("%10.3lf%15.8lf\n", t, U);
+      double I = U / R;
+      Q -= I * dt;
+      U = Q / C;
+      t += dt;
+    }
+  return 0;
+}
diff --git a/20201217/loesung-1b.c b/20201217/loesung-1b.c
new file mode 100644
index 0000000000000000000000000000000000000000..f5fc22022ef10a1b986bbd11fba8298a7547792d
--- /dev/null
+++ b/20201217/loesung-1b.c
@@ -0,0 +1,22 @@
+#include <stdio.h>
+#include <math.h>
+
+int main (void)
+{
+  double C = 0.0001;
+  double U0 = 5.0;
+  double U = U0;
+  double R = 33000.0;
+  double t = 0.0;
+  double dt = 0.01;
+  double Q = C * U;
+  while (U >= 0.1)
+    {
+      double I = U / R;
+      Q -= I * dt;
+      U = Q / C;
+      t += dt;
+    }
+  printf ("%10.3lf%15.8lf\n", t, U);
+  return 0;
+}
diff --git a/20201217/loesung-1c.c b/20201217/loesung-1c.c
new file mode 100644
index 0000000000000000000000000000000000000000..71802e036dd56534470028b61f646d297d1d8840
--- /dev/null
+++ b/20201217/loesung-1c.c
@@ -0,0 +1,22 @@
+#include <stdio.h>
+#include <math.h>
+
+int main (void)
+{
+  double C = 0.0001;
+  double U0 = 5.0;
+  double U = U0;
+  double R = 33000.0;
+  double t = 0.0;
+  double dt = 0.01;
+  double Q = C * U;
+  while (U > 0.09)
+    {
+      printf ("%10.3lf%15.8lf%15.8lf\n", t, U, U0 * exp (-t / (R * C)));
+      double I = U / R;
+      Q -= I * dt;
+      U = Q / C;
+      t += dt;
+    }
+  return 0;
+}
diff --git a/20201217/loesung-1c.dat b/20201217/loesung-1c.dat
new file mode 100644
index 0000000000000000000000000000000000000000..4df706295bde25a74e025c5335f43617d93129a8
--- /dev/null
+++ b/20201217/loesung-1c.dat
@@ -0,0 +1,1324 @@
+     0.000     5.00000000     5.00000000
+     0.010     4.98484848     4.98487142
+     0.020     4.96974288     4.96978861
+     0.030     4.95468306     4.95475144
+     0.040     4.93966887     4.93975977
+     0.050     4.92470017     4.92481346
+     0.060     4.90977684     4.90991237
+     0.070     4.89489873     4.89505637
+     0.080     4.88006570     4.88024532
+     0.090     4.86527762     4.86547908
+     0.100     4.85053436     4.85075752
+     0.110     4.83583577     4.83608050
+     0.120     4.82118172     4.82144789
+     0.130     4.80657208     4.80685956
+     0.140     4.79200671     4.79231537
+     0.150     4.77748548     4.77781518
+     0.160     4.76300825     4.76335887
+     0.170     4.74857489     4.74894630
+     0.180     4.73418527     4.73457733
+     0.190     4.71983925     4.72025184
+     0.200     4.70553671     4.70596970
+     0.210     4.69127751     4.69173077
+     0.220     4.67706151     4.67753493
+     0.230     4.66288860     4.66338203
+     0.240     4.64875864     4.64927196
+     0.250     4.63467149     4.63520458
+     0.260     4.62062703     4.62117977
+     0.270     4.60662513     4.60719739
+     0.280     4.59266566     4.59325732
+     0.290     4.57874849     4.57935942
+     0.300     4.56487349     4.56550358
+     0.310     4.55104054     4.55168966
+     0.320     4.53724951     4.53791754
+     0.330     4.52350027     4.52418709
+     0.340     4.50979269     4.51049818
+     0.350     4.49612666     4.49685070
+     0.360     4.48250203     4.48324450
+     0.370     4.46891869     4.46967948
+     0.380     4.45537651     4.45615549
+     0.390     4.44187537     4.44267243
+     0.400     4.42841514     4.42923016
+     0.410     4.41499570     4.41582857
+     0.420     4.40161693     4.40246753
+     0.430     4.38827870     4.38914691
+     0.440     4.37498088     4.37586660
+     0.450     4.36172336     4.36262646
+     0.460     4.34850602     4.34942639
+     0.470     4.33532873     4.33626626
+     0.480     4.32219137     4.32314595
+     0.490     4.30909382     4.31006534
+     0.500     4.29603596     4.29702430
+     0.510     4.28301767     4.28402273
+     0.520     4.27003883     4.27106049
+     0.530     4.25709932     4.25813747
+     0.540     4.24419901     4.24525356
+     0.550     4.23133781     4.23240862
+     0.560     4.21851557     4.21960256
+     0.570     4.20573219     4.20683524
+     0.580     4.19298755     4.19410655
+     0.590     4.18028152     4.18141637
+     0.600     4.16761400     4.16876459
+     0.610     4.15498487     4.15615109
+     0.620     4.14239401     4.14357576
+     0.630     4.12984130     4.13103847
+     0.640     4.11732663     4.11853912
+     0.650     4.10484988     4.10607759
+     0.660     4.09241094     4.09365377
+     0.670     4.08000970     4.08126753
+     0.680     4.06764603     4.06891877
+     0.690     4.05531983     4.05660738
+     0.700     4.04303098     4.04433324
+     0.710     4.03077937     4.03209623
+     0.720     4.01856489     4.01989625
+     0.730     4.00638742     4.00773319
+     0.740     3.99424685     3.99560692
+     0.750     3.98214307     3.98351735
+     0.760     3.97007597     3.97146436
+     0.770     3.95804544     3.95944783
+     0.780     3.94605136     3.94746767
+     0.790     3.93409363     3.93552375
+     0.800     3.92217214     3.92361597
+     0.810     3.91028677     3.91174422
+     0.820     3.89843741     3.89990839
+     0.830     3.88662397     3.88810838
+     0.840     3.87484632     3.87634406
+     0.850     3.86310436     3.86461535
+     0.860     3.85139798     3.85292212
+     0.870     3.83972708     3.84126427
+     0.880     3.82809154     3.82964169
+     0.890     3.81649127     3.81805428
+     0.900     3.80492614     3.80650193
+     0.910     3.79339606     3.79498454
+     0.920     3.78190092     3.78350199
+     0.930     3.77044062     3.77205419
+     0.940     3.75901504     3.76064102
+     0.950     3.74762408     3.74926239
+     0.960     3.73626765     3.73791819
+     0.970     3.72494562     3.72660831
+     0.980     3.71365791     3.71533265
+     0.990     3.70240440     3.70409110
+     1.000     3.69118499     3.69288357
+     1.010     3.67999958     3.68170996
+     1.020     3.66884807     3.67057015
+     1.030     3.65773035     3.65946404
+     1.040     3.64664632     3.64839154
+     1.050     3.63559587     3.63735255
+     1.060     3.62457892     3.62634695
+     1.070     3.61359534     3.61537465
+     1.080     3.60264506     3.60443555
+     1.090     3.59172795     3.59352955
+     1.100     3.58084393     3.58265655
+     1.110     3.56999288     3.57181645
+     1.120     3.55917472     3.56100915
+     1.130     3.54838934     3.55023454
+     1.140     3.53763665     3.53949254
+     1.150     3.52691654     3.52878304
+     1.160     3.51622891     3.51810594
+     1.170     3.50557367     3.50746115
+     1.180     3.49495072     3.49684857
+     1.190     3.48435996     3.48626810
+     1.200     3.47380130     3.47571964
+     1.210     3.46327463     3.46520310
+     1.220     3.45277985     3.45471838
+     1.230     3.44231689     3.44426538
+     1.240     3.43188562     3.43384401
+     1.250     3.42148597     3.42345417
+     1.260     3.41111783     3.41309577
+     1.270     3.40078111     3.40276871
+     1.280     3.39047571     3.39247290
+     1.290     3.38020154     3.38220824
+     1.300     3.36995851     3.37197464
+     1.310     3.35974651     3.36177200
+     1.320     3.34956546     3.35160023
+     1.330     3.33941526     3.34145924
+     1.340     3.32929582     3.33134893
+     1.350     3.31920705     3.32126921
+     1.360     3.30914885     3.31122000
+     1.370     3.29912112     3.30120118
+     1.380     3.28912378     3.29121269
+     1.390     3.27915674     3.28125441
+     1.400     3.26921990     3.27132626
+     1.410     3.25931318     3.26142816
+     1.420     3.24943647     3.25156000
+     1.430     3.23958969     3.24172171
+     1.440     3.22977276     3.23191317
+     1.450     3.21998557     3.22213432
+     1.460     3.21022803     3.21238506
+     1.470     3.20050007     3.20266529
+     1.480     3.19080158     3.19297494
+     1.490     3.18113249     3.18331390
+     1.500     3.17149269     3.17368209
+     1.510     3.16188211     3.16407943
+     1.520     3.15230065     3.15450583
+     1.530     3.14274822     3.14496119
+     1.540     3.13322474     3.13544543
+     1.550     3.12373012     3.12595846
+     1.560     3.11426427     3.11650019
+     1.570     3.10482711     3.10707055
+     1.580     3.09541854     3.09766944
+     1.590     3.08603849     3.08829677
+     1.600     3.07668685     3.07895246
+     1.610     3.06736356     3.06963642
+     1.620     3.05806852     3.06034857
+     1.630     3.04880164     3.05108882
+     1.640     3.03956285     3.04185710
+     1.650     3.03035206     3.03265330
+     1.660     3.02116917     3.02347735
+     1.670     3.01201411     3.01432917
+     1.680     3.00288680     3.00520866
+     1.690     2.99378714     2.99611575
+     1.700     2.98471506     2.98705036
+     1.710     2.97567047     2.97801239
+     1.720     2.96665328     2.96900177
+     1.730     2.95766343     2.96001841
+     1.740     2.94870081     2.95106223
+     1.750     2.93976535     2.94213316
+     1.760     2.93085697     2.93323110
+     1.770     2.92197559     2.92435597
+     1.780     2.91312112     2.91550770
+     1.790     2.90429348     2.90668620
+     1.800     2.89549259     2.89789139
+     1.810     2.88671837     2.88912320
+     1.820     2.87797074     2.88038153
+     1.830     2.86924961     2.87166631
+     1.840     2.86055492     2.86297746
+     1.850     2.85188657     2.85431491
+     1.860     2.84324449     2.84567856
+     1.870     2.83462859     2.83706834
+     1.880     2.82603881     2.82848418
+     1.890     2.81747506     2.81992599
+     1.900     2.80893725     2.81139369
+     1.910     2.80042532     2.80288721
+     1.920     2.79193919     2.79440647
+     1.930     2.78347876     2.78595139
+     1.940     2.77504398     2.77752189
+     1.950     2.76663476     2.76911790
+     1.960     2.75825101     2.76073933
+     1.970     2.74989268     2.75238612
+     1.980     2.74155967     2.74405818
+     1.990     2.73325191     2.73575544
+     2.000     2.72496933     2.72747782
+     2.010     2.71671185     2.71922525
+     2.020     2.70847939     2.71099764
+     2.030     2.70027187     2.70279493
+     2.040     2.69208923     2.69461704
+     2.050     2.68393139     2.68646389
+     2.060     2.67579826     2.67833542
+     2.070     2.66768978     2.67023153
+     2.080     2.65960587     2.66215217
+     2.090     2.65154646     2.65409725
+     2.100     2.64351147     2.64606671
+     2.110     2.63550083     2.63806046
+     2.120     2.62751447     2.63007844
+     2.130     2.61955230     2.62212057
+     2.140     2.61161426     2.61418677
+     2.150     2.60370028     2.60627699
+     2.160     2.59581028     2.59839113
+     2.170     2.58794419     2.59052914
+     2.180     2.58010193     2.58269093
+     2.190     2.57228344     2.57487644
+     2.200     2.56448864     2.56708560
+     2.210     2.55671747     2.55931832
+     2.220     2.54896984     2.55157455
+     2.230     2.54124569     2.54385421
+     2.240     2.53354494     2.53615723
+     2.250     2.52586753     2.52848354
+     2.260     2.51821339     2.52083306
+     2.270     2.51058244     2.51320574
+     2.280     2.50297461     2.50560149
+     2.290     2.49538984     2.49802025
+     2.300     2.48782805     2.49046195
+     2.310     2.48028918     2.48292652
+     2.320     2.47277315     2.47541389
+     2.330     2.46527990     2.46792399
+     2.340     2.45780936     2.46045675
+     2.350     2.45036145     2.45301211
+     2.360     2.44293611     2.44558999
+     2.370     2.43553328     2.43819033
+     2.380     2.42815287     2.43081305
+     2.390     2.42079483     2.42345810
+     2.400     2.41345909     2.41612541
+     2.410     2.40614558     2.40881490
+     2.420     2.39885423     2.40152651
+     2.430     2.39158497     2.39426017
+     2.440     2.38433775     2.38701582
+     2.450     2.37711248     2.37979338
+     2.460     2.36990911     2.37259280
+     2.470     2.36272757     2.36541401
+     2.480     2.35556778     2.35825694
+     2.490     2.34842970     2.35112152
+     2.500     2.34131325     2.34400770
+     2.510     2.33421836     2.33691539
+     2.520     2.32714497     2.32984455
+     2.530     2.32009302     2.32279510
+     2.540     2.31306243     2.31576698
+     2.550     2.30605315     2.30876013
+     2.560     2.29906511     2.30177448
+     2.570     2.29209825     2.29480996
+     2.580     2.28515249     2.28786652
+     2.590     2.27822779     2.28094408
+     2.600     2.27132407     2.27404259
+     2.610     2.26444127     2.26716198
+     2.620     2.25757933     2.26030219
+     2.630     2.25073818     2.25346316
+     2.640     2.24391776     2.24664482
+     2.650     2.23711801     2.23984711
+     2.660     2.23033886     2.23306997
+     2.670     2.22358026     2.22631333
+     2.680     2.21684214     2.21957714
+     2.690     2.21012443     2.21286133
+     2.700     2.20342709     2.20616584
+     2.710     2.19675003     2.19949061
+     2.720     2.19009322     2.19283557
+     2.730     2.18345657     2.18620067
+     2.740     2.17684003     2.17958585
+     2.750     2.17024355     2.17299104
+     2.760     2.16366705     2.16641619
+     2.770     2.15711049     2.15986123
+     2.780     2.15057379     2.15332610
+     2.790     2.14405690     2.14681075
+     2.800     2.13755976     2.14031511
+     2.810     2.13108230     2.13383912
+     2.820     2.12462448     2.12738273
+     2.830     2.11818622     2.12094587
+     2.840     2.11176748     2.11452849
+     2.850     2.10536818     2.10813053
+     2.860     2.09898828     2.10175192
+     2.870     2.09262771     2.09539262
+     2.880     2.08628641     2.08905255
+     2.890     2.07996433     2.08273167
+     2.900     2.07366141     2.07642992
+     2.910     2.06737759     2.07014723
+     2.920     2.06111280     2.06388355
+     2.930     2.05486701     2.05763883
+     2.940     2.04864014     2.05141299
+     2.950     2.04243214     2.04520600
+     2.960     2.03624295     2.03901779
+     2.970     2.03007252     2.03284830
+     2.980     2.02392078     2.02669748
+     2.990     2.01778769     2.02056526
+     3.000     2.01167318     2.01445161
+     3.010     2.00557720     2.00835645
+     3.020     1.99949969     2.00227973
+     3.030     1.99344060     1.99622140
+     3.040     1.98739988     1.99018140
+     3.050     1.98137745     1.98415968
+     3.060     1.97537328     1.97815617
+     3.070     1.96938730     1.97217083
+     3.080     1.96341946     1.96620360
+     3.090     1.95746970     1.96025443
+     3.100     1.95153798     1.95432326
+     3.110     1.94562422     1.94841003
+     3.120     1.93972839     1.94251469
+     3.130     1.93385043     1.93663719
+     3.140     1.92799028     1.93077748
+     3.150     1.92214788     1.92493549
+     3.160     1.91632319     1.91911119
+     3.170     1.91051615     1.91330450
+     3.180     1.90472671     1.90751538
+     3.190     1.89895481     1.90174378
+     3.200     1.89320040     1.89598965
+     3.210     1.88746343     1.89025292
+     3.220     1.88174384     1.88453355
+     3.230     1.87604159     1.87883149
+     3.240     1.87035661     1.87314668
+     3.250     1.86468887     1.86747906
+     3.260     1.85903829     1.86182860
+     3.270     1.85340484     1.85619524
+     3.280     1.84778847     1.85057892
+     3.290     1.84218911     1.84497959
+     3.300     1.83660672     1.83939721
+     3.310     1.83104124     1.83383171
+     3.320     1.82549263     1.82828306
+     3.330     1.81996084     1.82275119
+     3.340     1.81444580     1.81723606
+     3.350     1.80894748     1.81173762
+     3.360     1.80346582     1.80625582
+     3.370     1.79800078     1.80079060
+     3.380     1.79255229     1.79534192
+     3.390     1.78712031     1.78990972
+     3.400     1.78170480     1.78449397
+     3.410     1.77630569     1.77909459
+     3.420     1.77092295     1.77371156
+     3.430     1.76555651     1.76834481
+     3.440     1.76020634     1.76299430
+     3.450     1.75487238     1.75765998
+     3.460     1.74955459     1.75234180
+     3.470     1.74425291     1.74703971
+     3.480     1.73896729     1.74175366
+     3.490     1.73369769     1.73648361
+     3.500     1.72844406     1.73122950
+     3.510     1.72320636     1.72599129
+     3.520     1.71798452     1.72076893
+     3.530     1.71277850     1.71556238
+     3.540     1.70758827     1.71037157
+     3.550     1.70241376     1.70519647
+     3.560     1.69725493     1.70003703
+     3.570     1.69211173     1.69489320
+     3.580     1.68698412     1.68976494
+     3.590     1.68187205     1.68465219
+     3.600     1.67677546     1.67955491
+     3.610     1.67169433     1.67447305
+     3.620     1.66662859     1.66940657
+     3.630     1.66157820     1.66435542
+     3.640     1.65654311     1.65931955
+     3.650     1.65152328     1.65429892
+     3.660     1.64651867     1.64929348
+     3.670     1.64152922     1.64430319
+     3.680     1.63655489     1.63932799
+     3.690     1.63159563     1.63436785
+     3.700     1.62665140     1.62942272
+     3.710     1.62172215     1.62449255
+     3.720     1.61680784     1.61957729
+     3.730     1.61190842     1.61467691
+     3.740     1.60702385     1.60979136
+     3.750     1.60215408     1.60492059
+     3.760     1.59729907     1.60006455
+     3.770     1.59245877     1.59522321
+     3.780     1.58763314     1.59039652
+     3.790     1.58282213     1.58558443
+     3.800     1.57802570     1.58078690
+     3.810     1.57324380     1.57600389
+     3.820     1.56847640     1.57123535
+     3.830     1.56372344     1.56648123
+     3.840     1.55898488     1.56174151
+     3.850     1.55426069     1.55701612
+     3.860     1.54955081     1.55230503
+     3.870     1.54485520     1.54760820
+     3.880     1.54017382     1.54292557
+     3.890     1.53550662     1.53825712
+     3.900     1.53085357     1.53360279
+     3.910     1.52621462     1.52896254
+     3.920     1.52158973     1.52433633
+     3.930     1.51697885     1.51972412
+     3.940     1.51238195     1.51512587
+     3.950     1.50779897     1.51054153
+     3.960     1.50322988     1.50597106
+     3.970     1.49867464     1.50141442
+     3.980     1.49413320     1.49687156
+     3.990     1.48960553     1.49234246
+     4.000     1.48509157     1.48782705
+     4.010     1.48059129     1.48332531
+     4.020     1.47610465     1.47883719
+     4.030     1.47163161     1.47436264
+     4.040     1.46717212     1.46990164
+     4.050     1.46272614     1.46545414
+     4.060     1.45829364     1.46102009
+     4.070     1.45387457     1.45659946
+     4.080     1.44946889     1.45219220
+     4.090     1.44507656     1.44779828
+     4.100     1.44069754     1.44341765
+     4.110     1.43633179     1.43905028
+     4.120     1.43197927     1.43469612
+     4.130     1.42763994     1.43035514
+     4.140     1.42331375     1.42602729
+     4.150     1.41900068     1.42171253
+     4.160     1.41470068     1.41741084
+     4.170     1.41041371     1.41312215
+     4.180     1.40613973     1.40884645
+     4.190     1.40187870     1.40458368
+     4.200     1.39763058     1.40033380
+     4.210     1.39339534     1.39609679
+     4.220     1.38917293     1.39187260
+     4.230     1.38496331     1.38766119
+     4.240     1.38076645     1.38346252
+     4.250     1.37658231     1.37927655
+     4.260     1.37241085     1.37510325
+     4.270     1.36825203     1.37094258
+     4.280     1.36410581     1.36679450
+     4.290     1.35997216     1.36265897
+     4.300     1.35585103     1.35853595
+     4.310     1.35174239     1.35442540
+     4.320     1.34764620     1.35032729
+     4.330     1.34356242     1.34624159
+     4.340     1.33949102     1.34216824
+     4.350     1.33543196     1.33810722
+     4.360     1.33138520     1.33405849
+     4.370     1.32735070     1.33002201
+     4.380     1.32332842     1.32599774
+     4.390     1.31931833     1.32198564
+     4.400     1.31532040     1.31798569
+     4.410     1.31133458     1.31399784
+     4.420     1.30736084     1.31002206
+     4.430     1.30339914     1.30605830
+     4.440     1.29944945     1.30210654
+     4.450     1.29551172     1.29816673
+     4.460     1.29158593     1.29423885
+     4.470     1.28767203     1.29032285
+     4.480     1.28376999     1.28641870
+     4.490     1.27987978     1.28252636
+     4.500     1.27600136     1.27864580
+     4.510     1.27213469     1.27477698
+     4.520     1.26827973     1.27091987
+     4.530     1.26443646     1.26707442
+     4.540     1.26060484     1.26324062
+     4.550     1.25678482     1.25941841
+     4.560     1.25297638     1.25560777
+     4.570     1.24917948     1.25180865
+     4.580     1.24539409     1.24802103
+     4.590     1.24162017     1.24424488
+     4.600     1.23785769     1.24048015
+     4.610     1.23410660     1.23672680
+     4.620     1.23036688     1.23298482
+     4.630     1.22663850     1.22925416
+     4.640     1.22292141     1.22553478
+     4.650     1.21921559     1.22182666
+     4.660     1.21552100     1.21812976
+     4.670     1.21183760     1.21444405
+     4.680     1.20816537     1.21076948
+     4.690     1.20450426     1.20710604
+     4.700     1.20085425     1.20345368
+     4.710     1.19721529     1.19981237
+     4.720     1.19358737     1.19618208
+     4.730     1.18997044     1.19256277
+     4.740     1.18636447     1.18895441
+     4.750     1.18276942     1.18535697
+     4.760     1.17918527     1.18177042
+     4.770     1.17561198     1.17819472
+     4.780     1.17204952     1.17462984
+     4.790     1.16849786     1.17107574
+     4.800     1.16495696     1.16753240
+     4.810     1.16142678     1.16399977
+     4.820     1.15790731     1.16047784
+     4.830     1.15439850     1.15696656
+     4.840     1.15090032     1.15346591
+     4.850     1.14741274     1.14997585
+     4.860     1.14393574     1.14649635
+     4.870     1.14046926     1.14302738
+     4.880     1.13701330     1.13956890
+     4.890     1.13356780     1.13612089
+     4.900     1.13013275     1.13268331
+     4.910     1.12670810     1.12925613
+     4.920     1.12329384     1.12583932
+     4.930     1.11988992     1.12243285
+     4.940     1.11649631     1.11903669
+     4.950     1.11311299     1.11565080
+     4.960     1.10973992     1.11227516
+     4.970     1.10637707     1.10890973
+     4.980     1.10302441     1.10555448
+     4.990     1.09968191     1.10220939
+     5.000     1.09634954     1.09887442
+     5.010     1.09302727     1.09554953
+     5.020     1.08971507     1.09223471
+     5.030     1.08641290     1.08892992
+     5.040     1.08312074     1.08563513
+     5.050     1.07983856     1.08235030
+     5.060     1.07656632     1.07907542
+     5.070     1.07330400     1.07581044
+     5.080     1.07005156     1.07255534
+     5.090     1.06680898     1.06931010
+     5.100     1.06357623     1.06607467
+     5.110     1.06035327     1.06284903
+     5.120     1.05714008     1.05963315
+     5.130     1.05393662     1.05642700
+     5.140     1.05074287     1.05323055
+     5.150     1.04755880     1.05004377
+     5.160     1.04438438     1.04686664
+     5.170     1.04121958     1.04369912
+     5.180     1.03806437     1.04054118
+     5.190     1.03491872     1.03739280
+     5.200     1.03178261     1.03425394
+     5.210     1.02865599     1.03112458
+     5.220     1.02553885     1.02800469
+     5.230     1.02243116     1.02489424
+     5.240     1.01933288     1.02179320
+     5.250     1.01624399     1.01870155
+     5.260     1.01316447     1.01561924
+     5.270     1.01009427     1.01254627
+     5.280     1.00703338     1.00948259
+     5.290     1.00398176     1.00642818
+     5.300     1.00093939     1.00338302
+     5.310     0.99790625     1.00034706
+     5.320     0.99488229     0.99732030
+     5.330     0.99186749     0.99430269
+     5.340     0.98886183     0.99129421
+     5.350     0.98586528     0.98829484
+     5.360     0.98287781     0.98530454
+     5.370     0.97989939     0.98232328
+     5.380     0.97693000     0.97935105
+     5.390     0.97396961     0.97638781
+     5.400     0.97101818     0.97343354
+     5.410     0.96807571     0.97048821
+     5.420     0.96514214     0.96755179
+     5.430     0.96221747     0.96462425
+     5.440     0.95930166     0.96170557
+     5.450     0.95639468     0.95879572
+     5.460     0.95349652     0.95589468
+     5.470     0.95060714     0.95300241
+     5.480     0.94772651     0.95011890
+     5.490     0.94485461     0.94724411
+     5.500     0.94199141     0.94437801
+     5.510     0.93913689     0.94152059
+     5.520     0.93629102     0.93867182
+     5.530     0.93345378     0.93583167
+     5.540     0.93062513     0.93300010
+     5.550     0.92780505     0.93017711
+     5.560     0.92499352     0.92736266
+     5.570     0.92219051     0.92455672
+     5.580     0.91939600     0.92175928
+     5.590     0.91660995     0.91897029
+     5.600     0.91383234     0.91618975
+     5.610     0.91106315     0.91341762
+     5.620     0.90830236     0.91065388
+     5.630     0.90554992     0.90789850
+     5.640     0.90280583     0.90515145
+     5.650     0.90007006     0.90241272
+     5.660     0.89734257     0.89968228
+     5.670     0.89462335     0.89696009
+     5.680     0.89191237     0.89424615
+     5.690     0.88920961     0.89154041
+     5.700     0.88651503     0.88884286
+     5.710     0.88382863     0.88615348
+     5.720     0.88115036     0.88347223
+     5.730     0.87848020     0.88079909
+     5.740     0.87581814     0.87813404
+     5.750     0.87316415     0.87547706
+     5.760     0.87051820     0.87282811
+     5.770     0.86788026     0.87018718
+     5.780     0.86525032     0.86755424
+     5.790     0.86262835     0.86492927
+     5.800     0.86001433     0.86231224
+     5.810     0.85740822     0.85970313
+     5.820     0.85481002     0.85710191
+     5.830     0.85221968     0.85450856
+     5.840     0.84963720     0.85192306
+     5.850     0.84706254     0.84934539
+     5.860     0.84449568     0.84677551
+     5.870     0.84193661     0.84421341
+     5.880     0.83938528     0.84165906
+     5.890     0.83684169     0.83911243
+     5.900     0.83430581     0.83657352
+     5.910     0.83177761     0.83404228
+     5.920     0.82925707     0.83151871
+     5.930     0.82674417     0.82900277
+     5.940     0.82423888     0.82649444
+     5.950     0.82174119     0.82399370
+     5.960     0.81925107     0.82150053
+     5.970     0.81676849     0.81901490
+     5.980     0.81429343     0.81653680
+     5.990     0.81182588     0.81406619
+     6.000     0.80936580     0.81160306
+     6.010     0.80691317     0.80914738
+     6.020     0.80446798     0.80669912
+     6.030     0.80203020     0.80425828
+     6.040     0.79959981     0.80182482
+     6.050     0.79717678     0.79939873
+     6.060     0.79476109     0.79697998
+     6.070     0.79235272     0.79456854
+     6.080     0.78995165     0.79216440
+     6.090     0.78755786     0.78976754
+     6.100     0.78517132     0.78737793
+     6.110     0.78279201     0.78499554
+     6.120     0.78041992     0.78262037
+     6.130     0.77805501     0.78025238
+     6.140     0.77569727     0.77789156
+     6.150     0.77334667     0.77553788
+     6.160     0.77100319     0.77319132
+     6.170     0.76866682     0.77085187
+     6.180     0.76633753     0.76851949
+     6.190     0.76401529     0.76619416
+     6.200     0.76170009     0.76387588
+     6.210     0.75939191     0.76156461
+     6.220     0.75709072     0.75926033
+     6.230     0.75479651     0.75696302
+     6.240     0.75250925     0.75467267
+     6.250     0.75022892     0.75238924
+     6.260     0.74795550     0.75011272
+     6.270     0.74568896     0.74784310
+     6.280     0.74342930     0.74558034
+     6.290     0.74117648     0.74332442
+     6.300     0.73893049     0.74107533
+     6.310     0.73669131     0.73883305
+     6.320     0.73445891     0.73659755
+     6.330     0.73223328     0.73436881
+     6.340     0.73001439     0.73214682
+     6.350     0.72780223     0.72993155
+     6.360     0.72559677     0.72772299
+     6.370     0.72339799     0.72552110
+     6.380     0.72120587     0.72332588
+     6.390     0.71902040     0.72113730
+     6.400     0.71684155     0.71895535
+     6.410     0.71466930     0.71677999
+     6.420     0.71250364     0.71461122
+     6.430     0.71034454     0.71244901
+     6.440     0.70819198     0.71029334
+     6.450     0.70604594     0.70814419
+     6.460     0.70390641     0.70600155
+     6.470     0.70177336     0.70386539
+     6.480     0.69964677     0.70173569
+     6.490     0.69752663     0.69961244
+     6.500     0.69541291     0.69749561
+     6.510     0.69330560     0.69538519
+     6.520     0.69120468     0.69328115
+     6.530     0.68911012     0.69118348
+     6.540     0.68702190     0.68909215
+     6.550     0.68494002     0.68700715
+     6.560     0.68286444     0.68492847
+     6.570     0.68079516     0.68285607
+     6.580     0.67873214     0.68078994
+     6.590     0.67667538     0.67873006
+     6.600     0.67462485     0.67667642
+     6.610     0.67258053     0.67462899
+     6.620     0.67054241     0.67258775
+     6.630     0.66851046     0.67055269
+     6.640     0.66648467     0.66852379
+     6.650     0.66446502     0.66650102
+     6.660     0.66245149     0.66448438
+     6.670     0.66044406     0.66247384
+     6.680     0.65844271     0.66046938
+     6.690     0.65644743     0.65847099
+     6.700     0.65445820     0.65647864
+     6.710     0.65247499     0.65449232
+     6.720     0.65049780     0.65251202
+     6.730     0.64852659     0.65053770
+     6.740     0.64656136     0.64856936
+     6.750     0.64460208     0.64660697
+     6.760     0.64264874     0.64465052
+     6.770     0.64070132     0.64269999
+     6.780     0.63875980     0.64075536
+     6.790     0.63682417     0.63881662
+     6.800     0.63489440     0.63688374
+     6.810     0.63297047     0.63495671
+     6.820     0.63105238     0.63303551
+     6.830     0.62914010     0.63112013
+     6.840     0.62723362     0.62921054
+     6.850     0.62533291     0.62730673
+     6.860     0.62343796     0.62540867
+     6.870     0.62154875     0.62351636
+     6.880     0.61966527     0.62162978
+     6.890     0.61778750     0.61974890
+     6.900     0.61591542     0.61787372
+     6.910     0.61404901     0.61600421
+     6.920     0.61218825     0.61414036
+     6.930     0.61033313     0.61228214
+     6.940     0.60848364     0.61042955
+     6.950     0.60663975     0.60858256
+     6.960     0.60480145     0.60674116
+     6.970     0.60296872     0.60490534
+     6.980     0.60114154     0.60307507
+     6.990     0.59931990     0.60125033
+     7.000     0.59750378     0.59943112
+     7.010     0.59569316     0.59761741
+     7.020     0.59388803     0.59580919
+     7.030     0.59208837     0.59400644
+     7.040     0.59029416     0.59220915
+     7.050     0.58850539     0.59041729
+     7.060     0.58672204     0.58863085
+     7.070     0.58494410     0.58684982
+     7.080     0.58317154     0.58507418
+     7.090     0.58140435     0.58330391
+     7.100     0.57964252     0.58153900
+     7.110     0.57788603     0.57977943
+     7.120     0.57613486     0.57802518
+     7.130     0.57438899     0.57627624
+     7.140     0.57264842     0.57453259
+     7.150     0.57091312     0.57279422
+     7.160     0.56918308     0.57106111
+     7.170     0.56745829     0.56933324
+     7.180     0.56573872     0.56761060
+     7.190     0.56402436     0.56589317
+     7.200     0.56231519     0.56418094
+     7.210     0.56061121     0.56247389
+     7.220     0.55891238     0.56077200
+     7.230     0.55721871     0.55907526
+     7.240     0.55553017     0.55738366
+     7.250     0.55384674     0.55569717
+     7.260     0.55216842     0.55401579
+     7.270     0.55049518     0.55233950
+     7.280     0.54882702     0.55066827
+     7.290     0.54716390     0.54900211
+     7.300     0.54550583     0.54734098
+     7.310     0.54385278     0.54568489
+     7.320     0.54220474     0.54403380
+     7.330     0.54056170     0.54238771
+     7.340     0.53892363     0.54074659
+     7.350     0.53729053     0.53911045
+     7.360     0.53566238     0.53747925
+     7.370     0.53403916     0.53585299
+     7.380     0.53242086     0.53423165
+     7.390     0.53080746     0.53261522
+     7.400     0.52919895     0.53100368
+     7.410     0.52759532     0.52939701
+     7.420     0.52599655     0.52779521
+     7.430     0.52440262     0.52619825
+     7.440     0.52281352     0.52460612
+     7.450     0.52122924     0.52301881
+     7.460     0.51964975     0.52143631
+     7.470     0.51807506     0.51985859
+     7.480     0.51650513     0.51828564
+     7.490     0.51493997     0.51671746
+     7.500     0.51337954     0.51515402
+     7.510     0.51182385     0.51359531
+     7.520     0.51027287     0.51204131
+     7.530     0.50872658     0.51049202
+     7.540     0.50718499     0.50894742
+     7.550     0.50564806     0.50740749
+     7.560     0.50411580     0.50587222
+     7.570     0.50258817     0.50434159
+     7.580     0.50106518     0.50281560
+     7.590     0.49954680     0.50129422
+     7.600     0.49803302     0.49977744
+     7.610     0.49652383     0.49826526
+     7.620     0.49501921     0.49675765
+     7.630     0.49351915     0.49525460
+     7.640     0.49202364     0.49375610
+     7.650     0.49053266     0.49226214
+     7.660     0.48904620     0.49077269
+     7.670     0.48756424     0.48928775
+     7.680     0.48608677     0.48780731
+     7.690     0.48461378     0.48633134
+     7.700     0.48314526     0.48485984
+     7.710     0.48168118     0.48339279
+     7.720     0.48022154     0.48193018
+     7.730     0.47876632     0.48047200
+     7.740     0.47731552     0.47901823
+     7.750     0.47586911     0.47756885
+     7.760     0.47442708     0.47612386
+     7.770     0.47298942     0.47468325
+     7.780     0.47155612     0.47324699
+     7.790     0.47012716     0.47181508
+     7.800     0.46870253     0.47038750
+     7.810     0.46728222     0.46896424
+     7.820     0.46586622     0.46754529
+     7.830     0.46445450     0.46613063
+     7.840     0.46304706     0.46472025
+     7.850     0.46164389     0.46331414
+     7.860     0.46024497     0.46191228
+     7.870     0.45885029     0.46051467
+     7.880     0.45745983     0.45912128
+     7.890     0.45607359     0.45773211
+     7.900     0.45469155     0.45634714
+     7.910     0.45331369     0.45496637
+     7.920     0.45194002     0.45358977
+     7.930     0.45057050     0.45221733
+     7.940     0.44920514     0.45084905
+     7.950     0.44784391     0.44948491
+     7.960     0.44648681     0.44812490
+     7.970     0.44513382     0.44676900
+     7.980     0.44378493     0.44541720
+     7.990     0.44244012     0.44406949
+     8.000     0.44109939     0.44272587
+     8.010     0.43976273     0.44138630
+     8.020     0.43843012     0.44005079
+     8.030     0.43710154     0.43871933
+     8.040     0.43577699     0.43739188
+     8.050     0.43445645     0.43606846
+     8.060     0.43313992     0.43474904
+     8.070     0.43182737     0.43343361
+     8.080     0.43051881     0.43212217
+     8.090     0.42921420     0.43081469
+     8.100     0.42791355     0.42951117
+     8.110     0.42661685     0.42821159
+     8.120     0.42532407     0.42691594
+     8.130     0.42403521     0.42562421
+     8.140     0.42275025     0.42433639
+     8.150     0.42146919     0.42305247
+     8.160     0.42019201     0.42177244
+     8.170     0.41891870     0.42049627
+     8.180     0.41764925     0.41922397
+     8.190     0.41638365     0.41795552
+     8.200     0.41512188     0.41669090
+     8.210     0.41386393     0.41543011
+     8.220     0.41260980     0.41417314
+     8.230     0.41135947     0.41291997
+     8.240     0.41011292     0.41167059
+     8.250     0.40887016     0.41042499
+     8.260     0.40763116     0.40918316
+     8.270     0.40639591     0.40794509
+     8.280     0.40516441     0.40671077
+     8.290     0.40393664     0.40548017
+     8.300     0.40271259     0.40425331
+     8.310     0.40149225     0.40303015
+     8.320     0.40027560     0.40181070
+     8.330     0.39906265     0.40059493
+     8.340     0.39785337     0.39938284
+     8.350     0.39664775     0.39817442
+     8.360     0.39544579     0.39696966
+     8.370     0.39424747     0.39576854
+     8.380     0.39305278     0.39457106
+     8.390     0.39186171     0.39337720
+     8.400     0.39067425     0.39218695
+     8.410     0.38949039     0.39100031
+     8.420     0.38831011     0.38981725
+     8.430     0.38713342     0.38863777
+     8.440     0.38596028     0.38746187
+     8.450     0.38479071     0.38628952
+     8.460     0.38362467     0.38512071
+     8.470     0.38246218     0.38395545
+     8.480     0.38130320     0.38279371
+     8.490     0.38014774     0.38163548
+     8.500     0.37899577     0.38048076
+     8.510     0.37784730     0.37932953
+     8.520     0.37670231     0.37818179
+     8.530     0.37556079     0.37703752
+     8.540     0.37442272     0.37589671
+     8.550     0.37328811     0.37475936
+     8.560     0.37215693     0.37362544
+     8.570     0.37102918     0.37249496
+     8.580     0.36990485     0.37136789
+     8.590     0.36878393     0.37024424
+     8.600     0.36766640     0.36912398
+     8.610     0.36655226     0.36800712
+     8.620     0.36544150     0.36689363
+     8.630     0.36433410     0.36578352
+     8.640     0.36323006     0.36467676
+     8.650     0.36212936     0.36357335
+     8.660     0.36103200     0.36247328
+     8.670     0.35993796     0.36137654
+     8.680     0.35884724     0.36028312
+     8.690     0.35775982     0.35919300
+     8.700     0.35667570     0.35810619
+     8.710     0.35559487     0.35702266
+     8.720     0.35451731     0.35594241
+     8.730     0.35344301     0.35486543
+     8.740     0.35237197     0.35379171
+     8.750     0.35130418     0.35272123
+     8.760     0.35023962     0.35165400
+     8.770     0.34917829     0.35058999
+     8.780     0.34812017     0.34952921
+     8.790     0.34706526     0.34847163
+     8.800     0.34601355     0.34741726
+     8.810     0.34496503     0.34636607
+     8.820     0.34391968     0.34531806
+     8.830     0.34287750     0.34427323
+     8.840     0.34183847     0.34323156
+     8.850     0.34080260     0.34219304
+     8.860     0.33976986     0.34115766
+     8.870     0.33874026     0.34012541
+     8.880     0.33771377     0.33909629
+     8.890     0.33669040     0.33807028
+     8.900     0.33567012     0.33704737
+     8.910     0.33465294     0.33602756
+     8.920     0.33363884     0.33501084
+     8.930     0.33262781     0.33399719
+     8.940     0.33161985     0.33298661
+     8.950     0.33061494     0.33197909
+     8.960     0.32961308     0.33097461
+     8.970     0.32861425     0.32997318
+     8.980     0.32761845     0.32897477
+     8.990     0.32662567     0.32797939
+     9.000     0.32563589     0.32698702
+     9.010     0.32464912     0.32599765
+     9.020     0.32366533     0.32501127
+     9.030     0.32268453     0.32402788
+     9.040     0.32170670     0.32304746
+     9.050     0.32073183     0.32207001
+     9.060     0.31975991     0.32109552
+     9.070     0.31879094     0.32012398
+     9.080     0.31782491     0.31915537
+     9.090     0.31686181     0.31818970
+     9.100     0.31590162     0.31722695
+     9.110     0.31494434     0.31626711
+     9.120     0.31398996     0.31531017
+     9.130     0.31303848     0.31435613
+     9.140     0.31208988     0.31340498
+     9.150     0.31114415     0.31245671
+     9.160     0.31020129     0.31151130
+     9.170     0.30926129     0.31056876
+     9.180     0.30832413     0.30962906
+     9.190     0.30738981     0.30869221
+     9.200     0.30645833     0.30775820
+     9.210     0.30552967     0.30682701
+     9.220     0.30460382     0.30589864
+     9.230     0.30368078     0.30497308
+     9.240     0.30276053     0.30405031
+     9.250     0.30184308     0.30313034
+     9.260     0.30092840     0.30221316
+     9.270     0.30001650     0.30129875
+     9.280     0.29910736     0.30038710
+     9.290     0.29820097     0.29947821
+     9.300     0.29729733     0.29857208
+     9.310     0.29639643     0.29766868
+     9.320     0.29549826     0.29676802
+     9.330     0.29460281     0.29587009
+     9.340     0.29371007     0.29497487
+     9.350     0.29282004     0.29408236
+     9.360     0.29193271     0.29319255
+     9.370     0.29104807     0.29230543
+     9.380     0.29016610     0.29142100
+     9.390     0.28928681     0.29053924
+     9.400     0.28841018     0.28966015
+     9.410     0.28753621     0.28878372
+     9.420     0.28666489     0.28790994
+     9.430     0.28579621     0.28703881
+     9.440     0.28493016     0.28617031
+     9.450     0.28406674     0.28530444
+     9.460     0.28320593     0.28444119
+     9.470     0.28234773     0.28358055
+     9.480     0.28149213     0.28272252
+     9.490     0.28063912     0.28186708
+     9.500     0.27978870     0.28101423
+     9.510     0.27894086     0.28016396
+     9.520     0.27809558     0.27931627
+     9.530     0.27725287     0.27847113
+     9.540     0.27641271     0.27762856
+     9.550     0.27557509     0.27678853
+     9.560     0.27474002     0.27595105
+     9.570     0.27390747     0.27511610
+     9.580     0.27307745     0.27428368
+     9.590     0.27224994     0.27345377
+     9.600     0.27142494     0.27262638
+     9.610     0.27060244     0.27180149
+     9.620     0.26978243     0.27097909
+     9.630     0.26896491     0.27015919
+     9.640     0.26814987     0.26934176
+     9.650     0.26733729     0.26852681
+     9.660     0.26652718     0.26771433
+     9.670     0.26571952     0.26690430
+     9.680     0.26491431     0.26609672
+     9.690     0.26411154     0.26529159
+     9.700     0.26331120     0.26448889
+     9.710     0.26251329     0.26368862
+     9.720     0.26171779     0.26289078
+     9.730     0.26092471     0.26209534
+     9.740     0.26013403     0.26130232
+     9.750     0.25934574     0.26051169
+     9.760     0.25855985     0.25972346
+     9.770     0.25777633     0.25893761
+     9.780     0.25699519     0.25815413
+     9.790     0.25621642     0.25737303
+     9.800     0.25544001     0.25659430
+     9.810     0.25466594     0.25581791
+     9.820     0.25389423     0.25504388
+     9.830     0.25312485     0.25427219
+     9.840     0.25235781     0.25350284
+     9.850     0.25159309     0.25273581
+     9.860     0.25083068     0.25197110
+     9.870     0.25007059     0.25120871
+     9.880     0.24931280     0.25044862
+     9.890     0.24855731     0.24969084
+     9.900     0.24780410     0.24893534
+     9.910     0.24705318     0.24818213
+     9.920     0.24630454     0.24743121
+     9.930     0.24555816     0.24668255
+     9.940     0.24481404     0.24593616
+     9.950     0.24407218     0.24519202
+     9.960     0.24333257     0.24445014
+     9.970     0.24259520     0.24371051
+     9.980     0.24186006     0.24297311
+     9.990     0.24112715     0.24223794
+    10.000     0.24039646     0.24150500
+    10.010     0.23966799     0.24077427
+    10.020     0.23894172     0.24004576
+    10.030     0.23821766     0.23931945
+    10.040     0.23749579     0.23859533
+    10.050     0.23677610     0.23787341
+    10.060     0.23605860     0.23715367
+    10.070     0.23534327     0.23643611
+    10.080     0.23463011     0.23572073
+    10.090     0.23391911     0.23500750
+    10.100     0.23321026     0.23429644
+    10.110     0.23250356     0.23358752
+    10.120     0.23179901     0.23288075
+    10.130     0.23109659     0.23217612
+    10.140     0.23039629     0.23147362
+    10.150     0.22969812     0.23077325
+    10.160     0.22900207     0.23007499
+    10.170     0.22830812     0.22937885
+    10.180     0.22761628     0.22868482
+    10.190     0.22692653     0.22799288
+    10.200     0.22623888     0.22730304
+    10.210     0.22555331     0.22661528
+    10.220     0.22486981     0.22592961
+    10.230     0.22418839     0.22524601
+    10.240     0.22350903     0.22456448
+    10.250     0.22283173     0.22388501
+    10.260     0.22215648     0.22320760
+    10.270     0.22148328     0.22253224
+    10.280     0.22081212     0.22185892
+    10.290     0.22014299     0.22118764
+    10.300     0.21947589     0.22051839
+    10.310     0.21881081     0.21985116
+    10.320     0.21814775     0.21918595
+    10.330     0.21748669     0.21852276
+    10.340     0.21682764     0.21786157
+    10.350     0.21617059     0.21720238
+    10.360     0.21551553     0.21654519
+    10.370     0.21486245     0.21588998
+    10.380     0.21421135     0.21523676
+    10.390     0.21356223     0.21458552
+    10.400     0.21291507     0.21393624
+    10.410     0.21226987     0.21328893
+    10.420     0.21162663     0.21264358
+    10.430     0.21098534     0.21200018
+    10.440     0.21034599     0.21135873
+    10.450     0.20970858     0.21071922
+    10.460     0.20907309     0.21008164
+    10.470     0.20843954     0.20944599
+    10.480     0.20780790     0.20881227
+    10.490     0.20717818     0.20818046
+    10.500     0.20655037     0.20755057
+    10.510     0.20592446     0.20692258
+    10.520     0.20530045     0.20629649
+    10.530     0.20467833     0.20567229
+    10.540     0.20405809     0.20504999
+    10.550     0.20343973     0.20442957
+    10.560     0.20282325     0.20381102
+    10.570     0.20220863     0.20319435
+    10.580     0.20159588     0.20257954
+    10.590     0.20098498     0.20196659
+    10.600     0.20037593     0.20135550
+    10.610     0.19976873     0.20074625
+    10.620     0.19916337     0.20013885
+    10.630     0.19855985     0.19953329
+    10.640     0.19795815     0.19892956
+    10.650     0.19735828     0.19832765
+    10.660     0.19676022     0.19772757
+    10.670     0.19616398     0.19712930
+    10.680     0.19556954     0.19653284
+    10.690     0.19497691     0.19593819
+    10.700     0.19438607     0.19534534
+    10.710     0.19379702     0.19475428
+    10.720     0.19320976     0.19416501
+    10.730     0.19262427     0.19357752
+    10.740     0.19204056     0.19299181
+    10.750     0.19145862     0.19240787
+    10.760     0.19087845     0.19182570
+    10.770     0.19030003     0.19124529
+    10.780     0.18972336     0.19066663
+    10.790     0.18914844     0.19008973
+    10.800     0.18857526     0.18951457
+    10.810     0.18800382     0.18894115
+    10.820     0.18743411     0.18836947
+    10.830     0.18686613     0.18779952
+    10.840     0.18629987     0.18723129
+    10.850     0.18573533     0.18666478
+    10.860     0.18517249     0.18609999
+    10.870     0.18461136     0.18553690
+    10.880     0.18405193     0.18497552
+    10.890     0.18349420     0.18441584
+    10.900     0.18293816     0.18385785
+    10.910     0.18238380     0.18330155
+    10.920     0.18183112     0.18274693
+    10.930     0.18128012     0.18219399
+    10.940     0.18073079     0.18164272
+    10.950     0.18018312     0.18109312
+    10.960     0.17963711     0.18054518
+    10.970     0.17909275     0.17999890
+    10.980     0.17855005     0.17945428
+    10.990     0.17800899     0.17891130
+    11.000     0.17746956     0.17836997
+    11.010     0.17693178     0.17783027
+    11.020     0.17639562     0.17729221
+    11.030     0.17586109     0.17675577
+    11.040     0.17532818     0.17622096
+    11.050     0.17479688     0.17568776
+    11.060     0.17426719     0.17515618
+    11.070     0.17373911     0.17462621
+    11.080     0.17321263     0.17409784
+    11.090     0.17268774     0.17357107
+    11.100     0.17216444     0.17304589
+    11.110     0.17164273     0.17252230
+    11.120     0.17112260     0.17200030
+    11.130     0.17060405     0.17147988
+    11.140     0.17008707     0.17096103
+    11.150     0.16957165     0.17044375
+    11.160     0.16905780     0.16992803
+    11.170     0.16854550     0.16941388
+    11.180     0.16803476     0.16890128
+    11.190     0.16752556     0.16839023
+    11.200     0.16701791     0.16788073
+    11.210     0.16651180     0.16737277
+    11.220     0.16600721     0.16686635
+    11.230     0.16550416     0.16636146
+    11.240     0.16500263     0.16585810
+    11.250     0.16450263     0.16535626
+    11.260     0.16400413     0.16485594
+    11.270     0.16350715     0.16435713
+    11.280     0.16301167     0.16385983
+    11.290     0.16251770     0.16336404
+    11.300     0.16202522     0.16286974
+    11.310     0.16153424     0.16237695
+    11.320     0.16104474     0.16188564
+    11.330     0.16055672     0.16139582
+    11.340     0.16007019     0.16090748
+    11.350     0.15958513     0.16042062
+    11.360     0.15910154     0.15993523
+    11.370     0.15861941     0.15945132
+    11.380     0.15813875     0.15896886
+    11.390     0.15765954     0.15848787
+    11.400     0.15718178     0.15800833
+    11.410     0.15670547     0.15753024
+    11.420     0.15623061     0.15705360
+    11.430     0.15575718     0.15657840
+    11.440     0.15528519     0.15610464
+    11.450     0.15481463     0.15563231
+    11.460     0.15434549     0.15516141
+    11.470     0.15387778     0.15469193
+    11.480     0.15341148     0.15422388
+    11.490     0.15294660     0.15375724
+    11.500     0.15248313     0.15329202
+    11.510     0.15202106     0.15282820
+    11.520     0.15156039     0.15236578
+    11.530     0.15110111     0.15190477
+    11.540     0.15064323     0.15144515
+    11.550     0.15018674     0.15098692
+    11.560     0.14973162     0.15053007
+    11.570     0.14927789     0.15007461
+    11.580     0.14882553     0.14962053
+    11.590     0.14837455     0.14916782
+    11.600     0.14792493     0.14871648
+    11.610     0.14747667     0.14826651
+    11.620     0.14702977     0.14781789
+    11.630     0.14658423     0.14737064
+    11.640     0.14614003     0.14692474
+    11.650     0.14569718     0.14648018
+    11.660     0.14525568     0.14603698
+    11.670     0.14481551     0.14559511
+    11.680     0.14437667     0.14515458
+    11.690     0.14393917     0.14471538
+    11.700     0.14350299     0.14427752
+    11.710     0.14306813     0.14384097
+    11.720     0.14263459     0.14340575
+    11.730     0.14220237     0.14297185
+    11.740     0.14177145     0.14253925
+    11.750     0.14134184     0.14210797
+    11.760     0.14091353     0.14167799
+    11.770     0.14048652     0.14124932
+    11.780     0.14006080     0.14082194
+    11.790     0.13963638     0.14039585
+    11.800     0.13921324     0.13997105
+    11.810     0.13879138     0.13954754
+    11.820     0.13837080     0.13912531
+    11.830     0.13795149     0.13870435
+    11.840     0.13753346     0.13828467
+    11.850     0.13711669     0.13786626
+    11.860     0.13670118     0.13744912
+    11.870     0.13628694     0.13703324
+    11.880     0.13587395     0.13661861
+    11.890     0.13546221     0.13620524
+    11.900     0.13505172     0.13579312
+    11.910     0.13464247     0.13538225
+    11.920     0.13423446     0.13497262
+    11.930     0.13382769     0.13456424
+    11.940     0.13342215     0.13415708
+    11.950     0.13301784     0.13375116
+    11.960     0.13261476     0.13334647
+    11.970     0.13221290     0.13294300
+    11.980     0.13181225     0.13254075
+    11.990     0.13141282     0.13213972
+    12.000     0.13101460     0.13173990
+    12.010     0.13061758     0.13134130
+    12.020     0.13022177     0.13094389
+    12.030     0.12982716     0.13054770
+    12.040     0.12943375     0.13015270
+    12.050     0.12904152     0.12975889
+    12.060     0.12865049     0.12936628
+    12.070     0.12826064     0.12897485
+    12.080     0.12787197     0.12858461
+    12.090     0.12748448     0.12819555
+    12.100     0.12709816     0.12780767
+    12.110     0.12671302     0.12742096
+    12.120     0.12632904     0.12703542
+    12.130     0.12594622     0.12665104
+    12.140     0.12556457     0.12626783
+    12.150     0.12518407     0.12588578
+    12.160     0.12480472     0.12550489
+    12.170     0.12442653     0.12512515
+    12.180     0.12404948     0.12474655
+    12.190     0.12367357     0.12436911
+    12.200     0.12329880     0.12399280
+    12.210     0.12292517     0.12361763
+    12.220     0.12255267     0.12324360
+    12.230     0.12218130     0.12287070
+    12.240     0.12181105     0.12249893
+    12.250     0.12144192     0.12212828
+    12.260     0.12107392     0.12175876
+    12.270     0.12070703     0.12139035
+    12.280     0.12034125     0.12102306
+    12.290     0.11997658     0.12065687
+    12.300     0.11961301     0.12029180
+    12.310     0.11925055     0.11992783
+    12.320     0.11888918     0.11956496
+    12.330     0.11852891     0.11920319
+    12.340     0.11816974     0.11884252
+    12.350     0.11781165     0.11848294
+    12.360     0.11745464     0.11812444
+    12.370     0.11709872     0.11776703
+    12.380     0.11674387     0.11741070
+    12.390     0.11639010     0.11705545
+    12.400     0.11603741     0.11670127
+    12.410     0.11568578     0.11634817
+    12.420     0.11533522     0.11599613
+    12.430     0.11498571     0.11564516
+    12.440     0.11463727     0.11529525
+    12.450     0.11428989     0.11494640
+    12.460     0.11394355     0.11459860
+    12.470     0.11359827     0.11425186
+    12.480     0.11325403     0.11390617
+    12.490     0.11291084     0.11356152
+    12.500     0.11256869     0.11321791
+    12.510     0.11222757     0.11287535
+    12.520     0.11188748     0.11253382
+    12.530     0.11154843     0.11219332
+    12.540     0.11121041     0.11185386
+    12.550     0.11087340     0.11151542
+    12.560     0.11053742     0.11117801
+    12.570     0.11020246     0.11084161
+    12.580     0.10986852     0.11050624
+    12.590     0.10953558     0.11017188
+    12.600     0.10920366     0.10983853
+    12.610     0.10887274     0.10950619
+    12.620     0.10854282     0.10917485
+    12.630     0.10821390     0.10884452
+    12.640     0.10788598     0.10851519
+    12.650     0.10755905     0.10818685
+    12.660     0.10723312     0.10785951
+    12.670     0.10690817     0.10753316
+    12.680     0.10658420     0.10720779
+    12.690     0.10626122     0.10688341
+    12.700     0.10593922     0.10656001
+    12.710     0.10561819     0.10623759
+    12.720     0.10529813     0.10591615
+    12.730     0.10497905     0.10559568
+    12.740     0.10466093     0.10527617
+    12.750     0.10434378     0.10495764
+    12.760     0.10402758     0.10464007
+    12.770     0.10371235     0.10432346
+    12.780     0.10339807     0.10400780
+    12.790     0.10308474     0.10369310
+    12.800     0.10277236     0.10337936
+    12.810     0.10246093     0.10306656
+    12.820     0.10215044     0.10275471
+    12.830     0.10184090     0.10244380
+    12.840     0.10153229     0.10213384
+    12.850     0.10122461     0.10182481
+    12.860     0.10091787     0.10151672
+    12.870     0.10061206     0.10120956
+    12.880     0.10030718     0.10090333
+    12.890     0.10000321     0.10059802
+    12.900     0.09970017     0.10029364
+    12.910     0.09939805     0.09999018
+    12.920     0.09909685     0.09968764
+    12.930     0.09879655     0.09938601
+    12.940     0.09849717     0.09908530
+    12.950     0.09819869     0.09878549
+    12.960     0.09790112     0.09848660
+    12.970     0.09760445     0.09818860
+    12.980     0.09730868     0.09789151
+    12.990     0.09701381     0.09759532
+    13.000     0.09671982     0.09730003
+    13.010     0.09642673     0.09700562
+    13.020     0.09613453     0.09671211
+    13.030     0.09584321     0.09641949
+    13.040     0.09555278     0.09612775
+    13.050     0.09526323     0.09583690
+    13.060     0.09497455     0.09554692
+    13.070     0.09468675     0.09525782
+    13.080     0.09439982     0.09496960
+    13.090     0.09411376     0.09468225
+    13.100     0.09382857     0.09439577
+    13.110     0.09354424     0.09411015
+    13.120     0.09326077     0.09382540
+    13.130     0.09297816     0.09354151
+    13.140     0.09269641     0.09325848
+    13.150     0.09241551     0.09297631
+    13.160     0.09213546     0.09269499
+    13.170     0.09185627     0.09241452
+    13.180     0.09157791     0.09213490
+    13.190     0.09130040     0.09185613
+    13.200     0.09102374     0.09157819
+    13.210     0.09074791     0.09130110
+    13.220     0.09047291     0.09102485
+    13.230     0.09019875     0.09074944
diff --git a/20201217/loesung-1c.tikz b/20201217/loesung-1c.tikz
new file mode 100644
index 0000000000000000000000000000000000000000..e97073c442cd1f84adf842357e3cb254fb05e54c
--- /dev/null
+++ b/20201217/loesung-1c.tikz
@@ -0,0 +1,521 @@
+\begin{tikzpicture}[gnuplot]
+%% generated with GNUPLOT 5.0p5 (Lua 5.1; terminal rev. 99, script rev. 100)
+%% Mi 14 Nov 2018 19:24:42 CET
+\path (0.000,0.000) rectangle (12.500,8.750);
+\gpcolor{color=gp lt color border}
+\gpsetlinetype{gp lt border}
+\gpsetdashtype{gp dt solid}
+\gpsetlinewidth{1.00}
+\draw[gp path] (1.012,0.616)--(1.192,0.616);
+\draw[gp path] (11.947,0.616)--(11.767,0.616);
+\node[gp node right] at (0.828,0.616) {$0$};
+\draw[gp path] (1.012,1.393)--(1.192,1.393);
+\draw[gp path] (11.947,1.393)--(11.767,1.393);
+\node[gp node right] at (0.828,1.393) {$0.5$};
+\draw[gp path] (1.012,2.169)--(1.192,2.169);
+\draw[gp path] (11.947,2.169)--(11.767,2.169);
+\node[gp node right] at (0.828,2.169) {$1$};
+\draw[gp path] (1.012,2.946)--(1.192,2.946);
+\draw[gp path] (11.947,2.946)--(11.767,2.946);
+\node[gp node right] at (0.828,2.946) {$1.5$};
+\draw[gp path] (1.012,3.722)--(1.192,3.722);
+\draw[gp path] (11.947,3.722)--(11.767,3.722);
+\node[gp node right] at (0.828,3.722) {$2$};
+\draw[gp path] (1.012,4.499)--(1.192,4.499);
+\draw[gp path] (11.947,4.499)--(11.767,4.499);
+\node[gp node right] at (0.828,4.499) {$2.5$};
+\draw[gp path] (1.012,5.275)--(1.192,5.275);
+\draw[gp path] (11.947,5.275)--(11.767,5.275);
+\node[gp node right] at (0.828,5.275) {$3$};
+\draw[gp path] (1.012,6.052)--(1.192,6.052);
+\draw[gp path] (11.947,6.052)--(11.767,6.052);
+\node[gp node right] at (0.828,6.052) {$3.5$};
+\draw[gp path] (1.012,6.828)--(1.192,6.828);
+\draw[gp path] (11.947,6.828)--(11.767,6.828);
+\node[gp node right] at (0.828,6.828) {$4$};
+\draw[gp path] (1.012,7.605)--(1.192,7.605);
+\draw[gp path] (11.947,7.605)--(11.767,7.605);
+\node[gp node right] at (0.828,7.605) {$4.5$};
+\draw[gp path] (1.012,8.381)--(1.192,8.381);
+\draw[gp path] (11.947,8.381)--(11.767,8.381);
+\node[gp node right] at (0.828,8.381) {$5$};
+\draw[gp path] (1.012,0.616)--(1.012,0.796);
+\draw[gp path] (1.012,8.381)--(1.012,8.201);
+\node[gp node center] at (1.012,0.308) {$0$};
+\draw[gp path] (2.574,0.616)--(2.574,0.796);
+\draw[gp path] (2.574,8.381)--(2.574,8.201);
+\node[gp node center] at (2.574,0.308) {$2$};
+\draw[gp path] (4.136,0.616)--(4.136,0.796);
+\draw[gp path] (4.136,8.381)--(4.136,8.201);
+\node[gp node center] at (4.136,0.308) {$4$};
+\draw[gp path] (5.698,0.616)--(5.698,0.796);
+\draw[gp path] (5.698,8.381)--(5.698,8.201);
+\node[gp node center] at (5.698,0.308) {$6$};
+\draw[gp path] (7.261,0.616)--(7.261,0.796);
+\draw[gp path] (7.261,8.381)--(7.261,8.201);
+\node[gp node center] at (7.261,0.308) {$8$};
+\draw[gp path] (8.823,0.616)--(8.823,0.796);
+\draw[gp path] (8.823,8.381)--(8.823,8.201);
+\node[gp node center] at (8.823,0.308) {$10$};
+\draw[gp path] (10.385,0.616)--(10.385,0.796);
+\draw[gp path] (10.385,8.381)--(10.385,8.201);
+\node[gp node center] at (10.385,0.308) {$12$};
+\draw[gp path] (11.947,0.616)--(11.947,0.796);
+\draw[gp path] (11.947,8.381)--(11.947,8.201);
+\node[gp node center] at (11.947,0.308) {$14$};
+\draw[gp path] (1.012,8.381)--(1.012,0.616)--(11.947,0.616)--(11.947,8.381)--cycle;
+\node[gp node right] at (10.479,7.8) {Simulation};
+\gpcolor{rgb color={0.580,0.000,0.827}}
+\draw[gp path] (10.663,7.8)--(11.579,7.8);
+\draw[gp path] (1.012,8.381)--(1.020,8.358)--(1.028,8.334)--(1.035,8.311)--(1.043,8.288)%
+  --(1.051,8.265)--(1.059,8.241)--(1.067,8.218)--(1.074,8.195)--(1.082,8.171)--(1.090,8.150)%
+  --(1.098,8.126)--(1.106,8.103)--(1.114,8.081)--(1.121,8.058)--(1.129,8.035)--(1.137,8.013)%
+  --(1.145,7.991)--(1.153,7.968)--(1.160,7.946)--(1.168,7.924)--(1.176,7.901)--(1.184,7.879)%
+  --(1.192,7.858)--(1.199,7.836)--(1.207,7.814)--(1.215,7.792)--(1.223,7.771)--(1.231,7.749)%
+  --(1.239,7.727)--(1.246,7.705)--(1.254,7.684)--(1.262,7.662)--(1.270,7.642)--(1.278,7.620)%
+  --(1.285,7.598)--(1.293,7.578)--(1.301,7.556)--(1.309,7.535)--(1.317,7.514)--(1.324,7.493)%
+  --(1.332,7.472)--(1.340,7.452)--(1.348,7.431)--(1.356,7.410)--(1.363,7.390)--(1.371,7.370)%
+  --(1.379,7.348)--(1.387,7.328)--(1.395,7.308)--(1.403,7.288)--(1.410,7.267)--(1.418,7.247)%
+  --(1.426,7.227)--(1.434,7.207)--(1.442,7.187)--(1.449,7.168)--(1.457,7.148)--(1.465,7.128)%
+  --(1.473,7.108)--(1.481,7.089)--(1.488,7.069)--(1.496,7.049)--(1.504,7.030)--(1.512,7.010)%
+  --(1.520,6.991)--(1.528,6.971)--(1.535,6.952)--(1.543,6.934)--(1.551,6.913)--(1.559,6.895)%
+  --(1.567,6.876)--(1.574,6.858)--(1.582,6.837)--(1.590,6.819)--(1.598,6.800)--(1.606,6.781)%
+  --(1.613,6.763)--(1.621,6.744)--(1.629,6.726)--(1.637,6.707)--(1.645,6.688)--(1.652,6.670)%
+  --(1.660,6.653)--(1.668,6.634)--(1.676,6.615)--(1.684,6.597)--(1.692,6.580)--(1.699,6.561)%
+  --(1.707,6.542)--(1.715,6.525)--(1.723,6.507)--(1.731,6.489)--(1.738,6.471)--(1.746,6.454)%
+  --(1.754,6.437)--(1.762,6.418)--(1.770,6.401)--(1.777,6.384)--(1.785,6.365)--(1.793,6.348)%
+  --(1.801,6.331)--(1.809,6.314)--(1.817,6.297)--(1.824,6.280)--(1.832,6.263)--(1.840,6.246)%
+  --(1.848,6.229)--(1.856,6.211)--(1.863,6.194)--(1.871,6.177)--(1.879,6.160)--(1.887,6.143)%
+  --(1.895,6.126)--(1.902,6.111)--(1.910,6.093)--(1.918,6.076)--(1.926,6.061)--(1.934,6.044)%
+  --(1.941,6.027)--(1.949,6.011)--(1.957,5.994)--(1.965,5.979)--(1.973,5.961)--(1.981,5.946)%
+  --(1.988,5.929)--(1.996,5.913)--(2.004,5.898)--(2.012,5.881)--(2.020,5.865)--(2.027,5.850)%
+  --(2.035,5.834)--(2.043,5.819)--(2.051,5.801)--(2.059,5.786)--(2.066,5.770)--(2.074,5.755)%
+  --(2.082,5.739)--(2.090,5.724)--(2.098,5.708)--(2.106,5.693)--(2.113,5.677)--(2.121,5.662)%
+  --(2.129,5.648)--(2.137,5.632)--(2.145,5.617)--(2.152,5.601)--(2.160,5.587)--(2.168,5.572)%
+  --(2.176,5.556)--(2.184,5.541)--(2.191,5.527)--(2.199,5.511)--(2.207,5.497)--(2.215,5.482)%
+  --(2.223,5.468)--(2.230,5.452)--(2.238,5.438)--(2.246,5.423)--(2.254,5.409)--(2.262,5.395)%
+  --(2.270,5.379)--(2.277,5.365)--(2.285,5.351)--(2.293,5.337)--(2.301,5.322)--(2.309,5.308)%
+  --(2.316,5.294)--(2.324,5.280)--(2.332,5.266)--(2.340,5.252)--(2.348,5.238)--(2.355,5.224)%
+  --(2.363,5.210)--(2.371,5.196)--(2.379,5.182)--(2.387,5.168)--(2.394,5.154)--(2.402,5.140)%
+  --(2.410,5.126)--(2.418,5.112)--(2.426,5.100)--(2.434,5.086)--(2.441,5.072)--(2.449,5.059)%
+  --(2.457,5.045)--(2.465,5.031)--(2.473,5.019)--(2.480,5.005)--(2.488,4.991)--(2.496,4.978)%
+  --(2.504,4.964)--(2.512,4.952)--(2.519,4.938)--(2.527,4.926)--(2.535,4.913)--(2.543,4.899)%
+  --(2.551,4.887)--(2.559,4.874)--(2.566,4.860)--(2.574,4.848)--(2.582,4.836)--(2.590,4.822)%
+  --(2.598,4.809)--(2.605,4.797)--(2.613,4.784)--(2.621,4.772)--(2.629,4.759)--(2.637,4.747)%
+  --(2.644,4.735)--(2.652,4.722)--(2.660,4.710)--(2.668,4.697)--(2.676,4.685)--(2.683,4.672)%
+  --(2.691,4.660)--(2.699,4.648)--(2.707,4.635)--(2.715,4.623)--(2.723,4.610)--(2.730,4.598)%
+  --(2.738,4.587)--(2.746,4.575)--(2.754,4.562)--(2.762,4.551)--(2.769,4.539)--(2.777,4.526)%
+  --(2.785,4.516)--(2.793,4.503)--(2.801,4.491)--(2.808,4.480)--(2.816,4.467)--(2.824,4.457)%
+  --(2.832,4.444)--(2.840,4.433)--(2.848,4.421)--(2.855,4.410)--(2.863,4.399)--(2.871,4.387)%
+  --(2.879,4.376)--(2.887,4.363)--(2.894,4.353)--(2.902,4.342)--(2.910,4.331)--(2.918,4.318)%
+  --(2.926,4.307)--(2.933,4.297)--(2.941,4.286)--(2.949,4.275)--(2.957,4.262)--(2.965,4.252)%
+  --(2.972,4.241)--(2.980,4.230)--(2.988,4.219)--(2.996,4.208)--(3.004,4.197)--(3.012,4.186)%
+  --(3.019,4.175)--(3.027,4.165)--(3.035,4.154)--(3.043,4.143)--(3.051,4.132)--(3.058,4.123)%
+  --(3.066,4.112)--(3.074,4.101)--(3.082,4.090)--(3.090,4.079)--(3.097,4.070)--(3.105,4.059)%
+  --(3.113,4.048)--(3.121,4.037)--(3.129,4.028)--(3.137,4.017)--(3.144,4.006)--(3.152,3.997)%
+  --(3.160,3.986)--(3.168,3.977)--(3.176,3.966)--(3.183,3.957)--(3.191,3.946)--(3.199,3.936)%
+  --(3.207,3.925)--(3.215,3.916)--(3.222,3.905)--(3.230,3.896)--(3.238,3.885)--(3.246,3.876)%
+  --(3.254,3.866)--(3.261,3.856)--(3.269,3.846)--(3.277,3.837)--(3.285,3.826)--(3.293,3.817)%
+  --(3.301,3.807)--(3.308,3.798)--(3.316,3.787)--(3.324,3.778)--(3.332,3.769)--(3.340,3.759)%
+  --(3.347,3.750)--(3.355,3.741)--(3.363,3.731)--(3.371,3.720)--(3.379,3.711)--(3.386,3.702)%
+  --(3.394,3.692)--(3.402,3.683)--(3.410,3.674)--(3.418,3.665)--(3.426,3.655)--(3.433,3.647)%
+  --(3.441,3.638)--(3.449,3.629)--(3.457,3.620)--(3.465,3.610)--(3.472,3.601)--(3.480,3.592)%
+  --(3.488,3.584)--(3.496,3.574)--(3.504,3.565)--(3.511,3.556)--(3.519,3.547)--(3.527,3.539)%
+  --(3.535,3.529)--(3.543,3.520)--(3.550,3.512)--(3.558,3.503)--(3.566,3.494)--(3.574,3.486)%
+  --(3.582,3.477)--(3.590,3.469)--(3.597,3.460)--(3.605,3.450)--(3.613,3.442)--(3.621,3.433)%
+  --(3.629,3.425)--(3.636,3.416)--(3.644,3.408)--(3.652,3.401)--(3.660,3.391)--(3.668,3.383)%
+  --(3.675,3.374)--(3.683,3.366)--(3.691,3.359)--(3.699,3.349)--(3.707,3.342)--(3.715,3.334)%
+  --(3.722,3.324)--(3.730,3.317)--(3.738,3.309)--(3.746,3.300)--(3.754,3.292)--(3.761,3.284)%
+  --(3.769,3.276)--(3.777,3.269)--(3.785,3.259)--(3.793,3.251)--(3.800,3.244)--(3.808,3.236)%
+  --(3.816,3.228)--(3.824,3.220)--(3.832,3.213)--(3.839,3.205)--(3.847,3.197)--(3.855,3.189)%
+  --(3.863,3.182)--(3.871,3.174)--(3.879,3.166)--(3.886,3.158)--(3.894,3.150)--(3.902,3.143)%
+  --(3.910,3.135)--(3.918,3.127)--(3.925,3.119)--(3.933,3.112)--(3.941,3.104)--(3.949,3.096)%
+  --(3.957,3.088)--(3.964,3.082)--(3.972,3.074)--(3.980,3.067)--(3.988,3.059)--(3.996,3.051)%
+  --(4.004,3.045)--(4.011,3.037)--(4.019,3.029)--(4.027,3.023)--(4.035,3.015)--(4.043,3.008)%
+  --(4.050,3.001)--(4.058,2.994)--(4.066,2.986)--(4.074,2.980)--(4.082,2.972)--(4.089,2.964)%
+  --(4.097,2.958)--(4.105,2.950)--(4.113,2.944)--(4.121,2.936)--(4.128,2.930)--(4.136,2.922)%
+  --(4.144,2.916)--(4.152,2.908)--(4.160,2.902)--(4.168,2.894)--(4.175,2.888)--(4.183,2.880)%
+  --(4.191,2.874)--(4.199,2.866)--(4.207,2.860)--(4.214,2.854)--(4.222,2.846)--(4.230,2.840)%
+  --(4.238,2.834)--(4.246,2.826)--(4.253,2.820)--(4.261,2.813)--(4.269,2.806)--(4.277,2.800)%
+  --(4.285,2.793)--(4.293,2.787)--(4.300,2.779)--(4.308,2.773)--(4.316,2.767)--(4.324,2.761)%
+  --(4.332,2.754)--(4.339,2.747)--(4.347,2.741)--(4.355,2.734)--(4.363,2.728)--(4.371,2.722)%
+  --(4.378,2.716)--(4.386,2.709)--(4.394,2.703)--(4.402,2.695)--(4.410,2.689)--(4.417,2.683)%
+  --(4.425,2.677)--(4.433,2.671)--(4.441,2.664)--(4.449,2.658)--(4.457,2.652)--(4.464,2.646)%
+  --(4.472,2.640)--(4.480,2.633)--(4.488,2.629)--(4.496,2.622)--(4.503,2.616)--(4.511,2.610)%
+  --(4.519,2.604)--(4.527,2.598)--(4.535,2.591)--(4.542,2.585)--(4.550,2.579)--(4.558,2.574)%
+  --(4.566,2.568)--(4.574,2.562)--(4.581,2.556)--(4.589,2.549)--(4.597,2.545)--(4.605,2.539)%
+  --(4.613,2.532)--(4.621,2.526)--(4.628,2.522)--(4.636,2.515)--(4.644,2.509)--(4.652,2.504)%
+  --(4.660,2.498)--(4.667,2.492)--(4.675,2.487)--(4.683,2.481)--(4.691,2.475)--(4.699,2.470)%
+  --(4.706,2.464)--(4.714,2.458)--(4.722,2.453)--(4.730,2.447)--(4.738,2.442)--(4.746,2.436)%
+  --(4.753,2.430)--(4.761,2.425)--(4.769,2.419)--(4.777,2.414)--(4.785,2.408)--(4.792,2.404)%
+  --(4.800,2.397)--(4.808,2.393)--(4.816,2.386)--(4.824,2.382)--(4.831,2.377)--(4.839,2.371)%
+  --(4.847,2.366)--(4.855,2.360)--(4.863,2.355)--(4.870,2.349)--(4.878,2.344)--(4.886,2.340)%
+  --(4.894,2.334)--(4.902,2.329)--(4.910,2.324)--(4.917,2.318)--(4.925,2.313)--(4.933,2.309)%
+  --(4.941,2.303)--(4.949,2.298)--(4.956,2.293)--(4.964,2.289)--(4.972,2.282)--(4.980,2.278)%
+  --(4.988,2.273)--(4.995,2.268)--(5.003,2.262)--(5.011,2.258)--(5.019,2.253)--(5.027,2.248)%
+  --(5.035,2.244)--(5.042,2.237)--(5.050,2.233)--(5.058,2.228)--(5.066,2.223)--(5.074,2.219)%
+  --(5.081,2.214)--(5.089,2.209)--(5.097,2.203)--(5.105,2.199)--(5.113,2.194)--(5.120,2.189)%
+  --(5.128,2.185)--(5.136,2.180)--(5.144,2.175)--(5.152,2.171)--(5.159,2.166)--(5.167,2.161)%
+  --(5.175,2.157)--(5.183,2.152)--(5.191,2.147)--(5.199,2.143)--(5.206,2.138)--(5.214,2.133)%
+  --(5.222,2.129)--(5.230,2.124)--(5.238,2.119)--(5.245,2.115)--(5.253,2.110)--(5.261,2.105)%
+  --(5.269,2.101)--(5.277,2.096)--(5.284,2.093)--(5.292,2.088)--(5.300,2.084)--(5.308,2.079)%
+  --(5.316,2.074)--(5.324,2.070)--(5.331,2.065)--(5.339,2.062)--(5.347,2.057)--(5.355,2.053)%
+  --(5.363,2.048)--(5.370,2.043)--(5.378,2.040)--(5.386,2.035)--(5.394,2.031)--(5.402,2.026)%
+  --(5.409,2.023)--(5.417,2.018)--(5.425,2.014)--(5.433,2.009)--(5.441,2.006)--(5.448,2.001)%
+  --(5.456,1.997)--(5.464,1.994)--(5.472,1.989)--(5.480,1.984)--(5.488,1.980)--(5.495,1.976)%
+  --(5.503,1.972)--(5.511,1.969)--(5.519,1.964)--(5.527,1.959)--(5.534,1.956)--(5.542,1.952)%
+  --(5.550,1.947)--(5.558,1.944)--(5.566,1.939)--(5.573,1.936)--(5.581,1.931)--(5.589,1.927)%
+  --(5.597,1.924)--(5.605,1.919)--(5.613,1.916)--(5.620,1.911)--(5.628,1.908)--(5.636,1.903)%
+  --(5.644,1.900)--(5.652,1.896)--(5.659,1.893)--(5.667,1.888)--(5.675,1.885)--(5.683,1.880)%
+  --(5.691,1.877)--(5.698,1.872)--(5.706,1.869)--(5.714,1.865)--(5.722,1.862)--(5.730,1.858)%
+  --(5.737,1.854)--(5.745,1.851)--(5.753,1.846)--(5.761,1.843)--(5.769,1.840)--(5.777,1.835)%
+  --(5.784,1.832)--(5.792,1.827)--(5.800,1.824)--(5.808,1.821)--(5.816,1.816)--(5.823,1.813)%
+  --(5.831,1.810)--(5.839,1.806)--(5.847,1.802)--(5.855,1.799)--(5.862,1.795)--(5.870,1.792)%
+  --(5.878,1.789)--(5.886,1.785)--(5.894,1.781)--(5.902,1.778)--(5.909,1.775)--(5.917,1.770)%
+  --(5.925,1.767)--(5.933,1.764)--(5.941,1.761)--(5.948,1.756)--(5.956,1.753)--(5.964,1.750)%
+  --(5.972,1.747)--(5.980,1.743)--(5.987,1.739)--(5.995,1.736)--(6.003,1.733)--(6.011,1.730)%
+  --(6.019,1.726)--(6.026,1.723)--(6.034,1.719)--(6.042,1.716)--(6.050,1.712)--(6.058,1.709)%
+  --(6.066,1.706)--(6.073,1.703)--(6.081,1.700)--(6.089,1.695)--(6.097,1.692)--(6.105,1.689)%
+  --(6.112,1.686)--(6.120,1.683)--(6.128,1.680)--(6.136,1.677)--(6.144,1.674)--(6.151,1.670)%
+  --(6.159,1.667)--(6.167,1.664)--(6.175,1.661)--(6.183,1.658)--(6.191,1.655)--(6.198,1.650)%
+  --(6.206,1.647)--(6.214,1.644)--(6.222,1.641)--(6.230,1.638)--(6.237,1.635)--(6.245,1.632)%
+  --(6.253,1.629)--(6.261,1.625)--(6.269,1.624)--(6.276,1.621)--(6.284,1.618)--(6.292,1.615)%
+  --(6.300,1.611)--(6.308,1.608)--(6.315,1.605)--(6.323,1.602)--(6.331,1.599)--(6.339,1.596)%
+  --(6.347,1.593)--(6.355,1.590)--(6.362,1.587)--(6.370,1.584)--(6.378,1.582)--(6.386,1.579)%
+  --(6.394,1.576)--(6.401,1.573)--(6.409,1.570)--(6.417,1.566)--(6.425,1.563)--(6.433,1.560)%
+  --(6.440,1.559)--(6.448,1.556)--(6.456,1.552)--(6.464,1.549)--(6.472,1.546)--(6.480,1.545)%
+  --(6.487,1.542)--(6.495,1.538)--(6.503,1.535)--(6.511,1.532)--(6.519,1.531)--(6.526,1.528)%
+  --(6.534,1.525)--(6.542,1.521)--(6.550,1.518)--(6.558,1.517)--(6.565,1.514)--(6.573,1.511)%
+  --(6.581,1.507)--(6.589,1.506)--(6.597,1.503)--(6.604,1.500)--(6.612,1.497)--(6.620,1.495)%
+  --(6.628,1.492)--(6.636,1.489)--(6.644,1.487)--(6.651,1.484)--(6.659,1.481)--(6.667,1.479)%
+  --(6.675,1.476)--(6.683,1.473)--(6.690,1.470)--(6.698,1.469)--(6.706,1.465)--(6.714,1.464)%
+  --(6.722,1.461)--(6.729,1.458)--(6.737,1.456)--(6.745,1.453)--(6.753,1.450)--(6.761,1.448)%
+  --(6.768,1.445)--(6.776,1.442)--(6.784,1.441)--(6.792,1.438)--(6.800,1.436)--(6.808,1.433)%
+  --(6.815,1.430)--(6.823,1.428)--(6.831,1.425)--(6.839,1.424)--(6.847,1.420)--(6.854,1.419)%
+  --(6.862,1.416)--(6.870,1.413)--(6.878,1.411)--(6.886,1.408)--(6.893,1.406)--(6.901,1.403)%
+  --(6.909,1.402)--(6.917,1.399)--(6.925,1.397)--(6.933,1.394)--(6.940,1.393)--(6.948,1.389)%
+  --(6.956,1.388)--(6.964,1.385)--(6.972,1.383)--(6.979,1.380)--(6.987,1.379)--(6.995,1.375)%
+  --(7.003,1.374)--(7.011,1.371)--(7.018,1.369)--(7.026,1.366)--(7.034,1.365)--(7.042,1.361)%
+  --(7.050,1.360)--(7.057,1.357)--(7.065,1.355)--(7.073,1.352)--(7.081,1.351)--(7.089,1.349)%
+  --(7.097,1.346)--(7.104,1.344)--(7.112,1.341)--(7.120,1.340)--(7.128,1.337)--(7.136,1.335)%
+  --(7.143,1.333)--(7.151,1.330)--(7.159,1.329)--(7.167,1.326)--(7.175,1.324)--(7.182,1.323)%
+  --(7.190,1.320)--(7.198,1.318)--(7.206,1.316)--(7.214,1.313)--(7.222,1.312)--(7.229,1.309)%
+  --(7.237,1.307)--(7.245,1.306)--(7.253,1.302)--(7.261,1.301)--(7.268,1.299)--(7.276,1.296)%
+  --(7.284,1.295)--(7.292,1.293)--(7.300,1.290)--(7.307,1.288)--(7.315,1.287)--(7.323,1.285)%
+  --(7.331,1.282)--(7.339,1.281)--(7.346,1.279)--(7.354,1.276)--(7.362,1.274)--(7.370,1.273)%
+  --(7.378,1.270)--(7.386,1.268)--(7.393,1.267)--(7.401,1.265)--(7.409,1.262)--(7.417,1.260)%
+  --(7.425,1.259)--(7.432,1.257)--(7.440,1.254)--(7.448,1.253)--(7.456,1.251)--(7.464,1.250)%
+  --(7.471,1.247)--(7.479,1.245)--(7.487,1.243)--(7.495,1.242)--(7.503,1.239)--(7.511,1.237)%
+  --(7.518,1.236)--(7.526,1.234)--(7.534,1.233)--(7.542,1.229)--(7.550,1.228)--(7.557,1.226)%
+  --(7.565,1.225)--(7.573,1.223)--(7.581,1.220)--(7.589,1.219)--(7.596,1.217)--(7.604,1.215)%
+  --(7.612,1.214)--(7.620,1.212)--(7.628,1.209)--(7.635,1.208)--(7.643,1.206)--(7.651,1.205)%
+  --(7.659,1.203)--(7.667,1.201)--(7.675,1.200)--(7.682,1.197)--(7.690,1.195)--(7.698,1.194)%
+  --(7.706,1.192)--(7.714,1.191)--(7.721,1.189)--(7.729,1.188)--(7.737,1.186)--(7.745,1.183)%
+  --(7.753,1.181)--(7.760,1.180)--(7.768,1.178)--(7.776,1.177)--(7.784,1.175)--(7.792,1.174)%
+  --(7.800,1.172)--(7.807,1.170)--(7.815,1.169)--(7.823,1.167)--(7.831,1.164)--(7.839,1.163)%
+  --(7.846,1.161)--(7.854,1.160)--(7.862,1.158)--(7.870,1.156)--(7.878,1.155)--(7.885,1.153)%
+  --(7.893,1.152)--(7.901,1.150)--(7.909,1.149)--(7.917,1.147)--(7.924,1.146)--(7.932,1.144)%
+  --(7.940,1.142)--(7.948,1.141)--(7.956,1.139)--(7.964,1.138)--(7.971,1.136)--(7.979,1.135)%
+  --(7.987,1.133)--(7.995,1.132)--(8.003,1.130)--(8.010,1.128)--(8.018,1.127)--(8.026,1.125)%
+  --(8.034,1.124)--(8.042,1.122)--(8.049,1.121)--(8.057,1.119)--(8.065,1.118)--(8.073,1.116)%
+  --(8.081,1.115)--(8.089,1.113)--(8.096,1.111)--(8.104,1.110)--(8.112,1.108)--(8.120,1.107)%
+  --(8.128,1.105)--(8.135,1.104)--(8.143,1.102)--(8.151,1.101)--(8.159,1.099)--(8.167,1.097)%
+  --(8.174,1.096)--(8.182,1.094)--(8.190,1.093)--(8.198,1.091)--(8.206,1.091)--(8.213,1.090)%
+  --(8.221,1.088)--(8.229,1.087)--(8.237,1.085)--(8.245,1.083)--(8.253,1.082)--(8.260,1.080)%
+  --(8.268,1.079)--(8.276,1.077)--(8.284,1.076)--(8.292,1.074)--(8.299,1.074)--(8.307,1.073)%
+  --(8.315,1.071)--(8.323,1.069)--(8.331,1.068)--(8.338,1.066)--(8.346,1.065)--(8.354,1.063)%
+  --(8.362,1.063)--(8.370,1.062)--(8.378,1.060)--(8.385,1.059)--(8.393,1.057)--(8.401,1.055)%
+  --(8.409,1.054)--(8.417,1.052)--(8.424,1.052)--(8.432,1.051)--(8.440,1.049)--(8.448,1.048)%
+  --(8.456,1.046)--(8.463,1.045)--(8.471,1.045)--(8.479,1.043)--(8.487,1.042)--(8.495,1.040)%
+  --(8.502,1.038)--(8.510,1.037)--(8.518,1.037)--(8.526,1.035)--(8.534,1.034)--(8.542,1.032)%
+  --(8.549,1.031)--(8.557,1.031)--(8.565,1.029)--(8.573,1.028)--(8.581,1.026)--(8.588,1.024)%
+  --(8.596,1.024)--(8.604,1.023)--(8.612,1.021)--(8.620,1.020)--(8.627,1.018)--(8.635,1.018)%
+  --(8.643,1.017)--(8.651,1.015)--(8.659,1.014)--(8.667,1.012)--(8.674,1.012)--(8.682,1.010)%
+  --(8.690,1.009)--(8.698,1.007)--(8.706,1.007)--(8.713,1.006)--(8.721,1.004)--(8.729,1.003)%
+  --(8.737,1.003)--(8.745,1.001)--(8.752,1.000)--(8.760,0.998)--(8.768,0.998)--(8.776,0.996)%
+  --(8.784,0.995)--(8.791,0.993)--(8.799,0.993)--(8.807,0.992)--(8.815,0.990)--(8.823,0.989)%
+  --(8.831,0.989)--(8.838,0.987)--(8.846,0.986)--(8.854,0.984)--(8.862,0.984)--(8.870,0.983)%
+  --(8.877,0.981)--(8.885,0.981)--(8.893,0.979)--(8.901,0.978)--(8.909,0.978)--(8.916,0.976)%
+  --(8.924,0.975)--(8.932,0.973)--(8.940,0.973)--(8.948,0.972)--(8.955,0.970)--(8.963,0.970)%
+  --(8.971,0.969)--(8.979,0.967)--(8.987,0.967)--(8.995,0.965)--(9.002,0.964)--(9.010,0.964)%
+  --(9.018,0.962)--(9.026,0.961)--(9.034,0.959)--(9.041,0.959)--(9.049,0.958)--(9.057,0.956)%
+  --(9.065,0.956)--(9.073,0.955)--(9.080,0.953)--(9.088,0.953)--(9.096,0.951)--(9.104,0.951)%
+  --(9.112,0.950)--(9.120,0.948)--(9.127,0.948)--(9.135,0.947)--(9.143,0.945)--(9.151,0.945)%
+  --(9.159,0.944)--(9.166,0.942)--(9.174,0.942)--(9.182,0.941)--(9.190,0.939)--(9.198,0.939)%
+  --(9.205,0.937)--(9.213,0.937)--(9.221,0.936)--(9.229,0.934)--(9.237,0.934)--(9.244,0.933)%
+  --(9.252,0.931)--(9.260,0.931)--(9.268,0.930)--(9.276,0.930)--(9.284,0.928)--(9.291,0.927)%
+  --(9.299,0.927)--(9.307,0.925)--(9.315,0.925)--(9.323,0.923)--(9.330,0.922)--(9.338,0.922)%
+  --(9.346,0.920)--(9.354,0.920)--(9.362,0.919)--(9.369,0.917)--(9.377,0.917)--(9.385,0.916)%
+  --(9.393,0.916)--(9.401,0.914)--(9.409,0.913)--(9.416,0.913)--(9.424,0.911)--(9.432,0.911)%
+  --(9.440,0.910)--(9.448,0.910)--(9.455,0.908)--(9.463,0.906)--(9.471,0.906)--(9.479,0.905)%
+  --(9.487,0.905)--(9.494,0.903)--(9.502,0.903)--(9.510,0.902)--(9.518,0.900)--(9.526,0.900)%
+  --(9.533,0.899)--(9.541,0.899)--(9.549,0.897)--(9.557,0.897)--(9.565,0.896)--(9.573,0.896)%
+  --(9.580,0.894)--(9.588,0.894)--(9.596,0.892)--(9.604,0.891)--(9.612,0.891)--(9.619,0.889)%
+  --(9.627,0.889)--(9.635,0.888)--(9.643,0.888)--(9.651,0.886)--(9.658,0.886)--(9.666,0.885)%
+  --(9.674,0.885)--(9.682,0.883)--(9.690,0.883)--(9.698,0.882)--(9.705,0.882)--(9.713,0.880)%
+  --(9.721,0.880)--(9.729,0.878)--(9.737,0.878)--(9.744,0.877)--(9.752,0.877)--(9.760,0.875)%
+  --(9.768,0.875)--(9.776,0.874)--(9.783,0.874)--(9.791,0.872)--(9.799,0.872)--(9.807,0.871)%
+  --(9.815,0.871)--(9.822,0.869)--(9.830,0.869)--(9.838,0.868)--(9.846,0.868)--(9.854,0.866)%
+  --(9.862,0.866)--(9.869,0.864)--(9.877,0.864)--(9.885,0.863)--(9.893,0.863)--(9.901,0.861)%
+  --(9.908,0.861)--(9.916,0.860)--(9.924,0.860)--(9.932,0.858)--(9.940,0.858)--(9.947,0.857)%
+  --(9.955,0.857)--(9.963,0.855)--(9.971,0.855)--(9.979,0.854)--(9.987,0.854)--(9.994,0.852)%
+  --(10.002,0.852)--(10.010,0.852)--(10.018,0.851)--(10.026,0.851)--(10.033,0.849)--(10.041,0.849)%
+  --(10.049,0.847)--(10.057,0.847)--(10.065,0.846)--(10.072,0.846)--(10.080,0.844)--(10.088,0.844)%
+  --(10.096,0.844)--(10.104,0.843)--(10.111,0.843)--(10.119,0.841)--(10.127,0.841)--(10.135,0.840)%
+  --(10.143,0.840)--(10.151,0.840)--(10.158,0.838)--(10.166,0.838)--(10.174,0.837)--(10.182,0.837)%
+  --(10.190,0.835)--(10.197,0.835)--(10.205,0.833)--(10.213,0.833)--(10.221,0.833)--(10.229,0.832)%
+  --(10.236,0.832)--(10.244,0.830)--(10.252,0.830)--(10.260,0.830)--(10.268,0.829)--(10.276,0.829)%
+  --(10.283,0.827)--(10.291,0.827)--(10.299,0.826)--(10.307,0.826)--(10.315,0.826)--(10.322,0.824)%
+  --(10.330,0.824)--(10.338,0.823)--(10.346,0.823)--(10.354,0.823)--(10.361,0.821)--(10.369,0.821)%
+  --(10.377,0.819)--(10.385,0.819)--(10.393,0.819)--(10.400,0.818)--(10.408,0.818)--(10.416,0.816)%
+  --(10.424,0.816)--(10.432,0.816)--(10.440,0.815)--(10.447,0.815)--(10.455,0.813)--(10.463,0.813)%
+  --(10.471,0.813)--(10.479,0.812)--(10.486,0.812)--(10.494,0.812)--(10.502,0.810)--(10.510,0.810)%
+  --(10.518,0.809)--(10.525,0.809)--(10.533,0.809)--(10.541,0.807)--(10.549,0.807)--(10.557,0.807)%
+  --(10.565,0.805)--(10.572,0.805)--(10.580,0.804)--(10.588,0.804)--(10.596,0.804)--(10.604,0.802)%
+  --(10.611,0.802)--(10.619,0.802)--(10.627,0.801)--(10.635,0.801)--(10.643,0.801)--(10.650,0.799)%
+  --(10.658,0.799)--(10.666,0.798)--(10.674,0.798)--(10.682,0.798)--(10.689,0.796)--(10.697,0.796)%
+  --(10.705,0.796)--(10.713,0.795)--(10.721,0.795)--(10.729,0.795)--(10.736,0.793)--(10.744,0.793)%
+  --(10.752,0.793)--(10.760,0.791)--(10.768,0.791)--(10.775,0.791)--(10.783,0.790)--(10.791,0.790)%
+  --(10.799,0.790)--(10.807,0.788)--(10.814,0.788)--(10.822,0.788)--(10.830,0.787)--(10.838,0.787)%
+  --(10.846,0.787)--(10.854,0.785)--(10.861,0.785)--(10.869,0.785)--(10.877,0.784)--(10.885,0.784)%
+  --(10.893,0.784)--(10.900,0.782)--(10.908,0.782)--(10.916,0.782)--(10.924,0.781)--(10.932,0.781)%
+  --(10.939,0.781)--(10.947,0.779)--(10.955,0.779)--(10.963,0.779)--(10.971,0.778)--(10.978,0.778)%
+  --(10.986,0.778)--(10.994,0.776)--(11.002,0.776)--(11.010,0.776)--(11.018,0.774)--(11.025,0.774)%
+  --(11.033,0.774)--(11.041,0.774)--(11.049,0.773)--(11.057,0.773)--(11.064,0.773)--(11.072,0.771)%
+  --(11.080,0.771)--(11.088,0.771)--(11.096,0.770)--(11.103,0.770)--(11.111,0.770)--(11.119,0.768)%
+  --(11.127,0.768)--(11.135,0.768)--(11.142,0.768)--(11.150,0.767)--(11.158,0.767)--(11.166,0.767)%
+  --(11.174,0.765)--(11.182,0.765)--(11.189,0.765)--(11.197,0.765)--(11.205,0.764)--(11.213,0.764)%
+  --(11.221,0.764)--(11.228,0.762)--(11.236,0.762)--(11.244,0.762)--(11.252,0.762)--(11.260,0.760)%
+  --(11.267,0.760)--(11.275,0.760)--(11.283,0.759)--(11.291,0.759)--(11.299,0.759)--(11.307,0.759)%
+  --(11.314,0.757)--(11.322,0.757)--(11.330,0.757)--(11.338,0.756)--(11.346,0.756);
+\gpcolor{color=gp lt color border}
+\node[gp node right] at (10.479,7.35) {Theorie};
+\gpcolor{rgb color={0.000,0.620,0.451}}
+\draw[gp path] (10.663,7.35)--(11.579,7.35);
+\draw[gp path] (1.012,8.381)--(1.020,8.358)--(1.028,8.334)--(1.035,8.311)--(1.043,8.288)%
+  --(1.051,8.265)--(1.059,8.241)--(1.067,8.218)--(1.074,8.195)--(1.082,8.171)--(1.090,8.150)%
+  --(1.098,8.126)--(1.106,8.103)--(1.114,8.081)--(1.121,8.058)--(1.129,8.036)--(1.137,8.013)%
+  --(1.145,7.991)--(1.153,7.969)--(1.160,7.946)--(1.168,7.924)--(1.176,7.903)--(1.184,7.881)%
+  --(1.192,7.858)--(1.199,7.836)--(1.207,7.814)--(1.215,7.792)--(1.223,7.771)--(1.231,7.749)%
+  --(1.239,7.727)--(1.246,7.707)--(1.254,7.685)--(1.262,7.664)--(1.270,7.642)--(1.278,7.620)%
+  --(1.285,7.600)--(1.293,7.578)--(1.301,7.558)--(1.309,7.536)--(1.317,7.516)--(1.324,7.494)%
+  --(1.332,7.474)--(1.340,7.452)--(1.348,7.432)--(1.356,7.412)--(1.363,7.392)--(1.371,7.370)%
+  --(1.379,7.350)--(1.387,7.330)--(1.395,7.309)--(1.403,7.289)--(1.410,7.269)--(1.418,7.249)%
+  --(1.426,7.229)--(1.434,7.208)--(1.442,7.188)--(1.449,7.170)--(1.457,7.149)--(1.465,7.129)%
+  --(1.473,7.109)--(1.481,7.090)--(1.488,7.070)--(1.496,7.052)--(1.504,7.031)--(1.512,7.013)%
+  --(1.520,6.993)--(1.528,6.974)--(1.535,6.954)--(1.543,6.935)--(1.551,6.917)--(1.559,6.896)%
+  --(1.567,6.878)--(1.574,6.859)--(1.582,6.840)--(1.590,6.822)--(1.598,6.803)--(1.606,6.783)%
+  --(1.613,6.764)--(1.621,6.746)--(1.629,6.729)--(1.637,6.710)--(1.645,6.691)--(1.652,6.673)%
+  --(1.660,6.654)--(1.668,6.635)--(1.676,6.618)--(1.684,6.600)--(1.692,6.581)--(1.699,6.564)%
+  --(1.707,6.545)--(1.715,6.528)--(1.723,6.510)--(1.731,6.493)--(1.738,6.474)--(1.746,6.457)%
+  --(1.754,6.438)--(1.762,6.421)--(1.770,6.404)--(1.777,6.385)--(1.785,6.368)--(1.793,6.351)%
+  --(1.801,6.334)--(1.809,6.317)--(1.817,6.298)--(1.824,6.281)--(1.832,6.264)--(1.840,6.247)%
+  --(1.848,6.230)--(1.856,6.213)--(1.863,6.197)--(1.871,6.180)--(1.879,6.163)--(1.887,6.146)%
+  --(1.895,6.129)--(1.902,6.112)--(1.910,6.097)--(1.918,6.079)--(1.926,6.062)--(1.934,6.047)%
+  --(1.941,6.030)--(1.949,6.014)--(1.957,5.997)--(1.965,5.982)--(1.973,5.965)--(1.981,5.949)%
+  --(1.988,5.932)--(1.996,5.916)--(2.004,5.901)--(2.012,5.884)--(2.020,5.868)--(2.027,5.853)%
+  --(2.035,5.837)--(2.043,5.822)--(2.051,5.805)--(2.059,5.789)--(2.066,5.774)--(2.074,5.758)%
+  --(2.082,5.742)--(2.090,5.727)--(2.098,5.711)--(2.106,5.696)--(2.113,5.680)--(2.121,5.666)%
+  --(2.129,5.651)--(2.137,5.635)--(2.145,5.620)--(2.152,5.604)--(2.160,5.590)--(2.168,5.575)%
+  --(2.176,5.559)--(2.184,5.545)--(2.191,5.530)--(2.199,5.516)--(2.207,5.500)--(2.215,5.485)%
+  --(2.223,5.471)--(2.230,5.457)--(2.238,5.441)--(2.246,5.427)--(2.254,5.412)--(2.262,5.398)%
+  --(2.270,5.384)--(2.277,5.368)--(2.285,5.354)--(2.293,5.340)--(2.301,5.326)--(2.309,5.311)%
+  --(2.316,5.297)--(2.324,5.283)--(2.332,5.269)--(2.340,5.255)--(2.348,5.241)--(2.355,5.227)%
+  --(2.363,5.213)--(2.371,5.199)--(2.379,5.185)--(2.387,5.171)--(2.394,5.157)--(2.402,5.145)%
+  --(2.410,5.131)--(2.418,5.117)--(2.426,5.103)--(2.434,5.089)--(2.441,5.076)--(2.449,5.062)%
+  --(2.457,5.048)--(2.465,5.036)--(2.473,5.022)--(2.480,5.008)--(2.488,4.995)--(2.496,4.981)%
+  --(2.504,4.969)--(2.512,4.955)--(2.519,4.943)--(2.527,4.930)--(2.535,4.916)--(2.543,4.904)%
+  --(2.551,4.890)--(2.559,4.877)--(2.566,4.865)--(2.574,4.851)--(2.582,4.839)--(2.590,4.826)%
+  --(2.598,4.814)--(2.605,4.801)--(2.613,4.787)--(2.621,4.775)--(2.629,4.763)--(2.637,4.750)%
+  --(2.644,4.738)--(2.652,4.725)--(2.660,4.713)--(2.668,4.700)--(2.676,4.688)--(2.683,4.676)%
+  --(2.691,4.663)--(2.699,4.651)--(2.707,4.640)--(2.715,4.627)--(2.723,4.615)--(2.730,4.603)%
+  --(2.738,4.590)--(2.746,4.579)--(2.754,4.567)--(2.762,4.554)--(2.769,4.542)--(2.777,4.531)%
+  --(2.785,4.519)--(2.793,4.508)--(2.801,4.495)--(2.808,4.483)--(2.816,4.472)--(2.824,4.460)%
+  --(2.832,4.449)--(2.840,4.436)--(2.848,4.426)--(2.855,4.415)--(2.863,4.402)--(2.871,4.391)%
+  --(2.879,4.379)--(2.887,4.368)--(2.894,4.357)--(2.902,4.346)--(2.910,4.334)--(2.918,4.323)%
+  --(2.926,4.312)--(2.933,4.301)--(2.941,4.289)--(2.949,4.278)--(2.957,4.267)--(2.965,4.256)%
+  --(2.972,4.245)--(2.980,4.234)--(2.988,4.224)--(2.996,4.213)--(3.004,4.202)--(3.012,4.191)%
+  --(3.019,4.180)--(3.027,4.169)--(3.035,4.158)--(3.043,4.148)--(3.051,4.137)--(3.058,4.126)%
+  --(3.066,4.115)--(3.074,4.106)--(3.082,4.095)--(3.090,4.084)--(3.097,4.073)--(3.105,4.064)%
+  --(3.113,4.053)--(3.121,4.042)--(3.129,4.031)--(3.137,4.022)--(3.144,4.011)--(3.152,4.002)%
+  --(3.160,3.991)--(3.168,3.980)--(3.176,3.970)--(3.183,3.960)--(3.191,3.950)--(3.199,3.939)%
+  --(3.207,3.930)--(3.215,3.919)--(3.222,3.910)--(3.230,3.901)--(3.238,3.890)--(3.246,3.880)%
+  --(3.254,3.870)--(3.261,3.860)--(3.269,3.851)--(3.277,3.840)--(3.285,3.831)--(3.293,3.821)%
+  --(3.301,3.812)--(3.308,3.801)--(3.316,3.792)--(3.324,3.783)--(3.332,3.773)--(3.340,3.764)%
+  --(3.347,3.755)--(3.355,3.744)--(3.363,3.734)--(3.371,3.725)--(3.379,3.716)--(3.386,3.706)%
+  --(3.394,3.697)--(3.402,3.688)--(3.410,3.679)--(3.418,3.669)--(3.426,3.660)--(3.433,3.651)%
+  --(3.441,3.641)--(3.449,3.633)--(3.457,3.624)--(3.465,3.615)--(3.472,3.606)--(3.480,3.596)%
+  --(3.488,3.587)--(3.496,3.579)--(3.504,3.570)--(3.511,3.560)--(3.519,3.551)--(3.527,3.543)%
+  --(3.535,3.534)--(3.543,3.525)--(3.550,3.515)--(3.558,3.508)--(3.566,3.498)--(3.574,3.491)%
+  --(3.582,3.481)--(3.590,3.472)--(3.597,3.464)--(3.605,3.455)--(3.613,3.447)--(3.621,3.438)%
+  --(3.629,3.430)--(3.636,3.421)--(3.644,3.413)--(3.652,3.404)--(3.660,3.396)--(3.668,3.387)%
+  --(3.675,3.379)--(3.683,3.371)--(3.691,3.362)--(3.699,3.354)--(3.707,3.346)--(3.715,3.337)%
+  --(3.722,3.329)--(3.730,3.321)--(3.738,3.312)--(3.746,3.304)--(3.754,3.296)--(3.761,3.289)%
+  --(3.769,3.281)--(3.777,3.272)--(3.785,3.264)--(3.793,3.256)--(3.800,3.248)--(3.808,3.241)%
+  --(3.816,3.233)--(3.824,3.225)--(3.832,3.216)--(3.839,3.208)--(3.847,3.200)--(3.855,3.192)%
+  --(3.863,3.185)--(3.871,3.177)--(3.879,3.169)--(3.886,3.161)--(3.894,3.154)--(3.902,3.146)%
+  --(3.910,3.138)--(3.918,3.132)--(3.925,3.124)--(3.933,3.116)--(3.941,3.109)--(3.949,3.101)%
+  --(3.957,3.093)--(3.964,3.085)--(3.972,3.079)--(3.980,3.071)--(3.988,3.064)--(3.996,3.056)%
+  --(4.004,3.048)--(4.011,3.042)--(4.019,3.034)--(4.027,3.026)--(4.035,3.020)--(4.043,3.012)%
+  --(4.050,3.005)--(4.058,2.998)--(4.066,2.991)--(4.074,2.983)--(4.082,2.977)--(4.089,2.969)%
+  --(4.097,2.963)--(4.105,2.955)--(4.113,2.947)--(4.121,2.941)--(4.128,2.933)--(4.136,2.927)%
+  --(4.144,2.919)--(4.152,2.913)--(4.160,2.905)--(4.168,2.899)--(4.175,2.891)--(4.183,2.885)%
+  --(4.191,2.879)--(4.199,2.871)--(4.207,2.865)--(4.214,2.857)--(4.222,2.851)--(4.230,2.845)%
+  --(4.238,2.837)--(4.246,2.831)--(4.253,2.824)--(4.261,2.817)--(4.269,2.810)--(4.277,2.804)%
+  --(4.285,2.798)--(4.293,2.790)--(4.300,2.784)--(4.308,2.778)--(4.316,2.772)--(4.324,2.764)%
+  --(4.332,2.758)--(4.339,2.751)--(4.347,2.745)--(4.355,2.739)--(4.363,2.733)--(4.371,2.727)%
+  --(4.378,2.719)--(4.386,2.713)--(4.394,2.706)--(4.402,2.700)--(4.410,2.694)--(4.417,2.688)%
+  --(4.425,2.681)--(4.433,2.675)--(4.441,2.669)--(4.449,2.663)--(4.457,2.657)--(4.464,2.650)%
+  --(4.472,2.644)--(4.480,2.638)--(4.488,2.632)--(4.496,2.626)--(4.503,2.619)--(4.511,2.613)%
+  --(4.519,2.608)--(4.527,2.602)--(4.535,2.596)--(4.542,2.590)--(4.550,2.584)--(4.558,2.577)%
+  --(4.566,2.571)--(4.574,2.567)--(4.581,2.560)--(4.589,2.554)--(4.597,2.548)--(4.605,2.542)%
+  --(4.613,2.537)--(4.621,2.531)--(4.628,2.525)--(4.636,2.520)--(4.644,2.514)--(4.652,2.508)%
+  --(4.660,2.501)--(4.667,2.497)--(4.675,2.490)--(4.683,2.484)--(4.691,2.480)--(4.699,2.473)%
+  --(4.706,2.469)--(4.714,2.463)--(4.722,2.456)--(4.730,2.452)--(4.738,2.445)--(4.746,2.441)%
+  --(4.753,2.435)--(4.761,2.430)--(4.769,2.424)--(4.777,2.417)--(4.785,2.413)--(4.792,2.407)%
+  --(4.800,2.402)--(4.808,2.396)--(4.816,2.391)--(4.824,2.386)--(4.831,2.380)--(4.839,2.376)%
+  --(4.847,2.369)--(4.855,2.365)--(4.863,2.358)--(4.870,2.354)--(4.878,2.349)--(4.886,2.343)%
+  --(4.894,2.338)--(4.902,2.334)--(4.910,2.327)--(4.917,2.323)--(4.925,2.318)--(4.933,2.312)%
+  --(4.941,2.307)--(4.949,2.303)--(4.956,2.296)--(4.964,2.292)--(4.972,2.287)--(4.980,2.282)%
+  --(4.988,2.276)--(4.995,2.271)--(5.003,2.267)--(5.011,2.262)--(5.019,2.256)--(5.027,2.251)%
+  --(5.035,2.247)--(5.042,2.242)--(5.050,2.237)--(5.058,2.233)--(5.066,2.226)--(5.074,2.222)%
+  --(5.081,2.217)--(5.089,2.212)--(5.097,2.208)--(5.105,2.203)--(5.113,2.199)--(5.120,2.194)%
+  --(5.128,2.189)--(5.136,2.183)--(5.144,2.178)--(5.152,2.174)--(5.159,2.169)--(5.167,2.164)%
+  --(5.175,2.160)--(5.183,2.155)--(5.191,2.150)--(5.199,2.146)--(5.206,2.141)--(5.214,2.136)%
+  --(5.222,2.132)--(5.230,2.127)--(5.238,2.122)--(5.245,2.119)--(5.253,2.115)--(5.261,2.110)%
+  --(5.269,2.105)--(5.277,2.101)--(5.284,2.096)--(5.292,2.091)--(5.300,2.087)--(5.308,2.082)%
+  --(5.316,2.079)--(5.324,2.074)--(5.331,2.070)--(5.339,2.065)--(5.347,2.060)--(5.355,2.056)%
+  --(5.363,2.053)--(5.370,2.048)--(5.378,2.043)--(5.386,2.039)--(5.394,2.034)--(5.402,2.031)%
+  --(5.409,2.026)--(5.417,2.021)--(5.425,2.017)--(5.433,2.014)--(5.441,2.009)--(5.448,2.004)%
+  --(5.456,2.001)--(5.464,1.997)--(5.472,1.992)--(5.480,1.987)--(5.488,1.984)--(5.495,1.980)%
+  --(5.503,1.975)--(5.511,1.972)--(5.519,1.967)--(5.527,1.964)--(5.534,1.959)--(5.542,1.955)%
+  --(5.550,1.952)--(5.558,1.947)--(5.566,1.944)--(5.573,1.939)--(5.581,1.934)--(5.589,1.931)%
+  --(5.597,1.927)--(5.605,1.924)--(5.613,1.919)--(5.620,1.916)--(5.628,1.911)--(5.636,1.908)%
+  --(5.644,1.903)--(5.652,1.899)--(5.659,1.896)--(5.667,1.893)--(5.675,1.888)--(5.683,1.885)%
+  --(5.691,1.880)--(5.698,1.877)--(5.706,1.872)--(5.714,1.869)--(5.722,1.865)--(5.730,1.862)%
+  --(5.737,1.857)--(5.745,1.854)--(5.753,1.851)--(5.761,1.846)--(5.769,1.843)--(5.777,1.838)%
+  --(5.784,1.835)--(5.792,1.832)--(5.800,1.827)--(5.808,1.824)--(5.816,1.821)--(5.823,1.816)%
+  --(5.831,1.813)--(5.839,1.810)--(5.847,1.806)--(5.855,1.802)--(5.862,1.799)--(5.870,1.795)%
+  --(5.878,1.792)--(5.886,1.789)--(5.894,1.784)--(5.902,1.781)--(5.909,1.778)--(5.917,1.775)%
+  --(5.925,1.770)--(5.933,1.767)--(5.941,1.764)--(5.948,1.761)--(5.956,1.756)--(5.964,1.753)%
+  --(5.972,1.750)--(5.980,1.747)--(5.987,1.743)--(5.995,1.739)--(6.003,1.736)--(6.011,1.733)%
+  --(6.019,1.730)--(6.026,1.726)--(6.034,1.722)--(6.042,1.719)--(6.050,1.716)--(6.058,1.712)%
+  --(6.066,1.709)--(6.073,1.706)--(6.081,1.703)--(6.089,1.698)--(6.097,1.695)--(6.105,1.692)%
+  --(6.112,1.689)--(6.120,1.686)--(6.128,1.683)--(6.136,1.680)--(6.144,1.677)--(6.151,1.674)%
+  --(6.159,1.670)--(6.167,1.667)--(6.175,1.664)--(6.183,1.661)--(6.191,1.658)--(6.198,1.655)%
+  --(6.206,1.652)--(6.214,1.647)--(6.222,1.644)--(6.230,1.641)--(6.237,1.638)--(6.245,1.635)%
+  --(6.253,1.632)--(6.261,1.630)--(6.269,1.627)--(6.276,1.624)--(6.284,1.621)--(6.292,1.618)%
+  --(6.300,1.615)--(6.308,1.611)--(6.315,1.608)--(6.323,1.605)--(6.331,1.602)--(6.339,1.599)%
+  --(6.347,1.596)--(6.355,1.593)--(6.362,1.590)--(6.370,1.587)--(6.378,1.585)--(6.386,1.582)%
+  --(6.394,1.579)--(6.401,1.576)--(6.409,1.573)--(6.417,1.570)--(6.425,1.566)--(6.433,1.563)%
+  --(6.440,1.562)--(6.448,1.559)--(6.456,1.556)--(6.464,1.552)--(6.472,1.549)--(6.480,1.546)%
+  --(6.487,1.545)--(6.495,1.542)--(6.503,1.538)--(6.511,1.535)--(6.519,1.532)--(6.526,1.531)%
+  --(6.534,1.528)--(6.542,1.525)--(6.550,1.521)--(6.558,1.520)--(6.565,1.517)--(6.573,1.514)%
+  --(6.581,1.511)--(6.589,1.509)--(6.597,1.506)--(6.604,1.503)--(6.612,1.500)--(6.620,1.498)%
+  --(6.628,1.495)--(6.636,1.492)--(6.644,1.489)--(6.651,1.487)--(6.659,1.484)--(6.667,1.481)%
+  --(6.675,1.479)--(6.683,1.476)--(6.690,1.473)--(6.698,1.472)--(6.706,1.469)--(6.714,1.465)%
+  --(6.722,1.464)--(6.729,1.461)--(6.737,1.458)--(6.745,1.456)--(6.753,1.453)--(6.761,1.450)%
+  --(6.768,1.448)--(6.776,1.445)--(6.784,1.444)--(6.792,1.441)--(6.800,1.438)--(6.808,1.436)%
+  --(6.815,1.433)--(6.823,1.431)--(6.831,1.428)--(6.839,1.425)--(6.847,1.424)--(6.854,1.420)%
+  --(6.862,1.419)--(6.870,1.416)--(6.878,1.414)--(6.886,1.411)--(6.893,1.408)--(6.901,1.406)%
+  --(6.909,1.403)--(6.917,1.402)--(6.925,1.399)--(6.933,1.397)--(6.940,1.394)--(6.948,1.393)%
+  --(6.956,1.389)--(6.964,1.388)--(6.972,1.385)--(6.979,1.383)--(6.987,1.380)--(6.995,1.379)%
+  --(7.003,1.375)--(7.011,1.374)--(7.018,1.371)--(7.026,1.369)--(7.034,1.366)--(7.042,1.365)%
+  --(7.050,1.361)--(7.057,1.360)--(7.065,1.358)--(7.073,1.355)--(7.081,1.354)--(7.089,1.351)%
+  --(7.097,1.349)--(7.104,1.346)--(7.112,1.344)--(7.120,1.343)--(7.128,1.340)--(7.136,1.338)%
+  --(7.143,1.335)--(7.151,1.333)--(7.159,1.332)--(7.167,1.329)--(7.175,1.327)--(7.182,1.324)%
+  --(7.190,1.323)--(7.198,1.321)--(7.206,1.318)--(7.214,1.316)--(7.222,1.313)--(7.229,1.312)%
+  --(7.237,1.310)--(7.245,1.307)--(7.253,1.306)--(7.261,1.304)--(7.268,1.301)--(7.276,1.299)%
+  --(7.284,1.298)--(7.292,1.295)--(7.300,1.293)--(7.307,1.292)--(7.315,1.288)--(7.323,1.287)%
+  --(7.331,1.285)--(7.339,1.284)--(7.346,1.281)--(7.354,1.279)--(7.362,1.278)--(7.370,1.274)%
+  --(7.378,1.273)--(7.386,1.271)--(7.393,1.268)--(7.401,1.267)--(7.409,1.265)--(7.417,1.264)%
+  --(7.425,1.260)--(7.432,1.259)--(7.440,1.257)--(7.448,1.256)--(7.456,1.253)--(7.464,1.251)%
+  --(7.471,1.250)--(7.479,1.248)--(7.487,1.245)--(7.495,1.243)--(7.503,1.242)--(7.511,1.240)%
+  --(7.518,1.239)--(7.526,1.236)--(7.534,1.234)--(7.542,1.233)--(7.550,1.231)--(7.557,1.229)%
+  --(7.565,1.226)--(7.573,1.225)--(7.581,1.223)--(7.589,1.222)--(7.596,1.220)--(7.604,1.217)%
+  --(7.612,1.215)--(7.620,1.214)--(7.628,1.212)--(7.635,1.211)--(7.643,1.209)--(7.651,1.206)%
+  --(7.659,1.205)--(7.667,1.203)--(7.675,1.201)--(7.682,1.200)--(7.690,1.198)--(7.698,1.197)%
+  --(7.706,1.194)--(7.714,1.192)--(7.721,1.191)--(7.729,1.189)--(7.737,1.188)--(7.745,1.186)%
+  --(7.753,1.184)--(7.760,1.183)--(7.768,1.181)--(7.776,1.178)--(7.784,1.177)--(7.792,1.175)%
+  --(7.800,1.174)--(7.807,1.172)--(7.815,1.170)--(7.823,1.169)--(7.831,1.167)--(7.839,1.166)%
+  --(7.846,1.164)--(7.854,1.163)--(7.862,1.161)--(7.870,1.160)--(7.878,1.156)--(7.885,1.155)%
+  --(7.893,1.153)--(7.901,1.152)--(7.909,1.150)--(7.917,1.149)--(7.924,1.147)--(7.932,1.146)%
+  --(7.940,1.144)--(7.948,1.142)--(7.956,1.141)--(7.964,1.139)--(7.971,1.138)--(7.979,1.136)%
+  --(7.987,1.135)--(7.995,1.133)--(8.003,1.132)--(8.010,1.130)--(8.018,1.128)--(8.026,1.127)%
+  --(8.034,1.125)--(8.042,1.124)--(8.049,1.122)--(8.057,1.121)--(8.065,1.119)--(8.073,1.118)%
+  --(8.081,1.116)--(8.089,1.115)--(8.096,1.113)--(8.104,1.111)--(8.112,1.110)--(8.120,1.108)%
+  --(8.128,1.107)--(8.135,1.105)--(8.143,1.104)--(8.151,1.102)--(8.159,1.101)--(8.167,1.101)%
+  --(8.174,1.099)--(8.182,1.097)--(8.190,1.096)--(8.198,1.094)--(8.206,1.093)--(8.213,1.091)%
+  --(8.221,1.090)--(8.229,1.088)--(8.237,1.087)--(8.245,1.085)--(8.253,1.083)--(8.260,1.082)%
+  --(8.268,1.080)--(8.276,1.080)--(8.284,1.079)--(8.292,1.077)--(8.299,1.076)--(8.307,1.074)%
+  --(8.315,1.073)--(8.323,1.071)--(8.331,1.069)--(8.338,1.068)--(8.346,1.068)--(8.354,1.066)%
+  --(8.362,1.065)--(8.370,1.063)--(8.378,1.062)--(8.385,1.060)--(8.393,1.059)--(8.401,1.057)%
+  --(8.409,1.057)--(8.417,1.055)--(8.424,1.054)--(8.432,1.052)--(8.440,1.051)--(8.448,1.049)%
+  --(8.456,1.048)--(8.463,1.048)--(8.471,1.046)--(8.479,1.045)--(8.487,1.043)--(8.495,1.042)%
+  --(8.502,1.040)--(8.510,1.040)--(8.518,1.038)--(8.526,1.037)--(8.534,1.035)--(8.542,1.034)%
+  --(8.549,1.034)--(8.557,1.032)--(8.565,1.031)--(8.573,1.029)--(8.581,1.028)--(8.588,1.026)%
+  --(8.596,1.026)--(8.604,1.024)--(8.612,1.023)--(8.620,1.021)--(8.627,1.021)--(8.635,1.020)%
+  --(8.643,1.018)--(8.651,1.017)--(8.659,1.015)--(8.667,1.015)--(8.674,1.014)--(8.682,1.012)%
+  --(8.690,1.010)--(8.698,1.010)--(8.706,1.009)--(8.713,1.007)--(8.721,1.006)--(8.729,1.004)%
+  --(8.737,1.004)--(8.745,1.003)--(8.752,1.001)--(8.760,1.000)--(8.768,1.000)--(8.776,0.998)%
+  --(8.784,0.996)--(8.791,0.995)--(8.799,0.995)--(8.807,0.993)--(8.815,0.992)--(8.823,0.992)%
+  --(8.831,0.990)--(8.838,0.989)--(8.846,0.987)--(8.854,0.987)--(8.862,0.986)--(8.870,0.984)%
+  --(8.877,0.983)--(8.885,0.983)--(8.893,0.981)--(8.901,0.979)--(8.909,0.979)--(8.916,0.978)%
+  --(8.924,0.976)--(8.932,0.975)--(8.940,0.975)--(8.948,0.973)--(8.955,0.972)--(8.963,0.972)%
+  --(8.971,0.970)--(8.979,0.969)--(8.987,0.969)--(8.995,0.967)--(9.002,0.965)--(9.010,0.965)%
+  --(9.018,0.964)--(9.026,0.962)--(9.034,0.962)--(9.041,0.961)--(9.049,0.959)--(9.057,0.959)%
+  --(9.065,0.958)--(9.073,0.956)--(9.080,0.956)--(9.088,0.955)--(9.096,0.953)--(9.104,0.953)%
+  --(9.112,0.951)--(9.120,0.950)--(9.127,0.950)--(9.135,0.948)--(9.143,0.947)--(9.151,0.947)%
+  --(9.159,0.945)--(9.166,0.944)--(9.174,0.944)--(9.182,0.942)--(9.190,0.941)--(9.198,0.941)%
+  --(9.205,0.939)--(9.213,0.939)--(9.221,0.937)--(9.229,0.936)--(9.237,0.936)--(9.244,0.934)%
+  --(9.252,0.933)--(9.260,0.933)--(9.268,0.931)--(9.276,0.931)--(9.284,0.930)--(9.291,0.928)%
+  --(9.299,0.928)--(9.307,0.927)--(9.315,0.927)--(9.323,0.925)--(9.330,0.923)--(9.338,0.923)%
+  --(9.346,0.922)--(9.354,0.922)--(9.362,0.920)--(9.369,0.919)--(9.377,0.919)--(9.385,0.917)%
+  --(9.393,0.917)--(9.401,0.916)--(9.409,0.914)--(9.416,0.914)--(9.424,0.913)--(9.432,0.913)%
+  --(9.440,0.911)--(9.448,0.911)--(9.455,0.910)--(9.463,0.908)--(9.471,0.908)--(9.479,0.906)%
+  --(9.487,0.906)--(9.494,0.905)--(9.502,0.905)--(9.510,0.903)--(9.518,0.902)--(9.526,0.902)%
+  --(9.533,0.900)--(9.541,0.900)--(9.549,0.899)--(9.557,0.899)--(9.565,0.897)--(9.573,0.897)%
+  --(9.580,0.896)--(9.588,0.894)--(9.596,0.894)--(9.604,0.892)--(9.612,0.892)--(9.619,0.891)%
+  --(9.627,0.891)--(9.635,0.889)--(9.643,0.889)--(9.651,0.888)--(9.658,0.888)--(9.666,0.886)%
+  --(9.674,0.886)--(9.682,0.885)--(9.690,0.885)--(9.698,0.883)--(9.705,0.882)--(9.713,0.882)%
+  --(9.721,0.880)--(9.729,0.880)--(9.737,0.878)--(9.744,0.878)--(9.752,0.877)--(9.760,0.877)%
+  --(9.768,0.875)--(9.776,0.875)--(9.783,0.874)--(9.791,0.874)--(9.799,0.872)--(9.807,0.872)%
+  --(9.815,0.871)--(9.822,0.871)--(9.830,0.869)--(9.838,0.869)--(9.846,0.868)--(9.854,0.868)%
+  --(9.862,0.866)--(9.869,0.866)--(9.877,0.864)--(9.885,0.864)--(9.893,0.863)--(9.901,0.863)%
+  --(9.908,0.861)--(9.916,0.861)--(9.924,0.861)--(9.932,0.860)--(9.940,0.860)--(9.947,0.858)%
+  --(9.955,0.858)--(9.963,0.857)--(9.971,0.857)--(9.979,0.855)--(9.987,0.855)--(9.994,0.854)%
+  --(10.002,0.854)--(10.010,0.852)--(10.018,0.852)--(10.026,0.851)--(10.033,0.851)--(10.041,0.851)%
+  --(10.049,0.849)--(10.057,0.849)--(10.065,0.847)--(10.072,0.847)--(10.080,0.846)--(10.088,0.846)%
+  --(10.096,0.844)--(10.104,0.844)--(10.111,0.843)--(10.119,0.843)--(10.127,0.843)--(10.135,0.841)%
+  --(10.143,0.841)--(10.151,0.840)--(10.158,0.840)--(10.166,0.838)--(10.174,0.838)--(10.182,0.838)%
+  --(10.190,0.837)--(10.197,0.837)--(10.205,0.835)--(10.213,0.835)--(10.221,0.833)--(10.229,0.833)%
+  --(10.236,0.833)--(10.244,0.832)--(10.252,0.832)--(10.260,0.830)--(10.268,0.830)--(10.276,0.829)%
+  --(10.283,0.829)--(10.291,0.829)--(10.299,0.827)--(10.307,0.827)--(10.315,0.826)--(10.322,0.826)%
+  --(10.330,0.826)--(10.338,0.824)--(10.346,0.824)--(10.354,0.823)--(10.361,0.823)--(10.369,0.823)%
+  --(10.377,0.821)--(10.385,0.821)--(10.393,0.819)--(10.400,0.819)--(10.408,0.819)--(10.416,0.818)%
+  --(10.424,0.818)--(10.432,0.816)--(10.440,0.816)--(10.447,0.816)--(10.455,0.815)--(10.463,0.815)%
+  --(10.471,0.813)--(10.479,0.813)--(10.486,0.813)--(10.494,0.812)--(10.502,0.812)--(10.510,0.812)%
+  --(10.518,0.810)--(10.525,0.810)--(10.533,0.809)--(10.541,0.809)--(10.549,0.809)--(10.557,0.807)%
+  --(10.565,0.807)--(10.572,0.805)--(10.580,0.805)--(10.588,0.805)--(10.596,0.804)--(10.604,0.804)%
+  --(10.611,0.804)--(10.619,0.802)--(10.627,0.802)--(10.635,0.802)--(10.643,0.801)--(10.650,0.801)%
+  --(10.658,0.799)--(10.666,0.799)--(10.674,0.799)--(10.682,0.798)--(10.689,0.798)--(10.697,0.798)%
+  --(10.705,0.796)--(10.713,0.796)--(10.721,0.796)--(10.729,0.795)--(10.736,0.795)--(10.744,0.795)%
+  --(10.752,0.793)--(10.760,0.793)--(10.768,0.793)--(10.775,0.791)--(10.783,0.791)--(10.791,0.791)%
+  --(10.799,0.790)--(10.807,0.790)--(10.814,0.790)--(10.822,0.788)--(10.830,0.788)--(10.838,0.788)%
+  --(10.846,0.787)--(10.854,0.787)--(10.861,0.787)--(10.869,0.785)--(10.877,0.785)--(10.885,0.785)%
+  --(10.893,0.784)--(10.900,0.784)--(10.908,0.784)--(10.916,0.782)--(10.924,0.782)--(10.932,0.782)%
+  --(10.939,0.781)--(10.947,0.781)--(10.955,0.781)--(10.963,0.779)--(10.971,0.779)--(10.978,0.779)%
+  --(10.986,0.778)--(10.994,0.778)--(11.002,0.778)--(11.010,0.776)--(11.018,0.776)--(11.025,0.776)%
+  --(11.033,0.774)--(11.041,0.774)--(11.049,0.774)--(11.057,0.774)--(11.064,0.773)--(11.072,0.773)%
+  --(11.080,0.773)--(11.088,0.771)--(11.096,0.771)--(11.103,0.771)--(11.111,0.770)--(11.119,0.770)%
+  --(11.127,0.770)--(11.135,0.768)--(11.142,0.768)--(11.150,0.768)--(11.158,0.768)--(11.166,0.767)%
+  --(11.174,0.767)--(11.182,0.767)--(11.189,0.765)--(11.197,0.765)--(11.205,0.765)--(11.213,0.765)%
+  --(11.221,0.764)--(11.228,0.764)--(11.236,0.764)--(11.244,0.762)--(11.252,0.762)--(11.260,0.762)%
+  --(11.267,0.762)--(11.275,0.760)--(11.283,0.760)--(11.291,0.760)--(11.299,0.759)--(11.307,0.759)%
+  --(11.314,0.759)--(11.322,0.759)--(11.330,0.757)--(11.338,0.757)--(11.346,0.757);
+\gpcolor{color=gp lt color border}
+\draw[gp path] (1.012,8.381)--(1.012,0.616)--(11.947,0.616)--(11.947,8.381)--cycle;
+%% coordinates of the plot area
+\gpdefrectangularnode{gp plot 1}{\pgfpoint{1.012cm}{0.616cm}}{\pgfpoint{11.947cm}{8.381cm}}
+\end{tikzpicture}
+%% gnuplot variables
diff --git a/20201217/logo-hochschule-bochum-cvh-text-v2.pdf b/20201217/logo-hochschule-bochum-cvh-text-v2.pdf
new file mode 120000
index 0000000000000000000000000000000000000000..4aa99b8f81061aca6dcaf43eed2d9efef40555f8
--- /dev/null
+++ b/20201217/logo-hochschule-bochum-cvh-text-v2.pdf
@@ -0,0 +1 @@
+../common/logo-hochschule-bochum-cvh-text-v2.pdf
\ No newline at end of file
diff --git a/20201217/logo-hochschule-bochum.pdf b/20201217/logo-hochschule-bochum.pdf
new file mode 120000
index 0000000000000000000000000000000000000000..b6b9491e370e499c9276918182cdb82cb311bcd1
--- /dev/null
+++ b/20201217/logo-hochschule-bochum.pdf
@@ -0,0 +1 @@
+../common/logo-hochschule-bochum.pdf
\ No newline at end of file
diff --git a/20201217/pendulum.pdf b/20201217/pendulum.pdf
new file mode 120000
index 0000000000000000000000000000000000000000..7d1d87305cdb8840a248ff2207538d758464f452
--- /dev/null
+++ b/20201217/pendulum.pdf
@@ -0,0 +1 @@
+../common/pendulum.pdf
\ No newline at end of file
diff --git a/20201217/pgscript.sty b/20201217/pgscript.sty
new file mode 120000
index 0000000000000000000000000000000000000000..95c888478c99ea7fda0fd11ccf669ae91be7178b
--- /dev/null
+++ b/20201217/pgscript.sty
@@ -0,0 +1 @@
+../common/pgscript.sty
\ No newline at end of file
diff --git a/20201217/pgslides.sty b/20201217/pgslides.sty
new file mode 120000
index 0000000000000000000000000000000000000000..5be1416f4216f076aa268901f52a15d775e43f64
--- /dev/null
+++ b/20201217/pgslides.sty
@@ -0,0 +1 @@
+../common/pgslides.sty
\ No newline at end of file
diff --git a/README.md b/README.md
index 4995d1b3a909958308a94e15e0db6156814a1330..7a96786af13d4f8b8acd93d020c7e206b75fcb6a 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,8 @@ Vortragsfolien und Beispiele:
  * [19.11.2020: Einführung in C: Zeiger, Arrays und Strings](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201119/hp-20201119.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201119/)
  * [26.11.2020: Einführung in C: Arrays und Strings und Zeichen, Strukturen, Dateien und Fehlerbehandlung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201126/hp-20201126.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201126/)
  * [03.12.2020: Parameter des Hauptprogramms, String-Operationen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201203/hp-20201203.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201203/)
- * [10.12.2020: Parameter des Hauptprogramms, String-Operationen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201210/hp-20201210.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201210/)
+ * [10.12.2020: Präprozessor, Bibliotheken einbinden und verwenden](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201210/hp-20201210.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201210/)
+ * [17.12.2020: make, Differentialgleichungen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201217/hp-20201217.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201217/)
  * [alle in 1 Datei](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/hp-slides-2020ws.pdf)
 
 Übungsaufgaben:
@@ -33,6 +34,7 @@ Vortragsfolien und Beispiele:
  * [26.11.2020: Strings, Programm analysieren, fehlerhaftes Primzahl-Programm](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201126/hp-uebung-20201126.pdf)
  * [03.12.2020: Arrays mit Zahlen, Datum-Bibliothek](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201203/hp-uebung-20201203.pdf)
  * [10.12.2020: Ausgabe von Hexadezimalzahlen, Einfügen in Strings, Länge von Strings](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201210/hp-uebung-20201210.pdf)
+ * [17.12.2020: Kondensator, hüpfender Ball](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201217/hp-uebung-20201217.pdf)
 
 Musterlösungen:
 ---------------
@@ -41,6 +43,7 @@ Musterlösungen:
  * [26.11.2020: Strings, Programm analysieren, fehlerhaftes Primzahl-Programm](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201126/hp-musterloesung-20201126.pdf)
  * [03.12.2020: Arrays mit Zahlen, Datum-Bibliothek](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201203/hp-musterloesung-20201203.pdf)
  * [10.12.2020: Ausgabe von Hexadezimalzahlen, Einfügen in Strings, Länge von Strings](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201210/hp-musterloesung-20201210.pdf)
+ * [17.12.2020: Kondensator, hüpfender Ball](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201217/hp-musterloesung-20201217.pdf)
 
 Tafelbilder:
 ------------
@@ -49,6 +52,7 @@ Tafelbilder:
 Praktikumsunterlagen:
 ---------------------
  * [Versuch 1: RSA-Verschlüsselung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201112/hp-2020ws-p1.pdf)
+ * [Versuch 2: Weltraum-Simulation](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201217/hp-2020ws-p2.pdf)
 
 Alte Klausuren:
 ---------------
diff --git a/hp-slides-2020ws.pdf b/hp-slides-2020ws.pdf
index a0f4265a16fba411e21cb081b541eac4c8d2fe15..4f36f89341d38beb155f7c1b2cf88ea449c8442c 100644
Binary files a/hp-slides-2020ws.pdf and b/hp-slides-2020ws.pdf differ
diff --git a/hp-slides-2020ws.tex b/hp-slides-2020ws.tex
index 1e448e3efd28bdfa23684529041a4c892fcf74b3..7d3efeca4af1a12cafb02e471aa5fb0dd15e1f9d 100644
--- a/hp-slides-2020ws.tex
+++ b/hp-slides-2020ws.tex
@@ -22,4 +22,6 @@
   \includepdf[pages=-]{20201203/hp-20201203.pdf}
   \pdfbookmark[1]{10.12.2020: Parameter des Hauptprogramms, String-Operationen}{20201210}
   \includepdf[pages=-]{20201210/hp-20201210.pdf}
+  \pdfbookmark[1]{17.12.2020: Parameter des Hauptprogramms, String-Operationen}{20201217}
+  \includepdf[pages=-]{20201217/hp-20201217.pdf}
 \end{document}