Final commit!!!

This commit is contained in:
Clemens Dautermann 2020-02-26 18:36:47 +01:00
parent c5fae3178f
commit b997931d03
11 changed files with 283 additions and 10309 deletions

View file

@ -26,23 +26,23 @@
\abx@aux@segm{0}{0}{1}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {1}Was ist maschinelles Lernen?}{3}{section.1}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Klassifizierungsaufgaben}{3}{subsection.1.1}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Bin\IeC {\"a}rklassifizierung\relax }}{4}{figure.caption.2}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Die zwei Klassen w\IeC {\"a}ren hier \glqq gr\IeC {\"u}n'' und \glqq blau''. Die Linie stellt die Klassengrenze dar, die die zwei Klassen unterscheidet. Es sind au\IeC {\ss }erdem einige Ausrei\IeC {\ss }er in den Daten vorhanden. \relax }}{4}{figure.caption.2}\protected@file@percent }
\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
\newlabel{Classification}{{1}{4}{Binärklassifizierung\relax }{figure.caption.2}{}}
\newlabel{Classification}{{1}{4}{Die zwei Klassen wären hier \glqq grün'' und \glqq blau''. Die Linie stellt die Klassengrenze dar, die die zwei Klassen unterscheidet. Es sind außerdem einige Ausreißer in den Daten vorhanden. \relax }{figure.caption.2}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Regressionsprobleme}{4}{subsection.1.2}\protected@file@percent }
\abx@aux@cite{4}
\abx@aux@segm{0}{0}{4}
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Die Kurve stellt hier keine Grenze, sondern die Funktion, die die Werte approximiert, dar. Die Punkte repr\IeC {\"a}sentieren die Eingabedaten, wobei auch hier einige Ausrei\IeC {\ss }er erkennbar sind.\relax }}{5}{figure.caption.3}\protected@file@percent }
\newlabel{Regression}{{2}{5}{Die Kurve stellt hier keine Grenze, sondern die Funktion, die die Werte approximiert, dar. Die Punkte repräsentieren die Eingabedaten, wobei auch hier einige Ausreißer erkennbar sind.\relax }{figure.caption.3}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Gefahren von maschinellem Lernen}{5}{subsection.1.3}\protected@file@percent }
\abx@aux@cite{5}
\abx@aux@segm{0}{0}{5}
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Regression\relax }}{5}{figure.caption.3}\protected@file@percent }
\newlabel{Regression}{{2}{5}{Regression\relax }{figure.caption.3}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Gefahren von maschinellem Lernen}{5}{subsection.1.3}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.1}Die Daten}{6}{subsubsection.1.3.1}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.2}Overfitting}{6}{subsubsection.1.3.2}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.1}Datens\IeC {\"a}tze f\IeC {\"u}r maschinelles Lernen}{6}{subsubsection.1.3.1}\protected@file@percent }
\abx@aux@cite{8}
\abx@aux@segm{0}{0}{8}
\abx@aux@cite{9}
\abx@aux@segm{0}{0}{9}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.2}Overfitting}{7}{subsubsection.1.3.2}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Klassengrenzen mit und ohne Overfitting\relax }}{7}{figure.caption.4}\protected@file@percent }
\newlabel{Overfitting}{{3}{7}{Klassengrenzen mit und ohne Overfitting\relax }{figure.caption.4}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {1.4}Adversarial attacks}{7}{subsection.1.4}\protected@file@percent }
@ -58,10 +58,10 @@
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Maschinelles Lernen und menschliches Lernen}{9}{subsection.3.1}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Neuron \newline Quelle: simple.wikipedia.org/wiki/File:Neuron.svg\newline Copyright: CC Attribution-Share Alike von Nutzer Dhp1080,\newline bearbeitet}}{10}{figure.caption.5}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Der Aufbau eines neuronalen Netzes}{10}{subsection.3.2}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Ein einfaches neuronales Netz\relax }}{11}{figure.caption.6}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Schematische Darstellung eines einfachen neuronalen Netzes\relax }}{11}{figure.caption.6}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Berechnung des Ausgabevektors}{12}{subsection.3.3}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Der Plot der Sigmoid Funktion $\sigma (x)=\frac {e^x}{e^x+1}$\relax }}{12}{figure.caption.7}\protected@file@percent }
\newlabel{Sigmoid}{{6}{12}{Der Plot der Sigmoid Funktion $\sigma (x)=\frac {e^x}{e^x+1}$\relax }{figure.caption.7}{}}
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Darstellung der Sigmoid-Funktion $\sigma (x)=\frac {e^x}{e^x+1}$ im Intervall $[-5, 5]$\relax }}{12}{figure.caption.7}\protected@file@percent }
\newlabel{Sigmoid}{{6}{12}{Darstellung der Sigmoid-Funktion $\sigma (x)=\frac {e^x}{e^x+1}$ im Intervall $[-5, 5]$\relax }{figure.caption.7}{}}
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Formel zur Berechnung eines Ausgabevektors aus einem Eingabevektor durch eine Schicht von Neuronen. \relax }}{14}{figure.caption.8}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Der Lernprozess}{14}{subsection.3.4}\protected@file@percent }
\abx@aux@cite{3}
@ -88,36 +88,36 @@
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.1}Lernrate}{18}{subsubsection.3.6.1}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {14}{\ignorespaces Die Gleichung f\IeC {\"u}r die Anpassung eines einzelnen Parameters\relax }}{18}{figure.caption.15}\protected@file@percent }
\newlabel{Learning_Rate_Function}{{14}{18}{Die Gleichung für die Anpassung eines einzelnen Parameters\relax }{figure.caption.15}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Verschiedene Layerarten}{18}{subsection.3.7}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {15}{\ignorespaces $\eta $ ist hier zu gro\IeC {\ss } gew\IeC {\"a}hlt.\relax }}{19}{figure.caption.16}\protected@file@percent }
\newlabel{Learning_Rate_Graphic}{{15}{19}{$\eta $ ist hier zu groß gewählt.\relax }{figure.caption.16}{}}
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {15}{\ignorespaces $\eta $ ist hier zu gro\IeC {\ss } gew\IeC {\"a}hlt, sodass das Minimum stets \IeC {\"u}bersprungen wird.\relax }}{19}{figure.caption.16}\protected@file@percent }
\newlabel{Learning_Rate_Graphic}{{15}{19}{$\eta $ ist hier zu groß gewählt, sodass das Minimum stets übersprungen wird.\relax }{figure.caption.16}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Verschiedene Layerarten}{19}{subsection.3.7}\protected@file@percent }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.1}Convolutional Layers}{19}{subsubsection.3.7.1}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {16}{\ignorespaces Eine Verbildlichung der Vorg\IeC {\"a}nge in einem convolutional Layer\newline Aus einer Animation von\newline https://github.com/vdumoulin/conv\_arithmetic/blob/master/README.md Vincent Dumoulin, Francesco Visin - A guide to convolution arithmetic for deep learning (BibTeX)}}{20}{figure.caption.17}\protected@file@percent }
\newlabel{Convolution_illustration}{{16}{20}{Eine Verbildlichung der Vorgänge in einem convolutional Layer\newline Aus einer Animation von\newline https://github.com/vdumoulin/conv\_arithmetic/blob/master/README.md\\ Vincent Dumoulin, Francesco Visin - A guide to convolution arithmetic for deep learning (BibTeX)}{figure.caption.17}{}}
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {17}{\ignorespaces Erkennt obere horizontale Kanten\relax }}{21}{figure.caption.18}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {18}{\ignorespaces Erkennt linke vertikale Kanten\relax }}{21}{figure.caption.18}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {19}{\ignorespaces Erkennt untere horizontale Kanten\relax }}{21}{figure.caption.18}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {20}{\ignorespaces Erkennt rechte vertikale Kanten\relax }}{21}{figure.caption.18}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {17}{\ignorespaces Erkennt obere horizontale Kanten\relax }}{20}{figure.caption.18}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {18}{\ignorespaces Erkennt linke vertikale Kanten\relax }}{20}{figure.caption.18}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {19}{\ignorespaces Erkennt untere horizontale Kanten\relax }}{20}{figure.caption.18}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {20}{\ignorespaces Erkennt rechte vertikale Kanten\relax }}{20}{figure.caption.18}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {21}{\ignorespaces Das Beispielbild aus dem Mnist Datensatz\relax }}{21}{figure.caption.19}\protected@file@percent }
\newlabel{Filter_Example_raw}{{21}{21}{Das Beispielbild aus dem Mnist Datensatz\relax }{figure.caption.19}{}}
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {22}{\ignorespaces Die jeweils oben stehenden Filter wurden auf das Beispielbild angewandt.\relax }}{22}{figure.caption.20}\protected@file@percent }
\newlabel{Filter_output dargestellt}{{22}{22}{Die jeweils oben stehenden Filter wurden auf das Beispielbild angewandt.\relax }{figure.caption.20}{}}
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {22}{\ignorespaces Die jeweils oben stehenden Filter wurden auf das Beispielbild angewandt.\relax }}{21}{figure.caption.20}\protected@file@percent }
\newlabel{Filter_output dargestellt}{{22}{21}{Die jeweils oben stehenden Filter wurden auf das Beispielbild angewandt.\relax }{figure.caption.20}{}}
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {23}{\ignorespaces Beispiele f\IeC {\"u}r low-, mid- und high-level Features in Convolutional Neural Nets\newline Quelle: https://tvirdi.github.io/2017-10-29/cnn/}}{22}{figure.caption.21}\protected@file@percent }
\newlabel{HL_features_conv}{{23}{22}{Beispiele für low-, mid- und high-level Features in Convolutional Neural Nets\newline Quelle: https://tvirdi.github.io/2017-10-29/cnn/}{figure.caption.21}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.2}Pooling Layers}{23}{subsubsection.3.7.2}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {24}{\ignorespaces Max Pooling mit $2\times 2$ gro\IeC {\ss }en Submatritzen\newline Quelle: https://computersciencewiki.org/index.php/Max-pooling\_/\_Pooling CC BY NC SA Lizenz}}{24}{figure.caption.22}\protected@file@percent }
\newlabel{Maxpool}{{24}{24}{Max Pooling mit $2\times 2$ großen Submatritzen\newline Quelle: https://computersciencewiki.org/index.php/Max-pooling\_/\_Pooling\\ CC BY NC SA Lizenz}{figure.caption.22}{}}
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {25}{\ignorespaces Average Pooling mit $2\times 2$ gro\IeC {\ss }en Submatritzen\newline Aus: Dominguez-Morales, Juan Pedro. (2018). Neuromorphic audio processing through real-time embedded spiking neural networks. Abbildung 33}}{24}{figure.caption.23}\protected@file@percent }
\newlabel{AvgPool}{{25}{24}{Average Pooling mit $2\times 2$ großen Submatritzen\newline Aus: Dominguez-Morales, Juan Pedro. (2018). Neuromorphic audio processing through real-time embedded spiking neural networks. Abbildung 33}{figure.caption.23}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.2}Pooling Layers}{22}{subsubsection.3.7.2}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {24}{\ignorespaces Max Pooling mit $2\times 2$ gro\IeC {\ss }en Submatrizen\newline Quelle: https://computersciencewiki.org/index.php/Max-pooling\_/\_Pooling CC BY NC SA Lizenz}}{23}{figure.caption.22}\protected@file@percent }
\newlabel{Maxpool}{{24}{23}{Max Pooling mit $2\times 2$ großen Submatrizen\newline Quelle: https://computersciencewiki.org/index.php/Max-pooling\_/\_Pooling\\ CC BY NC SA Lizenz}{figure.caption.22}{}}
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {25}{\ignorespaces Average-Pooling mit $2\times 2$ gro\IeC {\ss }en Submatrizen\newline Aus: Dominguez-Morales, Juan Pedro. (2018). Neuromorphic audio processing through real-time embedded spiking neural networks. Abbildung 33}}{23}{figure.caption.23}\protected@file@percent }
\newlabel{AvgPool}{{25}{23}{Average-Pooling mit $2\times 2$ großen Submatrizen\newline Aus: Dominguez-Morales, Juan Pedro. (2018). Neuromorphic audio processing through real-time embedded spiking neural networks. Abbildung 33}{figure.caption.23}{}}
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {26}{\ignorespaces Gegen\IeC {\"u}berstellung von Max- und Average-Pooling\relax }}{24}{figure.caption.24}\protected@file@percent }
\newlabel{Pooling_Mnist}{{26}{24}{Gegenüberstellung von Max- und Average-Pooling\relax }{figure.caption.24}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {4}PyTorch}{24}{section.4}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {26}{\ignorespaces Gegen\IeC {\"u}berstellung von Max und Average Pooling\relax }}{25}{figure.caption.24}\protected@file@percent }
\newlabel{Pooling_Mnist}{{26}{25}{Gegenüberstellung von Max und Average Pooling\relax }{figure.caption.24}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Datenvorbereitung}{25}{subsection.4.1}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {27}{\ignorespaces Der Code zum Laden des MNIST Datensatzes\relax }}{26}{figure.caption.25}\protected@file@percent }
\newlabel{MNIST_Dataloader_Code}{{27}{26}{Der Code zum Laden des MNIST Datensatzes\relax }{figure.caption.25}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Definieren des Netzes}{27}{subsection.4.2}\protected@file@percent }
\abx@aux@cite{6}
\abx@aux@segm{0}{0}{6}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Definieren des Netzes}{27}{subsection.4.2}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {28}{\ignorespaces Code, um ein einfaches Netz in Pytorch zu definieren\relax }}{28}{figure.caption.26}\protected@file@percent }
\newlabel{Net_simple_definition}{{28}{28}{Code, um ein einfaches Netz in Pytorch zu definieren\relax }{figure.caption.26}{}}
\abx@aux@cite{7}
@ -138,9 +138,9 @@
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Ergebnis}{33}{subsection.5.4}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {32}{\ignorespaces Ein Plot der Trefferquote, aufgetragen gegen die Trainingszeit\relax }}{34}{figure.caption.30}\protected@file@percent }
\newlabel{accuracy}{{32}{34}{Ein Plot der Trefferquote, aufgetragen gegen die Trainingszeit\relax }{figure.caption.30}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {6}Schluss}{34}{section.6}\protected@file@percent }
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {33}{\ignorespaces Ein Plot des Kreuzentropiefehlers aufgetragen gegen die Trainingszeit\relax }}{35}{figure.caption.31}\protected@file@percent }
\newlabel{loss}{{33}{35}{Ein Plot des Kreuzentropiefehlers aufgetragen gegen die Trainingszeit\relax }{figure.caption.31}{}}
\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {33}{\ignorespaces Ein Plot des Kreuzentropiefehlers aufgetragen gegen die Trainingszeit\relax }}{34}{figure.caption.31}\protected@file@percent }
\newlabel{loss}{{33}{34}{Ein Plot des Kreuzentropiefehlers aufgetragen gegen die Trainingszeit\relax }{figure.caption.31}{}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {6}Schluss}{35}{section.6}\protected@file@percent }
\bibcite{1}{1}
\bibcite{2}{2}
\bibcite{3}{3}
@ -155,7 +155,7 @@
default.pygstyle,
3689BC65F2D8327A52B99A4D4543798E53A0C9FE66949F8EC4BED65B31F6975B.pygtex,
A4B374C1656F7019947BB217D7D8C34BF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
0CC230EAEF969F875162D94A43EECC44F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
6E136E4601877EDF7BAFA4E113440C09F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
269EB77B41B74A0DDA1E98D8C4CCFD9DF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
9B331F10CD24BEF694DFB75FBF495B69F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
E569CCE4C53760D94B3D7D8143D84D55F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
@ -180,7 +180,7 @@
6361598B18370336863B24D1B6FAE96EF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
7C08F8DDD5F5D41169EB51C2ADB3E0B1F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
5A0B7618927FB8AEA4B96F5552228CD8F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
B39808E7C45EEBD5237FE1E82D27387953A0C9FE66949F8EC4BED65B31F6975B.pygtex,
966BC12992AE07118A5C030A258708A853A0C9FE66949F8EC4BED65B31F6975B.pygtex,
6843D04ED2E2C37F8AF3EB0462FB514BF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
00B37D79FD3312AD6F59A2B37BA81087F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
684559E268B2B047D1C82BB00E985301F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
@ -188,5 +188,5 @@
30299FD7E2187F6D53ED8A608F3958F2F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
458D5F1AFC81AE7291A7AAAD852DC12AF6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
B51E2DE1996D35173C012720F7A4FDA4F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex,
AF2982B0D9BB868B8B4E6D0A6A863B1C53A0C9FE66949F8EC4BED65B31F6975B.pygtex,
91DA331C052E3A07FD9B933AC7C049B253A0C9FE66949F8EC4BED65B31F6975B.pygtex,
A26181649063E5A564A34B0EBDE29E28F6C426F58C5CCC27D3C7BD698FEC22DB.pygtex}