diff --git a/docs/acmart.bib b/docs/acmart.bib
deleted file mode 100644
index c4ccd85f315146a5ac5cc92088880dd3a6477b0a..0000000000000000000000000000000000000000
--- a/docs/acmart.bib
+++ /dev/null
@@ -1,89 +0,0 @@
-@Misc{TeXFAQ,
-  title =        {{UK} List of {\TeX} Frequently Asked Questions},
-  author =       {{UK \TeX{} Users Group}},
-  year =         2019,
-  howpublished = {\url{https://texfaq.org}}
-}
-
-@Manual{Downes04:amsart,
-  title =        {The \textsf{amsart}, \textsf{amsproc}, and
-                  \textsf{amsbook} document~classes},
-  author =       {Michael Downes and Barbara Beeton},
-  organization = {American Mathematical Society},
-  year =         2004,
-  month =        aug,
-  note =         {\url{http://www.ctan.org/pkg/amslatex}}
-}
-
-@Manual{Fiorio15,
-  title =        {{a}lgorithm2e.sty---package for algorithms},
-  author =       {Cristophe Fiorio},
-  year =         2015,
-  month =        oct,
-  note =         {\url{http://www.ctan.org/pkg/algorithm2e}}
-}
-
-@Manual{Brito09,
-  title =        {The algorithms bundle},
-  author =       {Rog\'erio Brito},
-  year =         2009,
-  month =        aug,
-  note =         {\url{http://www.ctan.org/pkg/algorithms}}
-}
-
-@Manual{Heinz15,
-  title =        {The Listings Package},
-  author =       {Carsten Heinz and Brooks Moses and Jobst Hoffmann},
-  year =         2015,
-  month =        jun,
-  note =         {\url{http://www.ctan.org/pkg/listings}}
-}
-
-@Manual{Fear05,
-  title =        {Publication quality tables in {\LaTeX}},
-  author =       {Simon Fear},
-  year =         2005,
-  month =        apr,
-  note =         {\url{http://www.ctan.org/pkg/booktabs}}
-}
-
-@Manual{ACMIdentityStandards,
-  title =        {{ACM} Visual Identity Standards},
-  organization = {Association for Computing Machinery},
-  year =         2007,
-  note =         {\url{http://identitystandards.acm.org}}
-}
-
-@Manual{Sommerfeldt13:Subcaption,
-  title =        {The subcaption package},
-  author =       {Axel Sommerfeldt},
-  year =         2013,
-  month =        apr,
-  note =         {\url{http://www.ctan.org/pkg/subcaption}}
-}
-
-@Manual{Nomencl,
-  title =        {A package to create a nomenclature},
-  author =       {Boris Veytsman and Bern Schandl and Lee Netherton
-                  and C. V. Radhakrishnan},
-  year =         2005,
-  month =        sep,
-  note =         {\url{http://www.ctan.org/pkg/nomencl}}
-}
-
-@Manual{Talbot16:Glossaries,
-  title =        {User Manual for glossaries.sty v4.44},
-  author =       {Nicola L. C. Talbot},
-  year =         2019,
-  month =        dec,
-  note =         {\url{http://www.ctan.org/pkg/glossaries}}
-}
-
-@Manual{Carlisle04:Textcase,
-  title =        {The \textsl{textcase} package},
-  author =       {David Carlisle},
-  month =        oct,
-  year =         2004,
-  note =         {\url{http://www.ctan.org/pkg/textcase}}
-}
-
diff --git a/docs/acmart.cls b/docs/acmart.cls
index 113513059a5e47556ccdd9c859bf7f7c559df23d..49c56b215757876a8a5168d944019a12ec6208a1 100644
--- a/docs/acmart.cls
+++ b/docs/acmart.cls
@@ -660,8 +660,7 @@
 \or % sigchi-a
 \fi
 \setlength\normalparindent{\parindent}
-\def\copyrightpermissionfootnoterule{\kern-3\p@
-  \hrule \@width \columnwidth \kern 2.6\p@}
+\def\copyrightpermissionfootnoterule{}
 \RequirePackage{manyfoot}
 \SelectFootnoteRule[2]{copyrightpermission}
 \DeclareNewFootnote{authorsaddresses}
@@ -1264,8 +1263,7 @@
   \global\@ACM@journal@bibstripfalse
 }
 \if@ACM@journal\else
-\acmConference[Conference'17]{ACM Conference}{July 2017}{Washington,
-  DC, USA}%
+\acmConference[]{}{}{}%
 \fi
 \def\acmBooktitle#1{\gdef\@acmBooktitle{#1}}
 \acmBooktitle{Proceedings of \acmConference@name
@@ -1410,11 +1408,11 @@
   July\or August\or September\or October\or November\or
   December\fi~\@acmYear}
 \def\acmPrice#1{\def\@acmPrice{#1}}
-\acmPrice{15.00}
+\acmPrice{}
 \def\acmSubmissionID#1{\def\@acmSubmissionID{#1}}
 \acmSubmissionID{}
 \def\acmISBN#1{\def\@acmISBN{#1}}
-\acmISBN{978-x-xxxx-xxxx-x/YY/MM}
+\acmISBN{}
 \def\acmDOI#1{\def\@acmDOI{#1}}
 \acmDOI{10.1145/nnnnnnn.nnnnnnn}
 \newif\if@ACM@badge
@@ -1608,7 +1606,7 @@
 \def\@copyrightowner{%
   \ifcase\acm@copyrightmode\relax % none
   \or % acmcopyright
-  Association for Computing Machinery.
+  % Association for Computing Machinery.
   \or % acmlicensed
   Copyright held by the owner/author(s). Publication rights licensed to
   ACM\@.
@@ -1642,20 +1640,20 @@
   IW3C2 (International World Wide Web Conference Committee), published
   under Creative Commons CC-BY-NC-ND~4.0 License.
   \fi}
-\def\@formatdoi#1{\url{https://doi.org/#1}}
+\def\@formatdoi#1{}
 \def\@copyrightpermission{%
   \ifcase\acm@copyrightmode\relax % none
   \or % acmcopyright
-   Permission to make digital or hard copies of all or part of this
-   work for personal or classroom use is granted without fee provided
-   that copies are not made or distributed for profit or commercial
-   advantage and that copies bear this notice and the full citation on
-   the first page. Copyrights for components of this work owned by
-   others than ACM must be honored. Abstracting with credit is
-   permitted. To copy otherwise, or republish, to post on servers or to
-   redistribute to lists, requires prior specific permission
-   and\hspace*{.5pt}/or  a fee. Request permissions from
-   permissions@acm.org.
+   % Permission to make digital or hard copies of all or part of this
+   % work for personal or classroom use is granted without fee provided
+   % that copies are not made or distributed for profit or commercial
+   % advantage and that copies bear this notice and the full citation on
+   % the first page. Copyrights for components of this work owned by
+   % others than ACM must be honored. Abstracting with credit is
+   % permitted. To copy otherwise, or republish, to post on servers or to
+   % redistribute to lists, requires prior specific permission
+   % and\hspace*{.5pt}/or  a fee. Request permissions from
+   % permissions@acm.org.
   \or % acmlicensed
    Permission to make digital or hard copies of all or part of this
    work for personal or classroom use is granted without fee provided
@@ -1822,7 +1820,7 @@
   \fi
   \if@ACM@nonacm\else\footnotetextcopyrightpermission{%
     \if@ACM@authordraft
-        \raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries
+        \raisebox{0ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries
             Unpublished working draft. Not for distribution.}}%
        \color[gray]{0.9}%
     \fi
@@ -1832,7 +1830,7 @@
     \fi
     \if@ACM@manuscript\else
        \if@ACM@journal@bibstrip\else % Print the conference information
-         {\itshape \acmConference@shortname, \acmConference@date, \acmConference@venue}\par
+         {\itshape \acmConference@shortname \acmConference@date \acmConference@venue}\par
        \fi
     \fi
     \if@printcopyright
@@ -1853,9 +1851,9 @@
             \emph{\@acmBooktitle}%
           \fi
           \ifx\@acmDOI\@empty
-          .
+          
           \else
-            , \@formatdoi{\@acmDOI}.
+             \@formatdoi{\@acmDOI}.
           \fi\\
         \else
           \if@ACM@nonacm\else
@@ -1864,7 +1862,7 @@
               \ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\
               \@formatdoi{\@acmDOI}%
             \else % Conference
-              \ifx\@acmISBN\@empty\else ACM~ISBN~\@acmISBN
+              \ifx\@acmISBN\@empty\else \@acmISBN
               \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\\fi
               \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi%
             \fi
@@ -2431,12 +2429,12 @@
        \@acmVolume, \@acmNumber \@article@string (\@acmPubDate),
        \ref{TotPages}~\@pages@word.
     \else
-       In \textit{\@acmBooktitle}%
-       \ifx\@acmEditors\@empty\textit{.}\else
-         \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.%
-       \fi\
-       ACM, New York, NY, USA%
-         \@article@string\unskip, \ref{TotPages}~\@pages@word.
+       % In \textit{\@acmBooktitle}%
+       % \ifx\@acmEditors\@empty\textit{.}\else
+       %   \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.%
+       % \fi\
+       % ACM, New York, NY, USA%
+       %   \@article@string\unskip, \ref{TotPages}~\@pages@word.
     \fi
   \fi
   \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
diff --git a/docs/acmart.dtx b/docs/acmart.dtx
deleted file mode 100644
index f89537340927a3ff68b789a50b374d8a35bed07c..0000000000000000000000000000000000000000
--- a/docs/acmart.dtx
+++ /dev/null
@@ -1,7393 +0,0 @@
-% \iffalse
-%
-% Copyright 2016-2020, Association for Computing Machinery
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either
-% version 1.3 of this license or (at your option) any
-% later version.
-% The latest version of the license is in
-%    http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status `maintained'.
-%
-% The Current Maintainer of this work is Boris Veytsman,
-% <borisv@lk.net>
-%
-% This work consists of the file acmart.dtx, the derived file
-% acmart.cls, the files ACM-Reference-Format.bst, and templates
-% sample-acmlarge.tex, sample-acmsmall.tex, sample-acmtog.tex,
-% samplebody-conf.tex, samplebody-journals.tex, sample-manuscript.tex,
-% sample-sigconf-authordraft.tex, sample-sigconf.tex,
-% sample-sigplan.tex
-%
-% \fi
-%
-%
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
-%
-%
-% \MakeShortVerb{|}
-% \def\guide{acmguide}
-% \iffalse
-% From
-% http://tex.stackexchange.com/questions/117892/can-i-convert-a-string-to-catcode-11 by egreg
-% \fi
-% \begingroup
-%  \everyeof{\noexpand}
-%  \endlinechar=-1
-%  \xdef\currentjob{\scantokens\expandafter{\jobname}}
-% \endgroup
-%
-% \ifx\currentjob\guide\OnlyDescription\fi
-% \GetFileInfo{acmart.dtx}
-% \title{\LaTeX{} Class for the \emph{Association for Computing
-% Machinery}\thanks{\copyright 2016--2020, Association for Computing Machinery}}
-% \author{Boris Veytsman\thanks{%
-% \href{mailto:borisv@lk.net}{\texttt{borisv@lk.net}},
-% \href{mailto:boris@varphi.com}{\texttt{boris@varphi.com}}}}
-% \date{\filedate, \fileversion}
-% \maketitle
-% \begin{abstract}
-%   This package provides a class for typesetting publications of
-%   the Association for Computing Machinery.
-% \end{abstract}
-% \tableofcontents
-%
-% \clearpage
-%
-%\section{Introduction}
-%\label{sec:intro}
-%
-% The Association for Computing
-% Machinery\footnote{\url{http://www.acm.org/}} is the world's largest
-% educational and scientific computing society, which delivers
-% resources that advance computing as a science and a
-% profession.  It was one of the
-% early adopters of \TeX\ for its typesetting.
-%
-% It provided several different classes for a number of journals and
-% conference proceedings.  Unfortunately during the years since these
-% classes were written, the code was patched many times, and
-% supporting different versions of the classes became difficult.
-%
-% This package provides the uniform interface for all ACM
-% publications.  It is intended to replace all the different classes and
-% packages and provide an up-to-date \LaTeX\ package.
-%
-% This package uses only free \TeX\ packages and fonts included in \TeX
-% Live, Mik\TeX\ and other popular \TeX\ distributions.  It is
-% intended to be published in these distributions itself, which
-% minimizes users' efforts in the installation and support of this
-% package.
-%
-%  I am grateful to
-%  Michael D.~Adams,
-%  Leif Andersen,
-%  Lawrence Christopher Angrave,
-%  Dirk Beyer,
-%  Andrew Black,
-%  Joachim Breitner,
-%  Benjamin Byholm,
-%  John Collins,
-%  Nils Anders Danielsson,
-%  Michael Ekstrand,
-%  Matthew Fluet,
-%  Paolo G.~Giarrusso,
-%  Ben Greenman,
-%  Enrico Gregorio,
-%  Jamie Davis,
-%  Jason Hemann,
-%  Peter Kemp,
-%  Luis Leiva,
-%  Ben Liblit,
-%  Rholais Lii,
-%  LianTze Lim,
-%  Kuldeep S. Meel,
-%  Kai Mindermann,
-%  Frank Mittelbach,
-%  Serguei Mokhov,
-%  Ross Moore,
-%  John Owens,
-%  Joel Nider,
-%  Scott Pakin,
-%  Tobias Pape,
-%  Henning Pohl,
-%  Philip Quinn,
-%  Mathias Rav,
-%  Andreas Reichinger,
-%  Matteo Riondato,
-%  Craig Rodkin,
-%  Bernard Rous,
-%  Feras Saad,
-%  Kerry A. Seitz, Jr.,
-%  David Shamma,
-%  Gabriel Scherer,
-%  Kartik Singhal,
-%  Stephen Spencer,
-%  Shin Hwei Tan,
-%  Daniel Thomas,
-%  Shari Trewin,
-%  Zack Weinberg,
-%  John Wickerson
-%  and many others for their invaluable help.
-%
-% The development version of the package is available at
-% \url{https://github.com/borisveytsman/acmart}.
-%
-%\section{User's guide}
-%\label{sec:ug}
-%
-%
-% This class uses many commands and customizaton options, so it might
-% appear intimidating for a casual user.  Do not panic!  Many of these
-% commands and options can be safely left with their default values
-% or the values recommended by your conference or journal editors.  If
-% you have problems or questions, do not hesitate to ask me directly
-% or the community at \url{https://github.com/borisveytsman/acmart},
-% \url{https://tex.stackexchange.com} or the closest \TeX\ Users
-% Group.  The world-wide \TeX\ Users Group is at
-% \url{https://tug.org/}; please consider joining us if you use \TeX\
-% regularly.
-%
-%\subsection{Installation}
-%\label{sec:ug_install}
-%
-% Most probably, you already have this package installed in your
-% favorite \TeX\ distribution;  if not, you may want to upgrade.  You
-% may need to upgrade it anyway since this package uses a number of
-% relatively recent packages, especially the ones related to fonts.
-%
-% The latest released version of this package can be found on CTAN:
-% \url{https://www.ctan.org/pkg/acmart}.   The development version can
-% be found on GitHub: \url{https://github.com/borisveytsman/acmart}.
-% At this address you can file a bug report---or even contribute your
-% own enhancement by making a pull request.
-%
-% Please note that the version on Github is a development (or
-% experimental) version: please download it for testing new features.
-% The production version is the one on CTAN and ACM sites.
-%
-% Most users should not attempt to install this package themselves
-% but should rather rely on their \TeX\ distributions to provide it.  If you
-% decide to install the package yourself, follow the standard rules:
-% \begin{enumerate}
-% \item Run |latex acmart.ins|.  This will produce the file
-% |acmart.cls|
-% \item Put the files |acmart.cls| and |ACM-Reference-Format.bst|
-%   in places where \LaTeX{} can find them (see \cite{TeXFAQ} or
-%   the documentation for your \TeX{} system).\label{item:install}
-% \item Update the database of file names.  Again, see \cite{TeXFAQ}
-% or the documentation for your \TeX{} system for the system-specific
-% details.\label{item:update}
-% \item The file |acmart.pdf| provides the documentation for the
-% package.  (This is probably the file you are reading now.)
-% \end{enumerate}
-% As an alternative to items~\ref{item:install} and~\ref{item:update}
-% you can just put the files in the working directory where your
-% |.tex| file is.
-%
-%
-% This class uses a number of other packages.  They are included in all
-% major \TeX\ distributions (\TeX Live, Mac\TeX, Mik\TeX) of 2015 and
-% later, so you probably have them installed.  Just in case here is
-% the list of these packages:
-% \begin{itemize}
-% \item \textsl{amscls}, \url{http://www.ctan.org/pkg/amscls}
-% \item \textsl{amsfonts}, \url{http://www.ctan.org/pkg/amsfonts}
-% \item \textsl{amsmath}, \url{http://www.ctan.org/pkg/amsmath}
-% \item \textsl{binhex}, \url{http://www.ctan.org/pkg/binhex}
-% \item \textsl{balance}, \url{http://www.ctan.org/pkg/balance}
-% \item \textsl{booktabs}, \url{http://www.ctan.org/pkg/booktabs}
-% \item \textsl{caption}, \url{http://www.ctan.org/pkg/caption}
-% \item \textsl{comment}, \url{http://www.ctan.org/pkg/comment}
-% \item \textsl{cm-super}, \url{http://www.ctan.org/pkg/cm-super}
-% \item \textsl{cmap}, \url{http://www.ctan.org/pkg/cmap}
-% \item \textsl{draftwatermark}, \url{http://www.ctan.org/pkg/draftwatermark}
-% \item \textsl{environ}, \url{http://www.ctan.org/pkg/environ}
-% \item \textsl{etoolbox}, \url{http://www.ctan.org/pkg/etoolbox}
-% \item \textsl{fancyhdr}, \url{http://www.ctan.org/pkg/fancyhdr}
-% \item \textsl{float}, \url{http://www.ctan.org/pkg/float}
-% \item \textsl{fontaxes}, \url{http://www.ctan.org/pkg/fontaxes}
-% \item \textsl{geometry}, \url{http://www.ctan.org/pkg/geometry}
-% \item \textsl{graphics}, \url{http://www.ctan.org/pkg/graphics}
-% \item \textsl{hyperref}, \url{http://www.ctan.org/pkg/hyperref}
-% \item \textsl{hyperxmp}, \url{http://www.ctan.org/pkg/hyperxmp}
-% \item \textsl{iftex}, \url{http://www.ctan.org/pkg/iftex}
-% \item \textsl{inconsolata}, \url{http://www.ctan.org/pkg/inconsolata}
-% \item \textsl{libertine}, \url{http://www.ctan.org/pkg/libertine}
-% \item \textsl{manyfoot}, \url{http://www.ctan.org/pkg/manyfoot}
-% \item \textsl{microtype}, \url{http://www.ctan.org/pkg/microtype}
-% \item \textsl{mmap}, \url{http://www.ctan.org/pkg/mmap}
-% \item \textsl{ms}, \url{http://www.ctan.org/pkg/ms}
-% \item \textsl{mweights}, \url{http://www.ctan.org/pkg/mweights}
-% \item \textsl{natbib}, \url{http://www.ctan.org/pkg/natbib}
-% \item \textsl{nccfoots}, \url{http://www.ctan.org/pkg/nccfoots}
-% \item \textsl{newtx}, \url{http://www.ctan.org/pkg/newtx}
-% \item \textsl{oberdiek}, \url{http://www.ctan.org/pkg/oberdiek}
-% \item \textsl{pdftex-def}, \url{http://www.ctan.org/pkg/pdftex-def}
-% \item \textsl{refcount}, \url{http://www.ctan.org/pkg/refcount}
-% \item \textsl{setspace}, \url{http://www.ctan.org/pkg/setspace}
-% \item \textsl{textcase}, \url{http://www.ctan.org/pkg/textcase}
-% \item \textsl{totpages}, \url{http://www.ctan.org/pkg/totpages}
-% \item \textsl{trimspaces}, \url{http://www.ctan.org/pkg/trimspaces}
-% \item \textsl{upquote}, \url{http://www.ctan.org/pkg/upquote}
-% \item \textsl{url}, \url{http://www.ctan.org/pkg/url}
-% \item \textsl{xcolor}, \url{http://www.ctan.org/pkg/xcolor}
-% \item \textsl{xkeyval}, \url{http://www.ctan.org/pkg/xkeyval}
-% \item \textsl{xstring}, \url{http://www.ctan.org/pkg/xstring}
-% \end{itemize}
-%
-%
-%\subsection{Invocation and options}
-%\label{sec:invocation}
-%
-% To use this class, put in the preamble of your document
-% \begin{quote}
-%   \cs{documentclass}\oarg{options}|{acmart}|
-% \end{quote}
-% There are several options corresponding to the type of the document and
-% its general appearance.  They are described below.  Generally
-% speaking, the options have |key=value| forms, for example,
-% \begin{verbatim}
-% \documentclass[format=acmsmall, screen=true, review=false]{acmart}
-% \end{verbatim}
-%
-%
-% The option |format| describes the format of the output.  There are
-% several possible values for this option, for example,
-% \begin{verbatim}
-%   \documentclass[format=acmtog]{acmart}
-% \end{verbatim}
-% Actually the words |format=| can be omitted, e.g.,
-% \begin{verbatim}
-%   \documentclass[acmtog, review=false]{acmart}
-% \end{verbatim}
-% The possible formats are listed in
-% Table~\ref{tab:opts_format}.  Note that formats starting with |acm|
-% are intended for journals and transactions, while formats starting
-% with |sig| are intended for proceedings published as books.
-%
-% Note that sometimes conference proceedings are published as a
-% special issue (or issues) of an ACM journal.  In this case, you
-% should use the journal format for a conference paper.  Please
-% contact your conference committee if in doubt.
-%
-% \begin{table}
-%   \centering
-%   \caption{The possible values for the \texttt{format} option}
-%   \label{tab:opts_format}
-%   \begin{tabularx}{\textwidth}{>{\ttfamily}lX}
-%     \toprule
-%     \normalfont Value & Meaning\\
-%     \midrule
-%   manuscript & A manuscript. This is the default. \\
-%   acmsmall & Small single-column format.  Used for CIE, CSUR, 
-%            JACM, JDIQ, JEA, JERIC,
-%            JETC, PACMCGIT, PACMHCI, PACMPL, TAAS, TACCESS, TACO,
-%            TALG, TALLIP (formerly TALIP), TCPS, TDS,
-%            TEAC, TECS, TELO, THRI, TIIS, TIOT, TISSEC, TIST, TKDD, TMIS,
-%            TOCE, TOCHI, TOCL,
-%            TOCS, TOCT, TODAES, TODS, TOIS, TOIT, TOMACS, TOMM (formerly
-%            TOMCCAP), TOMPECS, TOMS, TOPC, TOPLAS, TOPS,
-%            TOS, TOSEM, TOSN, TQC, TRETS,
-%            TSAS, TSC, TSLP and TWEB, including special issues. \\
-%   acmlarge  & Large single-column format.  Used for DTRAP, HEALTH,
-%           IMWUT, JOCCH, POMACS and TAP, including special issues. \\
-%   acmtog   & Large double-column format.  Used for
-%          TOG, including annual conference Technical Papers.\\
-%   sigconf & Proceedings format for most ACM
-%          conferences (with the exceptions listed below) and all ICPS
-%          volumes.\\
-%   sigplan & Proceedings format for SIGPLAN conferences.\\
-%   \bottomrule
-%   \end{tabularx}
-% \end{table}
-%
-% Starting in 2020, ACM retired formats |sigchi| and |sigchi-a|.
-% SIGCHI conferences now use |sigconf| format for their publications.
-% If a file uses |sigchi| format, a warning is issued, and the format
-% is automatically switched to |sigconf|.  Format |sigchi-a| can be
-% used for non-ACM documents only (see Section~\ref{sec:sigchi-a}).  
-%
-% There are several Boolean options that can take |true| or |false|
-% values.  They are listed in Table~\ref{tab:opts_bool}.  The words
-% |=true| can be omitted when setting a Boolean option, so instead of
-% |screen=true| one can write just |screen|, for example,
-% \begin{verbatim}
-% \documentclass[acmsmall, screen, review]{acmart}
-% \end{verbatim}
-% The option |review| is useful when combined with the |manuscript| format
-% option.  It provides a version suitable for reviewers and
-% copy editors.
-%
-% Two samples in the |samples| directory, |manuscript| and
-% |acmsmall-submission|, show manuscripts formatted for submission to
-% ACM.  
-%
-% The default for the option |screen| depends on the publication.  At
-% present it is |false| for all publications \emph{but} PACM, since
-% PACM is now electronic-only.  Thus PACM titles~(see
-% Table~\ref{tab:pubs}) set this option to |true|.  In the future this
-% option may involve additional features suitable for on-screen
-% versions of articles.
-%
-% The option |natbib| is used when the corresponding
-% \BibTeX\ style is based on |natbib|.  In most cases you do not need
-% to set it.  See
-% Section~\ref{sec:ug_bibliography}.
-%
-% The option |anonymous| is used
-% for anonymous review processes and causes all author information to be
-% obscured.
-%
-% The option |timestamp| is used to include a time stamp in the
-% footer of each page.  When preparing a document, this can help avoid
-% confusing different revisions.  The footer also includes the page range of
-% the document.  This helps detect missing pages in hard copies.
-%
-% The option |authordraft| is intended for author's drafts that are not
-% intended for distribution.  It typesets a copyright block to give the
-% author an idea of its size and the overall size of the paper but
-% overprints it with the phrase ``Unpublished working draft. Not for
-% distribution.'', which is also used as a watermark.  This option sets
-% |timestamp| and |review| to |true|, but these can be
-% overriden by setting these options to |false| \emph{after}
-% setting |authordraft| to |true|.
-%
-% The option |balance| determines whether the last page in the two
-% column mode has balanced columns.  By default it is |true|; however,
-% it may lead to problems for some documents.  Set it to |false| if
-% you encounter compilation errors.  Note that for one page documents
-% \cs{balance} command might cause problems.
-%
-% The option |urlbreakonhyphens| determines whether URLs can be split
-% between lines after hyphens.  By default it is true.  Set it to
-% |false| to disallow these breaks.
-%
-% \begin{table}
-%   \centering
-%   \caption{Boolean options}
-%   \label{tab:opts_bool}
-%   \begin{tabularx}{\textwidth}{>{\ttfamily}l>{\ttfamily}lX}
-%     \toprule
-%     \normalfont Option & \normalfont Default & Meaning\\
-%     \midrule
-%     review & false & A review version: lines are numbered and
-%     hyperlinks are colored\\
-%     screen & {\rmfamily see text} & A screen version:
-%     hyperlinks are colored\\
-%     natbib & true & Whether to use the |natbib| package (see
-%     Section~\ref{sec:ug_bibliography})\\
-%     anonymous & false & Whether to make author(s) anonymous\\
-%     authorversion & false & Whether to generate a special
-%     version for the authors' personal use or posting (see
-%     Section~\ref{sec:ug_topmatter})\\
-%     nonacm & false & Use the class typesetting options for
-%     a non-ACM document, which will not include the conference/journal
-%     header and footers or permission statements\\
-%     timestamp & false & Whether to put a time stamp in the
-%     footer of each page\\
-%     authordraft & false & Whether author's-draft mode is enabled\\
-%     acmthm & true & Whether to define theorem-like environments, see
-%                       Section~\ref{sec:ug_theorems}\\
-%     balance & true & Whether to balance the last page in two column
-%                        mode\\
-%     urlbreakonhyphens & true & Whether to break urls on hyphens\\ 
-%     \bottomrule
-%   \end{tabularx}
-% \end{table}
-%
-%
-%
-%\subsection{Top matter}
-%\label{sec:ug_topmatter}
-%
-% A number of commands set up \emph{top matter} or (in
-% computer science jargon) \emph{metadata} for an article.  They
-% establish the publication name, article title, authors, DOI and
-% other data.  Some of these commands, like \cs{title} and \cs{author},
-% should be put by the authors.  Others, like \cs{acmVolume} and
-% \cs{acmDOI}---by the editors.  Below we describe these commands and
-% mention who should issue them.  These macros should be used
-% \emph{before} the \cs{maketitle} command.  Note that in previous
-% versions of ACM classes some of these commands should be used before
-% \cs{maketitle}, and some after it. Now they all must be used before
-% \cs{maketitle}.
-%
-%
-% This class internally loads the |amsart| class, so many top-matter
-% commands are inherited from |amsart|~\cite{Downes04:amsart}.
-%
-% \DescribeMacro{\acmJournal}%
-% The macro \cs{acmJournal}\marg{shortName} sets the name of the
-% journal or transaction for journals and transactions.  The argument
-% is the short name of the publication \emph{in uppercase}, for
-% example,
-% \begin{verbatim}
-% \acmJournal{TOMS}
-% \end{verbatim}
-% The currently recognized journals are listed in
-% Table~\ref{tab:pubs}.  Note that conference proceedings published in
-% \emph{book} form do not set this macro.
-%
-%
-%
-% \DescribeMacro{\acmConference}%
-% The macro
-% \cs{acmConference}\oarg{short name}\marg{name}\marg{date}\marg{venue} is
-% used for conference proceedings published in the book form.  The
-% arguments are the following:
-% \begin{description}
-% \item[short name:] the abbreviated name of the conference (optional).
-% \item[name:] the name of the conference.
-% \item[date:] the date(s) of the conference.
-% \item[venue:] the place of the conference.
-% \end{description}
-% Examples:
-% \begin{verbatim}
-% \acmConference[TD'15]{Technical Data Conference}{November
-% 12--16}{Dallas, TX, USA}
-% \acmConference{SA'15 Art Papers}{November 02--06, 2015}{Kobe, Japan}
-% \end{verbatim}
-%
-% \DescribeMacro{\acmBooktitle}%
-% By default we assume that conference proceedings are published
-% in the book named \emph{Proceedings of \textsc{CONFERENCE}}, where
-% \textsc{CONFERENCE} is the name of the conference inferred from the
-% command \cs{acmConference} above.  However, sometimes the book title
-% is different.  The command \cs{acmBooktitle} can be used to set this
-% title, for example,
-% \begin{verbatim}
-% \acmBooktitle{Companion to the first International Conference on the
-% Art, Science and Engineering of Programming (Programming '17)}
-% \end{verbatim}
-%
-% An ACM paper should have either \cs{acmJournal} or
-% \cs{acmConference} command.  If it has both (or more) commands, the
-% last one takes precedence.  Note that if you have the command
-% \cs{acmConference} in a journal format like |acmsmall|, the class
-% will use conference format for bibstrip and reference citation
-% formatting.  In the samples directory there is a file
-% |sample-acmsmall-conf.tex| with the example of this usage.
-%
-% 
-%
-% \DescribeMacro{\editor}%
-% In most cases, conference proceedings are edited.  You can use the
-% command \cs{editor}\marg{editor} to set the editor of the volume.
-% This command can be repeated, for example,
-% \begin{verbatim}
-% \editor{Jennifer B. Sartor}
-% \editor{Theo D'Hondt}
-% \editor{Wolfgang De Meuter}
-% \end{verbatim}
-%
-%
-% \DescribeMacro{\title}%
-% The command |\title|, as in the |amsart| class, has two arguments:  one
-% optional, and one mandatory:
-% \begin{flushleft}
-%   |\title[|\meta{ShortTitle}|]{|\meta{FullTitle}|}|
-% \end{flushleft}
-% The mandatory argument is the full title of the article.  The
-% optional argument, if present, defines the shorter version of the
-% title for running heads.  If the optional argument is absent, the
-% full title is used instead.
-%
-% It is expected that this command is inserted by the author of the
-% manuscript.
-%
-% \DescribeMacro{\subtitle}%
-% Besides title, ACM classes allow a subtitle, set with the
-% \cs{subtitle}\marg{subtitle} macro.
-%
-% The commands for specifying authors are highly structured.
-% The reason is they serve double duty:  the authors' information is
-% typeset in the manuscript \emph{and} is used by the metadata
-% extraction tools for indexing and cataloguing.  Therefore it is very
-% important to follow the guidelines exactly.
-%
-% \DescribeMacro{\author}%
-% \DescribeMacro{\orcid}
-% \DescribeMacro{\affiliation}%
-% \DescribeMacro{\email}%
-% The basic commands are \cs{author}, \cs{orcid} (for the researchers
-% registered with ORCID, \url{http://www.orcid.org/}), \cs{affiliation} and
-% \cs{email}.  In the simplest case, you enter them in this order:
-% \begin{verbatim}
-% \author{...}
-% \orcid{...}
-% \affiliation{...}
-% \email{...}
-% \end{verbatim}
-% Do \emph{not} use the \LaTeX\ \cs{and} macro or commas, or \verb|\\|
-% between the authors! Each author deserves his or
-% her own \cs{author} command.  An attempt to list several authors or
-% their e-mails in one command leads to a warning or an error.  This
-% is not a bug, but the expected behavior.
-%
-% Note that some formats do not typeset e-mails or ORCID identifiers.
-% Do not worry: the metadata tools will get them.
-%
-% Sometimes an author has several affiliations.  In this case, the
-% \cs{affiliation} command should be repeated:
-% \begin{verbatim}
-% \author{...}
-% \orcid{...}
-% \affiliation{...}
-% \affiliation{...}
-% \email{...}
-% \end{verbatim}
-% Similarly you can repeat the \cs{email} command.
-%
-% You may have several authors with the same affiliation, different
-% affiliations, or overlapping affiliations (author~$A_1$ is affiliated
-% with institutions $I_1$ and $I_2$, while author $A_2$ is affiliated
-% with $I_2$ only, author $A_3$ is affiliated with
-% $I_1$ and $I_3$, etc.).  The recommended solution is to put the
-% \cs{affiliation} commands after each author, possibly repeating them:
-% \begin{verbatim}
-% \author{...}
-% \orcid{...}
-% \affiliation{...}
-% \affiliation{...}
-% \email{...}
-% \author{...}
-% \orcid{...}
-% \affiliation{...}
-% \email{...}
-% \author{...}
-% \orcid{...}
-% \affiliation{...}
-% \affiliation{...}
-% \email{...}
-% \end{verbatim}
-%  In some cases, when several authors share the same affiliation, you can
-%  try to save space using the format
-% \begin{verbatim}
-% \author{...}
-% \email{...}
-% \author{...}
-% \email{...}
-% \affiliation{...}
-% \end{verbatim}
-%  However, this format is not generally recommended.
-%
-% \DescribeMacro{\additionalaffiliation}%
-% In some cases, too many affiliations can take too much space.  The
-% command \cs{additionalaffiliation}\marg{affiliation} creates a
-% footnote after an author's name with the words ``Also with
-% \marg{affiliation}''.  You should use this command only as a last
-% resort.  An example of usage is:
-% \begin{verbatim}
-% \author{G. Tobin}
-% \author{Ben Trovato}
-% \additionalaffiliation{%
-%   \institution{The Th{\o}rv{\"a}ld Group}
-%   \streetaddress{1 Th{\o}rv{\"a}ld Circle}
-%   \city{Hekla}
-%   \country{Iceland}}
-% \affiliation{%
-%   \institution{Institute for Clarity in Documentation}
-%   \streetaddress{P.O. Box 1212}
-%   \city{Dublin}
-%   \state{Ohio}
-%   \postcode{43017-6221}}
-% \end{verbatim}
-% Here Trovato and Tobin share their affiliation with the Institute
-% for Clarity in Documentation, but only Ben Trovato is affiliated
-% with The Th{\o}rv{\"a}ld Group.
-%
-%
-% \DescribeMacro{\position}%
-% \DescribeMacro{\institution}%
-% \DescribeMacro{\department}%
-% \DescribeMacro{\streetaddress}%
-% \DescribeMacro{\city}%
-% \DescribeMacro{\state}%
-% \DescribeMacro{\postcode}%
-% \DescribeMacro{\country}%
-% The \cs{affiliation} and \cs{additionalaffiliation} commands are
-% further structured to interact with the metadata extraction tools.
-% Inside these commands you should use the \cs{position},
-% \cs{institution}, \cs{department}, \cs{city}, \cs{streetaddress},
-% \cs{state}, \cs{postcode} and \cs{country} macros to indicate the
-% corresponding parts of the affiliation.  Note that in some cases
-% (for example, journals) these parts are not printed in the resulting
-% copy, but they \emph{are} necessary since they are used by the XML
-% metadata extraction programs.  Do \emph{not} put commas or |\\|
-% between the elements of \cs{affiliation}.  They will be provided
-% automatically.
-%
-% The fields \cs{institution}, \cs{city} and \cs{country} are
-% mandatory.  If they are not provided, an error or a warning  is
-% issued. Currently the absence of \cs{country} produces and error;
-% ACM may change this in the future.
-%
-%
-% An example of the author block:
-% \begin{verbatim}
-% \author{A. U. Thor}
-% \orcid{1234-4564-1234-4565}
-% \affiliation{%
-%   \institution{University of New South Wales}
-%   \department{School of Biomedical Engineering}
-%   \streetaddress{Samuels Building (F25), Kensington Campus}
-%   \city{Sidney}
-%   \state{NSW}
-%   \postcode{2052}
-%   \country{Australia}}
-% \email{author@nsw.au.edu}
-% \author{A. N. Other}
-% \affiliation{%
-%   \institution{University of New South Wales}
-%   \city{Sidney}
-%   \state{NSW}
-%   \country{Australia}}
-% \author{C. O. Respondent}
-% \orcid{1234-4565-4564-1234}
-% \affiliation{%
-%   \institution{University of Pennsylvania}
-%   \city{Philadelphia}
-%   \state{PA}
-%   \country{USA}}
-% \affiliation{%
-%   \institution{University of New South Wales}
-%   \city{Sidney}
-%   \state{NSW}
-%   \country{Australia}}
-% \end{verbatim}
-%
-% Note that the old ACM conference formats did not allow more than six
-% authors and required some effort from authors to achieve
-% alignment.  The new format is much better in this.
-%
-%  Sometimes an author works in several departments within the same
-%  insitution.  There could be two situations: the departments are
-%  independent, or one department is within another.  In the first
-%  case, just repeat the command \cs{department} several times.  To
-%  handle the second case the command has an optional numerical
-%  parameter.  The departments with higher numbers are higher in the
-%  organizational chart.  Compare
-% \begin{verbatim}
-% \affiliation{%
-%   \department[0]{Department of Lunar Studies} % 0 is the default
-%   \department[1]{John Doe Institute} % higher than 0
-%   \institution{University of San Serriffe}
-%   \country{San Serriffe}}
-% \end{verbatim}
-%  and
-% \begin{verbatim}
-% \affiliation{%
-%   \department{Department of Lunar Studies} % Not in the John Doe Institute!
-%   \department{John Doe Institute}
-%   \institution{University of San Serriffe}
-%   \country{San Serriffe}}
-% \end{verbatim}
-%
-%
-% The command \cs{affiliation} formats its output according to
-% American conventions.  This might be wrong for some cases.
-% Consider, for example, a German address.  In Germany, the postcode is
-% put before the city and is not separated by a comma.  We can handle this
-% order using
-% \begin{verbatim}
-% \affiliation{%
-%   \institution{Fluginstitut}
-%   \streetaddress{Sonnenallee 17}
-%   \postcode{123456}
-%   \city{Helm}
-%   \country{Germany}}
-% \end{verbatim}
-% However, the comma after the postcode is unfortunate:  the address will
-% be typeset (in some formats) as
-% \begin{verbatim}
-% Fluginstitut
-% Sonenallee 17
-% 123456, Helm, Germany
-% \end{verbatim}
-%
-%
-% To overcome this problem, the command \cs{affiliation} has an
-% optional parameter |obeypunctuation|, which can be |false| (the
-% default) or |true|.  If this parameter is |true|, \cs{afffiliation}
-% obeys the author's command.  Thus
-% \begin{verbatim}
-% \affiliation[obeypunctuation=true]{%
-%   \institution{Fluginstitut}\\
-%   \streetaddress{Sonnenallee 17}\\
-%   \postcode{123456}
-%   \city{Helm},
-%   \country{Germany}}
-% \end{verbatim}
-% will be typeset as
-% \begin{verbatim}
-% Fluginstitut
-% Sonenallee 17
-% 123456 Helm, Germany
-% \end{verbatim}
-%
-% Note that you should \emph{not} use this option for journals.  
-%
-% It is expected that these commands are inserted by the author of the
-% manuscript.
-%
-% \DescribeMacro{\thanks}%
-% Like |amsart| (and unlike standard \LaTeX{}), we allow
-% |\thanks| only \emph{outside} of the commands |\title| and |\author|.
-% This command is obsolete and should \emph{not} be used in most
-% cases.  Do not list your acknowledgments or grant sponsors here.
-% Put this information in the |acks| environment (see
-% Section~\ref{sec:ug_acks}).
-%
-% \DescribeMacro{\authorsaddresses}%
-% In some formats, addresses are printed as a footnote on the first
-% page.  By default \LaTeX\ typesets them itself using the information
-% you give it.  However, you can override its choice using the
-% commmand \cs{authorsaddresses}\marg{contact addresses}, for example,
-% \begin{verbatim}
-% \authorsaddresses{%
-%  Authors' addresses: G.~Zhou, Computer Science Department, College of
-%  William and Mary, 104 Jameson Rd, Williamsburg, PA 23185, US;
-%  V.~B\'eranger, Inria Paris-Rocquencourt, Rocquencourt, France;
-%  A.~Patel, Rajiv Gandhi University, Rono-Hills, Doimukh, Arunachal
-%  Pradesh, India; H.~Chan, Tsinghua University, 30 Shuangqing Rd,
-%  Haidian Qu, Beijing Shi, China; T.~Yan, Eaton Innovation Center,
-%  Prague, Czech Republic; T.~He, C.~Huang, J.~A.~Stankovic University
-%  of Virginia, School of Engineering Charlottesville, VA 22903, USA;
-%  T. F. Abdelzaher, (Current address) NASA Ames Research Center,
-%  Moffett Field, California 94035.}
-% \end{verbatim}
-% You can \emph{suppress} printing authors' addresses by setting them
-% to an empty string:  |\authorsaddresses{}|.  Please note that
-% authors' addresses are mandatory for journal articles.  
-%
-% \DescribeMacro{\titlenote}%
-% \DescribeMacro{\subtitlenote}%
-% \DescribeMacro{\authornote}%
-% While the command \cs{thanks} generates a note without a footnote
-% mark, sometimes the authors might need notes more tightly connected
-% to the title, subtitle or author.  The commands \cs{titlenote},
-% \cs{subtitlenote} and \cs{authornote} that follow the corresponding
-% commands (\cs{title}, \cs{subtitle} and \cs{author}) generate such
-% notes.  For example,
-% \begin{verbatim}
-% \title{This is a title}
-% \titlenote{This is a titlenote}
-% \author{A. U. Thor}
-% \authornote{This is an authornote}
-% \end{verbatim}
-%
-% Please never use a \cs{footnote} inside an \cs{author} or \cs{title}
-% command since this confuses the metadata extraction software.  (Actually
-% these commands now produce errors.)
-%
-% \DescribeMacro{\authornotemark}%
-% Sometimes one may need to have the same footnote connected to
-% several authors.  The command \cs{authornotemark}\oarg{number} adds
-% just the footnote mark, for example,
-% \begin{verbatim}
-% \author{A. U. Thor}
-% \authornote{Both authors contributed equally to the paper}
-% ...
-% \author{A. N. Other}
-% \authornotemark[1]
-% \end{verbatim}
-% The correct numbering of these marks is the responsibility of the
-% user.
-%
-% \DescribeMacro{\acmVolume}%
-% \DescribeMacro{\acmNumber}%
-% \DescribeMacro{\acmArticle}%
-% \DescribeMacro{\acmYear}%
-% \DescribeMacro{\acmMonth}%
-% The macros \cs{acmVolume}, \cs{acmNumber}, \cs{acmArticle},
-% \cs{acmYear} and \cs{acmMonth} are inserted by the editor and set
-% the journal volume, issue, article number, year and month
-% corrspondingly.  The arguments of all these commands, including
-% \cs{acmMonth}, is numerical.  For example,
-% \begin{verbatim}
-% \acmVolume{9}
-% \acmNumber{4}
-% \acmArticle{39}
-% \acmYear{2010}
-% \acmMonth{3}
-% \end{verbatim}
-% Note that \cs{acmArticle} is used not only for journals but also
-% for some conference proceedings.
-%
-% \DescribeMacro{\acmArticleSeq}%
-% The articles in the same issue of a journal have a \emph{sequence
-% number}.  It is used to vertically position the black blob on the first
-% page of some formats.  By default it is the same as the article number,
-% but the command \cs{acmArticleSeq}\marg{n} can be used to change it:
-% \begin{verbatim}
-% \acmArticle{39}   % The sequence number will be 39 by default
-% \acmArticleSeq{5} % We redefine it to 5
-% \end{verbatim}
-% Setting this number to zero suppresses the blob.
-%
-% \DescribeMacro{\acmSubmissionID}%
-% If your paper got a Submission~ID from the Conference Management
-% System, put it here:
-% \begin{verbatim}
-% \acmSubmissionID{123-A56-BU3}
-% \end{verbatim}
-%
-%
-% \DescribeMacro{\acmPrice}%
-% The macro \cs{acmPrice}\marg{price} sets the price for the article,
-% for example,
-% \begin{verbatim}
-% \acmPrice{25.00}
-% \end{verbatim}
-% Note that you do not need to put the dollar sign here, just the
-% amount.  By default the price is \$15.00, unless the copyright is
-% set to |usgov|, |rightsretained|, |iw3c2w3|, or |iw3c2w3g|, when it
-% is suppressed.  Note that to override the defaults you need to set
-% the price \emph{after} the \cs{setcopyright} command.  Also, the
-% command |\acmPrice{}| suppresses the printing of the price.
-%
-% \DescribeMacro{\acmISBN}%
-% Book-like volumes have ISBN numbers attached to them.  The macro
-% \cs{acmISBN}\marg{ISBN} sets it.  Normally it is set by the
-% typesetter, for example,
-% \begin{verbatim}
-% \acmISBN{978-1-4503-3916-2}
-% \end{verbatim}
-% Setting it to the empty string, as |\acmISBN{}|, suppresses printing the
-% ISBN.
-%
-% \DescribeMacro{\acmDOI}%
-% The macro \cs{acmDOI}\marg{DOI} sets the DOI of the article, for
-% example,
-% \begin{verbatim}
-% \acmDOI{10.1145/9999997.9999999}
-% \end{verbatim}
-% It is normally set by the typesetter.  Setting it to the empty
-% string, as |\acmDOI{}|, suppresses the DOI.
-%
-%
-% \DescribeMacro{\acmBadgeR}%
-% \DescribeMacro{\acmBadgeL}%
-% Some conference articles get special distinctions, for example, the
-% artifact evaluation for PPoPP~2016
-% (see~\url{http://ctuning.org/ae/ppopp2016.html}).  These articles
-% display special badges supplied by the conference organizers.  This
-% class provides commands to add these badges:
-% \cs{acmBadgeR}\oarg{url}\marg{graphics} and
-% \cs{acmBadgeL}\oarg{url}\marg{graphics}.  The first command puts the
-% badge to the right of the title, and the second one---to the left.
-% The arguments have the following meaning: \oarg{url}, if provided,
-% sets the link to the badge authority in the screen version, while
-% \marg{graphics} sets the graphics file with the badge image.  The
-% file must be a cropped square, which is scaled to a standard size in
-% the output.  For example, if the badge image is |ae-logo.pdf|, the
-% command is
-% \begin{verbatim}
-% \acmBadgeR[http://ctuning.org/ae/ppopp2016.html]{ae-logo}
-% \end{verbatim}
-%
-%
-%
-% \DescribeMacro{\startPage}%
-% The macro \cs{startPage}\marg{page} sets the first page of the
-% article in a journal or book.  It is used by the typesetter.
-%
-%
-% \DescribeMacro{\terms}%
-% \DescribeMacro{\keywords}%
-% The command
-% \cs{keywords}\marg{keyword, keyword,\ldots} sets keywords for the
-% article.  They must be
-% separated by commas, for example,
-% \begin{verbatim}
-% \keywords{wireless sensor networks, media access control,
-% multi-channel, radio interference, time synchronization}
-% \end{verbatim}
-%
-% \DescribeEnv{CCSXML}%
-% \DescribeMacro{\ccsdesc}%
-% ACM publications are classified according to the ACM Computing
-% Classification Scheme (CCS).  CCS codes are used both in the typeset
-% version of the publications \emph{and} in the metadata in various
-% databases.  Therefore you need to provide both \TeX\ commands and XML
-% metadata with the paper.
-%
-% The tool at \url{http://dl.acm.org/ccs.cfm} can be used to generate
-% CCS codes.  After you select the topics, click on ``Generate CCS
-% codes'' to get results like the following:
-% \begin{verbatim}
-% \begin{CCSXML}
-% <ccs2012>
-%  <concept>
-%   <concept_id>10010520.10010553.10010562</concept_id>
-%   <concept_desc>Computer systems organization~Embedded systems</concept_desc>
-%   <concept_significance>500</concept_significance>
-%  </concept>
-%  <concept>
-%   <concept_id>10010520.10010575.10010755</concept_id>
-%   <concept_desc>Computer systems organization~Redundancy</concept_desc>
-%   <concept_significance>300</concept_significance>
-%  </concept>
-%  <concept>
-%   <concept_id>10010520.10010553.10010554</concept_id>
-%   <concept_desc>Computer systems organization~Robotics</concept_desc>
-%   <concept_significance>100</concept_significance>
-%  </concept>
-%  <concept>
-%   <concept_id>10003033.10003083.10003095</concept_id>
-%   <concept_desc>Networks~Network reliability</concept_desc>
-%   <concept_significance>100</concept_significance>
-%  </concept>
-% </ccs2012>
-% \end{CCSXML}
-%
-% \ccsdesc[500]{Computer systems organization~Embedded systems}
-% \ccsdesc[300]{Computer systems organization~Redundancy}
-% \ccsdesc{Computer systems organization~Robotics}
-% \ccsdesc[100]{Networks~Network reliability}
-% \end{verbatim}
-%
-% You just need to copy this code and paste it in your paper anywhere
-% before \verb|\maketitle|.
-%
-% CCS Concepts and user-defined keywords are required for all articles
-% over two pages in length, and are optional for one- and two-page
-% articles (or abstracts). 
-%
-% \DescribeMacro{\setcopyright}
-% There are several possibilities for the copyright of the papers
-% published by the ACM: the authors may transfer the rights to the ACM,
-% license them to the ACM, some or all authors might be employees of the
-% US or Canadian governments, etc.  Accordingly the command
-% \verb|\setcopyright{...}| is introduced.  Its argument is the
-% copyright status of the paper, for example,
-% \verb|\setcopyright{acmcopyright}|.  The possible values for this
-% command are listed in Table~\ref{tab:setcopyright}.  This command
-% must be placed in the preamble, before |\begin{document}|.  
-%
-% \begin{table}
-%   \centering
-%   \caption{Parameters for the \texttt{\textbackslash setcopyright} command}
-%   \label{tab:setcopyright}
-%   \begin{tabularx}{\textwidth}{lX}
-%     \toprule
-%     Parameter & Meaning\\
-%     \midrule
-%     \texttt{none} & The copyright and permission information is not
-%     typeset.  (This is the option for some ACM conferences.) \\
-%     \texttt{acmcopyright} & The authors transfer the copyright to the
-%     ACM (the ``traditional'' choice).\\
-%     \texttt{acmlicensed} & The authors retain the copyright but
-%     license the publication rights to ACM\@. \\
-%     \texttt{rightsretained} & The authors retain the copyright and
-%     publication rights to themselves or somebody else. \\
-%     \texttt{usgov} & All the authors are employees of the US
-%     government. \\
-%     \texttt{usgovmixed} & Some authors are employees of the US
-%     government. \\
-%     \texttt{cagov} & All the authors are employees of the Canadian
-%     government. \\
-%     \texttt{cagovmixed} & Some authors are employees of the Canadian
-%     government. \\
-%     \texttt{licensedusgovmixed} & Some authors are employees of the US
-%     government, and the publication rights are licensed to ACM\@. \\
-%     \texttt{licensedcagov} & All the authors are employees of the Canadian
-%     government, and the publication rights are licensed to ACM\@. \\
-%     \texttt{licensedcagovmixed} & Some authors are employees of the
-%     Canadian
-%     government, and the publication rights are licensed to ACM\@. \\
-%     \texttt{othergov} & Authors are employees of a
-%     government other than the US or Canada. \\
-%     \texttt{licensedothergov} & Authors are employees of a
-%     government other than the US or Canada, and the publication rights
-%                                   are licensed to ACM\@. \\
-%     \texttt{iw3c2w3} & Special statement for conferences organized
-%     by IW3C2.\\
-%     \texttt{iw3c2w3g} & Special statement for conferences organized
-%     by IW3C2, when some authors are approved Google employees.\\
-%     \bottomrule
-%   \end{tabularx}
-% \end{table}
-% The ACM submission software should generate the right command for you
-% to paste into your file.
-%
-%
-% \DescribeMacro{\copyrightyear}%
-% Each copyright statement must have the year of copyright.  By
-% default it is the same as \cs{acmYear}, but you can override this
-% using the macro \cs{copyrightyear}, e.g.,
-% \begin{verbatim}
-% \acmYear{2016}
-% \copyrightyear{2015}
-% \end{verbatim}
-%
-% There is a special case for a personal copy that the authors may be
-% allowed to generate for their use or a posting on a personal site
-% (check the instructions for the specific journal or conference for
-% the details).  The document option |authorversion=true| produces a
-% special form of the copyright statement for this case.  Note that
-% you still need the \cs{setcopyright} command and (optionally)
-% \cs{copyrightyear} command to tell \TeX\ about the copyright owner and
-% year.  Also, you should be aware that due to the different sizes of
-% the permssion blocks for the printed version and authors' version,
-% the page breaks might be different between them.
-%
-% \DescribeEnv{abstract}%
-% The environment |abstract| must \emph{precede} the \cs{maketitle}
-% command.  Again, this is different from the standard \LaTeX.
-% Putting |abstract| after \cs{maketitle} will trigger an error.
-%
-%
-% \DescribeEnv{teaserfigure}%
-% A special kind of figure is used for many two-column conference
-% proceedings.  This figure is placed just after the authors but
-% before the main text.  The environment |teaserfigure| is used for these
-% figures.  This environment must be used \emph{before}
-% \cs{maketitle}, for example,
-% \begin{verbatim}
-% \begin{teaserfigure}
-%   \includegraphics[width=\textwidth]{sampleteaser}
-%   \caption{This is a teaser}
-%   \label{fig:teaser}
-% \end{teaserfigure}
-% \end{verbatim}
-%
-%
-% \DescribeMacro{\settopmatter}%
-% Some information in the top matter is printed for certain journals
-% or proceedings and suppressed for others.  You can override these
-% defaults using the command \cs{settopmatter}\marg{settings}.  The
-% settings and their meanings are listed in
-% Table~\ref{tab:settopmatter}.  For example,
-% \begin{verbatim}
-% \settopmatter{printacmref=false, printccs=true, printfolios=true}
-% \end{verbatim}
-% The parameter |authorsperrow| requires some explanation.  In
-% conference proceedings authors' information is typeset in boxes,
-% several boxes per row (see |sample-sigconf.pdf|,
-% |sample-sigplan.pdf|, etc.).  The number of boxes per row is
-% determined automatically.  If you want to override this,
-% you can do it using this parameter, for example,
-% \begin{verbatim}
-% \settopmatter{authorsperrow=4}
-% \end{verbatim}
-% However, in most cases you should \emph{not} do this and should use the
-% default settings.  Setting |authorsperrow| to $0$ will revert it to the
-% default settings.
-%
-% The parameter |printacmref| specifies whether to print the ACM
-% bibliographic entry (default), or not.  Note that this entry is
-% required for all articles over one page in length, and is optional
-% for one-page articles (abstracts). 
-%
-% \begin{table}
-%   \centering
-%   \caption{Settings for the \cs{settopmatter} command}
-%   \label{tab:settopmatter}
-%   \begin{tabularx}{\textwidth}{llX}
-%     \toprule
-%     Parameter & Values & Meaning\\
-%     \midrule
-%     |printccs| & true/false & Whether to print CCS categories\\
-%     |printacmref| & true/false & Whether to print the ACM bibliographic
-%     entry\\
-%     |printfolios| & true/false & Whether to print page numbers
-%     (folios)\\
-%     |authorsperrow| & numeric & Number of authors per row for the title
-%     page in
-%     conference proceedings formats\\
-%     \bottomrule
-%   \end{tabularx}
-% \end{table}
-%
-%
-% \DescribeMacro{\received}%
-% The command \cs{received}\oarg{stage}\marg{date} sets the history of
-% the publication.  The~\oarg{stage} argument is optional; the default
-% is |Received| for the first date and |revised| for the subsequent
-% ones.  For example,
-% \begin{verbatim}
-% \received{February 2007}
-% \received[revised]{March 2009}
-% \received[accepted]{June 2009}
-% \end{verbatim}
-%
-%
-% \DescribeMacro{\maketitle}%
-% The macro \cs{maketitle} must be the last command in the top-matter
-% group.  That is it must follow the commands defined in this section.
-%
-%
-% \DescribeMacro{\shortauthors}%
-% \emph{After} the command \cs{maketitle}, the macro \cs{shortauthors}
-% stores the names of the authors for the running head.  You can
-% redefine it if the list of author's name is too long, e.g.,
-% \begin{verbatim}
-% \maketitle
-% \renewcommand{\shortauthors}{Zhou et al.}
-% \end{verbatim}
-%
-%
-%\subsection{Algorithms}
-%\label{sec:ug_algorithms}
-%
-% There are now several good packages for typesetting
-% algorithms~\cite{Fiorio15, Brito09, Heinz15}, and the authors are
-% free to choose their favorite one.
-%
-%
-%
-%\subsection{Figures and tables}
-%\label{sec:ug_floats}
-%
-% The new ACM styles use the standard \LaTeX\ interface for figures and
-% tables.  There are some important items to be aware of, however.
-%
-% \begin{enumerate}
-% \item The captions for figures must be entered \emph{after} the
-% figure bodies and for tables \emph{before} the table bodies.
-% \item The ACM uses the standard types for figures and tables and adds
-% several new ones.  In total there are the following types:
-% \begin{description}
-% \item[figure, table:] a standard figure or table taking a full text
-% width in one-column formats and one column width in two-column formats.
-% \item[figure*, table*] in two-column formats, a special figure or
-% table taking a full text width.
-% \item[teaserfigure:] a special figure before \cs{maketitle}.
-% \end{description}
-%
-% \item Accordingly, when scaling images, one should use the
-% following sizes:
-% \begin{enumerate}
-% \item For |teaserfigure|, |figure| in one-column mode or |figure*| in
-%   two-column mode, use \cs{textwidth}.  In one-column mode, you can also
-%   use \cs{columnwidth}, which coincides with \cs{textwidth} in this
-%   case.
-% \item For |figure| in two-column mode, use \cs{columnwidth}.
-% \end{enumerate}
-%
-% \end{enumerate}
-%
-% It is strongly recommended to use the package |booktabs|~\cite{Fear05}
-% and follow its main principles of typography with respect to tables:
-% \begin{enumerate}
-% \item Never, ever use vertical rules.
-% \item Never use double rules.
-% \end{enumerate}
-% It is also a good idea not to overuse horizontal rules.
-%
-% For table \emph{footnotes} you have several options described in the TeX
-% FAQ~\cite{TeXFAQ}. The simplest one is to use a \cs{minipage}
-% environment:
-% \begin{verbatim}
-% \begin{table}
-% \caption{Simulation Configuration}
-% \label{tab:conf}
-% \begin{minipage}{\columnwidth}
-% \begin{center}
-% \begin{tabular}{ll}
-%   \toprule
-%   TERRAIN\footnote{This is a table footnote. This is a
-%     table footnote. This is a table footnote.} &
-%     (200\,m$\times$200\,m) Square\\
-%   Node Number     & 289\\
-%   Node Placement  & Uniform\\
-%   Application     & Many-to-Many/Gossip CBR Streams\\
-%   Payload Size    & 32 bytes\\
-%   Routing Layer   & GF\\
-%   MAC Layer       & CSMA/MMSN\\
-%   Radio Layer     & RADIO-ACCNOISE\\
-%   Radio Bandwidth & 250Kbps\\
-%   Radio Range     & 20m--45m\\
-%   \bottomrule
-% \end{tabular}
-% \end{center}
-% \bigskip
-% \footnotesize\emph{Source:} This is a table
-%  sourcenote. This is a table sourcenote. This is a table
-%  sourcenote.
-%
-%  \emph{Note:} This is a table footnote.
-% \end{minipage}
-% \end{table}
-% \end{verbatim}
-%
-%
-% Tables and figures are by default centered.  However, in some cases
-% (for example, when you use several subimages per figure) you may
-% need to override this.  A good way to do so is to put the contents
-% into a \cs{minipage} of the width \cs{columnwidth}.
-%
-%
-%\subsection{Descriptions of images}
-%\label{sec:descriptions}
-%
-% \DescribeMacro{\Description}%
-% Some readers of ACM publications might be visually challenged.
-% These readers might use a voice-over software to read aloud the
-% papers.  It is important to provide them a description of each
-% image used in the paper.
-%
-% The command \cs{Description}\oarg{short description}\marg{long
-% description} should be placed inside every \texttt{figure},
-% \texttt{teaserfigure} or \texttt{marginfigure} environment to
-% provide a description of the image(s) used in the figure.  Unlike
-% \cs{caption}, which is used alongside the image, \cs{Description} is
-% intended to be used instead of the image, for example,
-% \begin{verbatim}
-% \begin{figure}
-%   \centering
-%   \includegraphics{voltage}
-%   \Description{A bell-like histogram centered at $0.5$~V with most
-%   measurements between $0.2$~V and $0.8$~V}
-%   \caption{Histogram of the measurements of voltage}
-%   \label{fig:voltage}
-% \end{figure}
-% \end{verbatim}
-% At present the lack of descriptions generates a warning at
-% compilation.  
-%
-%\subsection{Theorems}
-%\label{sec:ug_theorems}
-%
-% The ACM classes define two theorem styles and several pre-defined
-% theorem environments:
-% \begin{description}
-% \item[acmplain:] this is the style used for
-%   |theorem|,
-%   |conjecture|,
-%   |proposition|,
-%   |lemma| and
-%   |corollary|, and
-% \item[acmdefinition:] this is the style used for
-%   |example| and
-%   |definition|.
-% \end{description}
-%
-%
-% These environments are defined by default.  In the unusual
-% circumstance that a user does not wish to have these environments
-% defined, the option |acmthm=false| in the preamble will suppress
-% them.
-%
-%\subsection{Online-only and offline-only material}
-%\label{sec:ug_screen}
-%
-% \DescribeEnv{printonly}%
-% \DescribeEnv{screenonly}%
-% Some supplementary material in ACM publications is put online but
-% not in the printed version.  The text inside the environment
-% |screenonly| will be typeset only when the option |screen| (see
-% Section~\ref{sec:invocation}) is set to |true|.  Conversely, the
-% text inside the environment |printonly| is typeset only when this
-% option is set to |false|.  For example,
-% \begin{verbatim}
-% \section{Supplementary materials}
-%
-% \begin{printonly}
-%   Supplementary materials are available in the online version of this paper.
-% \end{printonly}
-%
-% \begin{screenonly}
-%   (The actual supplementary materials.)
-% \end{screenonly}
-% \end{verbatim}
-%
-% We use the |comment| package for typesetting this code, so
-% |\begin| and |\end| should start on a line of their own with
-% no leading or trailing spaces.
-%
-%\subsection{Note about anonymous mode}
-%\label{sec:ug_anonymous}
-%
-% \DescribeEnv{anonsuppress}%
-% When the option |anonymous| is selected, \TeX\ suppresses author
-% information (including the number of authors) for a blind review.
-% However, sometimes the information identifying the authors may be
-% present in the body of the paper.  For example,
-% \begin{verbatim}
-% \begin{anonsuppress}
-%   This is the continuation of the previous work by the author
-%   \cite{prev1, prev2}.
-% \end{anonsuppress}
-% \end{verbatim}
-%
-% As for the |printonly| and |screenonly| environments,
-% |\begin{anonsuppress}| and |\end{anonsuppress}| should start on a
-% line of their own with no leading or trailing spaces.
-%
-%\subsection{Acknowledgments}
-%\label{sec:ug_acks}
-%
-% The traditional ``Acknowledgments'' section is conventionally used
-% to thank persons and granting agencies for their help and support.
-% However, there are several important considerations about this
-% section.
-%
-% First, in anonymous mode this section must be omitted: it gives
-% too much information to reviewers.  Second, data about
-% grants is extracted and stored separately by the postprocessing
-% software.  ACM classes provide facilities for both these tasks.
-%
-% \DescribeEnv{acks}%
-% The environment |acks| starts an unnumbered section
-% ``Acknowledgments'' unless the anonymous mode is chosen.  Put all
-% thanks inside this environment.
-%
-% As for the |printonly| and |screenonly| environments,
-% |\begin{acks}| and |\end{acks}| should start on a
-% line of their own with no leading or trailing spaces.
-%
-% \DescribeMacro{\grantsponsor}%
-% \DescribeMacro{\grantnum}%
-% All financial support \emph{must} be listed using the commands
-% \cs{grantsponsor} and \cs{grantnum}.  These commands tell the
-% postprocessing software about the granting organization and
-% grant.  The format of these commands is the following:
-% \begin{quote}
-%   \cs{grantsponsor}\marg{sponsorID}\marg{name}\marg{url}\\
-%   \cs{grantnum}\oarg{url}\marg{sponsorID}\marg{number}.
-% \end{quote}
-% Here \marg{sponsorID} is the unique ID used to match grants to
-% sponsors, \marg{name} is the name of the sponsor, \marg{url} is its
-% URL, and \marg{number} is the grant number.  The \marg{sponsorID} of
-% the \cs{grantnum} command must correspond to the \marg{sponsorID} of a
-% \cs{grantsponsor} command.  Some awards have their own web pages,
-% which you can include using the optional argument of the \cs{grantnum}
-% command.
-%
-% At present \marg{sponsorID} is chosen by the authors and can be an
-% arbitrary key in the same way the label of a \cs{cite} is arbitrarily
-% chosen.  There might be a change to this policy if the ACM decides to
-% create a global database of sponsoring organizations.
-%
-% Example:
-% \begin{verbatim}
-% \begin{acks}
-%   The authors would like to thank Dr. Yuhua Li for providing the
-%   matlab code of the \textit{BEPS} method.
-%
-%   The authors would also like to thank the anonymous referees for
-%   their valuable comments and helpful suggestions. This work is
-%   supported by the \grantsponsor{GS501100001809}{National Natural
-%   Science Foundation of
-%   China}{https://doi.org/10.13039/501100001809} under Grant
-%   No.:~\grantnum{GS501100001809}{61273304}
-%   and~\grantnum[http://www.nnsf.cn/youngscientists]{GS501100001809}{Young
-%   Scientists' Support Program}.
-% \end{acks}
-% \end{verbatim}
-%
-%
-%\subsection{Bibliography}
-%\label{sec:ug_bibliography}
-%
-% The ACM uses the |natbib| package for formatting references and
-% the Bib\TeX\ style file \path{ACM-Reference-Format.bst} for Bib\TeX\
-% processing.  You can disable loading of |natbib| using the
-% option |natbib=false| in \cs{documentclass}.  However, it is not
-% recommended, as well as the use of Bib\TeX\ styles other than
-% \path{ACM-Reference-Format.bst}, and may delay the processing of the
-% manuscript.
-%
-%
-% \DescribeMacro{\citestyle}%
-% If you use |natbib|, you can select one of two predefined citation
-% styles using the command \cs{citestyle}: the author-year format
-% |acmauthoryear| or the numeric format |acmnumeric|.  For example,
-% \begin{verbatim}
-% \citestyle{acmauthoryear}
-% \end{verbatim}
-% Note that numeric citations are the default mode for most formats.
-%
-% \DescribeMacro{\setcitestyle}%
-% You can further customize |natbib| using
-% the \cs{setcitestyle} command, for example,
-% \begin{verbatim}
-% \setcitestyle{numbers,sort&compress}
-% \end{verbatim}
-%
-% One of the more common versions is
-% \begin{verbatim}
-% \setcitestyle{nosort}
-% \end{verbatim}
-% It is useful if you do not like the way |natbib| sorts citation
-% lists.
-%
-% If you use |natbib|, then commands like \cs{citep} and
-% \cs{citeauthor} are automatically supported.  The command
-% \cs{shortcite} is the same as \cs{cite} in numerical mode and cites
-% the year in author-date mode.
-%
-% Note that before version~1.48 the command \cs{citeyear} put the year
-% in parentheses.  In version~1.48 and later it produces just the
-% year; the command \cs{citeyearpar} can be used to emulate its old
-% behavior.
-%
-% There are several customized \BibTeX\ entry types and fields in the ACM
-% style file \path{ACM-Reference-Format.bst} that you may want to be
-% aware of.
-%
-% The style supports the fields \path{doi} and \path{url}, for example,
-% \begin{verbatim}
-%  doi =          "10.1145/1188913.1188915",
-%  url =          "http://ccrma.stanford.edu/~jos/bayes/bayes.pdf",
-% \end{verbatim}
-%
-% The style supports the arXiv-recommended fields \path{eprint} and
-% (optionally) \path{primaryclass}, for example,
-% \begin{verbatim}
-%  eprint =       "960935712",
-%  primaryclass = "cs",
-% \end{verbatim}
-% See the examples at \url{http://arxiv.org/hypertex/bibstyles/}.
-%
-% There are several  special entry types. Types \path{online} and
-% \path{game} are used for Web pages and games, for example,
-% \begin{verbatim}
-% @online{Thornburg01,
-%  author =       "Harry Thornburg",
-%  year =         "2001",
-%  title =        "Introduction to Bayesian Statistics",
-%  url =          "http://ccrma.stanford.edu/~jos/bayes/bayes.html",
-%  month =        mar,
-%  lastaccessed = "March 2, 2005",
-% }
-% \end{verbatim}
-% Entry types \path{artifactsoftware}, \path{artifactdataset} 
-% (with synonyms \path{software} and \path{dataset}) can be used to
-% cite software artifacts and datasets, for example,
-% \begin{verbatim}
-% @ArtifactSoftware{R,
-%    title = {R: A Language and Environment for Statistical Computing},
-%    author = {{R Core Team}},
-%    organization = {R Foundation for Statistical Computing},
-%    address = {Vienna, Austria},
-%    year = {2019},
-%    url = {https://www.R-project.org/},
-%}
-% @ArtifactDataset{UMassCitations,
-%  author    =  {Sam Anzaroot and Andrew McCallum},
-%  title     =  {{UMass} Citation Field Extraction Dataset},
-%  year      = 2013,
-%  url       =
-%     {http://www.iesl.cs.umass.edu/data/data-umasscitationfield},
-%  lastaccessed = {May 27, 2019}
-% }
-% \end{verbatim}
-% 
-%
-% For these entry types you can use the \path{lastaccessed} field to add
-% the access date for the URL.
-% 
-%
-%
-% There are two ways to enter video or audio sources in the
-% bibliograpy corresponding to two different possibilies.  For
-% standalone sources available online, you can use an \path{online}
-% entry and set its \path{howpublished} field.  For example,
-% \begin{verbatim}
-% @online{Obama08,
-%  author =       "Barack Obama",
-%  year   =       "2008",
-%  title  =       "A more perfect union",
-%  howpublished = "Video",
-%  day    =       "5",
-%  url    =       "http://video.google.com/videoplay?docid=6528042696351994555",
-%  month  =       mar,
-%  lastaccessed = "March 21, 2008",
-% }
-% \end{verbatim}
-%
-% For sources available as attachments to conference proceedings
-% and similar documents, you can use the usual \path{inproceedings}
-% entry type and set its \path{howpublished} field:
-% \begin{verbatim}
-% @Inproceedings{Novak03,
-%  author =       "Dave Novak",
-%  title =        "Solder man",
-%  booktitle =    "ACM SIGGRAPH 2003 Video Review on Animation theater Program",
-%  year =         "2003",
-%  publisher =    "ACM Press",
-%  address =      "New York, NY",
-%  pages =        "4",
-%  month =        "March 21, 2008",
-%  doi =          "10.9999/woot07-S422",
-%  howpublished = "Video",
-% }
-% \end{verbatim}
-%
-% Sometimes you need to cite a complete issue of a journal.  The
-% \path{periodical} entry type is intended for this:
-% \begin{verbatim}
-% @periodical{JCohen96,
-%  key =          "Cohen",
-%  editor =       "Jacques Cohen",
-%  title =        "Special issue: Digital Libraries",
-%  journal =      "Communications of the {ACM}",
-%  volume =       "39",
-%  number =       "11",
-%  month =        nov,
-%  year =         "1996",
-% }
-% \end{verbatim}
-%
-% If you do not know the year of publication, the style will add
-% ``[n.\,d.]'' (for ``no date'') to the entry.
-%
-% If you do not know the author (this is often the case for online
-% entries), use the |key| field to add a key for sorting and citations,
-% for example,
-% \begin{verbatim}
-% @online{TUGInstmem,
-%  key =          {TUG},
-%  year  =        2017,
-%  title =        "Institutional members of the {\TeX} Users Group",
-%  url =          "http://wwtug.org/instmem.html",
-%  lastaccessed = "May 27, 2017",
-% }
-% \end{verbatim}
-%
-% A note about sorting.  The current ACM bibliography styles always
-% sort the entries according to authors names and publication year.
-% There is a controversy about sorting names with ``von'' or ``van''
-% part: should Ludwig van Beethoven be sorted under ``V'' or under
-% ``B''?  The American practice is to use ``van'' in sorting, i.e. to
-% file van Beethoven under ``V''.  However, some authorities recommend
-% to sort Dutch persons according to their last names (see
-% e.g. \url{https://www.ifla.org/files/assets/cataloguing/pubs/names-of-persons_1996.pdf}).
-% While I do not want to take a part in this dispute, I would like to
-% point to the old ``noopsort'' trick by Oren Patashnik.  Add to the
-% \texttt{.bib} file the line
-% \begin{verbatim}
-% @PREAMBLE{"\providecommand{\noopsort}[1]{}"}
-% \end{verbatim}
-% and then encode the author as
-% \begin{verbatim}
-%  author = {Ludwig {\noopsort{Beethoven}}van Beethoven},
-% \end{verbatim}
-% This will make the author to be sorted as ``Beethoven'' rather than
-% ``van Beethoven''.
-%
-%\subsection{Colors}
-%\label{sec:ug_colors}
-%
-% While printed ACM publications are usually black and white, |screen|
-% mode allows the use of colors.  The ACM classes pre-define several
-% colors according to~\cite{ACMIdentityStandards}:  |ACMBlue|,
-% |ACMYellow|, |ACMOrange|, |ACMRed|, |ACMLightBlue|, |ACMGreen|,
-% |ACMPurple| and |ACMDarkBlue|.  You can use them in color
-% assignments.
-%
-% The ACM provides the following recommendation on color use.
-%
-% The most accessible approach would be to ensure that your article is
-% still readable when printed in greyscale. The most notable reasons
-% for this are:
-% \begin{enumerate}
-% \item The most common type of inherited Color Vision Deficiency
-% (CVD) is red-green (in which similar-brightness colors that differ
-% only in their amounts of red or green are often confused), and it
-% affects up to 8\% of males and 0.5\% of females of Northern European
-% descent.
-% \item The most common type of acquired Color Vision Deficiency (CVD)
-% is blue-yellow (including mild cases for many older adults).
-% \item Most printing is in black and white.
-% \item Situational impairments (e.g., bright sunlight shining on a
-% mobile screen) tend to reduce the entire color gamut, reducing color
-% discriminability.
-% \end{enumerate}
-%
-% \textbf{Note:} It is \emph{not} safe to encode information using
-% only variations in color (i.e., only differences in hue and/or
-% saturation) as there is bound to be someone affected!
-%
-% To ensure that you are using the most accessible colors, the ACM
-% recommends that you choose sets of colors to help ensure suitable
-% variations in when printed in greyscale by using either of the following tools:
-% \begin{enumerate}
-%  \item ColourBrewer: \url{http://colorbrewer2.org/}
-%  \item ACE: The Accessible Colour Evaluator:
-%    \url{http://daprlab.com/ace/} for designing WCAG 2.0 compliant
-%    palettes.
-%  \end{enumerate}
-%
-%
-%\subsection{Other notable packages and typographic remarks}
-%\label{sec:ug_other}
-%
-% Several other packages are recommended for specialized tasks.
-%
-% The package |subcaption|~\cite{Sommerfeldt13:Subcaption} is
-% recommended for complex figures with several subplots or subfigures
-% that require separate subcaptioning.  The packages
-% |nomencl|~\cite{Nomencl} and
-% |glossaries|~\cite{Talbot16:Glossaries} can be used for the
-% automatic creation of the lists of symbols and concepts used.
-%
-%
-% By default |acmart| prevents all widows and orphans (i.e., lonely
-% lines at the beginning or end of the page) and hyphenation at
-% the end of the page.  This is done by the rather strict settings
-% \begin{verbatim}
-% \widowpenalty=10000
-% \clubpenalty=10000
-% \brokenpenalty=10000
-% \end{verbatim}
-% However, this may lead to frustrating results when the authors must
-% obey a page limit.  Setting these penalties to smaller values may
-% help if you absolutely need to.
-%
-% Another problem might be the too strict line breaking rules.  Again,
-% a strategically placed \cs{sloppy} command or putting the
-% problematic paragraph inside \texttt{sloppypar} environment might
-% help---but beware, the results might be, well, sloppy.
-%
-% Note that the uppercasing in section titles is done using
-% the |textcase| package~\cite{Carlisle04:Textcase}, so the command
-% \cs{NoCaseChange} inside the title may help to prevent extraneous
-% uppercasing.
-%
-%
-%
-%\subsection{Disabled or forbidden commands}
-%\label{sec:ug_disabled}
-%
-% The goal of |acmart| package is to provide a uniform look and feel
-% for ACM publications.  Accordingly, a number of commands is
-% forbidden or disabled in |acmart|.
-%
-% You may \emph{not} put several authors or several e-mails into a
-% \cs{author} or \cs{email} command.  This may lead to errors or
-% warning.
-%
-% You cannot change \cs{baselinestretch} in your document: this
-% produces an error.
-%
-% You should not abuse the command \cs{vspace}:  this command may
-% disturb the typesetting of ACM papers.
-%
-% You should not load |amssymb| package since the package |acmart|
-% defines the corresponding symbols itself.
-%
-%\subsection{Notes for wizards}
-%\label{sec:ug_preload}
-%
-% Sometimes you need to change the behavior of |acmart|.  The
-% usual way to do this is to redefine commands in the preamble.
-% However, these definitions are executed \emph{after} |acmart| is
-% loaded and certain decisions are made.  This presents a number of
-% problems.
-%
-% For example, one may want to use the |titletoc| package with |acmart|.
-% This package should be loaded before |hyperref|.  However, since
-% |acmart| loads |hyperref| itself, the line |\usepackage{titletoc}|
-% in the preamble will lead to grief (see
-% \url{http://tex.stackexchange.com/questions/357265/using-titletoc-with-acm-acmart-style}).
-%
-% Another example is passing options to a package.  Suppose you want to
-% use the |dvipsnames| option of the |xcolor| package.  Normally you cannot do
-% this because |acmart| loads this package itself without options.
-%
-% The file |acmart-preload-hook.tex| can be used to solve these
-% problems.  If this file exists, it will be processed before any other
-% package.  You can use this file to load packages or pass options to
-% them.  For example, if you put in this file
-% \begin{verbatim}
-% \let\LoadClassOrig\LoadClass
-% \renewcommand\LoadClass[2][]{\LoadClassOrig[#1]{#2}%
-% \usepackage{titletoc}}
-% \end{verbatim}
-% then |titletoc| will be loaded before |hyperref|.  If you put in
-% this file
-% \begin{verbatim}
-% \PassOptionsToPackage{dvipsnames}{xcolor}
-% \end{verbatim}
-% you will pass |dvipsnames| to |xcolor|.
-%
-% \textbf{Important note.}  This hook makes it too easy to create a
-% manuscript that is not acceptable by the ACM.  It is even easier to
-% create a file that cannot be compiled.  So please do not use it
-% \emph{unless you know what you are doing.}  And if you use it,
-% \emph{do not ask for support.}  If you decide to use this hook, you
-% are on your own.
-%
-% \DescribeMacro{\AtBeginMaketitle}%
-% Another hook is \cs{AtBeginMaketitle}.  The commands in this hook
-% are executed before \cs{maketitle}, for example,
-% \begin{verbatim}
-% \AtBeginMaketitle{\acmPrice{125.00}}
-% \end{verbatim}
-% 
-%
-%\subsection{Currently supported publications}
-%\label{sec:pubs}
-%
-%\bgroup\centering
-% \begin{longtable}{>{\ttfamily}p{0.2\textwidth}@{}p{0.8\textwidth}}
-%   \caption{ACM publications and arguments of the \cs{acmJournal}
-%   command}
-%   \label{tab:pubs}\\
-%     \toprule
-%     \normalfont Abbreviation & Publication \\
-%     \midrule
-% \endfirsthead
-%   \caption[]{ACM publications and arguments of the \cs{acmJournal}
-%   command (continued)}\\
-%     \toprule
-%     \normalfont Abbreviation & Publication \\
-%     \midrule
-% \endhead
-% \bottomrule
-% \endfoot
-%     CIE & ACM Computers in Entertainment \\
-%     CSUR & ACM Computing Surveys\\
-%     DGOV & Digital Government: Research and Practice \\
-%     DTRAP &  Digital Threats: Research and Practice\\
-%     HEALTH & ACM Transactions on Computing for Healthcare\\
-%     IMWUT & PACM on Interactive, Mobile, Wearable and Ubiquitous
-%     Technologies\\
-%     JACM &  Journal of the ACM \\
-%     JDIQ & ACM Journal of Data and Information Quality \\
-%     JEA & ACM Journal of Experimental Algorithmics \\
-%     JERIC & ACM Journal of Educational Resources in Computing\\
-%     JETC & ACM Journal on Emerging Technologies in Computing Systems \\
-%     JOCCH & ACM Journal on Computing and Cultural Heritage \\
-%     PACMCGIT & Proceedings of the ACM on Computer Graphics and
-%     Interactive Techniques\\
-%     PACMHCI & PACM on Human-Computer Interaction\\
-%     PACMPL & PACM on Programming Languages \\
-%     POMACS & PACM on Measurement and Analysis of Computing Systems \\
-%     TAAS & ACM Transactions on Autonomous and Adaptive Systems\\
-%     TACCESS & ACM Transactions on Accessible Computing\\
-%     TACO & ACM Transactions on Architecture and Code Optimization \\
-%     TALG & ACM Transactions on Algorithms \\
-%     TALLIP & ACM Transactions on Asian and Low-Resource Language
-%     Information Processing\\
-%     TAP & ACM Transactions on Applied Perception \\
-%     TCPS & ACM Transactions on Cyber-Physical Systems\\
-%     TDS & ACM/IMS Transactions on Data Science\\
-%     TEAC & ACM Transactions on Economics and Computation\\
-%     TECS & ACM Transactions on Embedded Computing Systems \\
-%     TELO & ACM Transactions on Evolutionary Learning \\
-%     THRI & ACM Transactions on Human-Robot Interaction\\
-%     TIIS & ACM Transactions on Interactive Intelligent Systems\\
-%     TIOT & ACM Transactions on Internet of Things \\
-%     TISSEC & ACM Transactions on Information and System Security\\
-%     TIST & ACM Transactions on Intelligent Systems and Technology \\
-%     TKDD & ACM Transactions on Knowledge Discovery from Data\\
-%     TMIS & ACM Transactions on Management Information Systems\\
-%     TOCE & ACM Transactions on Computing Education\\
-%     TOCHI & ACM Transactions on Computer-Human Interaction\\
-%     TOCL & ACM Transactions on Computational Logic\\
-%     TOCS & ACM Transactions on Computer Systems \\
-%     TOCT & ACM Transactions on Computation Theory \\
-%     TODAES & ACM Transactions on Design Automation of Electronic Systems\\
-%     TODS & ACM Transactions on Database Systems\\
-%     TOG & ACM Transactions on Graphics\\
-%     TOIS & ACM Transactions on Information Systems\\
-%     TOIT & ACM Transactions on Internet Technology\\
-%     TOMACS & ACM Transactions on Modeling and Computer Simulation \\
-%     TOMM  & ACM Transactions on Multimedia Computing, Communications
-%     and Applications \\
-%     TOMPECS & ACM Transactions on Modeling and Performance Evaluation
-%     of Computing Systems\\
-%     TOMS & ACM Transactions on Mathematical Software\\
-%     TOPC & ACM Transactions on Parallel Computing\\
-%     TOPLAS & ACM Transactions on Programming Languages and Systems\\
-%     TOPS & ACM Transactions on Privacy and Security\\
-%     TOS & ACM Transactions on Storage\\
-%     TOSEM & ACM Transactions on Software Engineering and Methodology\\
-%     TOSN & ACM Transactions on Sensor Networks\\
-%     TQC & ACM Transactions on Quantum Computing\\
-%     TRETS & ACM Transactions on Reconfigurable Technology and Systems\\
-%     TSAS & ACM Transactions on Spatial Algorithms and Systems\\
-%     TSC & ACM Transactions on Social Computing\\
-%     TSLP & ACM Transactions on Speech and Language Processing \\
-%     TWEB & ACM Transactions on the Web\\
-% \end{longtable}
-%\egroup
-%
-% Besides the publications listed in Table~\ref{tab:pubs}, there is a
-% special ``publication'' type FACMP, a forthcoming ACM publication,
-% reserved for new journals which are not assigned an ISSN yet.  
-%
-%
-%\subsection{A note about \texttt{sigchi-a} format}
-%\label{sec:sigchi-a}
-%
-% Starting in Spring 2020 ACM retired SIGCHI Extended Abstract format
-% (|sigchi-a|).  ACM will not, under any circumstances, accept
-% documents in this format for publication and will not offer
-% technical support to the authors who use this template.
-%
-% You may use this format in the |nonacm| mode only, as in
-% \begin{verbatim}
-% \documentclass[sigchi-a, nonacm]{acmart}
-% \end{verbatim}
-%
-% 
-%
-% \DescribeEnv{sidebar}%
-% \DescribeEnv{marginfigure}%
-% \DescribeEnv{margintable}%
-% This format has large margin uses for special figures and
-% tables. This package provides three environments for this with
-% optional captions:
-% \begin{description}
-% \item[sidebar:] textual information in the margin,
-% \item[marginfigure:] a figure in the margin,
-% \item[margintable:] a table in the margin.
-% \end{description}
-%
-% The environments |figure| and |table| produce figures and tables
-% with the width of the text column.  The environments |figure*| and
-% |table*| produce ``wide'' figures and tables, which take a large
-% part of the margin.  
-%
-% The horizontal sizes of figures are:
-% \begin{enumerate}
-% \item |figure|:  \cs{columnwidth},
-% \item |marginfigure|: \cs{marginparwidth},
-% \item |figure*|: \cs{fulltextwidth}.
-% \end{enumerate}
-% 
-% 
-%
-% \StopEventually{
-% \clearpage
-% \bibliography{acmart}
-% \bibliographystyle{unsrt}}
-%
-% \clearpage
-%
-%
-%\section{Implementation}
-%\label{sec:impl}
-%
-%\subsection{Identification}
-%\label{sec:ident}
-%
-% We start with a declaration of who we are.  Most |.dtx| files put
-% driver code in a separate~|.drv| driver file.  We roll this code into the
-% main file and use the pseudo-guard |<gobble>| for it.
-%    \begin{macrocode}
-%<class>\NeedsTeXFormat{LaTeX2e}
-%<*gobble>
-\ProvidesFile{acmart.dtx}
-%</gobble>
-%<class>\ProvidesClass{acmart}
-[2020/11/15 v1.75 Typesetting articles for the Association for Computing Machinery]
-%    \end{macrocode}
-%
-% \changes{v1.00}{2016/04/14}{First released version}
-% \changes{v1.01}{2016/04/18}{Defined ACM colors}
-% \changes{v1.01}{2016/04/18}{Changed hyperref colors in screen mode
-% (closes \url{https://github.com/borisveytsman/acmart/issues/1})}
-% \changes{v1.01}{2016/04/18}{Set headheight to 1pc for all formats
-% (closes \url{https://github.com/borisveytsman/acmart/issues/5})}
-% \changes{v1.02}{2016/04/21}{Documentation changes
-% (closes \url{https://github.com/borisveytsman/acmart/issues/13})}
-% \changes{v1.02}{2016/04/21}{Added TOPS and TSC
-% (closes \url{https://github.com/borisveytsman/acmart/issues/12})}
-% \changes{v1.03}{2016/04/22}{Added authorversion option
-% (closes \url{https://github.com/borisveytsman/acmart/issues/9})}
-% \changes{v1.03}{2016/04/22}{Added anonsuppress environment}
-% \changes{v1.04}{2016/04/26}{Updated bibliography for siggraph}
-% \changes{v1.05}{2016/04/27}{Patched \cs{setcitestyle} command;
-% closes \url{https://github.com/borisveytsman/acmart/issues/19}}
-% \changes{v1.05}{2016/04/27}{Added processing doi numbers for
-% acmsiggraph and doi numbers for sigproc.bib}
-% \changes{v1.08}{2016/05/13}{SIGPLAN reformatting by Matthew Fluet}
-% \changes{v1.08}{2016/05/13}{Typos corrected (Tobias Pape)}
-% \changes{v1.09}{2016/05/18}{Revert SIGPLAN caption rules}
-% \changes{v1.11}{2016/05/27}{Customization of ACM theorem styles and
-% proof environment by Matthew Fluet}
-% \changes{v1.12}{2016/05/30}{Documentation updates}
-% \changes{v1.14}{2016/06/09}{\cs{citestyle} updates (Matthew Fluet)}
-% \changes{v1.16}{2016/07/07}{Formatting header/footer (Matthew
-% Fluet)}
-% \changes{v1.18}{2016/07/10}{Natbib is now the default for all
-% formats}
-% \changes{v1.19}{2016/07/28}{Include 'Abstract', 'Acknowledgements',
-% and 'References' in PDF bookmarks (Matthew Fluet)}
-% \changes{v1.20}{2016/08/06}{Bug fixes for bst}
-% \changes{v1.22}{2016/09/25}{More bibliography changes for Aptara}
-% \changes{v1.23}{2016/11/04}{Add PACMPL journal option}
-% \changes{v1.26}{2016/12/24}{Corrected \cs{shortcite} bug}
-% \changes{v1.26}{2016/12/24}{Documentation typos fixed (thanks to
-% Stephen Spencer)}
-% \changes{v1.30}{2017/02/04}{Bibtex style now recognizes https:// in
-% doi}
-% \changes{v1.31}{2017/03/04}{Documentation changes}
-% \changes{v1.32}{2017/03/07}{Format siggraph is now obsolete}
-% \changes{v1.32}{2017/03/07}{Added POMACS journal option}
-% \changes{v1.33}{2017/03/12}{BibTeX crossref bug corrected}
-% \changes{v1.33}{2017/03/18}{BibTeX comma before articleno bug
-% corrected}
-% \changes{v1.33}{2017/03/18}{BibTeX numpages bug corrected}
-% \changes{v1.33}{2017/03/28}{Added acmart-preload-hook}
-% \changes{v1.33}{2017/03/33}{Documentation updates}
-% \changes{v1.35}{2017/04/23}{BibTeX bug fixed: et al.}
-% \changes{v1.36}{2017/05/12}{Added the possibility to adjust number of
-% author boxes per row in conference formats}
-% \changes{v1.37}{2017/05/13}{Set \cs{normalparindent}; Reduce list
-% indentation (Matthew Fluet)}%
-% \changes{v1.38}{2017/05/13}{Increase default font size for SIGPLAN}
-% \changes{v1.40}{2017/05/27}{Bibliography changes}
-% \changes{v1.40}{2017/06/15}{Added package cleveref}
-% \changes{v1.40}{2017/06/16}{Added new copyright version:
-% licensedcagov}
-% \changes{v1.41}{2017/06/25}{Added new badges}
-% \changes{v1.42}{2017/07/02}{Deleted ACM badges}
-% \changes{v1.44}{2017/07/30}{Added package refcount}
-% \changes{v1.44}{2017/07/30}{Deleted package cleveref}
-% \changes{v1.44}{2017/07/30}{Put theorem defs in a separate style}
-% \changes{v1.46}{2017/08/17}{Bst file bug fixes: label width is
-% calculated correctly}
-% \changes{v1.46}{2017/08/25}{Added etoolbox}
-% \changes{v1.46}{2017/08/29}{Restore theorem defs to class file}
-% \changes{v1.47}{2017/08/31}{New journal: THRI}
-% \changes{v1.48}{2017/09/09}{Typos fixed (Jamie Davis)}
-% \changes{v1.48}{2017/09/16}{Code prettying (Michael D.~Adams)}
-% \changes{v1.48}{2017/09/23}{Misc entries in the bibliography no
-% longer produce a separate date}
-% \changes{v1.48}{2017/10/01}{Initial support for Biblatex (Daniel Thomas)}
-% \changes{1.48}{2017/10/14}{Bib code cleanup (Zack Weinberg)}
-% \changes{1.48}{2017/12/03}{Documentation update (siggraph)}
-% \changes{1.49}{2018/01/24}{New journal:  DTRAP}
-% \changes{1.53}{2018/04/14}{New journals: PACMCGIT, TIOT, TDSCI}
-% \changes{1.53}{2018/04/14}{Rearranged docs}
-% \changes{1.54}{2018/06/17}{Moved footnote stuff before hyperref call
-% (Ross Moore)}
-% \changes{1.56}{2018/11/11}{Documented \cs{Description}}
-% \changes{1.57}{2018/12/16}{Booktabs package is now the default}
-% \changes{1.58}{2019/02/09}{Changes in samples (Enrico Gregorio)}
-% \changes{1.58}{2019/03/29}{New journal: HEALTH.  TDS is renamed to
-% TDSCI} 
-% \changes{1.60}{2019/04/22}{New option: urlbreakonhyphens}
-% \changes{1.62}{2019/07/31}{New journal: TELO}
-% \changes{1.63}{2019/08/04}{New journal: TQUANT}
-% \changes{1.63}{2019/08/04}{New journal: FACMP} 
-% \changes{1.63a}{2019/08/05}{Move: TQUANT to TQC}
-% \changes{1.64}{2019/08/17}{Putting abstract after \cs{maketitle} now
-% causes an error}
-% \changes{1.65}{2019/10/19}{New journal: DGOV}
-% \changes{1.66}{2019/12/18}{ACM reference format is now mandatory for
-% papers over one page;  CCS concepts and keywords are now mandatory for
-% papers over two pages}
-% \changes{1.66}{2019/12/18}{Authors' addresses are mandatory for
-% journal articles}
-% \changes{1.71}{2020/05/01}{Retired sigchi and sigchi-a}
-% \changes{1.71}{2020/05/02}{Bibliography change: volume for
-% @inproceedings is now in brackets together with series}
-% \changes{1.71}{2020/05/02}{LuaTeX now uses the OTF versions of
-% fonts}
-% \changes{1.75}{2020/10/29}{Documentation update}
-%
-% And the driver code:
-%    \begin{macrocode}
-%<*gobble>
-\documentclass{ltxdoc}
-\usepackage{array,booktabs,amsmath,graphicx,fancyvrb,tabularx, longtable}
-\usepackage[tt=false, type1=true]{libertine}
-\usepackage[varqu]{zi4}
-\usepackage[libertine]{newtxmath}
-\usepackage[tableposition=top]{caption}
-\usepackage{hypdoc}
-\PageIndex
-\CodelineIndex
-\RecordChanges
-\EnableCrossrefs
-\begin{document}
-  \DocInput{acmart.dtx}
-\end{document}
-%</gobble>
-%<*class>
-\def\@classname{acmart}
-%    \end{macrocode}
-%
-%
-%
-%\subsection{Preload hook}
-%\label{sec:preload}
-%
-% We preload |acmart-preload-hook|:
-%    \begin{macrocode}
-\InputIfFileExists{acmart-preload-hook.tex}{%
-  \ClassWarning{\@classname}{%
-    I am loading acmart-preload-hook.tex. You are fully responsible
-    for any problems from now on.}}{}
-%    \end{macrocode}
-%
-% \subsection{Options}
-% \label{sec:options}
-%
-% We need |xkeyval| since some of our options may have values:
-%    \begin{macrocode}
-\RequirePackage{xkeyval}
-%    \end{macrocode}
-%
-% We use |xstring| to check whether user input is valid
-%    \begin{macrocode}
-\RequirePackage{xstring}
-%    \end{macrocode}
-%
-% We need |iftex| to check the engine
-%    \begin{macrocode}
-\RequirePackage{iftex}
-%    \end{macrocode}
-% 
-% 
-%
-% \begin{macro}{format}
-%   The possible formats
-%    \begin{macrocode}
-\define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{%
-  manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph,
-  sigplan, sigchi, sigchi-a}[manuscript]{}{%
-  \ClassError{\@classname}{The option format must be manuscript,
-    acmsmall, acmlarge, acmtog, sigconf, siggraph,
-    sigplan, sigchi or sigchi-a}}
-\def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{acmart.cls}{format=#1}}}
-\@DeclareACMFormat{manuscript}
-\@DeclareACMFormat{acmsmall}
-\@DeclareACMFormat{acmlarge}
-\@DeclareACMFormat{acmtog}
-\@DeclareACMFormat{sigconf}
-\@DeclareACMFormat{siggraph}
-\@DeclareACMFormat{sigplan}
-\@DeclareACMFormat{sigchi}
-\@DeclareACMFormat{sigchi-a}
-\ExecuteOptionsX{format}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\if@ACM@screen}
-%   Whether we use screen mode
-%    \begin{macrocode}
-\define@boolkey+{acmart.cls}[@ACM@]{screen}[true]{%
-  \if@ACM@screen
-    \PackageInfo{\@classname}{Using screen mode}%
-  \else
-    \PackageInfo{\@classname}{Not using screen mode}%
-  \fi}{\PackageError{\@classname}{The option screen can be either true or
-    false}}
-\ExecuteOptionsX{screen=false}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\if@ACM@urlbreakonhyphens}
-% \changes{1.60}{2019/04/22}{introduced macro} 
-%    \begin{macrocode}
-\define@boolkey+{acmart.cls}[@ACM@]{urlbreakonhyphens}[true]{%
-  \if@ACM@urlbreakonhyphens
-    \PackageInfo{\@classname}{Using breaking urls on hyphens}%
-  \else
-    \PackageInfo{\@classname}{Not breaking urls on hyphens}%
-  \fi}{\PackageError{\@classname}{The option urlbreakonhyphens can be either true or
-    false}}
-\ExecuteOptionsX{urlbreakonhyphens=true}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\if@ACM@acmthm}
-% \changes{v1.44}{2017/07/30}{Added macro}
-% \changes{v1.46}{2017/08/29}{Modified description}
-%   Whether we define theorem-like environments.
-%    \begin{macrocode}
-\define@boolkey+{acmart.cls}[@ACM@]{acmthm}[true]{%
-  \if@ACM@acmthm
-    \PackageInfo{\@classname}{Requiring acmthm}%
-  \else
-    \PackageInfo{\@classname}{Suppressing acmthm}%
-  \fi}{\PackageError{\@classname}{The option acmthm can be either true or
-    false}}
-\ExecuteOptionsX{acmthm=true}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\if@ACM@review}
-% \changes{v1.48}{2017/09/09}{Review mode now switches on folios}
-%   Whether we use review mode
-%    \begin{macrocode}
-\define@boolkey+{acmart.cls}[@ACM@]{review}[true]{%
-  \if@ACM@review
-    \PackageInfo{\@classname}{Using review mode}%
-    \AtBeginDocument{\@ACM@printfoliostrue}%
-  \else
-    \PackageInfo{\@classname}{Not using review mode}%
-  \fi}{\PackageError{\@classname}{The option review can be either true or
-    false}}
-\ExecuteOptionsX{review=false}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\if@ACM@authorversion}
-% \changes{v1.03}{2016/04/22}{Added macro}
-%   Whether we use author's-version mode
-%    \begin{macrocode}
-\define@boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{%
-  \if@ACM@authorversion
-    \PackageInfo{\@classname}{Using authorversion mode}%
-  \else
-    \PackageInfo{\@classname}{Not using authorversion mode}%
-  \fi}{\PackageError{\@classname}{The option authorversion can be either true or
-    false}}
-\ExecuteOptionsX{authorversion=false}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\if@ACM@nonacm}
-% \changes{v1.54}{2018/05/08}{Added macro}
-%   Special option for non-ACM publications
-%   using the ACM typesetting options.
-%    \begin{macrocode}
-\define@boolkey+{acmart.cls}[@ACM@]{nonacm}[true]{%
-  \if@ACM@nonacm
-    \PackageInfo{\@classname}{Using nonacm mode}%
-    \AtBeginDocument{\@ACM@printacmreffalse}%
-    % in 'nonacm' mode we disable the "ACM Reference Format"
-    % printing by default, but this can be re-enabled by the
-    % user using \settopmatter{printacmref=true}
-  \else
-    \PackageInfo{\@classname}{Not using nonacm mode}%
-  \fi}{\PackageError{\@classname}{The option nonacm can be either true or
-    false}}
-\ExecuteOptionsX{nonacm=false}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\if@ACM@balance}
-% \changes{v1.57}{2018/12/16}{Added macro}
-% Whether to balance the last page
-%    \begin{macrocode}
-\define@boolkey+{acmart.cls}[@ACM@]{balance}[true]{}{%
-  \PackageError{\@classname}{The option balance can be either true or
-    false}}
-\ExecuteOptionsX{balance}
-%    \end{macrocode}
-% 
-% \end{macro}
-%
-%
-% \begin{macro}{\if@ACM@natbib@override}
-% \changes{v1.12}{2016/05/30}{Added macro}
-% \changes{v1.33}{2017/03/28}{Deleted macro}
-% This macro is no longer used.
-% \end{macro}
-%
-% \begin{macro}{\if@ACM@natbib}
-%   Whether we use |natbib| mode
-%    \begin{macrocode}
-\define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{%
-  \if@ACM@natbib
-    \PackageInfo{\@classname}{Explicitly selecting natbib mode}%
-  \else
-    \PackageInfo{\@classname}{Explicitly deselecting natbib mode}%
-  \fi}{\PackageError{\@classname}{The option natbib can be either true or
-    false}}
-\ExecuteOptionsX{natbib=true}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\if@ACM@anonymous}
-%   Whether we use anonymous mode
-%    \begin{macrocode}
-\define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{%
-  \if@ACM@anonymous
-    \PackageInfo{\@classname}{Using anonymous mode}%
-  \else
-    \PackageInfo{\@classname}{Not using anonymous mode}%
-  \fi}{\PackageError{\@classname}{The option anonymous can be either true or
-    false}}
-\ExecuteOptionsX{anonymous=false}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\if@ACM@timestamp}
-% \changes{v1.33}{2017/03/10}{Added macro (Michael D.~Adams)}
-%   Whether we use timestamp mode
-%    \begin{macrocode}
-\define@boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{%
-  \if@ACM@timestamp
-    \PackageInfo{\@classname}{Using timestamp mode}%
-  \else
-    \PackageInfo{\@classname}{Not using timestamp mode}%
-  \fi}{\PackageError{\@classname}{The option timestamp can be either true or
-    false}}
-\ExecuteOptionsX{timestamp=false}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\if@ACM@authordraft}
-% \changes{v1.33}{2017/03/28}{Added macro}
-% \changes{v1.36}{2017/05/13}{Corrected typo, thanks to bargteil}
-%   Whether we use author-draft mode
-%    \begin{macrocode}
-\define@boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{%
-  \if@ACM@authordraft
-    \PackageInfo{\@classname}{Using authordraft mode}%
-    \@ACM@timestamptrue
-    \@ACM@reviewtrue
-  \else
-    \PackageInfo{\@classname}{Not using authordraft mode}%
-  \fi}{\PackageError{\@classname}{The option authordraft can be either true or
-    false}}
-\ExecuteOptionsX{authordraft=false}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\ACM@fontsize}
-%   The font size to pass to the base class
-%    \begin{macrocode}
-\def\ACM@fontsize{}
-\DeclareOptionX{9pt}{\edef\ACM@fontsize{\CurrentOption}}
-\DeclareOptionX{10pt}{\edef\ACM@fontsize{\CurrentOption}}
-\DeclareOptionX{11pt}{\edef\ACM@fontsize{\CurrentOption}}
-\DeclareOptionX{12pt}{\edef\ACM@fontsize{\CurrentOption}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \changes{v1.01}{2016/04/18}{Explicitly put draft option
-% (closes \url{https://github.com/borisveytsman/acmart/issues/4})}
-%
-%    \begin{macrocode}
-\DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{amsart}}
-\DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}}
-\ProcessOptionsX
-\ClassInfo{\@classname}{Using format \ACM@format, number \ACM@format@nr}
-%    \end{macrocode}
-%
-%
-%
-%\subsection{Setting switches}
-%\label{sec:switches}
-%
-% \begin{macro}{\if@ACM@manuscript}
-%   Whether we use manuscript mode
-%    \begin{macrocode}
-\newif\if@ACM@manuscript
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\if@ACM@journal}
-%   There are two kinds of publications: journals and books
-%    \begin{macrocode}
-\newif\if@ACM@journal
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\if@ACM@journal@bibstrip}
-% \changes{v1.59}{2019/04/20}{Introduced macro}
-% Sometimes ACM wants a journal-like publication to have conference
-% information in the bibstrip and vice versa, so we have an additional
-% switch.
-%    \begin{macrocode}
-\newif\if@ACM@journal@bibstrip
-%    \end{macrocode}
-% 
-% \end{macro}
-%
-% \begin{macro}{\if@ACM@sigchiamode}
-%   The formatting of SIGCHI extended abstracts is quite unusual.  We have a
-%   special switch for them.
-%    \begin{macrocode}
-\newif\if@ACM@sigchiamode
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% Setting up switches
-%    \begin{macrocode}
-\ifnum\ACM@format@nr=5\relax % siggraph
-\ClassWarning{\@classname}{%
-  The format siggraph is now obsolete.\MessageBreak
-  I am switching to sigconf.}
-  \setkeys{acmart.cls}{format=sigconf}
-\fi
-\ifnum\ACM@format@nr=7\relax % sigchi
-\ClassWarning{\@classname}{%
-  The format sigchi is now obsolete.\MessageBreak
-  I am switching to sigconf.}
-  \setkeys{acmart.cls}{format=sigconf}
-\fi
-\ifnum\ACM@format@nr=8\relax % sigchi
-\ClassWarning{\@classname}{%
-  ACM SIGCHI has retired the SIGCHI-A template\MessageBreak
-  effective immediately. ACM is keeping this template\MessageBreak
-  option available to authors who are working on legacy\MessageBreak
-  documents only. ACM will not, under any circumstances,\MessageBreak
-  accept documents in this format for publication and\MessageBreak
-  will not offer technical support to the authors who use\MessageBreak
-  this template.\MessageBreak
-  ACM SIGCHI is directing Conference leaders and\MessageBreak
-  authors to publish their articles using the SIGCONF\MessageBreak
-  template call.}
-\fi
-\ifnum\ACM@format@nr=0\relax
-  \@ACM@manuscripttrue
-\else
-  \@ACM@manuscriptfalse
-\fi
-\@ACM@sigchiamodefalse
-\ifcase\ACM@format@nr
-\relax % manuscript
-  \@ACM@journaltrue
-\or % acmsmall
-  \@ACM@journaltrue
-\or % acmlarge
-  \@ACM@journaltrue
-\or % acmtog
-  \@ACM@journaltrue
-\or % sigconf
-  \@ACM@journalfalse
-\or % siggraph
-  \@ACM@journalfalse
- \or % sigplan
-  \@ACM@journalfalse
- \or % sigchi
-  \@ACM@journalfalse
-\or % sigchi-a
-  \@ACM@journalfalse
-  \@ACM@sigchiamodetrue
-\fi
-\if@ACM@journal
- \@ACM@journal@bibstriptrue
-\else
- \@ACM@journal@bibstripfalse
-\fi
-%    \end{macrocode}
-%
-%
-%
-%\subsection{Loading the base class and package}
-%\label{sec:loading}
-%
-% \changes{v1.13}{2016/06/06}{Increased font size for ACM Large}
-% \changes{v1.38}{2017/05/13}{Increase default font size for SIGPLAN}
-%
-%
-% At this point we either have \cs{ACM@fontsize} or use defaults
-%    \begin{macrocode}
-\ifx\ACM@fontsize\@empty
-  \ifcase\ACM@format@nr
-  \relax % manuscript
-    \def\ACM@fontsize{9pt}%
-  \or % acmsmall
-    \def\ACM@fontsize{10pt}%
-  \or % acmlarge
-    \def\ACM@fontsize{10pt}%
-  \or % acmtog
-    \def\ACM@fontsize{9pt}%
-  \or % sigconf
-    \def\ACM@fontsize{9pt}%
-  \or % siggraph
-    \def\ACM@fontsize{9pt}%
-   \or % sigplan
-    \def\ACM@fontsize{10pt}%
-   \or % sigchi
-    \def\ACM@fontsize{9pt}%
-  \or % sigchi-a
-    \def\ACM@fontsize{10pt}%
-  \fi
-\fi
-\ClassInfo{\@classname}{Using fontsize \ACM@fontsize}
-\LoadClass[\ACM@fontsize, reqno]{amsart}
-\RequirePackage{microtype}
-%    \end{macrocode}
-%
-%
-% We need |etoolbox| for delayed code
-%    \begin{macrocode}
-\RequirePackage{etoolbox}
-%    \end{macrocode}
-%
-% Booktabs is now the default
-%    \begin{macrocode}
-\RequirePackage{booktabs}
-%    \end{macrocode}
-% 
-%
-% We need |totpages| to calculate the number of pages and
-% |refcount| to use that number
-%    \begin{macrocode}
-\RequirePackage{refcount}
-\RequirePackage{totpages}
-%    \end{macrocode}
-%
-% The \cs{collect@body} macro in |amsmath| is defined using \cs{def}.  We load
-% |environ| to access the \cs{long} version of this command
-%    \begin{macrocode}
-\RequirePackage{environ}
-%    \end{macrocode}
-%
-% We use |setspace| for double spacing
-%    \begin{macrocode}
-\if@ACM@manuscript
-\RequirePackage{setspace}
-\onehalfspacing
-\fi
-%    \end{macrocode}
-%
-% \changes{v1.40}{2017/06/05}{Added `textcase' package}
-% We need |textcase| for better upcasing
-%    \begin{macrocode}
-\RequirePackage{textcase}
-%    \end{macrocode}
-%
-%
-%\subsection{Citations}
-% \changes{v1.19}{2016/07/28}{Include 'References' in PDF bookmarks
-% (Matthew Fluet)}
-% \changes{v1.14}{2016/06/09}{Patched \cs{citestyle}}
-% \changes{v1.55}{2016/08/012}{Typo corrected (Zack Weinberg)}
-% We patch \cs{setcitestyle} to allow, for example,
-% \cs{setcitestyle}|{sort}| and \cs{setcitestyle}|{nosort}|.  We patch
-% \cs{citestyle} to warn about undefined citation styles.
-%    \begin{macrocode}
-\if@ACM@natbib
-  \RequirePackage{natbib}
-  \renewcommand{\bibsection}{%
-     \section*{\refname}%
-     \phantomsection\addcontentsline{toc}{section}{\refname}%
-  }
-  \renewcommand{\bibfont}{\bibliofont}
-  \renewcommand\setcitestyle[1]{
-  \@for\@tempa:=#1\do
-  {\def\@tempb{round}\ifx\@tempa\@tempb
-     \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi
-   \def\@tempb{square}\ifx\@tempa\@tempb
-     \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi
-   \def\@tempb{angle}\ifx\@tempa\@tempb
-     \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi
-   \def\@tempb{curly}\ifx\@tempa\@tempb
-     \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi
-   \def\@tempb{semicolon}\ifx\@tempa\@tempb
-     \renewcommand\NAT@sep{;}\fi
-   \def\@tempb{colon}\ifx\@tempa\@tempb
-     \renewcommand\NAT@sep{;}\fi
-   \def\@tempb{comma}\ifx\@tempa\@tempb
-     \renewcommand\NAT@sep{,}\fi
-   \def\@tempb{authoryear}\ifx\@tempa\@tempb
-     \NAT@numbersfalse\fi
-   \def\@tempb{numbers}\ifx\@tempa\@tempb
-     \NAT@numberstrue\NAT@superfalse\fi
-   \def\@tempb{super}\ifx\@tempa\@tempb
-     \NAT@numberstrue\NAT@supertrue\fi
-   \def\@tempb{nobibstyle}\ifx\@tempa\@tempb
-     \let\bibstyle=\@gobble\fi
-   \def\@tempb{bibstyle}\ifx\@tempa\@tempb
-     \let\bibstyle=\@citestyle\fi
-   \def\@tempb{sort}\ifx\@tempa\@tempb
-     \def\NAT@sort{\@ne}\fi
-   \def\@tempb{nosort}\ifx\@tempa\@tempb
-     \def\NAT@sort{\z@}\fi
-   \def\@tempb{compress}\ifx\@tempa\@tempb
-     \def\NAT@cmprs{\@ne}\fi
-   \def\@tempb{nocompress}\ifx\@tempa\@tempb
-     \def\NAT@cmprs{\z@}\fi
-   \def\@tempb{sort&compress}\ifx\@tempa\@tempb
-     \def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}\fi
-   \def\@tempb{mcite}\ifx\@tempa\@tempb
-     \let\NAT@merge\@ne\fi
-   \def\@tempb{merge}\ifx\@tempa\@tempb
-     \@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}\fi
-   \def\@tempb{elide}\ifx\@tempa\@tempb
-     \@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}\fi
-   \def\@tempb{longnamesfirst}\ifx\@tempa\@tempb
-     \NAT@longnamestrue\fi
-   \def\@tempb{nonamebreak}\ifx\@tempa\@tempb
-     \def\NAT@nmfmt#1{\mbox{\NAT@up#1}}\fi
-   \expandafter\NAT@find@eq\@tempa=\relax\@nil
-   \if\@tempc\relax\else
-     \expandafter\NAT@rem@eq\@tempc
-     \def\@tempb{open}\ifx\@tempa\@tempb
-      \xdef\NAT@open{\@tempc}\fi
-     \def\@tempb{close}\ifx\@tempa\@tempb
-      \xdef\NAT@close{\@tempc}\fi
-     \def\@tempb{aysep}\ifx\@tempa\@tempb
-      \xdef\NAT@aysep{\@tempc}\fi
-     \def\@tempb{yysep}\ifx\@tempa\@tempb
-      \xdef\NAT@yrsep{\@tempc}\fi
-     \def\@tempb{notesep}\ifx\@tempa\@tempb
-      \xdef\NAT@cmt{\@tempc}\fi
-     \def\@tempb{citesep}\ifx\@tempa\@tempb
-      \xdef\NAT@sep{\@tempc}\fi
-   \fi
-  }%
-  \NAT@@setcites
-  }
-  \renewcommand\citestyle[1]{%
-    \ifcsname bibstyle@#1\endcsname%
-    \csname bibstyle@#1\endcsname\let\bibstyle\@gobble%
-    \else%
-    \@latex@error{Undefined `#1' citestyle}%
-    \fi
-  }%
-\fi
-%    \end{macrocode}
-%
-% \begin{macro}{\bibstyle@acmauthoryear}
-% \changes{v1.13}{2016/06/06}{Added macro}
-% \changes{v1.14}{2016/06/09}{Moved def of \cs{bibstyle@acmauthoryear}
-%   before use}
-% \changes{v1.35}{2017/04/13}{Square brackets for author-year style}
-%   The default author-year format:
-%    \begin{macrocode}
-\newcommand{\bibstyle@acmauthoryear}{%
-  \setcitestyle{%
-    authoryear,%
-    open={[},close={]},citesep={;},%
-    aysep={},yysep={,},%
-    notesep={, }}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\bibstyle@acmnumeric}
-% \changes{v1.13}{2016/06/06}{Added macro}
-% \changes{v1.14}{2016/06/09}{Moved def of \cs{bibstyle@numeric}
-%   before use}
-%   The default numeric format:
-%    \begin{macrocode}
-\newcommand{\bibstyle@acmnumeric}{%
-  \setcitestyle{%
-    numbers,sort&compress,%
-    open={[},close={]},citesep={,},%
-    notesep={, }}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \changes{v1.28}{2017/01/07}{Corrected option natbib behavior}
-% The default is numeric:
-%    \begin{macrocode}
-\if@ACM@natbib
-\citestyle{acmnumeric}
-\fi
-%    \end{macrocode}
-%
-% \begin{macro}{\@startsection}
-% \changes{v1.31}{2017/03/04}{Added \cs{tochangmeasure}}
-% Before we call |hyperref|, we redefine \cs{startsection} commands to
-% their \LaTeX\ defaults since the |amsart| ones are too AMS-specific.
-% We need to do this early since we want |hyperref| to have a chance
-% to redefine them again:
-%    \begin{macrocode}
-\def\@startsection#1#2#3#4#5#6{%
-  \if@noskipsec \leavevmode \fi
-  \par
-  \@tempskipa #4\relax
-  \@afterindenttrue
-  \ifdim \@tempskipa <\z@
-    \@tempskipa -\@tempskipa \@afterindentfalse
-  \fi
-  \if@nobreak
-    \everypar{}%
-  \else
-    \addpenalty\@secpenalty\addvspace\@tempskipa
-  \fi
-  \@ifstar
-    {\@ssect{#3}{#4}{#5}{#6}}%
-    {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
-\def\@sect#1#2#3#4#5#6[#7]#8{%
-  \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}%
-  \ifnum #2>\c@secnumdepth
-    \let\@svsec\@empty
-  \else
-    \refstepcounter{#1}%
-    \protected@edef\@svsec{\@seccntformat{#1}\relax}%
-  \fi
-  \@tempskipa #5\relax
-  \ifdim \@tempskipa>\z@
-    \begingroup
-      #6{%
-        \@hangfrom{\hskip #3\relax\@svsec}%
-          \interlinepenalty \@M #8\@@par}%
-    \endgroup
-    \csname #1mark\endcsname{#7}%
-    \ifnum #2>\c@secnumdepth \else
-        \@tochangmeasure{\csname the#1\endcsname}%
-    \fi
-    \addcontentsline{toc}{#1}{%
-      \ifnum #2>\c@secnumdepth \else
-        \protect\numberline{\csname the#1\endcsname}%
-      \fi
-      #7}%
-  \else
-    \def\@svsechd{%
-      #6{\hskip #3\relax
-      \@svsec #8}%
-      \csname #1mark\endcsname{#7}%
-      \ifnum #2>\c@secnumdepth \else
-        \@tochangmeasure{\csname the#1\endcsname\space}%
-      \fi
-      \addcontentsline{toc}{#1}{%
-        \ifnum #2>\c@secnumdepth \else
-          \protect\numberline{\csname the#1\endcsname}%
-        \fi
-        #7}}%
-  \fi
-  \@xsect{#5}}
-\def\@xsect#1{%
-  \@tempskipa #1\relax
-  \ifdim \@tempskipa>\z@
-    \par \nobreak
-    \vskip \@tempskipa
-    \@afterheading
-  \else
-    \@nobreakfalse
-    \global\@noskipsectrue
-    \everypar{%
-      \if@noskipsec
-        \global\@noskipsecfalse
-       {\setbox\z@\lastbox}%
-        \clubpenalty\@M
-        \begingroup \@svsechd \endgroup
-        \unskip
-        \@tempskipa #1\relax
-        \hskip -\@tempskipa
-      \else
-        \clubpenalty \@clubpenalty
-        \everypar{}%
-      \fi}%
-  \fi
-  \ignorespaces}
-\def\@seccntformat#1{\csname the#1\endcsname\quad}
-\def\@ssect#1#2#3#4#5{%
-  \@tempskipa #3\relax
-  \ifdim \@tempskipa>\z@
-    \begingroup
-      #4{%
-        \@hangfrom{\hskip #1}%
-          \interlinepenalty \@M #5\@@par}%
-    \endgroup
-  \else
-    \def\@svsechd{#4{\hskip #1\relax #5}}%
-  \fi
-  \@xsect{#3}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@startsection}
-% \changes{v1.31}{2017/03/04}{Rededined macro}
-% \changes{v1.43}{2017/07/09}{Added \cs{makeatletter}}
-%   The |amsart| package redefines \cs{startsection}.  Here we redefine
-%   it again to make the table of contents work.
-%    \begin{macrocode}
-\def\@starttoc#1#2{\begingroup\makeatletter
-  \setTrue{#1}%
-  \par\removelastskip\vskip\z@skip
-  \@startsection{section}\@M\z@{\linespacing\@plus\linespacing}%
-    {.5\linespacing}{\centering\contentsnamefont}{#2}%
-  \@input{\jobname.#1}%
-  \if@filesw
-    \@xp\newwrite\csname tf@#1\endcsname
-    \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax
-  \fi
-  \global\@nobreakfalse \endgroup
-  \addvspace{32\p@\@plus14\p@}%
-}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\l@subsection}
-% \changes{v1.40}{2017/05/27}{Redefined macro}
-%   Section spacing is more generous than for |amsart|
-%    \begin{macrocode}
-\def\l@section{\@tocline{1}{0pt}{1pc}{2pc}{}}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\l@subsection}
-% \changes{v1.31}{2017/03/04}{Redefined macro}
-%   The spacing in |amsart| is too large
-%    \begin{macrocode}
-\def\l@subsection{\@tocline{2}{0pt}{1pc}{3pc}{}}
-%    \end{macrocode}
-%
-% \end{macro}
-% \begin{macro}{\l@subsubsection}
-% \changes{v1.31}{2017/03/04}{Redefined macro}
-% \changes{v1.71}{2020/04/30}{Bug fixed (thanks to Andrew Black)}
-%   The spacing in |amsart| is too large
-%    \begin{macrocode}
-\def\l@subsubsection{\@tocline{3}{0pt}{1pc}{5pc}{}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% We need to define foonote-related stuff before the call to hyperref
-% (Ross Moore)
-% \begin{macro}{\@makefntext}
-%   We do not use indentation for footnotes
-%    \begin{macrocode}
-\def\@makefntext{\noindent\@makefnmark}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@footnotetext}
-%   In |sigchi-a| mode our footnotes are in the margin!
-%    \begin{macrocode}
-\if@ACM@sigchiamode
-\long\def\@footnotetext#1{\marginpar{%
-    \reset@font\small
-    \interlinepenalty\interfootnotelinepenalty
-    \protected@edef\@currentlabel{%
-       \csname p@footnote\endcsname\@thefnmark
-    }%
-    \color@begingroup
-      \@makefntext{%
-        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
-    \color@endgroup}}%
-\fi
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@mpfootnotetext}
-% \changes{v1.13}{2016/06/06}{Made minipage footnotes centered}
-%   We want the footnotes in minipages centered:
-%    \begin{macrocode}
-\long\def\@mpfootnotetext#1{%
-  \global\setbox\@mpfootins\vbox{%
-    \unvbox\@mpfootins
-    \reset@font\footnotesize
-    \hsize\columnwidth
-    \@parboxrestore
-    \protected@edef\@currentlabel
-         {\csname p@mpfootnote\endcsname\@thefnmark}%
-    \color@begingroup\centering
-      \@makefntext{%
-        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
-    \color@endgroup}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@makefnmark}
-% \changes{v1.17}{2016/067/09}{Redefined}
-%   AMS classes use a buggy definition of \cs{makefnmark}.  We revert
-%   to the standard one.
-%    \begin{macrocode}
-\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% And now, |hyperref| 
-% \changes{v1.28}{2017/01/07}{Got rid of warnings in pdf keywords}
-% \changes{v1.46}{2017/08/25}{Delayed hypersetup since journal options
-% may change screen mode}
-% \changes{v1.55}{2018/10/20}{Now we use purple color for links}
-% \changes{v1.58}{2019/26/01}{Suppressed \cs{addtocounter} in pdf
-% subject}
-%    \begin{macrocode}
-\let\@footnotemark@nolink\@footnotemark
-\let\@footnotetext@nolink\@footnotetext
-\RequirePackage[bookmarksnumbered,unicode]{hyperref}
-\pdfstringdefDisableCommands{%
-  \def\addtocounter#1#2{}%
-  \def\unskip{}%
-  \def\textbullet{- }%
-  \def\textrightarrow{ -> }%
-  \def\footnotemark{}%
-}
-\urlstyle{rm}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
-\or % acmtog
-\or % sigconf
-\or % siggraph
-\or % sigplan
-  \urlstyle{sf}
-\or % sigchi
-\or % sigchi-a
-  \urlstyle{sf}
-\fi
-\AtEndPreamble{%
-  \if@ACM@urlbreakonhyphens
-    \def\do@url@hyp{\do\-}%
-  \fi
-  \if@ACM@screen
-    \hypersetup{colorlinks,
-      linkcolor=ACMPurple,
-      citecolor=ACMPurple,
-      urlcolor=ACMDarkBlue,
-      filecolor=ACMDarkBlue}
-    \else
-    \hypersetup{hidelinks}
-  \fi
-  \hypersetup{pdflang={en},
-    pdfdisplaydoctitle}}
-%    \end{macrocode}
-%
-% And |hyperxmp|
-% \changes{v1.72}{2020/06/14}{Added hyperxmp}
-%    \begin{macrocode}
-\RequirePackage{hyperxmp}
-%    \end{macrocode}
-% 
-%
-% Bibliography mangling.
-% \changes{v1.33}{2017/03/23}{Moved \cs{citename} definition for
-% non-natbib bibliography, so a package may redefine it}
-% \changes{v1.48}{2017/09/23}{\cs{citeyear} no longer behaves like
-% \cs{citeyearpar}}
-%    \begin{macrocode}
-\if@ACM@natbib
-  \let\citeN\cite
-  \let\cite\citep
-  \let\citeANP\citeauthor
-  \let\citeNN\citeyearpar
-  \let\citeyearNP\citeyear
-  \let\citeNP\citealt
-  \DeclareRobustCommand\citeA
-     {\begingroup\NAT@swafalse
-       \let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}%
-  \providecommand\newblock{}%
-\else
-  \AtBeginDocument{%
-    \let\shortcite\cite%
-    \providecommand\citename[1]{#1}}
-\fi
-\newcommand\shortcite[2][]{%
-  \ifNAT@numbers\cite[#1]{#2}\else\citeyearpar[#1]{#2}\fi}
-%    \end{macrocode}
-%
-%
-% \begin{macro}{\bibliographystyle}
-% \changes{v1.13}{2016/06/06}{Redefined macro}
-%   The |amsart| package redefines \cs{bibliographystyle} since it
-%   prefers the AMS bibliography style.  We turn it back to the
-%   \LaTeX\ definition:
-%    \begin{macrocode}
-\def\bibliographystyle#1{%
-  \ifx\@begindocumenthook\@undefined\else
-    \expandafter\AtBeginDocument
-  \fi
-    {\if@filesw
-       \immediate\write\@auxout{\string\bibstyle{#1}}%
-     \fi}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% Graphics and color.
-% \changes{1.48}{2017/10/22}{Added prologue option to xcolor}
-%    \begin{macrocode}
-\RequirePackage{graphicx}
-\RequirePackage[prologue]{xcolor}
-%    \end{macrocode}
-%
-% We define ACM colors according to~\cite{ACMIdentityStandards}:
-%    \begin{macrocode}
-\definecolor[named]{ACMBlue}{cmyk}{1,0.1,0,0.1}
-\definecolor[named]{ACMYellow}{cmyk}{0,0.16,1,0}
-\definecolor[named]{ACMOrange}{cmyk}{0,0.42,1,0.01}
-\definecolor[named]{ACMRed}{cmyk}{0,0.90,0.86,0}
-\definecolor[named]{ACMLightBlue}{cmyk}{0.49,0.01,0,0}
-\definecolor[named]{ACMGreen}{cmyk}{0.20,0,1,0.19}
-\definecolor[named]{ACMPurple}{cmyk}{0.55,1,0,0.15}
-\definecolor[named]{ACMDarkBlue}{cmyk}{1,0.58,0,0.21}
-%    \end{macrocode}
-%
-%
-% Author-draft mode or sigchi-a mode
-%    \begin{macrocode}
-\if@ACM@authordraft
-  \RequirePackage{draftwatermark}
-  \SetWatermarkFontSize{0.5in}
-  \SetWatermarkColor[gray]{.9}
-  \SetWatermarkText{\parbox{12em}{\centering
-      Unpublished working draft.\\
-      Not for distribution.}}
-\else
-  \if@ACM@sigchiamode
-    \if@ACM@nonacm\else
-      \RequirePackage{draftwatermark}
-      \SetWatermarkFontSize{0.5in}
-      \SetWatermarkColor[gray]{.9}
-      \SetWatermarkText{\parbox{12em}{\centering
-          Legacy document. \\
-          Not for publication in an ACM venue}}
-    \fi
-  \fi  
-\fi
-%    \end{macrocode}
-%
-%
-%\subsection{Paper size and paragraphing}
-%\label{sec:paper}
-%
-% \changes{v1.17}{2016/07/07}{Slightly decreased margins for sigs}
-% \changes{v1.29}{2017/01/22}{Increased head to 13pt}
-% \changes{v1.40}{2017/07/15}{Added heightrounded to geometry}
-% \changes{v1.56}{2018/10/16}{Make two-column layouts flush (Philip Quinn)}
-% We use |geometry| for dimensions.  Note that the present margins do not
-% depend on the font size option---we might need to change this.
-% See \url{https://github.com/borisveytsman/acmart/issues/5#issuecomment-272881329}.
-%    \begin{macrocode}
-\RequirePackage{geometry}
-\ifcase\ACM@format@nr
-\relax % manuscript
-   \geometry{letterpaper,head=13pt,
-   marginparwidth=6pc,heightrounded}%
-\or % acmsmall
-   \geometry{twoside=true,
-     includeheadfoot, head=13pt, foot=2pc,
-     paperwidth=6.75in, paperheight=10in,
-     top=58pt, bottom=44pt, inner=46pt, outer=46pt,
-     marginparwidth=2pc,heightrounded
-   }%
-\or % acmlarge
-   \geometry{twoside=true, head=13pt, foot=2pc,
-     paperwidth=8.5in, paperheight=11in,
-     includeheadfoot,
-     top=78pt, bottom=114pt, inner=81pt, outer=81pt,
-     marginparwidth=4pc,heightrounded
-     }%
-\or % acmtog
-   \geometry{twoside=true, head=13pt, foot=2pc,
-     paperwidth=8.5in, paperheight=11in,
-     includeheadfoot, columnsep=24pt,
-     top=52pt, bottom=75pt, inner=52pt, outer=52pt,
-     marginparwidth=2pc,heightrounded
-     }%
-\or % sigconf
-   \geometry{twoside=true, head=13pt,
-     paperwidth=8.5in, paperheight=11in,
-     includeheadfoot, columnsep=2pc,
-     top=57pt, bottom=73pt, inner=54pt, outer=54pt,
-     marginparwidth=2pc,heightrounded
-     }%
-\or % siggraph
-   \geometry{twoside=true, head=13pt,
-     paperwidth=8.5in, paperheight=11in,
-     includeheadfoot, columnsep=2pc,
-     top=57pt, bottom=73pt, inner=54pt, outer=54pt,
-     marginparwidth=2pc,heightrounded
-     }%
-\or % sigplan
-   \geometry{twoside=true, head=13pt,
-     paperwidth=8.5in, paperheight=11in,
-     includeheadfoot=false, columnsep=2pc,
-     top=1in, bottom=1in, inner=0.75in, outer=0.75in,
-     marginparwidth=2pc,heightrounded
-     }%
-\or % sigchi
-   \geometry{twoside=true, head=13pt,
-     paperwidth=8.5in, paperheight=11in,
-     includeheadfoot, columnsep=2pc,
-     top=66pt, bottom=73pt, inner=54pt, outer=54pt,
-     marginparwidth=2pc,heightrounded
-     }%
-\or % sigchi-a
-   \geometry{twoside=false, head=13pt,
-     paperwidth=11in, paperheight=8.5in,
-     includeheadfoot, marginparsep=72pt,
-     marginparwidth=170pt, columnsep=20pt,
-     top=72pt, bottom=72pt, left=314pt, right=72pt
-     }%
-     \@mparswitchfalse
-     \reversemarginpar
-\fi
-%    \end{macrocode}
-%
-%
-% \begin{macro}{\parindent}
-% \begin{macro}{\parskip}
-%   Paragraphing
-%    \begin{macrocode}
-\setlength\parindent{10\p@}
-\setlength\parskip{\z@}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
-\or % acmtog
-  \setlength\parindent{9\p@}%
-\or % sigconf
-\or % siggraph
-\or % sigplan
-\or % sigchi
-\or % sigchi-a
-\fi
-%    \end{macrocode}
-%
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\normalparindent}
-% \changes{v1.37}{2017/05/13}{Set \cs{normalparindent} (Matthew Fluet)}%
-%   The |amsart| package defines the \cs{normalparindent} length and
-%   initializes it to 12pt (the value of \cs{parindent} in |amsart|).  It
-%   is later used to set the \cs{listparindent} length in the |quotation|
-%   environment and the \cs{parindent} length in the \cs{@footnotetext}
-%   command.  We set \cs{normalparindent} to the value of \cs{parindent}
-%   as selected by |acmart| for consistent paragraph indents.
-%    \begin{macrocode}
-\setlength\normalparindent{\parindent}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% Footnotes require some consideration.  We have several layers of
-% footnotes:  frontmatter footnotes, ``regular'' footnotes and the
-% special insert for the bibstrip.  In the old ACM classes, the bibstrip
-% was a \cs{@float}.  The problem with floats is that they tend to, well,
-% float---and we want the guarantee they stay.
-%
-% We use |manyfoot| for layered footnotes instead.
-%
-% \begin{macro}{\copyrightpermissionfootnoterule}
-% \changes{v1.12}{2016/05/30}{Added macro}
-%   This is the footnote rule that separates the bibstrip from the rest of
-%   the paper.  It is a full width rule.
-%    \begin{macrocode}
-\def\copyrightpermissionfootnoterule{\kern-3\p@
-  \hrule \@width \columnwidth \kern 2.6\p@}
-%    \end{macrocode}
-% \end{macro}
-%
-%    \begin{macrocode}
-\RequirePackage{manyfoot}
-\SelectFootnoteRule[2]{copyrightpermission}
-\DeclareNewFootnote{authorsaddresses}
-\SelectFootnoteRule[2]{copyrightpermission}
-\DeclareNewFootnote{copyrightpermission}
-%    \end{macrocode}
-%
-%
-% \begin{macro}{\footnoterule}
-% \changes{v1.12}{2016/05/30}{Made shorter}
-%   Tschichold's rules:
-%    \begin{macrocode}
-\def\footnoterule{\kern-3\p@
-  \hrule \@width 4pc \kern 2.6\p@}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\endminipage}
-%   We do not use footnote rules in minipages
-%    \begin{macrocode}
-\def\endminipage{%
-    \par
-    \unskip
-    \ifvoid\@mpfootins\else
-      \vskip\skip\@mpfootins
-      \normalcolor
-      \unvbox\@mpfootins
-    \fi
-    \@minipagefalse
-  \color@endgroup
-  \egroup
-  \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\@textbottom}
-% \changes{v1.31}{2017/03/04}{Redefined}
-%   Add some stretch according to David Carlisle's advice at
-%   \url{http://tex.stackexchange.com/a/62318/5522}
-%    \begin{macrocode}
-\def\@textbottom{\vskip \z@ \@plus 1pt}
-\let\@texttop\relax
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% In two-column layouts, force both columns to be the same height by inserting
-% extra internal vertical space to fill out the page.
-%    \begin{macrocode}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
-\or % acmtog
-  \flushbottom
-\or % sigconf
-  \flushbottom
-\or % siggraph
-  \flushbottom
-\or % sigplan
-  \flushbottom
-\or % sigchi
-  \flushbottom
-\or % sigchi-a
-\fi
-%    \end{macrocode}
-%
-%\subsection{Fonts}
-%\label{sec:fonts}
-%
-% \changes{v1.12}{2016/05/30}{Added graceful behavior when libertine
-% fonts are absent}
-% \changes{v1.33}{2017/03/29}{Added cmap and glyphtounicode}
-% \changes{v1.40}{2017/05/27}{Added Ross Moore code for glyphtounicode}
-%
-% Somehow PDFTeX and XeTeX require different incantations to make a PDF
-% compliant with the current Acrobat bugs.  Xpdf is much better.
-%
-% The code below is by Ross Moore.
-%    \begin{macrocode}
-\ifPDFTeX
-\input{glyphtounicode}
-\pdfglyphtounicode{f_f}{FB00}
-\pdfglyphtounicode{f_f_i}{FB03}
-\pdfglyphtounicode{f_f_l}{FB04}
-\pdfglyphtounicode{f_i}{FB01}
-\pdfglyphtounicode{t_t}{0074 0074}
-\pdfglyphtounicode{f_t}{0066 0074}
-\pdfglyphtounicode{T_h}{0054 0068}
-\pdfgentounicode=1
-\RequirePackage{cmap}
-\fi
-%    \end{macrocode}
-%
-%
-% \begin{macro}{\if@ACM@newfonts}
-% \changes{v1.12}{2016/05/30}{Added macro}%
-%   Whether we load the new fonts
-%    \begin{macrocode}
-\newif\if@ACM@newfonts
-\@ACM@newfontstrue
-\IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not
-    have the libertine package installed.  Please upgrade your
-    TeX}\@ACM@newfontsfalse}
-\IfFileExists{zi4.sty}{}{\ClassWarning{\@classname}{You do not
-    have the inconsolata (zi4.sty) package installed.  Please upgrade your
-    TeX}\@ACM@newfontsfalse}
-\IfFileExists{newtxmath.sty}{}{\ClassWarning{\@classname}{You do not
-    have the newtxmath package installed.  Please upgrade your
-    TeX}\@ACM@newfontsfalse}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \changes{v1.30}{2017/02/15}{Switched to T1: looks like libertine has
-% problems with \cs{l} in OT1}%
-% \changes{v1.33}{2017/03/12}{Switched to Type~1 fonts for libertine
-% even if OTF-capable engine is used (Kai Mindermann)}
-% \changes{v1.51}{2018/04/05}{XeTeX now uses OTF fonts (Joachim
-% Breitner)}
-% \changes{v1.54}{2018/07/16}{XeTeX now uses T1 encoding}
-% \changes{v1.56}{2018/11/11}{Looks like XeTeX requires explicit
-% monotype font declaration}
-% \changes{v1.74}{2020/10/25}{Changed the order of font loading}%
-% We use Libertine throughout.
-%    \begin{macrocode}
-\if@ACM@newfonts
-  \RequirePackage[T1]{fontenc}
-  % Note that the order in which packages are loaded matters,
-  % and the correct order depends on the LaTeX engine used.
-  % See https://github.com/borisveytsman/acmart/issues/402
-  % and https://github.com/borisveytsman/acmart/issues/410
-  \ifxetex
-    \RequirePackage[libertine]{newtxmath}
-    \RequirePackage[tt=false]{libertine}
-    \setmonofont[StylisticSet=3]{inconsolata}
-  \else
-    \ifluatex
-      \RequirePackage[libertine]{newtxmath}
-      \RequirePackage[tt=false]{libertine}
-      \setmonofont[StylisticSet=3]{inconsolata}
-    \else
-       \RequirePackage[tt=false, type1=true]{libertine}
-       \RequirePackage[varqu]{zi4}
-       \RequirePackage[libertine]{newtxmath}
-    \fi
-  \fi
-\fi
-%    \end{macrocode}
-%
-% \begin{macro}{\liningnums}
-% \changes{v1.46}{2017/08/28}{Workaround for compatibility with fontspec}
-% Libertine defines \cs{liningnums}, which makes |fontspec| unhappy.
-% While we do not use |fontspec|, some users do.
-%    \begin{macrocode}
-\let\liningnums\@undefined
-\AtEndPreamble{%
-  \DeclareTextFontCommand{\liningnums}{\libertineLF}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% The SIGCHI extended abstracts are sans serif:
-%    \begin{macrocode}
-\if@ACM@sigchiamode
-  \renewcommand{\familydefault}{\sfdefault}
-\fi
-%    \end{macrocode}
-%
-%
-%
-%\subsection{Image descriptions}
-%\label{sec:description}
-%
-% \begin{macro}{\if@Description@present}
-% \changes{v1.56}{2018/11/11}{Added macro}
-% A local switch: whether there is a description in the given figure
-%    \begin{macrocode}
-\newif\if@Description@present
-\@Description@presenttrue
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\if@undescribed@images}
-% \changes{v1.56}{2018/11/11}{Added macro}
-% A global switch whether some images were \emph{not} described
-%    \begin{macrocode}
-\newif\if@undescribed@images
-\@undescribed@imagesfalse
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\Description}
-% \changes{v1.56}{2018/11/11}{Added macro}
-% The Description macro right now just sets switches
-%    \begin{macrocode}
-\newcommand\Description[2][]{\global\@Description@presenttrue\ignorespaces}
-%    \end{macrocode}
-% \end{macro}
-%
-% The global warning
-%    \begin{macrocode}
-\AtEndDocument{\if@undescribed@images
-  \ClassWarningNoLine{\@classname}{Some images may lack descriptions}\fi}
-%    \end{macrocode}
-%
-% Hooks for figures and tables.  We also patch |algorithm| and
-% |algorithm*| in case somebody uses them.
-% \changes{v1.66}{2019/11/23}{Patching algorithm and algorithm*
-% to prevent spurious space warnings}
-% \changes{v1.67}{2020/01/11}{Patching lstlisting and lstlisting*
-% to prevent spurious space warnings}
-% \changes{v1.73}{2020/08/23}{Patching minted and minted*
-% to prevent spurious space warnings}
-%    \begin{macrocode}
-\AtBeginEnvironment{figure}{\@Description@presentfalse
-  \let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{figure*}{\@Description@presentfalse
-  \let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtEndEnvironment{figure}{\if@Description@present\else
-  \global\@undescribed@imagestrue
-  \ClassWarning{\@classname}{A possible image without description}\fi}
-\AtEndEnvironment{figure*}{\if@Description@present\else
-  \global\@undescribed@imagestrue
-  \ClassWarning{\@classname}{A possible image without description}\fi}
-\AtBeginEnvironment{table}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{table*}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{algorithm}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{algorithm*}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{lstlisting}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{lstlisting*}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{minted}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{minted*}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{listing}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{listing*}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-
-%    \end{macrocode}
-% 
-%
-%\subsection{Floats}
-%\label{sec:floats}
-%
-% \changes{v1.55}{2018/10/20}{Table captions for SIGCHI now use the
-% same font size as figure captions (Luis Leiva)}
-% We use the |caption| package
-%    \begin{macrocode}
-\RequirePackage{caption, float}
-\captionsetup[table]{position=top}
-\if@ACM@journal
-  \captionsetup{labelfont={sf, small},
-    textfont={sf, small}, margin=\z@}
-  \captionsetup[figure]{name={Fig.}}
-\else
-  \captionsetup{labelfont={bf},
-    textfont={bf}, labelsep=colon, margin=\z@}
-  \ifcase\ACM@format@nr
-  \relax % manuscript
-  \or % acmsmall
-  \or % acmlarge
-  \or % acmtog
-  \or % sigconf
-  \or % siggraph
-    \captionsetup{textfont={it}}
-  \or % sigplan
-    \captionsetup{labelfont={bf},
-      textfont={normalfont}, labelsep=period, margin=\z@}
-  \or % sigchi
-    \captionsetup[figure]{labelfont={bf, small},
-      textfont={bf, small}}
-    \captionsetup[table]{labelfont={bf, small},
-      textfont={bf, small}}
-  \or % sigchi-a
-    \captionsetup[figure]{labelfont={bf, small},
-      textfont={bf, small}}
-    \captionsetup[table]{labelfont={bf, small},
-      textfont={bf, small}}
-  \fi
-\fi
-%    \end{macrocode}
-%
-% \begin{macro}{sidebar}
-%   The |sidebar| environment:
-%    \begin{macrocode}
-\newfloat{sidebar}{}{sbar}
-\floatname{sidebar}{Sidebar}
-\renewenvironment{sidebar}{\Collect@Body\@sidebar}{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@sidebar}
-% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning}
-%   The processing of the saved text
-%    \begin{macrocode}
-\long\def\@sidebar#1{\bgroup\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig\captionsetup{type=sidebar}%
-  \marginpar{\small#1}\egroup}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{marginfigure}
-%   The |marginfigure| environment:
-%    \begin{macrocode}
-\newenvironment{marginfigure}{\Collect@Body\@marginfigure}{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@marginfigure}
-% \changes{v1.12}{2016/05/30}{Now centering by default}
-% \changes{v1.56}{2018/11/11}{Added checking for description}
-% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning}
-%   The processing of the saved text
-%    \begin{macrocode}
-\long\def\@marginfigure#1{\bgroup
-  \let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig
-  \captionsetup{type=figure}%
-  \marginpar{\@Description@presentfalse\centering
-    \small#1\if@Description@present\else
-      \global\@undescribed@imagestrue
-      \ClassWarning{\@classname}{A possible image without description}
-      \fi}%
-  \egroup}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{margintable}
-%   The |margintable| environment:
-%    \begin{macrocode}
-\newenvironment{margintable}{\Collect@Body\@margintable}{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@margintable}
-% \changes{v1.12}{2016/05/30}{Now centering by default}
-% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning}
-%   The processing of the saved text
-%    \begin{macrocode}
-\long\def\@margintable#1{\bgroup\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig\captionsetup{type=table}%
-  \marginpar{\centering\small#1}\egroup}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% SIGCHI extended abstracts provide an interesting possibility to push
-% into the margin.  Here we use |figure*| and |table*| for this.
-% \begin{macro}{\fulltextwidth}
-%   We define the width of the boxes as
-%    \begin{macrocode}
-\newdimen\fulltextwidth
-\fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep)
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@dblfloat}
-% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning}
-%   We redefine the double-float command.  First, we make the size
-%   bigger.  Second, our default position is going to be |tp| (to give
-%   marginalia a chance)
-%    \begin{macrocode}
-\if@ACM@sigchiamode
-\def\@dblfloat{\bgroup\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig\columnwidth=\fulltextwidth
-  \let\@endfloatbox\@endwidefloatbox
-  \def\@fpsadddefault{\def\@fps{tp}}%
-  \@float}
-\fi
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\end@dblfloat}
-% And the end.  Just adding a \cs{bgroup}.
-%    \begin{macrocode}
-\if@ACM@sigchiamode
-\def\end@dblfloat{%
-    \end@float\egroup}
-\fi
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@endwidefloatbox}
-%   This is the end of a wide box---we basically move everything
-%   to the left
-%    \begin{macrocode}
-\def\@endwidefloatbox{%
-  \par\vskip\z@skip
-  \@minipagefalse
-  \outer@nobreak
-  \egroup
-  \color@endbox
-  \global\setbox\@currbox=\vbox{\moveleft
-    \dimexpr(\fulltextwidth-\textwidth)\box\@currbox}%
-  \wd\@currbox=\textwidth
-}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-%\subsection{Lists}
-%\label{sec:lists}
-%
-%    \begin{macrocode}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
-\or % acmtog
-\or % sigconf
-\or % siggraph
-\or % sigplan
-\def\labelenumi{\theenumi.}
-\def\labelenumii{\theenumii.}
-\def\labelenumiii{\theenumiii.}
-\def\labelenumiv{\theenumiv.}
-\or % sigchi
-\or % sigchi-a
-\fi
-%    \end{macrocode}
-%
-%
-% \changes{v1.37}{2017/05/13}{Reduce list indentation (Matthew Fluet)}%
-% The AMS uses generous margins for lists.  Note that |amsart| defines
-% \cs{leftmargin} values for list levels at the beginning of the
-% document, so we must redefine them in the same manner.  Also, note that
-% |amsart| redefines the |enumerate| and |itemize| environments with a
-% \cs{makelabel} command that uses \cs{llap}, so the \cs{labelwidth}
-% value is~(effectively) irrelevant; nonetheless, we follow |amsart|
-% and set \cs{labelwidth} to \cs{leftmargin} minus \cs{labelsep}.
-%    \begin{macrocode}
-\newdimen\@ACM@labelwidth
-\AtBeginDocument{%
-  \setlength\labelsep{4pt}
-  \setlength{\@ACM@labelwidth}{6.5pt}
-
-  %% First-level list: when beginning after the first line of an
-  %% indented paragraph or ending before an indented paragraph, labels
-  %% should not hang to the left of the preceding/following text.
-  \setlength\leftmargini{\z@}
-  \addtolength\leftmargini{\parindent}
-  \addtolength\leftmargini{2\labelsep}
-  \addtolength\leftmargini{\@ACM@labelwidth}
-
-  %% Second-level and higher lists.
-  \setlength\leftmarginii{\z@}
-  \addtolength\leftmarginii{0.5\labelsep}
-  \addtolength\leftmarginii{\@ACM@labelwidth}
-  \setlength\leftmarginiii{\leftmarginii}
-  \setlength\leftmarginiv{\leftmarginiii}
-  \setlength\leftmarginv{\leftmarginiv}
-  \setlength\leftmarginvi{\leftmarginv}
-  \@listi}
-\newskip\listisep
-\listisep\smallskipamount
-\def\@listI{\leftmargin\leftmargini
-  \labelwidth\leftmargini \advance\labelwidth-\labelsep
-  \listparindent\z@
-  \topsep\listisep}
-\let\@listi\@listI
-\def\@listii{\leftmargin\leftmarginii
-  \labelwidth\leftmarginii \advance\labelwidth-\labelsep
-  \topsep\z@skip}
-\def\@listiii{\leftmargin\leftmarginiii
-  \labelwidth\leftmarginiii \advance\labelwidth-\labelsep}
-\def\@listiv{\leftmargin\leftmarginiv
-  \labelwidth\leftmarginiv \advance\labelwidth-\labelsep}
-\def\@listv{\leftmargin\leftmarginv
-  \labelwidth\leftmarginv \advance\labelwidth-\labelsep}
-\def\@listvi{\leftmargin\leftmarginvi
-  \labelwidth\leftmarginvi \advance\labelwidth-\labelsep}
-%    \end{macrocode}
-%
-%
-% \begin{macro}{\descriptionlabel}
-% \changes{v1.37}{2017/05/13}{Reduce list indentation (Matthew Fluet)}%
-% \changes{v1.12}{2016/05/30}{Redefined}
-%   We do not use a colon by default like |amsart| does:
-%    \begin{macrocode}
-\renewcommand{\descriptionlabel}[1]{\upshape\bfseries #1}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\description}
-% \changes{v1.37}{2017/05/13}{Reduce list indentation (Matthew Fluet)}%
-% \changes{v1.17}{2016/07/07}{Decreased indent}
-%   Make the |description| environment indentation consistent with that of
-%   the |itemize| and |enumerate| environments.
-%    \begin{macrocode}
-\renewenvironment{description}{\list{}{%
-    \labelwidth\@ACM@labelwidth
-    \let\makelabel\descriptionlabel}%
-}{
-  \endlist
-}
-\let\enddescription=\endlist % for efficiency
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-%\subsection{Top-matter data}
-%\label{sec:top_matter_data}
-%
-% \begin{macro}{\if@ACM@maketitle@typeset}
-% \changes{v1.64}{2019/08/17}{Introduced macro}
-% The switch to check whether \cs{maketitle} is already typeset.  It
-% is initally false, and setting top matter when it is true is wrong.
-%    \begin{macrocode}
-\newif\if@ACM@maketitle@typeset
-\@ACM@maketitle@typesetfalse
-%    \end{macrocode}
-% 
-% \end{macro}
-%
-% \changes{v1.24}{2016/11/16}{Add IMWUT journal option}
-% \changes{v1.25}{2016/12/03}{Updated PACMPL}
-% \changes{v1.30}{2017/02/15}{Updated IMWUT and PACMPL}
-% \changes{v1.36}{2017/05/13}{Added PACMHCI journal options}
-% \changes{v1.46}{2017/08/25}{PACM now set screen to true}
-% \changes{v1.53}{2018/04/14}{Added PACMCGIT, TIOT, TDSCI}
-% \changes{v1.58}{2019/03/29}{Added HEALTH.  TDSCI is renamed to TDS}
-% \changes{1.70}{2020/02/22}{Name change for TDS}
-%
-% We use the |xkeyval| interface to define journal titles and the relevant
-% information
-%    \begin{macrocode}
-\define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{%
-  CIE,%
-  CSUR,%
-  DGOV,%
-  DTRAP,%
-  HEALTH,%
-  IMWUT,%
-  JACM,%
-  JDIQ,%
-  JEA,%
-  JERIC,%
-  JETC,%
-  JOCCH,%
-  PACMCGIT,%
-  PACMHCI,%
-  PACMPL,%
-  POMACS,%
-  TAAS,%
-  TACCESS,%
-  TACO,%
-  TALG,%
-  TALLIP,%
-  TAP,%
-  TCPS,%
-  TDS,%
-  TEAC,%
-  TECS,%
-  TELO,%
-  THRI,%
-  TIIS,%
-  TIOT,%
-  TISSEC,%
-  TIST,%
-  TKDD,%
-  TMIS,%
-  TOCE,%
-  TOCHI,%
-  TOCL,%
-  TOCS,%
-  TOCT,%
-  TODAES,%
-  TODS,%
-  TOG,%
-  TOIS,%
-  TOIT,%
-  TOMACS,%
-  TOMM,%
-  TOMPECS,%
-  TOMS,%
-  TOPC,%
-  TOPS,%
-  TOPLAS,%
-  TOS,%
-  TOSEM,%
-  TOSN,%
-  TQC,%
-  TRETS,%
-  TSAS,%
-  TSC,%
-  TSLP,%
-  TWEB,%
-  FACMP%
-}{%
-\ifcase\@journalCode@nr
-\relax % CIE
-  \def\@journalName{ACM Computers in Entertainment}%
-  \def\@journalNameShort{ACM Comput. Entertain.}%
-  \def\@permissionCodeOne{1544-3574}%
-\or % CSUR
-  \def\@journalName{ACM Computing Surveys}%
-  \def\@journalNameShort{ACM Comput. Surv.}%
-  \def\@permissionCodeOne{0360-0300}%
-\or % DGOV
-  \def\@journalName{Digital Government: Research and Practice}%
-  \def\@journalNameShort{Digit. Gov. Res. Pract.}%
-  \def\@permissionCodeOne{2639-0175}%
-\or % DTRAP
-  \def\@journalName{Digital Threats: Research and Practice}%
-  \def\@journalNameShort{Digit. Threat. Res. Pract.}%
-  \def\@permissionCodeOne{2576-5337}%
-\or % HEALTH
-  \def\@journalName{ACM Transactions on Computing for Healthcare}%
-  \def\@journalNameShort{ACM Trans. Comput. Healthcare}%
-  \def\@permissionCodeOne{2637-8051}%
-\or % IMWUT
-  \def\@journalName{Proceedings of the ACM on Interactive, Mobile,
-    Wearable and Ubiquitous Technologies}%
-  \def\@journalNameShort{Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.}%
-  \def\@permissionCodeOne{2474-9567}%
-  \@ACM@screentrue
-  \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
-\or % JACM
-  \def\@journalName{Journal of the ACM}%
-  \def\@journalNameShort{J. ACM}%
-  \def\@permissionCodeOne{0004-5411}%
-\or % JDIQ
-  \def\@journalName{ACM Journal of Data and Information Quality}%
-  \def\@journalNameShort{ACM J. Data Inform. Quality}%
-  \def\@permissionCodeOne{1936-1955}%
-\or % JEA
-  \def\@journalName{ACM Journal of Experimental Algorithmics}%
-  \def\@journalNameShort{ACM J. Exp. Algor.}%
-  \def\@permissionCodeOne{1084-6654}%
-\or % JERIC
-  \def\@journalName{ACM Journal of Educational Resources in Computing}%
-  \def\@journalNameShort{ACM J. Edu. Resources in Comput.}%
-  \def\@permissionCodeOne{1073-0516}%
-\or % JETC
-  \def\@journalName{ACM Journal on Emerging Technologies in Computing Systems}%
-  \def\@journalNameShort{ACM J. Emerg. Technol. Comput. Syst.}%
-  \def\@permissionCodeOne{1550-4832}%
-\or % JOCCH
-  \def\@journalName{ACM Journal on Computing and Cultural Heritage}%
-  \def\@journalNameShort{ACM J. Comput. Cult. Herit.}%
-\or % PACMCGIT
-  \def\@journalName{Proceedings of the ACM on Computer Graphics and Interactive Techniques}%
-  \def\@journalNameShort{Proc. ACM Comput. Graph. Interact. Tech.}%
-  \def\@permissionCodeOne{2577-6193}%
-  \@ACM@screentrue
-  \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
-\or % PACMHCI
-  \def\@journalName{Proceedings of the ACM on Human-Computer Interaction}%
-  \def\@journalNameShort{Proc. ACM Hum.-Comput. Interact.}%
-  \def\@permissionCodeOne{2573-0142}%
-  \@ACM@screentrue
-  \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
-\or % PACMPL
-  \def\@journalName{Proceedings of the ACM on Programming Languages}%
-  \def\@journalNameShort{Proc. ACM Program. Lang.}%
-  \def\@permissionCodeOne{2475-1421}%
-  \@ACM@screentrue
-  \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
-\or % POMACS
-  \def\@journalName{Proceedings of the ACM on Measurement and Analysis of Computing Systems}%
-  \def\@journalNameShort{Proc. ACM Meas. Anal. Comput. Syst.}%
-  \def\@permissionCodeOne{2476-1249}%
-  \@ACM@screentrue
-  \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
-\or % TAAS
-  \def\@journalName{ACM Transactions on Autonomous and Adaptive Systems}%
-  \def\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}%
-  \def\@permissionCodeOne{1556-4665}%
-\or % TACCESS
-  \def\@journalName{ACM Transactions on Accessible Computing}%
-  \def\@journalNameShort{ACM Trans. Access. Comput.}%
-  \def\@permissionCodeOne{1936-7228}%
-\or % TACO
-  \def\@journalName{ACM Transactions on Architecture and Code Optimization}%
-  \def\@journalNameShort{ACM Trans. Arch. Code Optim.}%
-\or % TALG
-  \def\@journalName{ACM Transactions on Algorithms}%
-  \def\@journalNameShort{ACM Trans. Algor.}%
-  \def\@permissionCodeOne{1549-6325}%
-\or % TALLIP
-  \def\@journalName{ACM Transactions on Asian and Low-Resource Language Information Processing}%
-  \def\@journalNameShort{ACM Trans. Asian Low-Resour. Lang. Inf. Process.}%
-  \def\@permissionCodeOne{2375-4699}%
-\or % TAP
-  \def\@journalName{ACM Transactions on Applied Perception}%
-\or % TCPS
-  \def\@journalName{ACM Transactions on Cyber-Physical Systems}%
-\or % TDS
-  \def\@journalName{ACM/IMS Transactions on Data Science}%
-  \def\@journalNameShort{ACM/IMS Trans. Data Sci.}%
-  \def\@permissionCodeOne{2577-3224}%
-\or % TEAC
-  \def\@journalName{ACM Transactions on Economics and Computation}%
-\or % TECS
-  \def\@journalName{ACM Transactions on Embedded Computing Systems}%
-  \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}%
-  \def\@permissionCodeOne{1539-9087}%
-\or % TELO
-  \def\@journalName{ACM Transactions on Evolutionary Learning}%
-  \def\@journalNameShort{ACM Trans. Evol. Learn.}%
-  \def\@permissionCodeOne{2688-3007}%
-\or % THRI
-  \def\@journalName{ACM Transactions on Human-Robot Interaction}%
-  \def\@journalNameShort{ACM Trans. Hum.-Robot Interact.}%
-  \def\@permissionCodeOne{2573-9522}%
-\or % TIIS
-  \def\@journalName{ACM Transactions on Interactive Intelligent Systems}%
-  \def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}%
-  \def\@permissionCodeOne{2160-6455}%
-\or % TIOT
-  \def\@journalName{ACM Transactions on Internet of Things}%
-  \def\@journalNameShort{ACM Trans. Internet Things}%
-  \def\@permissionCodeOne{2577-6207}%
-\or % TISSEC
-  \def\@journalName{ACM Transactions on Information and System Security}%
-  \def\@journalNameShort{ACM Trans. Info. Syst. Sec.}%
-  \def\@permissionCodeOne{1094-9224}%
-\or % TIST
-  \def\@journalName{ACM Transactions on Intelligent Systems and Technology}%
-  \def\@journalNameShort{ACM Trans. Intell. Syst. Technol.}%
-  \def\@permissionCodeOne{2157-6904}%
-\or % TKDD
-  \def\@journalName{ACM Transactions on Knowledge Discovery from Data}%
-  \def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}%
-  \def\@permissionCodeOne{1556-4681}%
-\or % TMIS
-  \def\@journalName{ACM Transactions on Management Information Systems}%
-  \def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}%
-  \def\@permissionCodeOne{2158-656X}%
-\or % TOCE
-  \def\@journalName{ACM Transactions on Computing Education}%
-  \def\@journalNameShort{ACM Trans. Comput. Educ.}%
-  \def\@permissionCodeOne{1946-6226}%
-\or % TOCHI
-  \def\@journalName{ACM Transactions on Computer-Human Interaction}%
-  \def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}%
-  \def\@permissionCodeOne{1073-0516}%
-\or % TOCL
-  \def\@journalName{ACM Transactions on Computational Logic}%
-  \def\@journalNameShort{ACM Trans. Comput. Logic}%
-  \def\@permissionCodeOne{1529-3785}%
-\or % TOCS
-  \def\@journalName{ACM Transactions on Computer Systems}%
-  \def\@journalNameShort{ACM Trans. Comput. Syst.}%
-  \def\@permissionCodeOne{0734-2071}%
-\or % TOCT
-  \def\@journalName{ACM Transactions on Computation Theory}%
-  \def\@journalNameShort{ACM Trans. Comput. Theory}%
-  \def\@permissionCodeOne{1942-3454}%
-\or % TODAES
-  \def\@journalName{ACM Transactions on Design Automation of Electronic Systems}%
-  \def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}%
-  \def\@permissionCodeOne{1084-4309}%
-\or % TODS
-  \def\@journalName{ACM Transactions on Database Systems}%
-  \def\@journalNameShort{ACM Trans. Datab. Syst.}%
-  \def\@permissionCodeOne{0362-5915}%
-\or % TOG
-  \def\@journalName{ACM Transactions on Graphics}%
-  \def\@journalNameShort{ACM Trans. Graph.}%
-  \def\@permissionCodeOne{0730-0301}
-\or % TOIS
-  \def\@journalName{ACM Transactions on Information Systems}%
-  \def\@permissionCodeOne{1046-8188}%
-\or % TOIT
-  \def\@journalName{ACM Transactions on Internet Technology}%
-  \def\@journalNameShort{ACM Trans. Internet Technol.}%
-  \def\@permissionCodeOne{1533-5399}%
-\or % TOMACS
-  \def\@journalName{ACM Transactions on Modeling and Computer Simulation}%
-  \def\@journalNameShort{ACM Trans. Model. Comput. Simul.}%
-\or % TOMM
-  \def\@journalName{ACM Transactions on Multimedia Computing, Communications and Applications}%
-  \def\@journalNameShort{ACM Trans. Multimedia Comput. Commun. Appl.}%
-  \def\@permissionCodeOne{1551-6857}%
-  \def\@permissionCodeTwo{0100}%
-\or % TOMPECS
-  \def\@journalName{ACM Transactions on Modeling and Performance Evaluation of Computing Systems}%
-  \def\@journalNameShort{ACM Trans. Model. Perform. Eval. Comput. Syst.}%
-  \def\@permissionCodeOne{2376-3639}%
-\or % TOMS
-  \def\@journalName{ACM Transactions on Mathematical Software}%
-  \def\@journalNameShort{ACM Trans. Math. Softw.}%
-  \def\@permissionCodeOne{0098-3500}%
-\or % TOPC
-  \def\@journalName{ACM Transactions on Parallel Computing}%
-  \def\@journalNameShort{ACM Trans. Parallel Comput.}%
-  \def\@permissionCodeOne{1539-9087}%
-\or % TOPS
-  \def\@journalName{ACM Transactions on Privacy and Security}%
-  \def\@journalNameShort{ACM Trans. Priv. Sec.}%
-  \def\@permissionCodeOne{2471-2566}%
-\or % TOPLAS
-  \def\@journalName{ACM Transactions on Programming Languages and Systems}%
-  \def\@journalNameShort{ACM Trans. Program. Lang. Syst.}%
-  \def\@permissionCodeOne{0164-0925}%
-\or % TOS
-  \def\@journalName{ACM Transactions on Storage}%
-  \def\@journalNameShort{ACM Trans. Storage}%
-  \def\@permissionCodeOne{1553-3077}%
-\or % TOSEM
-  \def\@journalName{ACM Transactions on Software Engineering and Methodology}%
-  \def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}%
-  \def\@permissionCodeOne{1049-331X}%
-\or % TOSN
-  \def\@journalName{ACM Transactions on Sensor Networks}%
-  \def\@journalNameShort{ACM Trans. Sensor Netw.}%
-  \def\@permissionCodeOne{1550-4859}%
-\or % TQC
-  \def\@journalName{ACM Transactions on Quantum Computing}%
-  \def\@journalNameShort{ACM Trans. Quantum Comput.}%
-  \def\@permissionCodeOne{2643-6817}%
-\or % TRETS
-  \def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}%
-  \def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}%
-  \def\@permissionCodeOne{1936-7406}%
-\or % TSAS
-  \def\@journalName{ACM Transactions on Spatial Algorithms and Systems}%
-  \def\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}%
-  \def\@permissionCodeOne{2374-0353}%
-\or % TSC
-  \def\@journalName{ACM Transactions on Social Computing}%
-  \def\@journalNameShort{ACM Trans. Soc. Comput.}%
-  \def\@permissionCodeOne{2469-7818}%
-\or % TSLP
-  \def\@journalName{ACM Transactions on Speech and Language Processing}%
-  \def\@journalNameShort{ACM Trans. Speech Lang. Process.}%
-  \def\@permissionCodeOne{1550-4875}%
-\or % TWEB
-  \def\@journalName{ACM Transactions on the Web}%
-  \def\@journalNameShort{ACM Trans. Web}%
-  \def\@permissionCodeOne{1559-1131}%
-\else % FACMP, a dummy journal
-  \def\@journalName{Forthcoming ACM Publication}%
-  \def\@journalNameShort{ACM Forthcoming}%
-  \def\@permissionCodeOne{XXXX-XXXX}%
-\fi
-\ClassInfo{\@classname}{Using journal code \@journalCode}%
-}{%
-  \ClassError{\@classname}{Incorrect journal #1}%
-}%
-%    \end{macrocode}
-% \begin{macro}{\acmJournal}
-% \changes{v1.59}{2019/04/20}{Setting \cs{@ACM@journal@bibstrip}}
-% And the syntactic sugar around it
-%    \begin{macrocode}
-\def\acmJournal#1{\setkeys{ACM}{acmJournal=#1}%
-  \global\@ACM@journal@bibstriptrue}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% The defaults:
-%    \begin{macrocode}
-\def\@journalCode@nr{0}
-\def\@journalName{}%
-\def\@journalNameShort{\@journalName}%
-\def\@permissionCodeOne{XXXX-XXXX}%
-\def\@permissionCodeTwo{}%
-%    \end{macrocode}
-%
-%
-% \begin{macro}{\acmConference}
-% \changes{v1.59}{2019/04/20}{Setting \cs{@ACM@journal@bibstrip}}
-%   This is the conference command
-%    \begin{macrocode}
-\newcommand\acmConference[4][]{%
-  \gdef\acmConference@shortname{#1}%
-  \gdef\acmConference@name{#2}%
-  \gdef\acmConference@date{#3}%
-  \gdef\acmConference@venue{#4}%
-  \ifx\acmConference@shortname\@empty
-    \gdef\acmConference@shortname{#2}%
-  \fi
-  \global\@ACM@journal@bibstripfalse  
-}
-\if@ACM@journal\else
-\acmConference[Conference'17]{ACM Conference}{July 2017}{Washington,
-  DC, USA}%
-\fi
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\acmBooktitle}
-% \changes{v1.44}{2017/08/11}{Added macro}
-% \begin{macro}{\@acmBooktitle}
-% \changes{v1.44}{2017/08/11}{Added macro}
-%   The book title of the conference:
-%    \begin{macrocode}
-\def\acmBooktitle#1{\gdef\@acmBooktitle{#1}}
-\acmBooktitle{Proceedings of \acmConference@name
-       \ifx\acmConference@name\acmConference@shortname\else
-         \ (\acmConference@shortname)\fi}
-%    \end{macrocode}
-%
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@editorsAbbrev}
-% \changes{v1.44}{2017/08/11}{Added macro}
-%   How to abbreviate editors
-%    \begin{macrocode}
-\def\@editorsAbbrev{(Ed.)}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@acmEditors}
-% \changes{v1.44}{2017/08/11}{Added macro}
-%   The list of editors
-%    \begin{macrocode}
-\def\@acmEditors{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\editor}
-% \changes{v1.44}{2017/08/11}{Added macro}
-%   Add a new editor to the list
-%    \begin{macrocode}
-\def\editor#1{\ifx\@acmEditors\@empty
-    \gdef\@acmEditors{#1}%
-  \else
-    \gdef\@editorsAbbrev{(Eds.)}%
-    \g@addto@macro\@acmEditors{\and#1}%
-\fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\subtitle}
-%   The subtitle macro
-%    \begin{macrocode}
-\def\subtitle#1{\def\@subtitle{#1}}
-\subtitle{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\num@authorgroups}
-% \changes{v1.15}{2016/06/25}{Renamed}
-%   The total number of ``groups''.  Each group is several authors with
-%   the same affiliations(s)
-%    \begin{macrocode}
-\newcount\num@authorgroups
-\num@authorgroups=0\relax
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\num@authors}
-% \changes{v1.46}{2017/08/27}{Introduced macro}
-%   The total number of authors
-%    \begin{macrocode}
-\newcount\num@authors
-\num@authors=0\relax
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\if@insideauthorgroup}
-% \changes{v1.15}{2016/06/25}{Introduced macro}
-%  Whether we are continuing an author group
-%    \begin{macrocode}
-\newif\if@insideauthorgroup
-\@insideauthorgroupfalse
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\author}
-% \changes{v1.15}{2016/06/25}{Added code for author groups}
-% \changes{v1.46}{2017/08/27}{Started counting authors}
-% \changes{v1.54}{2018/06/23}{Added submission id in anonymous mode}
-% \changes{v1.57}{2018/12/09}{Added warning if \cs{author} has comma}
-% \changes{v1.72}{2020/05/04}{Added \cs{detokenize} (Kuldeep S. Meel)}
-%   Adding an author to the list of authors and addresses
-%    \begin{macrocode}
-\renewcommand\author[2][]{%
-  \IfSubStr{\detokenize{#2}}{,}{\ClassWarning{\@classname}{Do not put several
-      authors in the same \string\author\space macro!}}{}%
-  \global\advance\num@authors by 1\relax
-  \if@insideauthorgroup\else
-    \global\advance\num@authorgroups by 1\relax
-    \global\@insideauthorgrouptrue
-  \fi
-  \ifx\addresses\@empty
-    \if@ACM@anonymous
-      \gdef\addresses{\@author{Anonymous Author(s)%
-        \ifx\@acmSubmissionID\@empty\else\\Submission Id:
-          \@acmSubmissionID\fi}}%
-      \gdef\authors{Anonymous Author(s)}%
-    \else
-      \gdef\addresses{\@author{#2}}%
-      \gdef\authors{#2}%
-    \fi
-  \else
-    \if@ACM@anonymous\else
-      \g@addto@macro\addresses{\and\@author{#2}}%
-      \g@addto@macro\authors{\and#2}%
-    \fi
-  \fi
-  \if@ACM@anonymous
-    \ifx\shortauthors\@empty
-      \gdef\shortauthors{Anon.
-        \ifx\@acmSubmissionID\@empty\else Submission Id:
-        \@acmSubmissionID\fi}%
-    \fi
-  \else
-    \def\@tempa{#1}%
-    \ifx\@tempa\@empty
-      \ifx\shortauthors\@empty
-        \gdef\shortauthors{#2}%
-      \else
-        \g@addto@macro\shortauthors{\and#2}%
-      \fi
-    \else
-      \ifx\shortauthors\@empty
-        \gdef\shortauthors{#1}%
-      \else
-        \g@addto@macro\shortauthors{\and#1}%
-      \fi
-    \fi
-  \fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\affiliation}
-% \changes{v1.15}{2016/06/25}{Added code for author groups}
-%   The macro \cs{affiliation} mimics \cs{address} from |amsart|.
-%   Note that it has an optional argument, which we use differently
-%   from |amsart|.
-%    \begin{macrocode}
-\newcommand{\affiliation}[2][]{%
-  \global\@insideauthorgroupfalse
-  \if@ACM@anonymous\else
-    \g@addto@macro\addresses{\affiliation{#1}{#2}}%
-  \fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\if@ACM@affiliation@obeypunctuation}
-% \changes{v1.33}{2017/03/28}{Added macro}
-%   Whether to use the author's punctuation (false by default, which adds
-%   American-style address punctuation)
-%    \begin{macrocode}
-\define@boolkey+{@ACM@affiliation@}[@ACM@affiliation@]{obeypunctuation}%
-[true]{}{\ClassError{\@classname}{The option obeypunctuation can be either true or false}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\additionalaffiliation}
-% \changes{v1.31}{2017/03/04}{Added macro}
-%   Additional affiliations go to footnotes
-%    \begin{macrocode}
-\def\additionalaffiliation#1{\authornote{\@additionalaffiliation{#1}}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@additionalaffiliation}
-% \changes{v1.31}{2017/03/04}{Added macro}
-%   Process \cs{additionalaffiliation} inside \cs{authornote}
-%    \begin{macrocode}
-\def\@additionalaffiliation#1{\bgroup
-  \def\position##1{\ignorespaces}%
-  \def\institution##1{##1\ignorespaces}%
-  \def\department{\@ifnextchar[{\@department}{\@department[]}}%
-  \def\@department[##1]##2{\unskip, ##2\ignorespaces}%
-  \let\streetaddress\position
-  \let\city\position
-  \let\state\position
-  \let\postcode\position
-  \let\country\position
-  Also with #1\unskip.\egroup}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\email}
-% \changes{v1.57}{2018/12/09}{Added warning if \cs{author} has comma}
-%   The macro \cs{email} mimics \cs{email} from |amsart|.
-%   Again, it has an optional argument that we do not currently need
-%   but keep for possible future use.
-%    \begin{macrocode}
-\renewcommand{\email}[2][]{%
-  \IfSubStr{#2}{,}{\ClassWarning{\@classname}{Do not put several
-      addresses in the same \string\email\space macro!}}{}%
-  \if@ACM@anonymous\else
-    \g@addto@macro\addresses{\email{#1}{#2}}%
-  \fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\orcid}
-% \changes{v1.15}{2016/06/25}{Introduced macro}
-%   Right now we do not typeset ORCIDs
-%    \begin{macrocode}
-\def\orcid#1{\unskip\ignorespaces}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\authorsaddresses}
-% \changes{v1.46}{2017/08/27}{Introduced macro}
-% Setting up authors' addresses
-%    \begin{macrocode}
-\def\authorsaddresses#1{\def\@authorsaddresses{#1}}
-\authorsaddresses{\@mkauthorsaddresses}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\@titlenotes}
-%   The title notes
-%    \begin{macrocode}
-\def\@titlenotes{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\titlenote}
-%   Adding a note to the title
-%    \begin{macrocode}
-\def\titlenote#1{%
-  \g@addto@macro\@title{\footnotemark}%
-  \if@ACM@anonymous
-    \g@addto@macro\@titlenotes{%
-      \stepcounter{footnote}\footnotetext{Title note}}%
-  \else
-    \g@addto@macro\@titlenotes{\stepcounter{footnote}\footnotetext{#1}}%
-  \fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@subtitlenotes}
-%   The subtitle notes
-%    \begin{macrocode}
-\def\@subtitlenotes{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\subtitlenote}
-%   Adding a note to the subtitle
-%    \begin{macrocode}
-\def\subtitlenote#1{%
-  \g@addto@macro\@subtitle{\footnotemark}%
-  \if@ACM@anonymous
-    \g@addto@macro\@subtitlenotes{%
-      \stepcounter{footnote}\footnotetext{Subtitle note}}%
-  \else
-    \g@addto@macro\@subtitlenotes{%
-      \stepcounter{footnote}\footnotetext{#1}}%
-  \fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@authornotes}
-%   The author notes
-%    \begin{macrocode}
-\def\@authornotes{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\authornote}
-%   Adding a note to the author
-%    \begin{macrocode}
-\def\authornote#1{%
-  \if@ACM@anonymous\else
-    \g@addto@macro\addresses{\@authornotemark}%
-    \g@addto@macro\@authornotes{%
-      \stepcounter{footnote}\footnotetext{#1}}%
-  \fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\authornotemark}
-% \changes{v1.39}{2017/05/14}{Added macro}
-% Adding a footnote mark to the authors
-%    \begin{macrocode}
-\newcommand\authornotemark[1][\relax]{%
-  \ifx#1\relax\relax\relax
-  \g@addto@macro\addresses{\@authornotemark}%
-  \else
-  \g@addto@macro\addresses{\@@authornotemark{#1}}%
-  \fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\acmVolume}
-% \changes{v1.17}{2016/07/10}{The default is now numerical}
-%   The current volume
-%    \begin{macrocode}
-\def\acmVolume#1{\def\@acmVolume{#1}}
-\acmVolume{1}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\acmNumber}
-% \changes{v1.17}{2016/07/10}{The default is now numerical}
-%   The current number
-%    \begin{macrocode}
-\def\acmNumber#1{\def\@acmNumber{#1}}
-\acmNumber{1}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\acmArticle}
-% \changes{v1.17}{2016/07/10}{The default is now numerical}
-% \changes{v1.44}{2017/08/111}{The default is now empty}
-%   The current article
-%    \begin{macrocode}
-\def\acmArticle#1{\def\@acmArticle{#1}}
-\acmArticle{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\acmArticleSeq}
-% \changes{v1.04}{2016/04/26}{Name change by Matthew Fluet}
-% \changes{v1.44}{2017/08/11}{Now acmArticle might be empty}
-%   The sequence number
-%    \begin{macrocode}
-\def\acmArticleSeq#1{\def\@acmArticleSeq{#1}}
-\acmArticleSeq{\@acmArticle}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\acmYear}
-% \changes{v1.17}{2016/07/10}{The default is now numerical}
-% \changes{v1.31}{2017/03/04}{The default now is the current year
-% (Matteo Riondato)}
-%   The current year
-%    \begin{macrocode}
-\def\acmYear#1{\def\@acmYear{#1}}
-\acmYear{\the\year}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\acmMonth}
-% \changes{v1.17}{2016/07/09}{The default must be numerical.   Closes \#50.}
-% \changes{v1.31}{2017/03/04}{The default now is the current month
-% (Matteo Riondato)}
-%   The current month
-%    \begin{macrocode}
-\def\acmMonth#1{\def\@acmMonth{#1}}
-\acmMonth{\the\month}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\@acmPubDate}
-%   The publication date
-%    \begin{macrocode}
-\def\@acmPubDate{\ifcase\@acmMonth\or
-  January\or February\or March\or April\or May\or June\or
-  July\or August\or September\or October\or November\or
-  December\fi~\@acmYear}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\acmPrice}
-%   The price
-%    \begin{macrocode}
-\def\acmPrice#1{\def\@acmPrice{#1}}
-\acmPrice{15.00}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\acmSubmissionID}
-% \changes{v1.33}{2017/03/29}{Added macro}
-%   The submission ID
-%    \begin{macrocode}
-\def\acmSubmissionID#1{\def\@acmSubmissionID{#1}}
-\acmSubmissionID{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\acmISBN}
-% \changes{v1.04}{2016/04/26}{Name change by Matthew Fluet}
-%   The book ISBN
-%    \begin{macrocode}
-\def\acmISBN#1{\def\@acmISBN{#1}}
-\acmISBN{978-x-xxxx-xxxx-x/YY/MM}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\acmDOI}
-% \changes{v1.04}{2016/04/26}{Name change by Matthew Fluet}
-%   The paper DOI
-%    \begin{macrocode}
-\def\acmDOI#1{\def\@acmDOI{#1}}
-\acmDOI{10.1145/nnnnnnn.nnnnnnn}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\if@ACM@badge}
-% \changes{v1.06}{2016/05/01}{Added macro}
-%   Whether to print a badge.  Note that either a left or right badge
-%   triggers it:
-%    \begin{macrocode}
-\newif\if@ACM@badge
-\@ACM@badgefalse
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@ACM@badge@width}
-% \changes{v1.06}{2016/05/01}{Added macro}
-%   The width of the badge
-%    \begin{macrocode}
-\newlength\@ACM@badge@width
-\setlength\@ACM@badge@width{5pc}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\@ACM@title@width}
-% \changes{v1.06}{2016/05/01}{Added macro}
-%   The width of the badge
-%    \begin{macrocode}
-\newlength\@ACM@title@width
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\@ACM@badge@skip}
-% \changes{v1.06}{2016/05/01}{Added macro}
-%   The space between the badge and the title
-%    \begin{macrocode}
-\newlength\@ACM@badge@skip
-\setlength\@ACM@badge@skip{1pc}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\acmBadgeR}
-% \changes{v1.06}{2016/05/01}{Added macro}
-%   Setting the right badge
-%    \begin{macrocode}
-\newcommand\acmBadgeR[2][]{\@ACM@badgetrue
-  \def\@acmBadgeR@url{#1}%
-  \def\@acmBadgeR@image{#2}}
-\def\@acmBadgeR@url{}
-\def\@acmBadgeR@image{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\acmBadgeL}
-% \changes{v1.06}{2016/05/01}{Added macro}
-%   Setting the left badge
-%    \begin{macrocode}
-\newcommand\acmBadgeL[2][]{\@ACM@badgetrue
-  \def\@acmBadgeL@url{#1}%
-  \def\@acmBadgeL@image{#2}}
-\def\@acmBadgeL@url{}
-\def\@acmBadgeL@image{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\startPage}
-%   The start page of the paper
-%    \begin{macrocode}
-\def\startPage#1{\def\@startPage{#1}}
-\startPage{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\terms}
-% \changes{v1.34}{2017/04/09}{The \cs{terms} command now just produces
-% a warning}
-%   Terms are obsolete.  We use CCS now.
-%    \begin{macrocode}
-\def\terms#1{\ClassWarning{\@classname}{The command \string\terms{} is
-    obsolete.  I am going to ignore it}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\keywords}
-%   Keywords are mostly obsolete.  We use CCS now.  Still it makes
-%   sense to keep them for compatibility.
-%    \begin{macrocode}
-\def\keywords#1{\def\@keywords{#1}}
-\let\@keywords\@empty
-%    \end{macrocode}
-%
-% \changes{1.66}{2019/12/18}{Added warning for missing keywords}
-%    \begin{macrocode}
-\AtEndDocument{\if@ACM@nonacm\else\ifx\@keywords\@empty
-  \ifnum\getrefnumber{TotPages}>2\relax
-  \ClassWarningNoLine{\@classname}{ACM keywords are mandatory
-    for papers over two pages}%
-  \fi\fi\fi}
-%    \end{macrocode}
-% 
-% \end{macro}
-%
-%
-% \begin{macro}{abstract}
-%   The |amsart| package puts |abstract| in a box.  Since we do not
-%   know whether we will use two-column mode, we prefer to save the text
-%    \begin{macrocode}
-\renewenvironment{abstract}{\Collect@Body\@saveabstract}{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@saveabstract}
-%   And saving the abstract
-%    \begin{macrocode}
-\long\def\@saveabstract#1{\if@ACM@maketitle@typeset
-  \ClassError{\@classname}{Abstract must be defined before maketitle
-    command. Please move it!}\fi
-  \long\gdef\@abstract{#1}}
-\@saveabstract{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@lempty}
-%   The long version of \cs{@empty} (to compare with \cs{@abstract})
-%    \begin{macrocode}
-\long\def\@lempty{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\if@ACM@printccs}
-% \changes{v1.27}{2016/12/29}{Typo corrected}
-%   Whether to print CCS
-%    \begin{macrocode}
-\define@boolkey+{@ACM@topmatter@}[@ACM@]{printccs}[true]{%
-  \if@ACM@printccs
-    \ClassInfo{\@classname}{Printing CCS}%
-  \else
-    \ClassInfo{\@classname}{Suppressing CCS}%
-  \fi}{\ClassError{\@classname}{The option printccs can be either true or false}}
-%    \end{macrocode}
-%
-% \end{macro}
-% \begin{macro}{\if@ACM@printacmref}
-% \changes{v1.17}{2016/07/10}{Renamed from \cs{if@ACM@printbib}}
-%   Whether to print the ACM bibstrip
-%    \begin{macrocode}
-\define@boolkey+{@ACM@topmatter@}[@ACM@]{printacmref}[true]{%
-  \if@ACM@printacmref
-    \ClassInfo{\@classname}{Printing bibformat}%
-  \else
-    \ClassInfo{\@classname}{Suppressing bibformat}%
-  \fi}{\ClassError{\@classname}{The option printacmref can be either true or false}}
-%    \end{macrocode}
-%
-% \changes{1.66}{2019/12/18}{Added warning for longer papers}
-%    \begin{macrocode}
-\AtEndDocument{\if@ACM@nonacm\else\if@ACM@printacmref\else
-  \ifnum\getrefnumber{TotPages}>1\relax
-  \ClassWarningNoLine{\@classname}{ACM reference format is mandatory
-    for papers over one page}%
-  \fi\fi\fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\if@ACM@printfolios}
-% \changes{v1.13}{2016/06/06}{Added macro}
-%   Whether to print folios
-%    \begin{macrocode}
-\define@boolkey+{@ACM@topmatter@}[@ACM@]{printfolios}[true]{%
-  \if@ACM@printfolios
-    \ClassInfo{\@classname}{Printing folios}%
-  \else
-    \ClassInfo{\@classname}{Suppressing folios}%
-  \fi}{\ClassError{\@classname}{The option printfolios can be either true or false}}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@ACM@authorsperrow}
-% \changes{v1.36}{2017/05/13}{Added macro}
-%   The number of authors per row.  0 means use the default algorithm.
-%    \begin{macrocode}
-\define@cmdkey{@ACM@topmatter@}[@ACM@]{authorsperrow}[0]{%
-  \IfInteger{#1}{\ClassInfo{\@classname}{Setting authorsperrow to
-      #1}}{\ClassWarning{\@classname}{The parameter authorsperrow must be
-      numerical. Ignoring the input #1}\gdef\@ACM@authorsperrow{0}}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\settopmatter}
-%   The usual syntactic sugar
-%    \begin{macrocode}
-\def\settopmatter#1{\setkeys{@ACM@topmatter@}{#1}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \changes{v1.13}{2016/06/06}{Print bibliographic information by
-% default for the proceedings}
-% Now the settings
-%    \begin{macrocode}
-\settopmatter{printccs=true, printacmref=true}
-\if@ACM@manuscript
-  \settopmatter{printfolios=true}
-\else
-  \if@ACM@journal
-    \settopmatter{printfolios=true}
-  \else
-    \settopmatter{printfolios=false}
-  \fi
-\fi
-\settopmatter{authorsperrow=0}
-%    \end{macrocode}
-%
-% \begin{macro}{\@received}
-%   The container for the paper history
-%    \begin{macrocode}
-\def\@received{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\received}
-%   The \cs{received} command
-%    \begin{macrocode}
-\newcommand\received[2][]{\def\@tempa{#1}%
-  \ifx\@tempa\@empty
-    \ifx\@received\@empty
-      \gdef\@received{Received #2}%
-    \else
-      \g@addto@macro{\@received}{; revised #2}%
-    \fi
-  \else
-    \ifx\@received\@empty
-      \gdef\@received{#1 #2}%
-    \else
-      \g@addto@macro{\@received}{; #1 #2}%
-    \fi
-  \fi}
-\AtEndDocument{%
-  \ifx\@received\@empty\else
-    \par\bigskip\noindent\small\normalfont\@received\par
-  \fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%\subsection{Concepts system}
-%\label{sec:concepts}
-%
-% We exclude |CCSXML| stuff generated by the ACM system:
-%    \begin{macrocode}
-\RequirePackage{comment}
-\excludecomment{CCSXML}
-%    \end{macrocode}
-%
-% \begin{macro}{\@concepts}
-%   This is the storage macro and counter for concepts
-%    \begin{macrocode}
-\let\@concepts\@empty
-\newcounter{@concepts}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\ccsdesc}
-% \changes{v1.40}{2017/05/27}{Now we can parse |Significance~General| nodes}
-%   The first argument is the significance, the second is the
-%   concept(s)
-%    \begin{macrocode}
-\newcommand\ccsdesc[2][100]{%
-  \ccsdesc@parse#1~#2~~\ccsdesc@parse@end}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\ccsdesc@parse}
-% \changes{v1.28}{2017/01/04}{Change from \cs{to} to
-% \cs{textrightarrow} (Matteo Riondato)}
-% \changes{v1.29}{2017/01/22}{Add spacing after bullet and around
-% rightarrow; semicolon separators no longer in bold/italic (John Wickerson)}
-% \changes{v1.40}{2017/05/27}{Now we can parse |Significance~General| nodes}
-% \changes{v1.56}{2018/10/23}{End the concepts list with a period
-% (Philip Quinn)}
-% \changes{v1.69}{2019/02/06}{Use math right arrow in text}
-%   The parser of the expression |Significance~General~Specific| (we need
-%   |textcomp| for |\textrightarrow|).  Note that |Specific| can be empty!
-%    \begin{macrocode}
-\def\textrightarrow{$\rightarrow$}
-\def\ccsdesc@parse#1~#2~#3~{%
-  \stepcounter{@concepts}%
-  \expandafter\ifx\csname CCS@General@#2\endcsname\relax
-    \expandafter\gdef\csname CCS@General@#2\endcsname{\textbullet\
-      \textbf{#2}}%
-    \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{; }%
-    \expandafter\gdef\csname CCS@Specific@#2\endcsname{}%
-  \g@addto@macro{\@concepts}{\csname CCS@General@#2\endcsname
-    \csname CCS@Punctuation@#2\endcsname
-    \csname CCS@Specific@#2\endcsname}%
-  \fi
-  \ifx#3\relax\relax\else
-    \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{
-      \textrightarrow\ }%
-    \expandafter\g@addto@macro\expandafter{\csname CCS@Specific@#2\endcsname}{%
-     \addtocounter{@concepts}{-1}%
-     \ifnum#1>499\textbf{#3}\else
-     \ifnum#1>299\textit{#3}\else
-     #3\fi\fi\ifnum\value{@concepts}=0.\else; \fi}%
-  \fi
-\ccsdesc@parse@finish}
-%    \end{macrocode}
-%
-% \changes{1.66}{2019/12/18}{Added warning for missing concepts}
-%    \begin{macrocode}
-\AtEndDocument{\if@ACM@nonacm\else\ifx\@concepts\@empty\relax
-  \ifnum\getrefnumber{TotPages}>2\relax
-  \ClassWarningNoLine{\@classname}{CCS concepts are mandatory
-    for papers over two pages}%
-  \fi\fi\fi}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\ccdesc@parse@finish}
-% \changes{v1.40}{2017/05/27}{Added macro}
-%   Gobble everything to |\ccsdesc@parse@end|
-%    \begin{macrocode}
-\def\ccsdesc@parse@finish#1\ccsdesc@parse@end{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%\subsection{Copyright system}
-%\label{sec:copyright}
-%
-% This is from |acmcopyright.sty|
-%
-% \begin{macro}{\if@printcopyright}
-%   Whether to print a copyright symbol
-%    \begin{macrocode}
-\newif\if@printcopyright
-\@printcopyrighttrue
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\if@printpermission}
-%   Whether to print the permission block
-%    \begin{macrocode}
-\newif\if@printpermission
-\@printpermissiontrue
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\if@acmowned}
-%   Whether the ACM owns the rights to the paper
-%    \begin{macrocode}
-\newif\if@acmowned
-\@acmownedtrue
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \changes{v1.10}{2016/05/22}{Changes of `licensedothergov' wording}
-% \changes{v1.35}{2017/04/22}{If the copyright is set to usgov or
-% rigtsretained, the price is suppressed}
-% \changes{v1.51}{2018/04/05}{Suppress price if the copyright is set
-% to iw3c2w3 or iw3c2w3g}
-% \changes{v1.51}{2018/04/05}{Corrected the bug with price suppression}
-% Keys:
-%    \begin{macrocode}
-\define@choicekey*{ACM@}{acmcopyrightmode}[%
-  \acm@copyrightinput\acm@copyrightmode]{none,%
-    acmcopyright,acmlicensed,rightsretained,%
-    usgov,usgovmixed,cagov,cagovmixed,licensedusgovmixed,%
-    licensedcagov,licensedcagovmixed,othergov,licensedothergov,%
-    iw3c2w3,iw3c2w3g}{%
-  \@printpermissiontrue
-  \@printcopyrighttrue
-  \@acmownedtrue
-  \ifnum\acm@copyrightmode=0\relax % none
-   \@printpermissionfalse
-   \@printcopyrightfalse
-   \@acmownedfalse
-  \fi
-  \ifnum\acm@copyrightmode=2\relax % acmlicensed
-   \@acmownedfalse
-  \fi
-  \ifnum\acm@copyrightmode=3\relax % rightsretained
-   \@acmownedfalse
-   \AtBeginDocument{\acmPrice{}}%
-  \fi
-  \ifnum\acm@copyrightmode=4\relax % usgov
-   \@printpermissiontrue
-   \@printcopyrightfalse
-   \@acmownedfalse
-   \AtBeginDocument{\acmPrice{}}%
-  \fi
-  \ifnum\acm@copyrightmode=6\relax % cagov
-   \@acmownedfalse
-  \fi
-  \ifnum\acm@copyrightmode=8\relax % licensedusgovmixed
-   \@acmownedfalse
-  \fi
-  \ifnum\acm@copyrightmode=9\relax % licensedcagov
-   \@acmownedfalse
-  \fi
-  \ifnum\acm@copyrightmode=10\relax % licensedcagovmixed
-   \@acmownedfalse
-  \fi
-  \ifnum\acm@copyrightmode=11\relax % othergov
-   \@acmownedtrue
-  \fi
-  \ifnum\acm@copyrightmode=12\relax % licensedothergov
-   \@acmownedfalse
-  \fi
-  \ifnum\acm@copyrightmode=13\relax % iw3c2w3
-   \@acmownedfalse
-   \AtBeginDocument{\acmPrice{}}%
-  \fi
-  \ifnum\acm@copyrightmode=14\relax % iw3c2w3g
-   \@acmownedfalse
-   \AtBeginDocument{\acmPrice{}}%
-  \fi}
-%    \end{macrocode}
-%
-% \begin{macro}{\setcopyright}
-%   This is the syntactic sugar around setting keys.
-%    \begin{macrocode}
-\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}}
-\setcopyright{acmcopyright}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\@copyrightowner}
-% \changes{v1.40}{2017/06/16}{Added new copyright version:
-% licensedcagov}
-% \changes{v1.52}{2018/04/09}{Rewording of licenses}
-%   Here is the owner of the copyright
-%    \begin{macrocode}
-\def\@copyrightowner{%
-  \ifcase\acm@copyrightmode\relax % none
-  \or % acmcopyright
-  Association for Computing Machinery.
-  \or % acmlicensed
-  Copyright held by the owner/author(s). Publication rights licensed to
-  ACM\@.
-  \or % rightsretained
-  Copyright held by the owner/author(s).
-  \or % usgov
-  \or % usgovmixed
-  Association for Computing Machinery.
-  \or % cagov
-  Crown in Right of Canada.
-  \or %cagovmixed
-  Association for Computing Machinery.
-  \or %licensedusgovmixed
-  Copyright held by the owner/author(s). Publication rights licensed to
-  ACM\@.
-  \or % licensedcagov
-  Crown in Right of Canada. Publication rights licensed to
-  ACM\@.
-  \or %licensedcagovmixed
-  Copyright held by the owner/author(s). Publication rights licensed to
-  ACM\@.
-  \or % othergov
-  Association for Computing Machinery.
-  \or % licensedothergov
-  Copyright held by the owner/author(s). Publication rights licensed to
-  ACM\@.
-  \or % ic2w3www
-  IW3C2 (International World Wide Web Conference Committee), published
-  under Creative Commons CC-BY~4.0 License.
-  \or % ic2w3wwwgoogle
-  IW3C2 (International World Wide Web Conference Committee), published
-  under Creative Commons CC-BY-NC-ND~4.0 License.
-  \fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@formatdoi}
-% \changes{v1.03}{2016/04/22}{Added macro}
-% \changes{v1.32}{2017/04/07}{New doi format}
-%   Print a clickable DOI
-%    \begin{macrocode}
-\def\@formatdoi#1{\url{https://doi.org/#1}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@copyrightpermission}
-% \changes{v1.40}{2017/06/16}{Added new copyright version: licensedcagov}
-% \changes{v1.50}{2018/02/07}{New copyright statements for iw3c2w3[g]}
-% \changes{v1.52}{2018/04/09}{Another rewording of copyright
-% statements for iw3c2w3[g]}
-%   The canned permission block.
-%    \begin{macrocode}
-\def\@copyrightpermission{%
-  \ifcase\acm@copyrightmode\relax % none
-  \or % acmcopyright
-   Permission to make digital or hard copies of all or part of this
-   work for personal or classroom use is granted without fee provided
-   that copies are not made or distributed for profit or commercial
-   advantage and that copies bear this notice and the full citation on
-   the first page. Copyrights for components of this work owned by
-   others than ACM must be honored. Abstracting with credit is
-   permitted. To copy otherwise, or republish, to post on servers or to
-   redistribute to lists, requires prior specific permission
-   and\hspace*{.5pt}/or  a fee. Request permissions from
-   permissions@acm.org.
-  \or % acmlicensed
-   Permission to make digital or hard copies of all or part of this
-   work for personal or classroom use is granted without fee provided
-   that copies are not made or distributed for profit or commercial
-   advantage and that copies bear this notice and the full citation on
-   the first page. Copyrights for components of this work owned by
-   others than the author(s) must be honored. Abstracting with credit
-   is permitted.  To copy otherwise, or republish, to post on servers
-   or to  redistribute to lists, requires prior specific permission
-   and\hspace*{.5pt}/or  a fee. Request permissions from
-   permissions@acm.org.
-  \or % rightsretained
-   Permission to make digital or hard copies of part or all of this work
-   for personal or classroom use is granted without fee provided that
-   copies are not made or distributed for profit or commercial advantage
-   and that copies bear this notice and the full citation on the first
-   page. Copyrights for third-party components of this work must be
-   honored. For all other uses, contact the
-   owner\hspace*{.5pt}/author(s).
-  \or % usgov
-   This paper is authored by an employee(s) of the United States
-   Government and is in the public domain. Non-exclusive copying or
-   redistribution is allowed, provided that the article citation is
-   given and the authors and agency are clearly identified as its
-   source.
-  \or % usgovmixed
-   ACM acknowledges that this contribution was authored or co-authored
-   by an employee, contractor, or affiliate of the United States
-   government. As such, the United States government retains a
-   nonexclusive, royalty-free right to publish or reproduce this
-   article, or to allow others to do so, for government purposes only.
-  \or % cagov
-   This article was authored by employees of the Government of Canada.
-   As such, the Canadian government retains all interest in the
-   copyright to this work and grants to ACM a nonexclusive,
-   royalty-free right to publish or reproduce this article, or to allow
-   others to do so, provided that clear attribution is given both to
-   the authors and the Canadian government agency employing them.
-   Permission to make digital or hard copies for personal or classroom
-   use is granted. Copies must bear this notice and the full citation
-   on the first page.  Copyrights for components of this work owned by
-   others than the Canadian Government must be honored. To copy
-   otherwise, distribute, republish, or post, requires prior specific
-   permission and\hspace*{.5pt}/or a fee. Request permissions from
-   permissions@acm.org.
-  \or % cagovmixed
-   ACM acknowledges that this contribution was co-authored by an
-   affiliate of the national government of Canada. As such, the Crown
-   in Right of Canada retains an equal interest in the copyright.
-   Reprints must include clear attribution to ACM and the author's
-   government agency affiliation.  Permission to make digital or hard
-   copies for personal or classroom use is granted.  Copies must bear
-   this notice and the full citation on the first page. Copyrights for
-   components of this work owned by others than ACM must be honored.
-   To copy otherwise, distribute, republish, or post, requires prior
-   specific permission and\hspace*{.5pt}/or a fee. Request permissions
-   from permissions@acm.org.
-  \or % licensedusgovmixed
-   Publication rights licensed to ACM\@. ACM acknowledges that this
-   contribution was authored or co-authored by an employee, contractor
-   or affiliate of the United States government. As such, the
-   Government retains a nonexclusive, royalty-free right to publish or
-   reproduce this article, or to allow others to do so, for Government
-   purposes only.
-  \or % licensedcagov
-   This article was authored by employees of the Government of Canada.
-   As such, the Canadian government retains all interest in the
-   copyright to this work and grants to ACM a nonexclusive,
-   royalty-free right to publish or reproduce this article, or to allow
-   others to do so, provided that clear attribution is given both to
-   the authors and the Canadian government agency employing them.
-   Permission to make digital or hard copies for personal or classroom
-   use is granted. Copies must bear this notice and the full citation
-   on the first page.  Copyrights for components of this work owned by
-   others than the Canadian Government must be honored. To copy
-   otherwise, distribute, republish, or post, requires prior specific
-   permission and\hspace*{.5pt}/or a fee. Request permissions from
-   permissions@acm.org.
-  \or % licensedcagovmixed
-   Publication rights licensed to ACM\@. ACM acknowledges that this
-   contribution was authored or co-authored by an employee, contractor
-   or affiliate of the national government of Canada. As such, the
-   Government retains a nonexclusive, royalty-free right to publish or
-   reproduce this article, or to allow others to do so, for Government
-   purposes only.
-  \or % othergov
-   ACM acknowledges that this contribution was authored or co-authored
-   by an employee, contractor or affiliate of a national government. As
-   such, the Government retains a nonexclusive, royalty-free right to
-   publish or reproduce this article, or to allow others to do so, for
-   Government purposes only.
-  \or % licensedothergov
-   Publication rights licensed to ACM\@. ACM acknowledges that this
-   contribution was authored or co-authored by an employee, contractor
-   or affiliate of a national government. As such, the Government
-   retains a nonexclusive, royalty-free right to publish or reproduce
-   this article, or to allow others to do so, for Government purposes
-   only.
- \or % iw3c2w3
-   This paper is published under the Creative Commons Attribution~4.0
-   International (CC-BY~4.0) license. Authors reserve their rights to
-   disseminate the work on their personal and corporate Web sites with
-   the appropriate attribution.
- \or % iw3c2w3g
-   This paper is published under the Creative Commons
-   Attribution-NonCommercial-NoDerivs~4.0 International
-   (CC-BY-NC-ND~4.0) license. Authors reserve their rights to
-   disseminate the work on their personal and corporate Web sites with
-   the appropriate attribution.
- \fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\copyrightyear}
-%   By default, the copyright year is the same as \cs{acmYear}, but
-%   one can override this:
-%    \begin{macrocode}
-\def\copyrightyear#1{\def\@copyrightyear{#1}}
-\copyrightyear{\@acmYear}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@teaserfigures}
-%   The teaser figures container
-%    \begin{macrocode}
-\def\@teaserfigures{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{teaserfigure}
-%   The teaser figure
-%    \begin{macrocode}
-\newenvironment{teaserfigure}{\Collect@Body\@saveteaser}{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@saveteaser}
-%   Saving the teaser
-%    \begin{macrocode}
-\long\def\@saveteaser#1{\g@addto@macro\@teaserfigures{\@teaser{#1}}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\thanks}
-%   We redefine |amsart| \cs{thanks} so the |anonymous| key works
-%    \begin{macrocode}
-\renewcommand{\thanks}[1]{%
-  \@ifnotempty{#1}{%
-    \if@ACM@anonymous
-      \g@addto@macro\thankses{\thanks{A note}}%
-   \else
-    \g@addto@macro\thankses{\thanks{#1}}%
-   \fi}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-%\subsection{Maketitle hook}
-%\label{sec:hook}
-%
-% The current \LaTeX\ provides a nice |lthooks| mechanism.  However,
-% since it is relatively new, we will use oldfashioned approach---at
-% least for now.
-%
-% \begin{macro}{\@beginmaketitlehook}
-% \changes{v1.75}{2020/11/15}{Introduced macro}
-% The hook
-%    \begin{macrocode}
-\ifx\@beginmaketitlehook\@undefined
-  \let\@beginmaketitlehook\@empty
-\fi
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\AtBeginMaketitle}
-% \changes{v1.75}{2020/11/15}{Introduced macro}
-% Adding to the hook
-%    \begin{macrocode}
-\def\AtBeginMaketitle{\g@addto@macro\@beginmaketitlehook}
-%    \end{macrocode}
-% \end{macro}
-%
-% \subsection{Typesetting top matter}
-% \label{sec:maketitle}
-%
-% \begin{macro}{\mktitle@bx}
-%   Some of our formats use a two-column design.  Some use a one-column
-%   design.  In all cases we use a wide title.  Thus we typeset the top
-%   matter in a special box to be used in the construction
-%   \cs{@twocolumn}\oarg{box}.
-%    \begin{macrocode}
-\newbox\mktitle@bx
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\maketitle}
-% \changes{v1.03}{2016/04/22}{Added special case of authorversion}
-% \changes{v1.07}{2016/05/03}{Corrected a bug with abstract footnotes}
-% \changes{v1.07}{2016/05/03}{Corrected a bug with permssion and
-% footnotes order}
-% \changes{v1.10}{2016/05/23}{Corrected a bug with doi in manuscript
-% and author vertsion,
-% \url{https://github.com/borisveytsman/acmart/issues/36}}
-% \changes{v1.12}{2016/05/30}{Moved thankses to copyrightpermission box}
-% \changes{v1.33}{2017/03/27}{Fixed the bug with figures on top and
-% bottom of the title page, thanks to David Epstein}
-% \changes{v1.34}{2017/04/09}{Deleted `DOI' from doi numbers}
-% \changes{v1.34}{2017/04/09}{Added date to the bibstrip in conf proceedings}
-% \changes{v1.34}{2017/04/09}{The \cs{terms} command is now obsolete}
-% \changes{v1.34}{2017/04/11}{Rearranged bibstrip}
-% \changes{v1.44}{2017/07/30}{Empty DOI or ISBN are not printed (by
-% Michael Ekstrand)}
-% \changes{v1.46}{2017/08/27}{Added authors' addresses}
-% \changes{v1.46}{2017/08/28}{Thankses go before authors' addresses}
-% \changes{v1.48}{2017/09/23}{Added acmart and version info to
-% pdfcreator tag}
-% \changes{v1.48}{2017/10/14}{Suppressed empty DOI (Serguei Mokhov)}
-% \changes{v1.48}{2017/11/18}{Added language and doctitle attributes
-% to PDF (Andreas Reichinger)}
-% \changes{v1.55}{2018/10/14}{Fixes topnum}
-% \changes{v1.58}{2019/01/23}{Original \cs{vspace} inside
-% \cs{maketitle}}
-% \changes{v1.64}{2019/08/17}{Added a switch setting to show that
-% \cs{maketitle} is typeset}
-% \changes{v1.72}{2020/06/14}{Do not andify authors for pdf metadata
-% (Scott Pakin)} 
-% \changes{v1.73}{2020/09/07}{Do not check again the presense of
-% address fields} 
-% \changes{v1.75}{2020/11/15}{Added \cs{@beginmaketitlehook}} 
-%   The (in)famous \cs{maketitle}.  Note that in |sigchi-a| mode, authors
-%   are \emph{not} in the title box.
-%
-%  Another note: there is a subtle difference between author notes,
-%  title notes and thanks.  The latter two refer to the paper itself
-%  and therefore belong to the copyright/permission block.  By the
-%  way, this was the default behavior of the old ACM classes.
-%    \begin{macrocode}
-\def\maketitle{\@beginmaketitlehook
-  \@ACM@maketitle@typesettrue
-  \if@ACM@anonymous
-    % Anonymize omission of \author-s
-    \ifnum\num@authorgroups=0\author{}\fi
-  \fi
-  \begingroup
-  \let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig
-  \let\@footnotemark\@footnotemark@nolink
-  \let\@footnotetext\@footnotetext@nolink
-  \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
-  \hsize=\textwidth
-  \def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}%
-  \@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers
-  \@printtopmatter
-  \if@ACM@sigchiamode\@mkauthors\fi
-  \setcounter{footnote}{0}%
-  \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}%
-  \@titlenotes
-  \@subtitlenotes
-  \@authornotes
-  \let\@makefnmark\relax
-  \let\@thefnmark\relax
-  \let\@makefntext\noindent
-  \ifx\@empty\thankses\else
-    \footnotetextauthorsaddresses{%
-      \def\par{\let\par\@par}\parindent\z@\@setthanks}%
-  \fi
-  \ifx\@empty\@authorsaddresses\else
-     \if@ACM@anonymous\else
-       \if@ACM@journal@bibstrip
-         \footnotetextauthorsaddresses{%
-           \def\par{\let\par\@par}\parindent\z@\@setauthorsaddresses}%
-       \fi
-     \fi
-  \fi
-  \if@ACM@nonacm\else\footnotetextcopyrightpermission{%
-    \if@ACM@authordraft
-        \raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries
-            Unpublished working draft. Not for distribution.}}%
-       \color[gray]{0.9}%
-    \fi
-    \parindent\z@\parskip0.1\baselineskip
-    \if@ACM@authorversion\else
-      \if@printpermission\@copyrightpermission\par\fi
-    \fi
-    \if@ACM@manuscript\else
-       \if@ACM@journal@bibstrip\else % Print the conference information
-         {\itshape \acmConference@shortname, \acmConference@date, \acmConference@venue}\par
-       \fi
-    \fi
-    \if@printcopyright
-      \copyright\ \@copyrightyear\ \@copyrightowner\\
-    \else
-      \@copyrightyear.\
-    \fi
-    \if@ACM@manuscript
-      Manuscript submitted to ACM\\
-    \else
-      \if@ACM@authorversion
-          This is the author's version of the work. It is posted here for
-          your personal use. Not for redistribution. The definitive Version
-          of Record was published in
-          \if@ACM@journal@bibstrip
-            \emph{\@journalName}%
-          \else
-            \emph{\@acmBooktitle}%
-          \fi
-          \ifx\@acmDOI\@empty
-          .
-          \else
-            , \@formatdoi{\@acmDOI}.
-          \fi\\
-        \else
-          \if@ACM@nonacm\else
-            \if@ACM@journal@bibstrip
-              \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle
-              \ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\
-              \@formatdoi{\@acmDOI}%
-            \else % Conference
-              \ifx\@acmISBN\@empty\else ACM~ISBN~\@acmISBN
-              \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\\fi
-              \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi%
-            \fi
-          \fi
-        \fi
-      \fi}
-    \fi
-  \endgroup
-  \setcounter{footnote}{0}%
-  \@mkabstract
-  \if@ACM@printccs
-  \ifx\@concepts\@empty\else\bgroup
-      {\@specialsection{CCS Concepts}%
-         \noindent\@concepts\par}\egroup
-     \fi
-   \fi
-   \ifx\@keywords\@empty\else\bgroup
-      {\if@ACM@journal
-         \@specialsection{Additional Key Words and Phrases}%
-       \else
-         \@specialsection{Keywords}%
-       \fi
-         \noindent\@keywords}\par\egroup
-   \fi
-  \let\metadata@authors=\authors
-  \nxandlist{, }{, }{, }\metadata@authors
-  \def\@ACM@checkaffil{}%
-  \hypersetup{%
-    pdfauthor={\metadata@authors},
-    pdftitle={\@title},
-    pdfsubject={\@concepts},
-    pdfkeywords={\@keywords},
-    pdfcreator={LaTeX with acmart
-      \csname ver@acmart.cls\endcsname\space
-      and hyperref
-      \csname ver@hyperref.sty\endcsname}}%
-  \andify\authors
-  \andify\shortauthors
-  \global\let\authors=\authors
-  \global\let\shortauthors=\shortauthors
-  \if@ACM@printacmref
-     \@mkbibcitation
-  \fi
-  \global\@topnum\z@ % this prevents floats from falling
-                     % at the top of page 1
-  \global\@botnum\z@ % we do not want them to be on the bottom either
-  \@printendtopmatter
-  \@afterindentfalse
-  \@afterheading
-}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@specialsection}
-% \changes{v1.66}{2019/11/23}{Suppress warnings about \cs{vspace}}
-% \changes{v1.67}{2020/01/11}{Paragraph inside group does not print
-% its argument.  Added a bugfix}
-% \changes{v1.68}{2020/01/19}{Deleted grouping altogether}
-% \changes{v1.69}{2020/02/02}{Changed dot to colon for sigplan}
-%   This macro starts sections for proceedings and uses \cs{small} for journals
-%    \begin{macrocode}
-\def\@specialsection#1{%
-  \ifcase\ACM@format@nr
-  \relax % manuscript
-    \par\medskip\small\noindent#1: %
-  \or % acmsmall
-    \par\medskip\small\noindent#1: %
-  \or % acmlarge
-    \par\medskip\small\noindent#1: %
-  \or % acmtog
-    \par\medskip\small\noindent#1: %
-  \or % sigconf
-    \section*{#1}%
-  \or % siggraph
-    \section*{#1}%
-  \or % sigplan
-     \noindentparagraph*{#1:~}%
-  \or % sigchi
-    \section*{#1}%
-  \or % sigchi-a
-    \section*{#1}%
-    \fi
-}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\@printtopmatter}
-% \changes{v1.06}{2016/05/01}{Added processing badges}
-% \changes{v1.46}{2017/08/29}{Deleted rule}
-%   The printing of top matter starts a new page and uses the given
-%   title box.  Note that for |sigchi-a| we print badges here rather
-%   than in \cs{mktitle} since we want them in the margins.
-%    \begin{macrocode}
-\def\@printtopmatter{%
-  \ifx\@startPage\@empty
-     \gdef\@startPage{1}%
-  \else
-     \setcounter{page}{\@startPage}%
-  \fi
-  \thispagestyle{firstpagestyle}%
-  \noindent
-  \ifcase\ACM@format@nr
-  \relax % manuscript
-    \box\mktitle@bx\par
-  \or % acmsmall
-    \box\mktitle@bx\par
-  \or % acmlarge
-    \box\mktitle@bx\par
-  \or % acmtog
-    \twocolumn[\box\mktitle@bx]%
-  \or % sigconf
-    \twocolumn[\box\mktitle@bx]%
-  \or % siggraph
-    \twocolumn[\box\mktitle@bx]%
-  \or % sigplan
-    \twocolumn[\box\mktitle@bx]%
-  \or % sigchi
-    \twocolumn[\box\mktitle@bx]%
-  \or % sigchi-a
-    \par\box\mktitle@bx\par\bigskip
-    \if@ACM@badge
-       \marginpar{\noindent
-         \ifx\@acmBadgeL@image\@empty\else
-           \href{\@acmBadgeL@url}{%
-             \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}%
-            \hskip\@ACM@badge@skip
-          \fi
-         \ifx\@acmBadgeR@image\@empty\else
-           \href{\@acmBadgeR@url}{%
-             \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}%
-          \fi}%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@mktitle}
-%   The title of the article
-%    \begin{macrocode}
-\def\@mktitle{%
-  \ifcase\ACM@format@nr
-  \relax % manuscript
-    \@mktitle@i
-  \or % acmsmall
-    \@mktitle@i
-  \or % acmlarge
-    \@mktitle@i
-  \or % acmtog
-    \@mktitle@i
-  \or % sigconf
-    \@mktitle@iii
-  \or % siggraph
-    \@mktitle@iii
-  \or % sigplan
-    \@mktitle@iii
-  \or % sigchi
-    \@mktitle@iii
-  \or % sigchi-a
-    \@mktitle@iv
-  \fi
-}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@titlefont}
-% \changes{v1.06}{2016/05/01}{Added macro}
-% \changes{v1.45}{2017/08/15}{Switched \cs{bfeseries}\cs{sffamily} to
-% \cs{sffamily}\cs{bfseries}}
-%   The font to typeset the title
-%    \begin{macrocode}
-\def\@titlefont{%
-  \ifcase\ACM@format@nr
-  \relax % manuscript
-    \LARGE\sffamily\bfseries
-  \or % acmsmall
-    \LARGE\sffamily\bfseries
-  \or % acmlarge
-    \LARGE\sffamily\bfseries
-  \or % acmtog
-    \Huge\sffamily
-  \or % sigconf
-    \Huge\sffamily\bfseries
-  \or % siggraph
-    \Huge\sffamily\bfseries
-  \or % sigplan
-    \Huge\bfseries
-  \or % sigchi
-    \Huge\sffamily\bfseries
-  \or % sigchi-a
-     \Huge\bfseries
-  \fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@subtitlefont}
-% \changes{v1.06}{2016/05/01}{Added macro}
-% \changes{v1.33}{2017/03/12}{Added \cs{normalsize}}
-%   The font to typeset the subtitle
-%    \begin{macrocode}
-\def\@subtitlefont{\normalsize
-  \ifcase\ACM@format@nr
-  \relax % manuscript
-    \mdseries
-  \or % acmsmall
-    \mdseries
-  \or % acmlarge
-    \mdseries
-  \or % acmtog
-     \LARGE
-  \or % sigconf
-     \LARGE\mdseries
-  \or % siggraph
-     \LARGE\mdseries
-  \or % sigplan
-     \LARGE\mdseries
-  \or % sigchi
-     \LARGE\mdseries
-  \or % sigchi-a
-     \mdseries
-  \fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@mktitle@i}
-% \changes{v1.06}{2016/05/01}{Made generic}
-% \changes{v1.06}{2016/05/01}{Added processing badges}
-%   The version of \cs{mktitle} for most journals
-%    \begin{macrocode}
-\def\@mktitle@i{\hsize=\textwidth
-  \@ACM@title@width=\hsize
-  \ifx\@acmBadgeL@image\@empty\else
-    \advance\@ACM@title@width by -\@ACM@badge@width
-    \advance\@ACM@title@width by -\@ACM@badge@skip
-  \fi
-  \ifx\@acmBadgeR@image\@empty\else
-    \advance\@ACM@title@width by -\@ACM@badge@width
-    \advance\@ACM@title@width by -\@ACM@badge@skip
-  \fi
-  \setbox\mktitle@bx=\vbox{\noindent\@titlefont
-    \ifx\@acmBadgeL@image\@empty\else
-      \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{%
-          \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}%
-      \hskip\@ACM@badge@skip
-    \fi
-    \parbox[t]{\@ACM@title@width}{\raggedright
-      \@titlefont\noindent
-      \@title
-  \ifx\@subtitle\@empty\else
-    \par\noindent{\@subtitlefont\@subtitle}
-  \fi}%
-  \ifx\@acmBadgeR@image\@empty\else
-    \hskip\@ACM@badge@skip
-    \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{%
-        \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}%
-  \fi
-  \par\bigskip}}%
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@mktitle@ii}
-% \changes{v1.06}{2016/05/01}{Now this macro is obsolete}
-%   The version of \cs{mktitle} for TOG.  Since v1.06, this is subsumed by
-%   the \cs{mktitle@i} macro
-% \end{macro}
-%
-%
-% \begin{macro}{\@mktitle@iii}
-% \changes{v1.06}{2016/05/01}{Made more generic}
-% \changes{v1.06}{2016/05/01}{Added processing badges}
-%   The version of \cs{@mktitle} for SIG proceedings.  Note that since
-%   the title is centered, we leave space for the left badge even if
-%   only the right badge is defined.
-%    \begin{macrocode}
-\def\@mktitle@iii{\hsize=\textwidth
-    \setbox\mktitle@bx=\vbox{\@titlefont\centering
-      \@ACM@title@width=\hsize
-      \if@ACM@badge
-        \advance\@ACM@title@width by -2\@ACM@badge@width
-        \advance\@ACM@title@width by -2\@ACM@badge@skip
-        \parbox[b]{\@ACM@badge@width}{\strut
-          \ifx\@acmBadgeL@image\@empty\else
-            \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{%
-                \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}%
-          \fi}%
-        \hskip\@ACM@badge@skip
-      \fi
-      \parbox[t]{\@ACM@title@width}{\centering\@titlefont
-        \@title
-        \ifx\@subtitle\@empty\else
-          \par\noindent{\@subtitlefont\@subtitle}
-        \fi
-      }%
-      \if@ACM@badge
-        \hskip\@ACM@badge@skip
-        \parbox[b]{\@ACM@badge@width}{\strut
-          \ifx\@acmBadgeR@image\@empty\else
-            \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{%
-                \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}%
-          \fi}%
-      \fi
-      \par\bigskip}}%
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\@mktitle@iv}
-% \changes{v1.06}{2016/05/01}{Made more generic}
-%   The version of \cs{@mktitle} for |sigchi-a|
-%    \begin{macrocode}
-\def\@mktitle@iv{\hsize=\textwidth
-    \setbox\mktitle@bx=\vbox{\raggedright\leftskip5pc\@titlefont
-      \noindent\leavevmode\leaders\hrule height 2pt\hfill\kern0pt\par
-      \noindent\@title
-     \ifx\@subtitle\@empty\else
-       \par\noindent\@subtitlefont\@subtitle
-     \fi
-     \par\bigskip}}%
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@ACM@addtoaddress}
-% \changes{v1.15}{2016/07/03}{Added macro}
-% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
-%   This macro adds an item to the address using the following rules:
-%   \begin{enumerate}
-%   \item If we start a paragraph, add the item
-%   \item Otherwise, add a comma and the item
-%   \item However, the comma is deleted if it is at the end of a
-%   line.  We use the magic \cs{cleaders} trick for this.
-%   \end{enumerate}
-%    \begin{macrocode}
-\newbox\@ACM@commabox
-\def\@ACM@addtoaddress#1{%
-  \ifvmode\else
-    \if@ACM@affiliation@obeypunctuation\else
-    \setbox\@ACM@commabox=\hbox{, }%
-    \unskip\cleaders\copy\@ACM@commabox\hskip\wd\@ACM@commabox
-  \fi\fi
-  #1}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\institution}
-% \changes{v1.15}{2016/07/03}{Added macro}
-% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
-% \changes{v1.73}{2020/09/07}{Check the presence in affil}
-% \begin{macro}{\position}
-% \changes{v1.15}{2016/07/03}{Added macro}
-% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
-% \begin{macro}{\department}
-% \changes{v1.15}{2016/07/03}{Added macro}
-% \changes{v1.30}{2017/02/10}{Added optional parameter}
-% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
-% \begin{macro}{\streetaddress}
-% \changes{v1.15}{2016/07/03}{Added macro}
-% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
-% \changes{v1.40}{2017/06/15}{We now do not print this even in SIG}
-% \begin{macro}{\city}
-% \changes{v1.15}{2016/07/03}{Added macro}
-% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
-% \changes{v1.40}{2017/06/15}{We now do not print this even in SIG}
-% \changes{v1.73}{2020/09/07}{Check the presence in affil}
-% \begin{macro}{\state}
-% \changes{v1.15}{2016/07/03}{Added macro}
-% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
-% \changes{v1.40}{2017/06/15}{We now do not print this even in SIG}
-% \begin{macro}{\postcode}
-% \changes{v1.15}{2016/07/03}{Added macro}
-% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
-% \changes{v1.40}{2017/06/15}{We now do not print this even in SIG}
-% \begin{macro}{\country}
-% \changes{v1.15}{2016/07/03}{Added macro}
-% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
-% \changes{v1.40}{2017/05/27}{Fixed bugs with extra spaces}
-% \changes{v1.43}{2017/07/11}{Added comma before country for journals}
-% \changes{v1.46}{2017/08/30}{Corrected spacing for institution}
-% \changes{v1.73}{2020/09/07}{Check the presence in affil}
-%   Theoretically we can define the macros for \cs{affiliation} inside
-%   the \cs{@mkauthors}-style commands.  However, this would lead to a
-%   strange error if an author uses them outside \cs{affiliation}.  Of
-%   course we can make them produce an error message, but\ldots
-%    \begin{macrocode}
-\def\streetaddress#1{\unskip\ignorespaces}
-\def\postcode#1{\unskip\ignorespaces}
-\if@ACM@journal
-  \def\position#1{\unskip\ignorespaces}
-  \def\institution#1{\global\@ACM@instpresenttrue
-    \unskip~#1\ignorespaces}
-  \def\city#1{\global\@ACM@citypresenttrue\unskip\ignorespaces}
-  \def\state#1{\unskip\ignorespaces}
-  \newcommand\department[2][0]{\unskip\ignorespaces}
-  \def\country#1{\global\@ACM@countrypresenttrue
-    \if@ACM@affiliation@obeypunctuation\else, \fi#1\ignorespaces}
-\else
-  \def\position#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
-  \def\institution#1{\global\@ACM@instpresenttrue
-    \if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
-  \newcommand\department[2][0]{\if@ACM@affiliation@obeypunctuation
-    #2\else#2\par\fi}%
-%  \def\streetaddress#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
-  \def\city#1{\global\@ACM@citypresenttrue\@ACM@addtoaddress{#1}}%
-  \let\state\@ACM@addtoaddress
-%  \def\postcode#1{\if@ACM@affiliation@obeypunctuation#1\else\unskip\space#1\fi}%
-  \def\country#1{\global\@ACM@countrypresenttrue\@ACM@addtoaddress{#1}}%
-\fi
-%    \end{macrocode}
-%
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@mkauthors}
-% \changes{v1.17}{2016/07/09}{TOG now uses the same authors block as
-% other journals}
-%   Typesetting the authors
-%    \begin{macrocode}
-\def\@mkauthors{\begingroup
-  \hsize=\textwidth
-  \ifcase\ACM@format@nr
-  \relax % manuscript
-    \@mkauthors@i
-  \or % acmsmall
-    \@mkauthors@i
-  \or % acmlarge
-    \@mkauthors@i
-  \or % acmtog
-    \@mkauthors@i
-  \or % sigconf
-    \@mkauthors@iii
-  \or % siggraph
-    \@mkauthors@iii
-  \or % sigplan
-    \@mkauthors@iii
-  \or % sigchi
-    \@mkauthors@iii
-  \or % sigchi-a
-    \@mkauthors@iv
-  \fi
-  \endgroup
-}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@authorfont}
-%   Somehow different conferences use different fonts for author
-%   names.  Why?
-%    \begin{macrocode}
-\def\@authorfont{\Large\sffamily}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@affiliationfont}
-%   Font for affiliations
-%    \begin{macrocode}
-\def\@affiliationfont{\normalsize\normalfont}
-%    \end{macrocode}
-% \end{macro}
-%
-% \changes{v1.13}{2016/06/06}{Font adjustments for acmsmall}
-% Adjusting fonts for different formats
-%    \begin{macrocode}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-  \def\@authorfont{\large\sffamily}
-  \def\@affiliationfont{\small\normalfont}
-\or % acmlarge
-\or % acmtog
-  \def\@authorfont{\LARGE\sffamily}
-  \def\@affiliationfont{\large}
-\or % sigconf
-  \def\@authorfont{\LARGE}
-  \def\@affiliationfont{\large}
-\or % siggraph
-  \def\@authorfont{\normalsize\normalfont}
-  \def\@affiliationfont{\normalsize\normalfont}
-\or % sigplan
-  \def\@authorfont{\Large\normalfont}
-  \def\@affiliationfont{\normalsize\normalfont}
-\or % sigchi
-  \def\@authorfont{\bfseries}
-  \def\@affiliationfont{\mdseries}
-\or % sigchi-a
-  \def\@authorfont{\bfseries}
-  \def\@affiliationfont{\mdseries}
-\fi
-%    \end{macrocode}
-%
-% \begin{macro}{\@typeset@author@line}
-% \changes{v1.18}{2016/07/12}{Added macro}
-%   At this point we have \cs{@currentauthors} and
-%   \cs{@currentaffiliations}.  We typeset them in the journal style
-%    \begin{macrocode}
-\def\@typeset@author@line{%
-  \andify\@currentauthors\par\noindent
-  \@currentauthors\def\@currentauthors{}%
-  \ifx\@currentaffiliations\@empty\else
-    \andify\@currentaffiliations
-      \unskip, {\@currentaffiliations}\par
-  \fi
-  \def\@currentaffiliations{}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\if@ACM@instpresent}
-% \changes{v1.73}{2020/09/07}{Added macro}
-% Whether the given affiliation has institution
-%    \begin{macrocode}
-\newif\if@ACM@instpresent
-\@ACM@instpresenttrue
-%    \end{macrocode}
-% 
-% \end{macro}
-%
-%
-% \begin{macro}{\if@ACM@citypresent}
-% \changes{v1.73}{2020/09/07}{Added macro}
-% Whether the given affiliation has city
-%    \begin{macrocode}
-\newif\if@ACM@citypresent
-\@ACM@citypresenttrue
-%    \end{macrocode}
-% 
-% \end{macro}
-% \begin{macro}{\if@ACM@countrypresent}
-% \changes{v1.73}{2020/09/07}{Added macro}
-% Whether the given affiliation has country
-%    \begin{macrocode}
-\newif\if@ACM@countrypresent
-\@ACM@countrypresenttrue
-%    \end{macrocode}
-% 
-% \end{macro}
-% 
-%
-% \begin{macro}{\@ACM@resetaffil}
-% \changes{v1.73}{2020/09/07}{Added macro}
-% Reset affiliation flags
-%    \begin{macrocode}
-\def\@ACM@resetaffil{%
-  \global\@ACM@instpresentfalse
-  \global\@ACM@citypresentfalse
-  \global\@ACM@countrypresentfalse
-}
-%    \end{macrocode}
-% 
-% \end{macro}
-%
-% \begin{macro}{\@ACM@checkaffil}
-% \changes{v1.73}{2020/09/07}{Added macro}
-% \changes{v1.75}{2020/11/15}{Changed warning to error for country}
-% Check affiliation flags
-%    \begin{macrocode}
-\def\@ACM@checkaffil{%
-  \if@ACM@instpresent\else
-  \ClassWarningNoLine{\@classname}{No institution present for an affiliation}%
-  \fi
-  \if@ACM@citypresent\else
-  \ClassWarningNoLine{\@classname}{No city present for an affiliation}%
-  \fi
-  \if@ACM@countrypresent\else
-  \ClassError{\@classname}{No country present for an affiliation}{ACM
-    requires each author to indicate their country using country macro.}%
-  \fi
-}
-%    \end{macrocode}
-% 
-% \end{macro}
-%
-%
-%
-%
-% \begin{macro}{\@mkauthors@i}
-% \changes{v1.18}{2016/07/12}{Now we andify affiliations}
-% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
-% \changes{v1.40}{2017/06/04}{Switched to MakeTextUppercase}
-% \changes{v1.73}{2020/09/07}{Check the presence of required elements
-% for affiliations}
-%   This version is used in most journal formats.  Note that \cs{and} between
-%   authors with the same affiliation becomes \verb*| and |:
-%    \begin{macrocode}
-\def\@mkauthors@i{%
-  \def\@currentauthors{}%
-  \def\@currentaffiliations{}%
-  \global\let\and\@typeset@author@line
-  \def\@author##1{%
-    \ifx\@currentauthors\@empty
-      \gdef\@currentauthors{\@authorfont\MakeTextUppercase{##1}}%
-    \else
-       \g@addto@macro{\@currentauthors}{\and\MakeTextUppercase{##1}}%
-    \fi
-    \gdef\and{}}%
-  \def\email##1##2{}%
-  \def\affiliation##1##2{%
-    \def\@tempa{##2}\ifx\@tempa\@empty\else
-       \ifx\@currentaffiliations\@empty
-          \gdef\@currentaffiliations{%
-            \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
-            \setkeys{@ACM@affiliation@}{##1}%
-            \@ACM@resetaffil
-            \@affiliationfont##2\@ACM@checkaffil}%
-       \else
-         \g@addto@macro{\@currentaffiliations}{\and
-           \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
-           \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
-           ##2\@ACM@checkaffil}%
-      \fi
-    \fi
-     \global\let\and\@typeset@author@line}%
-  \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par\medskip
-    \noindent\addresses\@typeset@author@line
-   \par\medskip}%
-}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@mkauthors@ii}
-% \changes{v1.17}{2016/07/09}{Deleted}
-%   The \cs{@mkauthors@ii} command was the version used in |acmtog|.
-%   It is no longer necessary.
-%
-% \end{macro}
-%
-% \begin{macro}{\author@bx}
-%   The box to put an individual author in
-%    \begin{macrocode}
-\newbox\author@bx
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\author@bx@wd}
-%   The width of the author box
-%    \begin{macrocode}
-\newdimen\author@bx@wd
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\author@bx@sep}
-%   The separation between author boxes
-%    \begin{macrocode}
-\newskip\author@bx@sep
-\author@bx@sep=1pc\relax
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@typeset@author@bx}
-% \changes{v1.15}{2016/07/04}{Moved to separate macro}
-% \changes{v1.61}{2019/05/26}{Added \cs{normalbaselines}}
-%   Typesetting the box with authors.  Note that in |sigchi-a| the box
-%   is not centered.
-%    \begin{macrocode}
-\def\@typeset@author@bx{\bgroup\hsize=\author@bx@wd
-  \def\and{\par}\normalbaselines
-  \global\setbox\author@bx=\vtop{\if@ACM@sigchiamode\else\centering\fi
-    \@authorfont\@currentauthors\par\@affiliationfont
-    \@currentaffiliation}\egroup
-  \box\author@bx\hspace{\author@bx@sep}%
-  \gdef\@currentauthors{}%
-  \gdef\@currentaffiliation{}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\@mkauthors@iii}
-% \changes{v1.15}{2016/07/04}{New authors system}
-% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
-% \changes{v1.36}{2017/05/12}{Added authorsperrow overrride}
-% \changes{v1.73}{2020/09/07}{Check the presence of required elements
-% for affiliations}
-%   The |sigconf| version.  Here we use a centered design with each
-%   author in a separate box.
-%    \begin{macrocode}
-\def\@mkauthors@iii{%
-%    \end{macrocode}
-% First, we need to determine the design of the author strip.  The
-% boxes are separated by \cs{author@bx@sep} plus two
-% \cs{author@bx@sep} margins.  This means that each box must be of
-% width $(\cs{textwidth}-\cs{author@bx@sep})/N-\cs{author@bx@sep}$,
-% where $N$ is the number of boxes per row.
-%    \begin{macrocode}
-  \author@bx@wd=\textwidth\relax
-  \advance\author@bx@wd by -\author@bx@sep\relax
-  \ifnum\@ACM@authorsperrow>0\relax
-    \divide\author@bx@wd by \@ACM@authorsperrow\relax
-  \else
-    \ifcase\num@authorgroups
-    \relax % 0?
-    \or  % 1=one author per row
-    \or  % 2=two authors per row
-       \divide\author@bx@wd by \num@authorgroups\relax
-    \or  % 3=three authors per row
-       \divide\author@bx@wd by \num@authorgroups\relax
-    \or  % 4=two authors per row (!)
-       \divide\author@bx@wd by 2\relax
-    \else % three authors per row
-       \divide\author@bx@wd by 3\relax
-    \fi
-  \fi
-  \advance\author@bx@wd by -\author@bx@sep\relax
-%    \end{macrocode}
-% Now, parsing of \cs{addresses}:
-%    \begin{macrocode}
-  \gdef\@currentauthors{}%
-  \gdef\@currentaffiliation{}%
-  \def\@author##1{\ifx\@currentauthors\@empty
-    \gdef\@currentauthors{\par##1}%
-  \else
-    \g@addto@macro\@currentauthors{\par##1}%
-  \fi
-  \gdef\and{}}%
-  \def\email##1##2{\ifx\@currentaffiliation\@empty
-    \gdef\@currentaffiliation{\bgroup
-      \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}%
-  \else
-    \g@addto@macro\@currentaffiliation{\par\bgroup
-      \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}%
-  \fi}%
-  \def\affiliation##1##2{\ifx\@currentaffiliation\@empty
-    \gdef\@currentaffiliation{%
-      \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
-      \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
-      ##2\@ACM@checkaffil}%
-  \else
-    \g@addto@macro\@currentaffiliation{\par
-      \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
-      \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
-      ##2\@ACM@checkaffil}%
-  \fi
-  \global\let\and\@typeset@author@bx
-}%
-%    \end{macrocode}
-% Actual typesetting is done by the \cs{and} macro:
-%    \begin{macrocode}
-  \hsize=\textwidth
-  \global\setbox\mktitle@bx=\vbox{\noindent
-    \box\mktitle@bx\par\medskip\leavevmode
-    \lineskip=1pc\relax\centering\hspace*{-1em}%
-    \addresses\let\and\@typeset@author@bx\and\par\bigskip}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\@mkauthors@iv}
-% \changes{v1.33}{2017/03/28}{Added obeypunctuation code}
-% \changes{v1.36}{2017/05/12}{Added authorsperrow overrride}
-% \changes{v1.73}{2020/09/07}{Check the presence of required elements
-% for affiliations}
-%   The |sigchi-a| version.  We put authors in the main text with
-%   no more than 2 authors per line, unless overriden.
-%    \begin{macrocode}
-\def\@mkauthors@iv{%
-%    \end{macrocode}
-% First, we need to determine the design of the author strip.  The
-% boxes are separated by \cs{author@bx@sep} plus two
-% \cs{author@bx@sep} margins.  This means that each box must be of
-% width $(\cs{textwidth}-\cs{author@bx@sep})/N-\cs{author@bx@sep}$,
-% where $N$ is the number of boxes per row.
-%    \begin{macrocode}
-  \author@bx@wd=\columnwidth\relax
-  \advance\author@bx@wd by -\author@bx@sep\relax
-  \ifnum\@ACM@authorsperrow>0\relax
-    \divide\author@bx@wd by \@ACM@authorsperrow\relax
-  \else
-    \ifcase\num@authorgroups
-    \relax % 0?
-    \or  % 1=one author per row
-    \else  % 2=two authors per row
-       \divide\author@bx@wd by 2\relax
-    \fi
-  \fi
-  \advance\author@bx@wd by -\author@bx@sep\relax
-%    \end{macrocode}
-% Now, parsing of \cs{addresses}:
-%    \begin{macrocode}
-  \gdef\@currentauthors{}%
-  \gdef\@currentaffiliation{}%
-  \def\@author##1{\ifx\@currentauthors\@empty
-    \gdef\@currentauthors{\par##1}%
-  \else
-    \g@addto@macro\@currentauthors{\par##1}%
-  \fi
-  \gdef\and{}}%
-  \def\email##1##2{\ifx\@currentaffiliation\@empty
-    \gdef\@currentaffiliation{\nolinkurl{##2}}%
-  \else
-    \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}%
-  \fi}%
-  \def\affiliation##1##2{\ifx\@currentaffiliation\@empty
-    \gdef\@currentaffiliation{%
-      \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
-      \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
-      ##2\@ACM@checkaffil}%
-  \else
-    \g@addto@macro\@currentaffiliation{\par
-      \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
-      \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
-      ##2\@ACM@checkaffil}%
-  \fi
-  \global\let\and\@typeset@author@bx}%
-%
-%    \end{macrocode}
-% Actual typesetting is done by the \cs{and} macro
-%    \begin{macrocode}
-    \bgroup\hsize=\columnwidth
-    \par\raggedright\leftskip=\z@
-    \lineskip=1pc\noindent
-    \addresses\let\and\@typeset@author@bx\and\par\bigskip\egroup}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@mkauthorsaddresses}
-% \changes{v1.46}{2017/08/27}{Introduced macro}
-% \changes{v1.65}{2019/10/13}{Deleted cs{@addpunct}}
-% Typesetting authors' addresses in the footnote style
-%    \begin{macrocode}
-\def\@mkauthorsaddresses{%
-  \ifnum\num@authors>1\relax
-  Authors' \else Author's \fi
-  \ifnum\num@authorgroups>1\relax
-  addresses: \else address: \fi
-  \bgroup
-  \def\streetaddress##1{\unskip, ##1}%
-  \def\postcode##1{\unskip, ##1}%
-  \def\position##1{\unskip\ignorespaces}%
-  \def\institution##1{\unskip, ##1}%
-  \def\city##1{\unskip, ##1}%
-  \def\state##1{\unskip, ##1}%
-  \renewcommand\department[2][0]{\unskip\@addpunct, ##2}%
-  \def\country##1{\unskip, ##1}%
-  \def\and{\unskip; }%
-  \def\@author##1{##1}%
-  \def\email##1##2{\unskip, \nolinkurl{##2}}%
-  \addresses
-  \egroup}
-%    \end{macrocode}
-%
-% \changes{1.66}{2019/12/18}{Added warning for missing addresses}
-%    \begin{macrocode}
-\AtEndDocument{\if@ACM@nonacm\else\if@ACM@journal
-  \ifx\@authorsaddresses\@empty
-  \ClassWarningNoLine{\@classname}{Authors'
-    addresses are mandatory for ACM journals}%
-  \fi\fi\fi}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@setaddresses}
-%   This is an |amsart| macro that we do not need.
-%    \begin{macrocode}
-\def\@setaddresses{}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\@authornotemark}
-% Adding a footnote mark to authors.  This version adds a ``normal''
-% footnote mark.
-%    \begin{macrocode}
-\def\@authornotemark{\g@addto@macro\@currentauthors{\footnotemark\relax}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@@authornotemark}
-% \changes{v1.39}{2017/05/14}{Added macro}
-% Adding a footnote mark to authors with a given number
-%    \begin{macrocode}
-\def\@@authornotemark#1{\g@addto@macro\@currentauthors{\footnotemark[#1]}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@mkteasers}
-% Typesetting the teasers
-% \changes{v1.56}{2018/11/1}{Added check for description}
-%    \begin{macrocode}
-\def\@mkteasers{%
-  \ifx\@teaserfigures\@empty\else
-    \def\@teaser##1{\par\bigskip\bgroup
-      \captionsetup{type=figure}##1\egroup\par}
-    \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par
-      \noindent\@Description@presentfalse
-      \@teaserfigures\par\if@Description@present\else
-         \global\@undescribed@imagestrue
-         \ClassWarning{\@classname}{A possible image without
-           description}\fi
-    \medskip}%    
-  \fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@mkabstract}
-% \changes{v1.19}{2016/07/28}{Include 'Abstract' in PDF bookmarks
-% (Matthew Fluet)}
-% \changes{v1.20}{2016/08/03}{Deleted spurious space}
-% \changes{v1.29}{2017/01/22}{Removed spurious indentation (John
-% Wickerson)}
-% \changes{v1.48}{2017/09/16}{Removed spurious indentation if abstract
-% is followed by an empty line}
-%   Typesetting the abstract
-%    \begin{macrocode}
-\def\@mkabstract{\bgroup
-  \ifx\@abstract\@lempty\else
-  {\phantomsection\addcontentsline{toc}{section}{Abstract}%
-    \if@ACM@journal
-       \everypar{\setbox\z@\lastbox\everypar{}}\small
-    \else
-      \section*{\abstractname}%
-    \fi
-   \ignorespaces\@abstract\par}%
-  \fi\egroup}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@mkbibcitation}
-% \changes{v1.17}{2016/07/10}{Changed format for sigs}
-% \changes{v1.17}{2016/07/10}{Added \cs{nobreak}}
-% \changes{v1.31}{2017/03/04}{Disabled linebreak}
-% \changes{v1.34}{2017/04/09}{Deleted DOI from doi numbers}
-% \changes{v1.44}{2017/07/30}{If the paper has just one page, use
-% `page' instead of `pages'}
-% \changes{v1.46}{2017/08/25}{Added subtitle}
-% \changes{v1.54}{2018/06/10}{Bug corrected (Ross Moore)}
-% \changes{v1.55}{2018/07/25}{Bug corrected}
-% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning}
-%   Print the |bibcitation| format
-%    \begin{macrocode}
-\def\@mkbibcitation{\bgroup
-  \let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig
-  \def\@pages@word{\ifnum\getrefnumber{TotPages}=1\relax page\else pages\fi}%
-  \def\footnotemark{}%
-  \def\\{\unskip{} \ignorespaces}%
-  \def\footnote{\ClassError{\@classname}{Please do not use footnotes
-      inside a \string\title{} or \string\author{} command! Use
-      \string\titlenote{} or \string\authornote{} instead!}}%
-  \def\@article@string{\ifx\@acmArticle\@empty{\ }\else,
-    Article~\@acmArticle\ \fi}%
-  \par\medskip\small\noindent{\bfseries ACM Reference Format:}\par\nobreak
-  \noindent\bgroup
-    \def\\{\unskip{}, \ignorespaces}\authors\egroup. \@acmYear. \@title
-  \ifx\@subtitle\@empty. \else: \@subtitle. \fi
-  \if@ACM@nonacm\else
-    % The 'nonacm' option disables 'printacmref' by default,
-    % and the present \@mkbibcitation definition is never used
-    % in this case. The conditional remains useful if the user
-    % explicitly sets \settopmatter{printacmref=true}.
-    \if@ACM@journal@bibstrip
-       \textit{\@journalNameShort}
-       \@acmVolume, \@acmNumber \@article@string (\@acmPubDate),
-       \ref{TotPages}~\@pages@word.
-    \else
-       In \textit{\@acmBooktitle}%
-       \ifx\@acmEditors\@empty\textit{.}\else
-         \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.%
-       \fi\
-       ACM, New York, NY, USA%
-         \@article@string\unskip, \ref{TotPages}~\@pages@word.
-    \fi
-  \fi
-  \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
-\par\egroup}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@printendtopmatter}
-% \changes{v1.46}{2017/08/28}{Made it \cs{par}\cs{bigskip} uniformly}
-% \changes{v1.58}{2019/01/23}{Deleted spurious \cs{vspace} warning}
-% \changes{v1.69}{2020/02/02}{Deleted grouping}
-%   End the top matter
-%    \begin{macrocode}
-\def\@printendtopmatter{%
-  \let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig
-  \par\bigskip
-  \let\@vspace\@vspace@acm
-  \let\@vspacer\@vspacer@acm
-  }
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@setthanks}
-%   We redefine \cs{\@setthanks} using \cs{long}
-%    \begin{macrocode}
-\def\@setthanks{\long\def\thanks##1{\par##1\@addpunct.}\thankses}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@setauthorsaddresses}
-% \changes{v1.46}{2018/08/25}{Introduced macro}
-%    \begin{macrocode}
-\def\@setauthorsaddresses{\@authorsaddresses\unskip\@addpunct.}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-%
-%\subsection{Headers and Footers}
-%\label{sec:head_foot}
-%
-% We use |fancyhdr| for our headers and footers:
-%    \begin{macrocode}
-\RequirePackage{fancyhdr}
-%    \end{macrocode}
-%
-% \begin{macro}{\ACM@restore@pagestyle}
-% \changes{v1.44}{2017/07/30}{Added macro}
-% The following code by Ross Moore protects against changes by
-% the |totpages| package:
-%    \begin{macrocode}
-\let\ACM@ps@plain\ps@plain
-\let\ACM@ps@myheadings\ps@myheadings
-\let\ACM@ps@headings\ps@headings
-\def\ACM@restore@pagestyle{%
-  \let\ps@plain\ACM@ps@plain
-  \let\ps@myheadings\ACM@ps@myheadings
-  \let\ps@headings\ACM@ps@headings}
-\AtBeginDocument{\ACM@restore@pagestyle}
-%    \end{macrocode}
-%
-%
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\ACM@linecount@bx}
-% \changes{v1.34}{2017/04/10}{Rulers now are continuous}
-% \changes{v1.40}{2017/05/27}{Work around a bug in xcolor: looks like
-% cmyk colors in boxes do not work}
-% \changes{v1.46}{2017/08/28}{Rearranged the code to get rid of
-% spurious underfull messages (Benjamin Byholm)}
-% \changes{v1.64}{2019/08/24}{Bug fix: made the spacing on the left
-% and the right size equal}
-%   This is the box displayed in review mode
-%    \begin{macrocode}
-\if@ACM@review
-  \newsavebox{\ACM@linecount@bx}
-  \newlength\ACM@linecount@bxht
-  \newcount\ACM@linecount
-  \ACM@linecount\@ne\relax
-  \def\ACM@mk@linecount{%
-    \savebox{\ACM@linecount@bx}[4em][t]{\parbox[t]{4em}{\normalfont
-        \normalsize
-        \setlength{\ACM@linecount@bxht}{0pt}%
-        \loop{\color{red}\scriptsize\the\ACM@linecount}\\
-        \global\advance\ACM@linecount by \@ne
-        \addtolength{\ACM@linecount@bxht}{\baselineskip}%
-        \ifdim\ACM@linecount@bxht<\textheight\repeat
-        {\color{red}\scriptsize\the\ACM@linecount}\hfill
-        \global\advance\ACM@linecount by \@ne}}}
-\fi
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\ACM@linecountL}
-% \changes{v1.33}{2017/03/29}{Renamed macro}
-% \changes{v1.34}{2017/04/10}{Rulers now are continuous}
-%   How to display the box on the left
-%    \begin{macrocode}
-\def\ACM@linecountL{%
-  \if@ACM@review
-  \ACM@mk@linecount
-  \begin{picture}(0,0)%
-    \put(-26,-22){\usebox{\ACM@linecount@bx}}%
-  \end{picture}%
-  \fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\ACM@linecountR}
-% \changes{v1.33}{2017/03/29}{Added macro}
-% \changes{v1.34}{2017/04/10}{Rulers now are continuous}
-% \changes{v1.69}{2020/02/02}{Do not increase numbers in one column format}
-%   How to display the box on the right.  In one column formats we do
-%   not step the numbers.
-%    \begin{macrocode}
-\def\ACM@linecountR{%
-  \if@ACM@review
-    \ifcase\ACM@format@nr
-    \relax % manuscript
-         \relax
-       \or % acmsmall
-         \relax
-       \or % acmlarge
-         \relax
-       \or % acmtog
-          \ACM@mk@linecount
-       \or % sigconf
-          \ACM@mk@linecount
-       \or % siggraph
-          \ACM@mk@linecount
-       \or % sigplan
-          \ACM@mk@linecount
-       \or % sigchi
-          \ACM@mk@linecount
-       \or % sigchi-a
-          \ACM@mk@linecount
-    \fi
-    \begin{picture}(0,0)%
-      \put(20,-22){\usebox{\ACM@linecount@bx}}%
-     \end{picture}%
-  \fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\ACM@timestamp}
-% \changes{v1.33}{2017/03/10}{Added macro (Michael D.~Adams)}
-% \changes{v1.33}{2017/03/28}{Added current page number}
-% \changes{v1.33}{2017/03/29}{Added submission id}
-% \changes{v1.48}{2017/09/16}{Fromatting change (Michael D.~Adams)}
-%  The timestamp system
-%    \begin{macrocode}
-\if@ACM@timestamp
-  % Subtracting 30 from \time gives us the effect of rounding down despite
-  % \numexpr rounding to nearest
-  \newcounter{ACM@time@hours}
-  \setcounter{ACM@time@hours}{\numexpr (\time - 30) / 60 \relax}
-  \newcounter{ACM@time@minutes}
-  \setcounter{ACM@time@minutes}{\numexpr \time - \theACM@time@hours * 60 \relax}
-  \newcommand\ACM@timestamp{%
-    \footnotesize%
-    \ifx\@acmSubmissionID\@empty\relax\else
-    Submission ID: \@acmSubmissionID.{ }%
-    \fi
-    \the\year-\two@digits{\the\month}-\two@digits{\the\day}{ }%
-    \two@digits{\theACM@time@hours}:\two@digits{\theACM@time@minutes}{. }%
-    Page \thepage\ of \@startPage--\pageref*{TotPages}.%
-  }
-\fi
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@shortauthors}
-% \changes{v1.15}{2016/07/04}{Introduced macro}
-% \changes{v1.54}{2016/06/23}{Added submission id in anonymous mode}
-%   Even if the author redefined \cs{shortauthors}, we do not print
-%   it in the headers when in anonymous mode:
-%    \begin{macrocode}
-\def\@shortauthors{%
-  \if@ACM@anonymous
-    Anon.
-    \ifx\@acmSubmissionID\@empty\else Submission Id: \@acmSubmissionID\fi
-  \else\shortauthors\fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@headfootfont}
-% \changes{v1.16}{2016/07/07}{Added macro}
-% \changes{v1.48}{2017/09/16}{Deleted unnecessary switch (Michael D.~Adams)}
-% \changes{v1.60}{2019/04/22}{Moved to footnotesize}
-%   The font to typeset header and footer text.
-%    \begin{macrocode}
-\def\@headfootfont{\sffamily\footnotesize}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{standardpagestyle}
-% \changes{v1.10}{2016/05/22}{Reversed folios location}
-% \changes{v1.13}{2016/06/06}{Suppressed folios if sig}
-% \changes{v1.13}{2016/06/06}{Added headers for sigs}
-% \changes{v1.13}{2016/06/06}{Expanded headers for sigchi-a}
-% \changes{v1.15}{2016/07/04}{Better handling of anonymous mode}
-% \changes{v1.16}{2016/07/07}{Customize header/footer text font}
-% \changes{v1.17}{2016/07/10}{Added paper title to sigs}
-% \changes{v1.29}{2017/01/22}{Corrected printfolios (Matthew Fluet)}
-% \changes{v1.33}{2017/03/10}{Added timestamp (Michael D.~Adams)}
-% \changes{v1.33}{2017/03/29}{Added right linecount for two-column formats}
-%   The page style for all pages but the first one
-% \changes{v1.51}{2018/04/05}{We now use journal abbreviation for
-% footers}
-% \changes{v1.59}{2019/04/20}{Added logic for conference papers using
-% journal format}
-% \changes{v1.59}{2019/04/20}{Moved page styles to \cs{AtBeginDocument}}
-%   The page style for all pages but the first one
-%    \begin{macrocode}
-\AtBeginDocument{%
-\fancypagestyle{standardpagestyle}{%
-  \fancyhf{}%
-  \renewcommand{\headrulewidth}{\z@}%
-  \renewcommand{\footrulewidth}{\z@}%
-  \def\@acmArticlePage{%
-    \ifx\@acmArticle\empty%
-      \if@ACM@printfolios\thepage\fi%
-    \else%
-      \@acmArticle\if@ACM@printfolios:\thepage\fi%
-    \fi%
-  }%
-  \if@ACM@journal@bibstrip
-    \ifcase\ACM@format@nr
-    \relax % manuscript
-      \fancyhead[LE]{\ACM@linecountL\if@ACM@printfolios\thepage\fi}%
-      \fancyhead[RO]{\if@ACM@printfolios\thepage\fi}%
-      \fancyhead[RE]{\@shortauthors}%
-      \fancyhead[LO]{\ACM@linecountL\shorttitle}%
-      \if@ACM@nonacm\else%
-        \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}
-      \fi%
-    \or % acmsmall
-      \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticlePage}%
-      \fancyhead[RO]{\@headfootfont\@acmArticlePage}%
-      \fancyhead[RE]{\@headfootfont\@shortauthors}%
-      \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
-      \if@ACM@nonacm\else%
-        \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
-        \@acmNumber, Article \@acmArticle.  Publication date: \@acmPubDate.}%
-      \fi
-    \or % acmlarge
-      \fancyhead[LE]{\ACM@linecountL\@headfootfont
-      \@acmArticlePage\quad\textbullet\quad\@shortauthors}%
-      \fancyhead[LO]{\ACM@linecountL}%
-      \fancyhead[RO]{\@headfootfont
-        \shorttitle\quad\textbullet\quad\@acmArticlePage}%
-      \if@ACM@nonacm\else%
-        \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
-        \@acmNumber, Article \@acmArticle.  Publication date: \@acmPubDate.}%
-      \fi
-    \or % acmtog
-      \fancyhead[LE]{\ACM@linecountL\@headfootfont
-        \@acmArticlePage\quad\textbullet\quad\@shortauthors}%
-      \fancyhead[LO]{\ACM@linecountL}%
-      \fancyhead[RE]{\ACM@linecountR}%
-      \fancyhead[RO]{\@headfootfont
-        \shorttitle\quad\textbullet\quad\@acmArticlePage\ACM@linecountR}%
-      \if@ACM@nonacm\else%
-        \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
-        \@acmNumber, Article \@acmArticle.  Publication date: \@acmPubDate.}%
-      \fi
-    \else % Proceedings
-      \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
-      \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
-      \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}%
-      \if@ACM@nonacm\else%
-        \fancyhead[LE]{\ACM@linecountL\@headfootfont\footnotesize
-          \acmConference@shortname,
-          \acmConference@date, \acmConference@venue}%
-        \fancyhead[RO]{\@headfootfont
-          \acmConference@shortname,
-          \acmConference@date, \acmConference@venue\ACM@linecountR}%
-      \fi
-    \fi
-  \else % Proceedings
-    \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
-    \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
-    \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}%
-    \if@ACM@nonacm\else%
-      \fancyhead[LE]{\ACM@linecountL\@headfootfont
-        \acmConference@shortname,
-        \acmConference@date, \acmConference@venue}%
-      \fancyhead[RO]{\@headfootfont
-        \acmConference@shortname,
-        \acmConference@date, \acmConference@venue\ACM@linecountR}%
-    \fi
-  \fi  
-  \if@ACM@sigchiamode
-     \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}%
-  \fi
-  \if@ACM@timestamp
-     \fancyfoot[LO,RE]{\ACM@timestamp}
-  \fi
-}%
-\pagestyle{standardpagestyle}
-}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@folio@wd}
-% \begin{macro}{\@folio@ht}
-% \begin{macro}{\@folio@voffset}
-% \begin{macro}{\@folio@max}
-%   Folio blob width, height, offsets and max number
-%    \begin{macrocode}
-\newdimen\@folio@wd
-\@folio@wd=\z@
-\newdimen\@folio@ht
-\@folio@ht=\z@
-\newdimen\@folio@voffset
-\@folio@voffset=\z@
-\def\@folio@max{1}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-  \@folio@wd=45.75pt\relax
-  \@folio@ht=1.25in\relax
-  \@folio@voffset=.2in\relax
-  \def\@folio@max{8}
-\or % acmlarge
-  \@folio@wd=43.25pt\relax
-  \@folio@ht=79pt\relax
-  \@folio@voffset=.55in\relax
-  \def\@folio@max{10}
-\fi
-%    \end{macrocode}
-%
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@folioblob}
-% \changes{v1.44}{2017/08/11}{Suppress the blob if acmArticleSeq is empty}
-% \changes{v1.45}{2017/08/15}{Switched \cs{bfeseries}\cs{sffamily} to
-% \cs{sffamily}\cs{bfseries}}
-%   The macro to typeset the folio blob.
-%    \begin{macrocode}
-\def\@folioblob{\@tempcnta=0\@acmArticleSeq\relax
-  \ifnum\@tempcnta=0\relax\else
-%    \end{macrocode}
-% First, we calculate \cs{@acmArticleSeq} modulo \cs{@folio@max}
-%    \begin{macrocode}
-  \loop
-     \ifnum\@tempcnta>\@folio@max\relax
-      \advance\@tempcnta by - \@folio@max
-   \repeat
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-    \advance\@tempcnta by -1\relax
-    \@tempdima=\@folio@ht\relax
-    \multiply\@tempdima by \the\@tempcnta\relax
-    \advance\@tempdima by -\@folio@voffset\relax
-    \begin{picture}(0,0)
-    \makebox[\z@]{\raisebox{-\@tempdima}{%
-        \rlap{%
-          \raisebox{-0.45\@folio@ht}[\z@][\z@]{%
-            \rule{\@folio@wd}{\@folio@ht}}}%
-        \parbox{\@folio@wd}{%
-          \centering
-          \textcolor{white}{\LARGE\sffamily\bfseries\@acmArticle}}}}
-  \end{picture}\fi}
-
-%    \end{macrocode}
-%
-%
-% \end{macro}
-%
-% \begin{macro}{firstpagestyle}
-% \changes{v1.33}{2017/03/10}{Added timestamp (Michael D.~Adams)}
-% \changes{v1.33}{2017/03/29}{Added right linecount for two-column
-% formats}
-% \changes{v1.51}{2018/04/05}{We now use journal abbreviation for
-% footers}
-% \changes{v1.59}{2019/04/20}{Added logic for conference papers using
-% journal format}
-% \changes{v1.59}{2019/04/20}{Moved page styles to \cs{AtBeginDocument}}
-%   The page style for the first page only.
-%    \begin{macrocode}
-\AtBeginDocument{%
-\fancypagestyle{firstpagestyle}{%
-  \fancyhf{}%
-  \renewcommand{\headrulewidth}{\z@}%
-  \renewcommand{\footrulewidth}{\z@}%
-  \if@ACM@journal@bibstrip
-    \ifcase\ACM@format@nr
-    \relax % manuscript
-      \fancyhead[L]{\ACM@linecountL}%
-      \fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}%
-      \if@ACM@nonacm\else%
-        \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}%
-      \fi%
-    \or % acmsmall
-      \if@ACM@nonacm\else%
-        \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
-        \@acmNumber, Article \@acmArticle.  Publication date:
-        \@acmPubDate.}%
-      \fi%
-      \fancyhead[LE]{\ACM@linecountL\@folioblob}%
-      \fancyhead[LO]{\ACM@linecountL}%
-      \fancyhead[RO]{\@folioblob}%
-      \fancyheadoffset[RO,LE]{0.6\@folio@wd}%
-    \or % acmlarge
-      \if@ACM@nonacm\else%
-        \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
-        \@acmNumber, Article \@acmArticle.  Publication date:
-        \@acmPubDate.}%
-      \fi%
-      \fancyhead[RO]{\@folioblob}%
-      \fancyhead[LE]{\ACM@linecountL\@folioblob}%
-      \fancyhead[LO]{\ACM@linecountL}%
-      \fancyheadoffset[RO,LE]{1.4\@folio@wd}%
-    \or % acmtog
-      \if@ACM@nonacm\else%
-        \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
-        \@acmNumber, Article \@acmArticle.  Publication date:
-        \@acmPubDate.}%
-      \fi%
-      \fancyhead[L]{\ACM@linecountL}%
-      \fancyhead[R]{\ACM@linecountR}%
-    \else % Conference proceedings
-      \fancyhead[L]{\ACM@linecountL}%
-      \fancyhead[R]{\ACM@linecountR}%
-      \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
-    \fi
-  \else
-    \fancyhead[L]{\ACM@linecountL}%
-    \fancyhead[R]{\ACM@linecountR}%
-    \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
-  \fi
-  \if@ACM@timestamp
-    \ifnum\ACM@format@nr=0\relax % Manuscript
-    \fancyfoot[LO,RE]{\ACM@timestamp\quad
-      \if@ACM@nonacm\else
-        \footnotesize Manuscript submitted to ACM
-      \fi}
-    \else
-    \fancyfoot[LO,RE]{\ACM@timestamp}
-    \fi
-  \fi
-}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-%\subsection{Sectioning}
-%\label{sec:sectioninng}
-%
-% \begin{macro}{\ACM@NRadjust}
-% \changes{v1.54}{2018/06/17}{Added macro}
-% Ross Moore's macro.
-% \begin{quotation}
-%   Initially |\ACM@sect@format@| just passes through its |#1|
-%   argument unchanged.
-% When a sectioning macro such as |\section| occurs, the
-% |\ACM@NRadjust| redefines |\ACM@sect@format@| to expand into the
-% styling commands; e.g., |\@secfont|.
-% Then |\Sectionformat| is temporarily redefined to produce
-% |\realSectionformat{\ACM@sect@format{#1}}{#2}|, which ultimately
-% becomes |\Sectionformat{\@secfont{#1}}{#2}|.
-% This is done to allow |\Sectionformat| to be variable, as may be
-% needed in particular circumstances. Its current expansion is saved
-% as |\realSectionformat| which is used with the modified 1st argument,
-% then |\Sectionformat| is reverted to its former expansion.
-%
-% To style the section-number, the line |#1{}| is used at the end of
-% |\ACM@NRadjust|. This imposes style-changing commands for fonts and
-% sizes, but any |\MakeUppercase| acts on just the |{}|. It's a bit hacky,
-% by essentially assuming that only numbers occur here, not letters to
-% be case-changed. (This should be acceptable in a class-file, as it
-% ought to be possible to change the case elsewhere, if that was ever
-% desired.) Also, it can result in |\@adddotafter| being called too
-% soon, so a slight adjustment is made, via |\ACM@adddotafter|, which
-% now tests whether its argument is empty. But the coding has to allow
-% for other packages to have also patched |\@adddotafter|.
-% \end{quotation}
-%    \begin{macrocode}
-\def\ACM@NRadjust#1{%
- \begingroup
-  \expandafter\ifx\csname Sectionformat\endcsname\relax
-  % do nothing when  \Sectionformat  is unknown
-   \def\next{\endgroup #1}%
- \else
-  \def\next{\endgroup
-   \let\realSectionformat\Sectionformat
-   \def\ACM@sect@format@{#1}%
-   \let\Sectionformat\ACM@NR@adjustedSectionformat
- %%  next lines added 2018-06-17 to ensure section number is styled
-   \let\real@adddotafter\@adddotafter
-   \let\@adddotafter\ACM@adddotafter
-   #1{}% imposes the styles, but nullifies  \MakeUppercase
-   \let\@adddotafter\real@adddotafter
-  }%
- \fi \next
-}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\ACM@NR@adjustedSectionformat}
-% \changes{v1.54}{2018/06/17}{Added macro}
-%    \begin{macrocode}
-\def\ACM@NR@adjustedSectionformat#1#2{%
- \realSectionformat{\ACM@sect@format{#1}}{#2}%
- \let\Sectionformat\realSectionformat}
-\DeclareRobustCommand{\ACM@sect@format}{\ACM@sect@format@}
-\def\ACM@sect@format@null#1{#1}
-\let\ACM@sect@format@\ACM@sect@format@null
-\AtBeginDocument{%
- \expandafter\ifx\csname LTX@adddotafter\endcsname\relax
-  \let\LTX@adddotafter\@adddotafter
- \fi
-}
-%    \end{macrocode}
-%
-% \end{macro}
-% \begin{macro}{\ACM@adddotafter}
-% \changes{v1.54}{2018/06/17}{Added macro}
-%    \begin{macrocode}
-\def\ACM@adddotafter#1{\ifx\relax#1\relax\else\LTX@adddotafter{#1}\fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \changes{v1.54}{2018/05/27}{Deleted indent for subsubsection}
-% \changes{v1.54}{2018/06/17}{Added Ross's patch for sectioning}
-% \changes{v1.68}{2020/01/19}{New command for unindent paras}
-% \changes{v1.69}{2020/02/02}{No dots for unindented paragraphs}
-%   Sectioning is different for different levels
-%    \begin{macrocode}
-\renewcommand\section{\@startsection{section}{1}{\z@}%
-  {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
-  {.25\baselineskip}%
-  {\ACM@NRadjust\@secfont}}
-\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
-  {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
-  {.25\baselineskip}%
-  {\ACM@NRadjust\@subsecfont}}
-\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
-  {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
-  {-3.5\p@}%
-  {\ACM@NRadjust{\@subsubsecfont\@adddotafter}}}
-\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}%
-  {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
-  {-3.5\p@}%
-  {\ACM@NRadjust{\@parfont\@adddotafter}}}
-\newcommand\noindentparagraph{\@startsection{paragraph}{4}{\z@}%
-  {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
-  {-3.5\p@}%
-  {\ACM@NRadjust{\@parfont}}}
-
-\renewcommand\part{\@startsection{part}{9}{\z@}%
-  {-10\p@ \@plus -4\p@ \@minus -2\p@}%
-  {4\p@}%
-  {\ACM@NRadjust\@parfont}}
-%    \end{macrocode}
-%
-% \begin{macro}{\section@raggedright}
-%   \changes{v1.12}{2016/05/30}{Introduced macro}%
-%   Special version of \cs{raggedright} compatible with
-%   \cs{MakeUppercase}
-%    \begin{macrocode}
-\def\section@raggedright{\@rightskip\@flushglue
-  \rightskip\@rightskip
-  \leftskip\z@skip
-  \parindent\z@}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\@secfont}
-% \begin{macro}{\@subsecfont}
-% \begin{macro}{\@subsubsecfont}
-% \begin{macro}{\@parfont}
-%  \changes{v1.12}{2016/05/30}{Moved to \cs{section@raggedright}}%
-% \changes{v1.40}{2017/06/04}{Switched to MakeTextUppercase}
-% \changes{v1.45}{2017/08/15}{Switched \cs{bfeseries}\cs{sffamily} to
-% \cs{sffamily}\cs{bfseries}}
-% \changes{v1.67}{2020/01/11}{Deleted redefinitions of sections}
-% Fonts for sections etc. are different for different formats.
-%    \begin{macrocode}
-\def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
-\def\@subsecfont{\sffamily\bfseries\section@raggedright}
-\def\@subsubsecfont{\sffamily\itshape}
-\def\@parfont{\itshape}
-\setcounter{secnumdepth}{3}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
- \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase}
- \def\@subsecfont{\sffamily\large\section@raggedright}
-\or % acmtog
- \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase}
- \def\@subsecfont{\sffamily\large\section@raggedright}
-\or % sigconf
- \def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase}
- \def\@subsecfont{\bfseries\Large\section@raggedright}
-\or % siggraph
- \def\@secfont{\sffamily\bfseries\Large\section@raggedright\MakeTextUppercase}
- \def\@subsecfont{\sffamily\bfseries\Large\section@raggedright}
-\or % sigplan
- \def\@secfont{\bfseries\Large\section@raggedright}
- \def\@subsecfont{\bfseries\section@raggedright}
- \def\@subsubsecfont{\bfseries\section@raggedright}
- \def\@parfont{\bfseries\itshape}
- \def\@subparfont{\itshape}
-\or % sigchi
- \setcounter{secnumdepth}{1}
- \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
- \def\@subsecfont{\sffamily\bfseries\section@raggedright}
-\or % sigchi-a
- \setcounter{secnumdepth}{0}
- \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
- \def\@subsecfont{\sffamily\bfseries\section@raggedright}
-\fi
-%    \end{macrocode}
-%
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@adddotafter}
-%   Add punctuation after a sectioning command
-%    \begin{macrocode}
-\def\@adddotafter#1{#1\@addpunct{.}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@addspaceafter}
-%   Add space after a sectioning command
-%    \begin{macrocode}
-\def\@addspaceafter#1{#1\@addpunct{\enspace}}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%\subsection{TOC lists}
-%\label{sec:tocs}
-%
-% \begin{macro}{\@dotsep}
-% Related to the \cs{tableofcontents} are all the horizontal fillers. Base
-% \LaTeX\ defines \cs{@dottedtocline}, which we should not disable. Yet, this
-% command expects \cs{@dotsep} to be defined but leaves this to the class
-% implementation. Since |amsart| does not provide this, we copy the standard
-% variant from |article| here.
-%    \begin{macrocode}
-\providecommand*\@dotsep{4.5}
-%    \end{macrocode}
-% \end{macro}
-%
-%
-%
-%\subsection{Theorems}
-%\label{sec:theorems}
-%
-% \begin{macro}{\@acmplainbodyfont}
-%   The font to typeset the body of the |acmplain| theorem style.
-%    \begin{macrocode}
-\def\@acmplainbodyfont{\itshape}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@acmplainindent}
-%   The amount to indent the |acmplain| theorem style.
-%    \begin{macrocode}
-\def\@acmplainindent{\parindent}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@acmplainheadfont}
-%   The font to typeset the head of the |acmplain| theorem style.
-%    \begin{macrocode}
-\def\@acmplainheadfont{\scshape}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@acmplainnotefont}
-%   The font to typeset the note of the |acmplain| theorem style.
-%    \begin{macrocode}
-\def\@acmplainnotefont{\@empty}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% Customization of the |acmplain| theorem style:
-%    \begin{macrocode}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
-\or % acmtog
-\or % sigconf
-\or % siggraph
-\or % sigplan
-  \def\@acmplainbodyfont{\itshape}
-  \def\@acmplainindent{\z@}
-  \def\@acmplainheadfont{\bfseries}
-  \def\@acmplainnotefont{\normalfont}
-\or % sigchi
-\or % sigchi-a
-\fi
-%    \end{macrocode}
-%
-% \begin{macro}{acmplain}
-%   The |acmplain| theorem style
-%    \begin{macrocode}
-\newtheoremstyle{acmplain}%
-  {.5\baselineskip\@plus.2\baselineskip
-    \@minus.2\baselineskip}% space above
-  {.5\baselineskip\@plus.2\baselineskip
-    \@minus.2\baselineskip}% space below
-  {\@acmplainbodyfont}% body font
-  {\@acmplainindent}% indent amount
-  {\@acmplainheadfont}% head font
-  {.}% punctuation after head
-  {.5em}% spacing after head
-  {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmplainnotefont(#3)}}}% head spec
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\@acmdefinitionbodyfont}
-%   The font to typeset the body of the |acmdefinition| theorem style.
-%    \begin{macrocode}
-\def\@acmdefinitionbodyfont{\normalfont}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@acmdefinitionindent}
-%   The amount to indent the |acmdefinition| theorem style.
-%    \begin{macrocode}
-\def\@acmdefinitionindent{\parindent}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@acmdefinitionheadfont}
-%   The font to typeset the head of the |acmdefinition| theorem style.
-%    \begin{macrocode}
-\def\@acmdefinitionheadfont{\itshape}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@acmdefinitionnotefont}
-%   The font to typeset the note of the |acmdefinition| theorem style.
-%    \begin{macrocode}
-\def\@acmdefinitionnotefont{\@empty}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% Customization of the |acmdefinition| theorem style:
-%    \begin{macrocode}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
-\or % acmtog
-\or % sigconf
-\or % siggraph
-\or % sigplan
-  \def\@acmdefinitionbodyfont{\normalfont}
-  \def\@acmdefinitionindent{\z@}
-  \def\@acmdefinitionheadfont{\bfseries}
-  \def\@acmdefinitionnotefont{\normalfont}
-\or % sigchi
-\or % sigchi-a
-\fi
-%    \end{macrocode}
-%
-% \begin{macro}{acmdefinition}
-%   The |acmdefinition| theorem style
-%    \begin{macrocode}
-\newtheoremstyle{acmdefinition}%
-  {.5\baselineskip\@plus.2\baselineskip
-    \@minus.2\baselineskip}% space above
-  {.5\baselineskip\@plus.2\baselineskip
-    \@minus.2\baselineskip}% space below
-  {\@acmdefinitionbodyfont}% body font
-  {\@acmdefinitionindent}% indent amount
-  {\@acmdefinitionheadfont}% head font
-  {.}% punctuation after head
-  {.5em}% spacing after head
-  {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmdefinitionnotefont(#3)}}}% head spec
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% Make |acmplain| the default theorem style.
-%    \begin{macrocode}
-\theoremstyle{acmplain}
-%    \end{macrocode}
-%
-% Delay defining the theorem environments until after other packages
-% have been loaded.  In particular, the |cleveref| package must be
-% loaded before the theorem environments are defined in order to show
-% the correct environment name (see
-% \url{https://github.com/borisveytsman/acmart/issues/138}).  The |acmthm|
-% option is used to suppress the definition of any theorem
-% environments.  Also, to avoid obscure errors arising from these
-% environment definitions conflicting with environments defined by the
-% user or by user-loaded packages, we only define environments that
-% have not yet been defined.
-%    \begin{macrocode}
-\AtEndPreamble{%
-  \if@ACM@acmthm
-  \theoremstyle{acmplain}
-  \@ifundefined{theorem}{%
-  \newtheorem{theorem}{Theorem}[section]
-  }{}
-  \@ifundefined{conjecture}{%
-  \newtheorem{conjecture}[theorem]{Conjecture}
-  }{}
-  \@ifundefined{proposition}{%
-  \newtheorem{proposition}[theorem]{Proposition}
-  }{}
-  \@ifundefined{lemma}{%
-  \newtheorem{lemma}[theorem]{Lemma}
-  }{}
-  \@ifundefined{corollary}{%
-  \newtheorem{corollary}[theorem]{Corollary}
-  }{}
-  \theoremstyle{acmdefinition}
-  \@ifundefined{example}{%
-  \newtheorem{example}[theorem]{Example}
-  }{}
-  \@ifundefined{definition}{%
-  \newtheorem{definition}[theorem]{Definition}
-  }{}
-  \fi
-  \theoremstyle{acmplain}
-}
-%    \end{macrocode}
-%
-%
-% \begin{macro}{\@proofnamefont}
-%   The font to typeset the proof name.
-%    \begin{macrocode}
-\def\@proofnamefont{\scshape}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@proofindent}
-%   Whether or not to indent proofs.
-%    \begin{macrocode}
-\def\@proofindent{\indent}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% Customization of the proof environment.
-%    \begin{macrocode}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
-\or % acmtog
-\or % sigconf
-\or % siggraph
-\or % sigplan
-  \def\@proofnamefont{\itshape}
-  \def\@proofindent{\noindent}
-\or % sigchi
-\or % sigchi-a
-\fi
-%    \end{macrocode}
-%
-% \begin{macro}{proof}
-%   We want some customization of the proof environment.
-%    \begin{macrocode}
-\renewenvironment{proof}[1][\proofname]{\par
-  \pushQED{\qed}%
-  \normalfont \topsep6\p@\@plus6\p@\relax
-  \trivlist
-  \item[\@proofindent\hskip\labelsep
-        {\@proofnamefont #1\@addpunct{.}}]\ignorespaces
-}{%
-  \popQED\endtrivlist\@endpefalse
-}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-%
-%
-%\subsection{Balancing columns}
-%\label{sec:balancing}
-%
-% We need balancing only if the user did not disable it, and we use a
-% two column format
-%    \begin{macrocode}
-\AtEndPreamble{%
-  \if@ACM@balance
-    \ifcase\ACM@format@nr
-    \relax % manuscript
-         \global\@ACM@balancefalse
-       \or % acmsmall
-         \global\@ACM@balancefalse
-       \or % acmlarge
-         \global\@ACM@balancefalse
-       \or % acmtog
-          \RequirePackage{balance}%
-       \or % sigconf
-          \RequirePackage{balance}%
-       \or % siggraph
-          \RequirePackage{balance}%
-       \or % sigplan
-          \RequirePackage{balance}%
-       \or % sigchi
-          \RequirePackage{balance}%
-       \or % sigchi-a
-          \global\@ACM@balancefalse  
-    \fi
-  \fi
-}
-\AtEndDocument{%
-  \if@ACM@balance
-  \if@twocolumn
-  \balance
-  \fi\fi}
-%    \end{macrocode}
-% 
-%
-%\subsection{Acknowledgments}
-%\label{sec:acks}
-%
-% \begin{macro}{\acksname}
-% \changes{v1.56}{2018/10/16}{Added macro (Philip Quinn)}
-%    \begin{macrocode}
-\newcommand\acksname{Acknowledgments}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\acks}
-% \changes{v1.19}{2016/07/28}{Include 'Acknowledgements' in PDF bookmarks
-% (Matthew Fluet)}
-% \changes{v1.15}{2016/07/05}{Added macro}
-%   This is a |comment|-like structure
-%    \begin{macrocode}
-\specialcomment{acks}{%
-  \begingroup
-  \section*{\acksname}
-  \phantomsection\addcontentsline{toc}{section}{\acksname}
-}{%
-  \endgroup
-}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\grantsponsor}
-% \changes{v1.15}{2016/07/05}{Added macro}
-% \changes{v1.17}{2016/07/10}{Renamed}
-% We just typeset the name of the sponsor
-%    \begin{macrocode}
-\def\grantsponsor#1#2#3{#2}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\grantnum}
-% \changes{v1.15}{2016/07/05}{Added macro}
-% \changes{v1.17}{2016/07/10}{Added url}
-%    \begin{macrocode}
-\newcommand\grantnum[3][]{#3%
-  \def\@tempa{#1}\ifx\@tempa\@empty\else\space(\url{#1})\fi}
-%    \end{macrocode}
-%
-% \end{macro}
-%
-% \subsection{Conditional typesetting}
-% \label{sec:conditional}
-%
-% We use the |comment| package for conditional typesetting:
-%    \begin{macrocode}
-\AtEndPreamble{%
-\if@ACM@screen
-  \includecomment{screenonly}
-  \excludecomment{printonly}
-\else
-  \excludecomment{screenonly}
-  \includecomment{printonly}
-\fi
-\if@ACM@anonymous
-  \excludecomment{anonsuppress}
-  \excludecomment{acks}
-\else
-  \includecomment{anonsuppress}
-\fi}
-%    \end{macrocode}
-%
-% 
-%
-%\subsection{Additional bibliography commands}
-%\label{sec:bibliography}
-%
-% \begin{macro}{\showeprint}
-% \changes{v1.21}{2016/09/04}{Added macro}
-% The command \cs{showeprint} has two arguments: the (optional)
-% prefix and the eprint number.  Right now the only prefix we understand is
-% the (lowercase) word `arxiv'. 
-%    \begin{macrocode}
-\newcommand\showeprint[2][arxiv]{%
-  \def\@tempa{#1}%
-  \ifx\@tempa\@empty\def\@tempa{arxiv}\fi
-  \def\@tempb{arxiv}%
-  \ifx\@tempa\@tempb
-     arXiv:\href{https://arxiv.org/abs/#2}{#2}\else arXiv:#2%
-  \fi}
-%    \end{macrocode}
-%
-%
-% \end{macro}
-%
-%\subsection{End of Class}
-%\label{end}
-%
-% \begin{macro}{\vspace}
-% \changes{v1.57}{2018/12/16}{Added warning}
-% \changes{v1.58}{2019/01/23}{Preserved old versions as
-% \cs{@vspace@orig} and \cs{@vspace@orig}}
-% \changes{1.69}{2020/02/02}{Added the changed command to avoid grouping}
-% We do not disable \cs{vspace}, but add warning to it
-%    \begin{macrocode}
-\let\@vspace@orig=\@vspace
-\let\@vspacer@orig=\@vspacer
-\apptocmd{\@vspace}{\ClassWarning{\@classname}{\string\vspace\space should
-    only be used to provide space above/below surrounding
-    objects}}{}{} 
-\apptocmd{\@vspacer}{\ClassWarning{\@classname}{\string\vspace\space should
-    only be used to provide space above/below surrounding
-    objects}}{}{}
-\let\@vspace@acm=\@vspace
-\let\@vspacer@acm=\@vspacer
-%    \end{macrocode}
-% 
-% \end{macro}
-%
-%
-% \begin{macro}{\ACM@origbaselinestretch}
-% \changes{v1.57}{2018/12/16}{Added check whether the user changed
-% \cs{baselinestretch}}
-% We produce an error if the user tries to change \cs{baselinestretch}
-%    \begin{macrocode}
-\let\ACM@origbaselinestretch\baselinestretch
-\AtEndDocument{\ifx\baselinestretch\ACM@origbaselinestretch\else
-  \ClassError{\@classname}{An attempt to redefine
-    \string\baselinestretch\space detected.  Please do not do this for
-    ACM submissions!}\fi}
-%    \end{macrocode}
-% 
-% \end{macro}
-%
-% \changes{v1.30}{2017/02/10}{Added \cs{frenchspacing}}
-%    \begin{macrocode}
-\normalsize\normalfont\frenchspacing
-%</class>
-%    \end{macrocode}
-%
-%\Finale
-%\clearpage
-%
-%\PrintChanges
-%\clearpage
-%\PrintIndex
-%
-\endinput
diff --git a/docs/acmart.ins b/docs/acmart.ins
deleted file mode 100644
index d17dc066fd7f86023b4ea0e33aa75aef95b33857..0000000000000000000000000000000000000000
--- a/docs/acmart.ins
+++ /dev/null
@@ -1,30 +0,0 @@
-%
-% Doctrip file for acmart
-% This file is in public domain
-% $Id: acmart.ins,v 1.1 2015/11/23 22:42:55 boris Exp $
-%
-\def\batchfile{acmart.ins}
-\input docstrip
-\keepsilent
-\showprogress
-
-
-\askforoverwritefalse
-
-\generate{%
-  \file{acmart.cls}{\from{acmart.dtx}{class}}
-}
-
-\obeyspaces
-\Msg{*****************************************************}%
-\Msg{* Congratulations!  You successfully  generated the *}%
-\Msg{* acmart package.                                   *}%
-\Msg{*                                                   *}%
-\Msg{* Please move the file acmart.cls to where LaTeX    *}%
-\Msg{* files are stored in  your system.  The manual is  *}%
-\Msg{* acmart.pdf.                                       *}%
-\Msg{*                                                   *}%
-\Msg{* The package is released under LPPL                *}%
-\Msg{*                                                   *}%
-\Msg{* Happy TeXing!                                     *}%
-\Msg{*****************************************************}%
\ No newline at end of file
diff --git a/docs/acmart.pdf b/docs/acmart.pdf
deleted file mode 100644
index cc5e115836c6e397e12bbea0f975a7d6f5fa61c6..0000000000000000000000000000000000000000
Binary files a/docs/acmart.pdf and /dev/null differ
diff --git a/docs/comment.cut b/docs/comment.cut
index 5b2dff9f25353b62ffade8be6aed59a3b6bf7131..6048ce22a60657adbb768be4c90d5c2921d062ee 100644
--- a/docs/comment.cut
+++ b/docs/comment.cut
@@ -1 +1,3 @@
-To Robert, for the bagels and explaining CMYK and color spaces.
+    To Dr. László Szécsi, associate professor at the Computer Graphics Group
+    (Department of Control Engineering and Information Technology), whom I had
+    the chance to consult with during the semester.
diff --git a/docs/necessary/documentation.aux b/docs/documentation.aux
similarity index 100%
rename from docs/necessary/documentation.aux
rename to docs/documentation.aux
diff --git a/docs/necessary/documentation.log b/docs/documentation.log
similarity index 95%
rename from docs/necessary/documentation.log
rename to docs/documentation.log
index ace18efd116de948c23e1be34b3af9d213ddf189..7d6eec789f8b4b7a544a4439d5c31c9882accc6e 100644
--- a/docs/necessary/documentation.log
+++ b/docs/documentation.log
@@ -1,4 +1,4 @@
-This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2020.10.23)  7 DEC 2020 14:30
+This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2020.10.23)  7 DEC 2020 14:56
 entering extended mode
  restricted \write18 enabled.
  %&-line parsing enabled.
@@ -945,7 +945,7 @@ File: mt-msa.cfg 2006/02/04 v1.1 microtype config. file: AMS symbols (a) (RS)
 (/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msb.cfg
 File: mt-msb.cfg 2005/06/01 v1.0 microtype config. file: AMS symbols (b) (RS)
 )
-<teaser.png, id=51, 602.25pt x 401.5pt>
+<teaser.png, id=47, 602.25pt x 401.5pt>
 File: teaser.png Graphic file (type png)
 <use teaser.png>
 Package pdftex.def Info: teaser.png  used on input line 93.
@@ -1018,45 +1018,35 @@ Package atveryend Info: Empty hook `AfterLastShipout' on input line 168.
  (./documentation.aux)
 Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 168.
 Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 168.
-
-
-Package rerunfilecheck Warning: File `documentation.out' has changed.
-(rerunfilecheck)                Rerun to get outlines right
-(rerunfilecheck)                or use package `bookmark'.
-
-Package rerunfilecheck Info: Checksums for `documentation.out':
-(rerunfilecheck)             Before: C8CBE37651DDA4F66386A6C5AEF9BF5B;1612
-(rerunfilecheck)             After:  000E024C33539C590A731CD571800868;1667.
+Package rerunfilecheck Info: File `documentation.out' has not changed.
+(rerunfilecheck)             Checksum: 000E024C33539C590A731CD571800868;1667.
  ) 
 Here is how much of TeX's memory you used:
- 18946 strings out of 481239
- 283879 string characters out of 5920376
+ 18944 strings out of 481239
+ 283857 string characters out of 5920376
  582283 words of memory out of 5000000
- 33555 multiletter control sequences out of 15000+600000
+ 33554 multiletter control sequences out of 15000+600000
  644174 words of font info for 156 fonts, out of 8000000 for 9000
  1302 hyphenation exceptions out of 8191
  63i,11n,100p,804b,468s stack positions out of 5000i,500n,10000p,200000b,80000s
-pdfTeX warning (dest): name{appendix.B} has been referenced but does not exis
-t, replaced by a fixed one
-
-{/usr/share/texlive/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-4.enc}{/usr/sh
-are/texlive/texmf-dist/fonts/enc/dvips/libertine/lbtn_7grukw.enc}{/usr/share/te
-xlive/texmf-dist/fonts/enc/dvips/libertine/lbtn_naooyc.enc}{/usr/share/texlive/
-texmf-dist/fonts/enc/dvips/libertine/lbtn_ki75ao.enc}{/usr/share/texlive/texmf-
-dist/fonts/enc/dvips/libertine/lbtn_25tcsq.enc}{/usr/share/texlive/texmf-dist/f
-onts/enc/dvips/libertine/lbtn_76gpa5.enc}{/usr/share/texlive/texmf-dist/fonts/e
-nc/dvips/libertine/lbtn_nh77jq.enc}</usr/share/texlive/texmf-dist/fonts/type1/p
-ublic/inconsolata/Inconsolata-zi4r.pfb></usr/share/texlive/texmf-dist/fonts/typ
-e1/public/libertine/LinBiolinumT.pfb></usr/share/texlive/texmf-dist/fonts/type1
-/public/libertine/LinLibertineT.pfb></usr/share/texlive/texmf-dist/fonts/type1/
-public/libertine/LinLibertineTB.pfb></usr/share/texlive/texmf-dist/fonts/type1/
-public/libertine/LinLibertineTBI.pfb></usr/share/texlive/texmf-dist/fonts/type1
-/public/libertine/LinLibertineTI.pfb></usr/share/texlive/texmf-dist/fonts/type1
-/public/newtx/txsys.pfb>
-Output written on documentation.pdf (2 pages, 369625 bytes).
+{/usr/share/texlive/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-4.enc}{/usr/
+share/texlive/texmf-dist/fonts/enc/dvips/libertine/lbtn_7grukw.enc}{/usr/share/
+texlive/texmf-dist/fonts/enc/dvips/libertine/lbtn_naooyc.enc}{/usr/share/texliv
+e/texmf-dist/fonts/enc/dvips/libertine/lbtn_ki75ao.enc}{/usr/share/texlive/texm
+f-dist/fonts/enc/dvips/libertine/lbtn_25tcsq.enc}{/usr/share/texlive/texmf-dist
+/fonts/enc/dvips/libertine/lbtn_76gpa5.enc}{/usr/share/texlive/texmf-dist/fonts
+/enc/dvips/libertine/lbtn_nh77jq.enc}</usr/share/texlive/texmf-dist/fonts/type1
+/public/inconsolata/Inconsolata-zi4r.pfb></usr/share/texlive/texmf-dist/fonts/t
+ype1/public/libertine/LinBiolinumT.pfb></usr/share/texlive/texmf-dist/fonts/typ
+e1/public/libertine/LinLibertineT.pfb></usr/share/texlive/texmf-dist/fonts/type
+1/public/libertine/LinLibertineTB.pfb></usr/share/texlive/texmf-dist/fonts/type
+1/public/libertine/LinLibertineTBI.pfb></usr/share/texlive/texmf-dist/fonts/typ
+e1/public/libertine/LinLibertineTI.pfb></usr/share/texlive/texmf-dist/fonts/typ
+e1/public/newtx/txsys.pfb>
+Output written on documentation.pdf (2 pages, 369592 bytes).
 PDF statistics:
- 124 PDF objects out of 1000 (max. 8388607)
- 99 compressed objects within 1 object stream
- 20 named destinations out of 1000 (max. 500000)
- 30318 words of extra memory for PDF output out of 35830 (max. 10000000)
+ 120 PDF objects out of 1000 (max. 8388607)
+ 95 compressed objects within 1 object stream
+ 19 named destinations out of 1000 (max. 500000)
+ 30310 words of extra memory for PDF output out of 35830 (max. 10000000)
 
diff --git a/docs/necessary/documentation.out b/docs/documentation.out
similarity index 100%
rename from docs/necessary/documentation.out
rename to docs/documentation.out
diff --git a/docs/necessary/documentation.pdf b/docs/documentation.pdf
similarity index 98%
rename from docs/necessary/documentation.pdf
rename to docs/documentation.pdf
index 4fc2db7cc1fe77b95233f929b14ee280591ef7bc..d10d8de9c04e5ed84bda7610a4930dd66e265035 100644
Binary files a/docs/necessary/documentation.pdf and b/docs/documentation.pdf differ
diff --git a/docs/necessary/documentation.tex b/docs/documentation.tex
similarity index 100%
rename from docs/necessary/documentation.tex
rename to docs/documentation.tex
diff --git a/docs/necessary/acmart.cls b/docs/necessary/acmart.cls
deleted file mode 100644
index 49c56b215757876a8a5168d944019a12ec6208a1..0000000000000000000000000000000000000000
--- a/docs/necessary/acmart.cls
+++ /dev/null
@@ -1,3010 +0,0 @@
-%%
-%% This is file `acmart.cls',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% acmart.dtx  (with options: `class')
-%% 
-%% IMPORTANT NOTICE:
-%% 
-%% For the copyright see the source file.
-%% 
-%% Any modified versions of this file must be renamed
-%% with new filenames distinct from acmart.cls.
-%% 
-%% For distribution of the original source see the terms
-%% for copying and modification in the file acmart.dtx.
-%% 
-%% This generated file may be distributed as long as the
-%% original source files, as listed above, are part of the
-%% same distribution. (The sources need not necessarily be
-%% in the same archive or directory.)
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{acmart}
-[2020/11/15 v1.75 Typesetting articles for the Association for Computing Machinery]
-\def\@classname{acmart}
-\InputIfFileExists{acmart-preload-hook.tex}{%
-  \ClassWarning{\@classname}{%
-    I am loading acmart-preload-hook.tex. You are fully responsible
-    for any problems from now on.}}{}
-\RequirePackage{xkeyval}
-\RequirePackage{xstring}
-\RequirePackage{iftex}
-\define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{%
-  manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph,
-  sigplan, sigchi, sigchi-a}[manuscript]{}{%
-  \ClassError{\@classname}{The option format must be manuscript,
-    acmsmall, acmlarge, acmtog, sigconf, siggraph,
-    sigplan, sigchi or sigchi-a}}
-\def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{acmart.cls}{format=#1}}}
-\@DeclareACMFormat{manuscript}
-\@DeclareACMFormat{acmsmall}
-\@DeclareACMFormat{acmlarge}
-\@DeclareACMFormat{acmtog}
-\@DeclareACMFormat{sigconf}
-\@DeclareACMFormat{siggraph}
-\@DeclareACMFormat{sigplan}
-\@DeclareACMFormat{sigchi}
-\@DeclareACMFormat{sigchi-a}
-\ExecuteOptionsX{format}
-\define@boolkey+{acmart.cls}[@ACM@]{screen}[true]{%
-  \if@ACM@screen
-    \PackageInfo{\@classname}{Using screen mode}%
-  \else
-    \PackageInfo{\@classname}{Not using screen mode}%
-  \fi}{\PackageError{\@classname}{The option screen can be either true or
-    false}}
-\ExecuteOptionsX{screen=false}
-\define@boolkey+{acmart.cls}[@ACM@]{urlbreakonhyphens}[true]{%
-  \if@ACM@urlbreakonhyphens
-    \PackageInfo{\@classname}{Using breaking urls on hyphens}%
-  \else
-    \PackageInfo{\@classname}{Not breaking urls on hyphens}%
-  \fi}{\PackageError{\@classname}{The option urlbreakonhyphens can be either true or
-    false}}
-\ExecuteOptionsX{urlbreakonhyphens=true}
-\define@boolkey+{acmart.cls}[@ACM@]{acmthm}[true]{%
-  \if@ACM@acmthm
-    \PackageInfo{\@classname}{Requiring acmthm}%
-  \else
-    \PackageInfo{\@classname}{Suppressing acmthm}%
-  \fi}{\PackageError{\@classname}{The option acmthm can be either true or
-    false}}
-\ExecuteOptionsX{acmthm=true}
-\define@boolkey+{acmart.cls}[@ACM@]{review}[true]{%
-  \if@ACM@review
-    \PackageInfo{\@classname}{Using review mode}%
-    \AtBeginDocument{\@ACM@printfoliostrue}%
-  \else
-    \PackageInfo{\@classname}{Not using review mode}%
-  \fi}{\PackageError{\@classname}{The option review can be either true or
-    false}}
-\ExecuteOptionsX{review=false}
-\define@boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{%
-  \if@ACM@authorversion
-    \PackageInfo{\@classname}{Using authorversion mode}%
-  \else
-    \PackageInfo{\@classname}{Not using authorversion mode}%
-  \fi}{\PackageError{\@classname}{The option authorversion can be either true or
-    false}}
-\ExecuteOptionsX{authorversion=false}
-\define@boolkey+{acmart.cls}[@ACM@]{nonacm}[true]{%
-  \if@ACM@nonacm
-    \PackageInfo{\@classname}{Using nonacm mode}%
-    \AtBeginDocument{\@ACM@printacmreffalse}%
-    % in 'nonacm' mode we disable the "ACM Reference Format"
-    % printing by default, but this can be re-enabled by the
-    % user using \settopmatter{printacmref=true}
-  \else
-    \PackageInfo{\@classname}{Not using nonacm mode}%
-  \fi}{\PackageError{\@classname}{The option nonacm can be either true or
-    false}}
-\ExecuteOptionsX{nonacm=false}
-\define@boolkey+{acmart.cls}[@ACM@]{balance}[true]{}{%
-  \PackageError{\@classname}{The option balance can be either true or
-    false}}
-\ExecuteOptionsX{balance}
-\define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{%
-  \if@ACM@natbib
-    \PackageInfo{\@classname}{Explicitly selecting natbib mode}%
-  \else
-    \PackageInfo{\@classname}{Explicitly deselecting natbib mode}%
-  \fi}{\PackageError{\@classname}{The option natbib can be either true or
-    false}}
-\ExecuteOptionsX{natbib=true}
-\define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{%
-  \if@ACM@anonymous
-    \PackageInfo{\@classname}{Using anonymous mode}%
-  \else
-    \PackageInfo{\@classname}{Not using anonymous mode}%
-  \fi}{\PackageError{\@classname}{The option anonymous can be either true or
-    false}}
-\ExecuteOptionsX{anonymous=false}
-\define@boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{%
-  \if@ACM@timestamp
-    \PackageInfo{\@classname}{Using timestamp mode}%
-  \else
-    \PackageInfo{\@classname}{Not using timestamp mode}%
-  \fi}{\PackageError{\@classname}{The option timestamp can be either true or
-    false}}
-\ExecuteOptionsX{timestamp=false}
-\define@boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{%
-  \if@ACM@authordraft
-    \PackageInfo{\@classname}{Using authordraft mode}%
-    \@ACM@timestamptrue
-    \@ACM@reviewtrue
-  \else
-    \PackageInfo{\@classname}{Not using authordraft mode}%
-  \fi}{\PackageError{\@classname}{The option authordraft can be either true or
-    false}}
-\ExecuteOptionsX{authordraft=false}
-\def\ACM@fontsize{}
-\DeclareOptionX{9pt}{\edef\ACM@fontsize{\CurrentOption}}
-\DeclareOptionX{10pt}{\edef\ACM@fontsize{\CurrentOption}}
-\DeclareOptionX{11pt}{\edef\ACM@fontsize{\CurrentOption}}
-\DeclareOptionX{12pt}{\edef\ACM@fontsize{\CurrentOption}}
-\DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{amsart}}
-\DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}}
-\ProcessOptionsX
-\ClassInfo{\@classname}{Using format \ACM@format, number \ACM@format@nr}
-\newif\if@ACM@manuscript
-\newif\if@ACM@journal
-\newif\if@ACM@journal@bibstrip
-\newif\if@ACM@sigchiamode
-\ifnum\ACM@format@nr=5\relax % siggraph
-\ClassWarning{\@classname}{%
-  The format siggraph is now obsolete.\MessageBreak
-  I am switching to sigconf.}
-  \setkeys{acmart.cls}{format=sigconf}
-\fi
-\ifnum\ACM@format@nr=7\relax % sigchi
-\ClassWarning{\@classname}{%
-  The format sigchi is now obsolete.\MessageBreak
-  I am switching to sigconf.}
-  \setkeys{acmart.cls}{format=sigconf}
-\fi
-\ifnum\ACM@format@nr=8\relax % sigchi
-\ClassWarning{\@classname}{%
-  ACM SIGCHI has retired the SIGCHI-A template\MessageBreak
-  effective immediately. ACM is keeping this template\MessageBreak
-  option available to authors who are working on legacy\MessageBreak
-  documents only. ACM will not, under any circumstances,\MessageBreak
-  accept documents in this format for publication and\MessageBreak
-  will not offer technical support to the authors who use\MessageBreak
-  this template.\MessageBreak
-  ACM SIGCHI is directing Conference leaders and\MessageBreak
-  authors to publish their articles using the SIGCONF\MessageBreak
-  template call.}
-\fi
-\ifnum\ACM@format@nr=0\relax
-  \@ACM@manuscripttrue
-\else
-  \@ACM@manuscriptfalse
-\fi
-\@ACM@sigchiamodefalse
-\ifcase\ACM@format@nr
-\relax % manuscript
-  \@ACM@journaltrue
-\or % acmsmall
-  \@ACM@journaltrue
-\or % acmlarge
-  \@ACM@journaltrue
-\or % acmtog
-  \@ACM@journaltrue
-\or % sigconf
-  \@ACM@journalfalse
-\or % siggraph
-  \@ACM@journalfalse
- \or % sigplan
-  \@ACM@journalfalse
- \or % sigchi
-  \@ACM@journalfalse
-\or % sigchi-a
-  \@ACM@journalfalse
-  \@ACM@sigchiamodetrue
-\fi
-\if@ACM@journal
- \@ACM@journal@bibstriptrue
-\else
- \@ACM@journal@bibstripfalse
-\fi
-\ifx\ACM@fontsize\@empty
-  \ifcase\ACM@format@nr
-  \relax % manuscript
-    \def\ACM@fontsize{9pt}%
-  \or % acmsmall
-    \def\ACM@fontsize{10pt}%
-  \or % acmlarge
-    \def\ACM@fontsize{10pt}%
-  \or % acmtog
-    \def\ACM@fontsize{9pt}%
-  \or % sigconf
-    \def\ACM@fontsize{9pt}%
-  \or % siggraph
-    \def\ACM@fontsize{9pt}%
-   \or % sigplan
-    \def\ACM@fontsize{10pt}%
-   \or % sigchi
-    \def\ACM@fontsize{9pt}%
-  \or % sigchi-a
-    \def\ACM@fontsize{10pt}%
-  \fi
-\fi
-\ClassInfo{\@classname}{Using fontsize \ACM@fontsize}
-\LoadClass[\ACM@fontsize, reqno]{amsart}
-\RequirePackage{microtype}
-\RequirePackage{etoolbox}
-\RequirePackage{booktabs}
-\RequirePackage{refcount}
-\RequirePackage{totpages}
-\RequirePackage{environ}
-\if@ACM@manuscript
-\RequirePackage{setspace}
-\onehalfspacing
-\fi
-\RequirePackage{textcase}
-\if@ACM@natbib
-  \RequirePackage{natbib}
-  \renewcommand{\bibsection}{%
-     \section*{\refname}%
-     \phantomsection\addcontentsline{toc}{section}{\refname}%
-  }
-  \renewcommand{\bibfont}{\bibliofont}
-  \renewcommand\setcitestyle[1]{
-  \@for\@tempa:=#1\do
-  {\def\@tempb{round}\ifx\@tempa\@tempb
-     \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi
-   \def\@tempb{square}\ifx\@tempa\@tempb
-     \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi
-   \def\@tempb{angle}\ifx\@tempa\@tempb
-     \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi
-   \def\@tempb{curly}\ifx\@tempa\@tempb
-     \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi
-   \def\@tempb{semicolon}\ifx\@tempa\@tempb
-     \renewcommand\NAT@sep{;}\fi
-   \def\@tempb{colon}\ifx\@tempa\@tempb
-     \renewcommand\NAT@sep{;}\fi
-   \def\@tempb{comma}\ifx\@tempa\@tempb
-     \renewcommand\NAT@sep{,}\fi
-   \def\@tempb{authoryear}\ifx\@tempa\@tempb
-     \NAT@numbersfalse\fi
-   \def\@tempb{numbers}\ifx\@tempa\@tempb
-     \NAT@numberstrue\NAT@superfalse\fi
-   \def\@tempb{super}\ifx\@tempa\@tempb
-     \NAT@numberstrue\NAT@supertrue\fi
-   \def\@tempb{nobibstyle}\ifx\@tempa\@tempb
-     \let\bibstyle=\@gobble\fi
-   \def\@tempb{bibstyle}\ifx\@tempa\@tempb
-     \let\bibstyle=\@citestyle\fi
-   \def\@tempb{sort}\ifx\@tempa\@tempb
-     \def\NAT@sort{\@ne}\fi
-   \def\@tempb{nosort}\ifx\@tempa\@tempb
-     \def\NAT@sort{\z@}\fi
-   \def\@tempb{compress}\ifx\@tempa\@tempb
-     \def\NAT@cmprs{\@ne}\fi
-   \def\@tempb{nocompress}\ifx\@tempa\@tempb
-     \def\NAT@cmprs{\z@}\fi
-   \def\@tempb{sort&compress}\ifx\@tempa\@tempb
-     \def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}\fi
-   \def\@tempb{mcite}\ifx\@tempa\@tempb
-     \let\NAT@merge\@ne\fi
-   \def\@tempb{merge}\ifx\@tempa\@tempb
-     \@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}\fi
-   \def\@tempb{elide}\ifx\@tempa\@tempb
-     \@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}\fi
-   \def\@tempb{longnamesfirst}\ifx\@tempa\@tempb
-     \NAT@longnamestrue\fi
-   \def\@tempb{nonamebreak}\ifx\@tempa\@tempb
-     \def\NAT@nmfmt#1{\mbox{\NAT@up#1}}\fi
-   \expandafter\NAT@find@eq\@tempa=\relax\@nil
-   \if\@tempc\relax\else
-     \expandafter\NAT@rem@eq\@tempc
-     \def\@tempb{open}\ifx\@tempa\@tempb
-      \xdef\NAT@open{\@tempc}\fi
-     \def\@tempb{close}\ifx\@tempa\@tempb
-      \xdef\NAT@close{\@tempc}\fi
-     \def\@tempb{aysep}\ifx\@tempa\@tempb
-      \xdef\NAT@aysep{\@tempc}\fi
-     \def\@tempb{yysep}\ifx\@tempa\@tempb
-      \xdef\NAT@yrsep{\@tempc}\fi
-     \def\@tempb{notesep}\ifx\@tempa\@tempb
-      \xdef\NAT@cmt{\@tempc}\fi
-     \def\@tempb{citesep}\ifx\@tempa\@tempb
-      \xdef\NAT@sep{\@tempc}\fi
-   \fi
-  }%
-  \NAT@@setcites
-  }
-  \renewcommand\citestyle[1]{%
-    \ifcsname bibstyle@#1\endcsname%
-    \csname bibstyle@#1\endcsname\let\bibstyle\@gobble%
-    \else%
-    \@latex@error{Undefined `#1' citestyle}%
-    \fi
-  }%
-\fi
-\newcommand{\bibstyle@acmauthoryear}{%
-  \setcitestyle{%
-    authoryear,%
-    open={[},close={]},citesep={;},%
-    aysep={},yysep={,},%
-    notesep={, }}}
-\newcommand{\bibstyle@acmnumeric}{%
-  \setcitestyle{%
-    numbers,sort&compress,%
-    open={[},close={]},citesep={,},%
-    notesep={, }}}
-\if@ACM@natbib
-\citestyle{acmnumeric}
-\fi
-\def\@startsection#1#2#3#4#5#6{%
-  \if@noskipsec \leavevmode \fi
-  \par
-  \@tempskipa #4\relax
-  \@afterindenttrue
-  \ifdim \@tempskipa <\z@
-    \@tempskipa -\@tempskipa \@afterindentfalse
-  \fi
-  \if@nobreak
-    \everypar{}%
-  \else
-    \addpenalty\@secpenalty\addvspace\@tempskipa
-  \fi
-  \@ifstar
-    {\@ssect{#3}{#4}{#5}{#6}}%
-    {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
-\def\@sect#1#2#3#4#5#6[#7]#8{%
-  \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}%
-  \ifnum #2>\c@secnumdepth
-    \let\@svsec\@empty
-  \else
-    \refstepcounter{#1}%
-    \protected@edef\@svsec{\@seccntformat{#1}\relax}%
-  \fi
-  \@tempskipa #5\relax
-  \ifdim \@tempskipa>\z@
-    \begingroup
-      #6{%
-        \@hangfrom{\hskip #3\relax\@svsec}%
-          \interlinepenalty \@M #8\@@par}%
-    \endgroup
-    \csname #1mark\endcsname{#7}%
-    \ifnum #2>\c@secnumdepth \else
-        \@tochangmeasure{\csname the#1\endcsname}%
-    \fi
-    \addcontentsline{toc}{#1}{%
-      \ifnum #2>\c@secnumdepth \else
-        \protect\numberline{\csname the#1\endcsname}%
-      \fi
-      #7}%
-  \else
-    \def\@svsechd{%
-      #6{\hskip #3\relax
-      \@svsec #8}%
-      \csname #1mark\endcsname{#7}%
-      \ifnum #2>\c@secnumdepth \else
-        \@tochangmeasure{\csname the#1\endcsname\space}%
-      \fi
-      \addcontentsline{toc}{#1}{%
-        \ifnum #2>\c@secnumdepth \else
-          \protect\numberline{\csname the#1\endcsname}%
-        \fi
-        #7}}%
-  \fi
-  \@xsect{#5}}
-\def\@xsect#1{%
-  \@tempskipa #1\relax
-  \ifdim \@tempskipa>\z@
-    \par \nobreak
-    \vskip \@tempskipa
-    \@afterheading
-  \else
-    \@nobreakfalse
-    \global\@noskipsectrue
-    \everypar{%
-      \if@noskipsec
-        \global\@noskipsecfalse
-       {\setbox\z@\lastbox}%
-        \clubpenalty\@M
-        \begingroup \@svsechd \endgroup
-        \unskip
-        \@tempskipa #1\relax
-        \hskip -\@tempskipa
-      \else
-        \clubpenalty \@clubpenalty
-        \everypar{}%
-      \fi}%
-  \fi
-  \ignorespaces}
-\def\@seccntformat#1{\csname the#1\endcsname\quad}
-\def\@ssect#1#2#3#4#5{%
-  \@tempskipa #3\relax
-  \ifdim \@tempskipa>\z@
-    \begingroup
-      #4{%
-        \@hangfrom{\hskip #1}%
-          \interlinepenalty \@M #5\@@par}%
-    \endgroup
-  \else
-    \def\@svsechd{#4{\hskip #1\relax #5}}%
-  \fi
-  \@xsect{#3}}
-\def\@starttoc#1#2{\begingroup\makeatletter
-  \setTrue{#1}%
-  \par\removelastskip\vskip\z@skip
-  \@startsection{section}\@M\z@{\linespacing\@plus\linespacing}%
-    {.5\linespacing}{\centering\contentsnamefont}{#2}%
-  \@input{\jobname.#1}%
-  \if@filesw
-    \@xp\newwrite\csname tf@#1\endcsname
-    \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax
-  \fi
-  \global\@nobreakfalse \endgroup
-  \addvspace{32\p@\@plus14\p@}%
-}
-\def\l@section{\@tocline{1}{0pt}{1pc}{2pc}{}}
-\def\l@subsection{\@tocline{2}{0pt}{1pc}{3pc}{}}
-\def\l@subsubsection{\@tocline{3}{0pt}{1pc}{5pc}{}}
-\def\@makefntext{\noindent\@makefnmark}
-\if@ACM@sigchiamode
-\long\def\@footnotetext#1{\marginpar{%
-    \reset@font\small
-    \interlinepenalty\interfootnotelinepenalty
-    \protected@edef\@currentlabel{%
-       \csname p@footnote\endcsname\@thefnmark
-    }%
-    \color@begingroup
-      \@makefntext{%
-        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
-    \color@endgroup}}%
-\fi
-\long\def\@mpfootnotetext#1{%
-  \global\setbox\@mpfootins\vbox{%
-    \unvbox\@mpfootins
-    \reset@font\footnotesize
-    \hsize\columnwidth
-    \@parboxrestore
-    \protected@edef\@currentlabel
-         {\csname p@mpfootnote\endcsname\@thefnmark}%
-    \color@begingroup\centering
-      \@makefntext{%
-        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
-    \color@endgroup}}
-\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}
-\let\@footnotemark@nolink\@footnotemark
-\let\@footnotetext@nolink\@footnotetext
-\RequirePackage[bookmarksnumbered,unicode]{hyperref}
-\pdfstringdefDisableCommands{%
-  \def\addtocounter#1#2{}%
-  \def\unskip{}%
-  \def\textbullet{- }%
-  \def\textrightarrow{ -> }%
-  \def\footnotemark{}%
-}
-\urlstyle{rm}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
-\or % acmtog
-\or % sigconf
-\or % siggraph
-\or % sigplan
-  \urlstyle{sf}
-\or % sigchi
-\or % sigchi-a
-  \urlstyle{sf}
-\fi
-\AtEndPreamble{%
-  \if@ACM@urlbreakonhyphens
-    \def\do@url@hyp{\do\-}%
-  \fi
-  \if@ACM@screen
-    \hypersetup{colorlinks,
-      linkcolor=ACMPurple,
-      citecolor=ACMPurple,
-      urlcolor=ACMDarkBlue,
-      filecolor=ACMDarkBlue}
-    \else
-    \hypersetup{hidelinks}
-  \fi
-  \hypersetup{pdflang={en},
-    pdfdisplaydoctitle}}
-\RequirePackage{hyperxmp}
-\if@ACM@natbib
-  \let\citeN\cite
-  \let\cite\citep
-  \let\citeANP\citeauthor
-  \let\citeNN\citeyearpar
-  \let\citeyearNP\citeyear
-  \let\citeNP\citealt
-  \DeclareRobustCommand\citeA
-     {\begingroup\NAT@swafalse
-       \let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}%
-  \providecommand\newblock{}%
-\else
-  \AtBeginDocument{%
-    \let\shortcite\cite%
-    \providecommand\citename[1]{#1}}
-\fi
-\newcommand\shortcite[2][]{%
-  \ifNAT@numbers\cite[#1]{#2}\else\citeyearpar[#1]{#2}\fi}
-\def\bibliographystyle#1{%
-  \ifx\@begindocumenthook\@undefined\else
-    \expandafter\AtBeginDocument
-  \fi
-    {\if@filesw
-       \immediate\write\@auxout{\string\bibstyle{#1}}%
-     \fi}}
-\RequirePackage{graphicx}
-\RequirePackage[prologue]{xcolor}
-\definecolor[named]{ACMBlue}{cmyk}{1,0.1,0,0.1}
-\definecolor[named]{ACMYellow}{cmyk}{0,0.16,1,0}
-\definecolor[named]{ACMOrange}{cmyk}{0,0.42,1,0.01}
-\definecolor[named]{ACMRed}{cmyk}{0,0.90,0.86,0}
-\definecolor[named]{ACMLightBlue}{cmyk}{0.49,0.01,0,0}
-\definecolor[named]{ACMGreen}{cmyk}{0.20,0,1,0.19}
-\definecolor[named]{ACMPurple}{cmyk}{0.55,1,0,0.15}
-\definecolor[named]{ACMDarkBlue}{cmyk}{1,0.58,0,0.21}
-\if@ACM@authordraft
-  \RequirePackage{draftwatermark}
-  \SetWatermarkFontSize{0.5in}
-  \SetWatermarkColor[gray]{.9}
-  \SetWatermarkText{\parbox{12em}{\centering
-      Unpublished working draft.\\
-      Not for distribution.}}
-\else
-  \if@ACM@sigchiamode
-    \if@ACM@nonacm\else
-      \RequirePackage{draftwatermark}
-      \SetWatermarkFontSize{0.5in}
-      \SetWatermarkColor[gray]{.9}
-      \SetWatermarkText{\parbox{12em}{\centering
-          Legacy document. \\
-          Not for publication in an ACM venue}}
-    \fi
-  \fi
-\fi
-\RequirePackage{geometry}
-\ifcase\ACM@format@nr
-\relax % manuscript
-   \geometry{letterpaper,head=13pt,
-   marginparwidth=6pc,heightrounded}%
-\or % acmsmall
-   \geometry{twoside=true,
-     includeheadfoot, head=13pt, foot=2pc,
-     paperwidth=6.75in, paperheight=10in,
-     top=58pt, bottom=44pt, inner=46pt, outer=46pt,
-     marginparwidth=2pc,heightrounded
-   }%
-\or % acmlarge
-   \geometry{twoside=true, head=13pt, foot=2pc,
-     paperwidth=8.5in, paperheight=11in,
-     includeheadfoot,
-     top=78pt, bottom=114pt, inner=81pt, outer=81pt,
-     marginparwidth=4pc,heightrounded
-     }%
-\or % acmtog
-   \geometry{twoside=true, head=13pt, foot=2pc,
-     paperwidth=8.5in, paperheight=11in,
-     includeheadfoot, columnsep=24pt,
-     top=52pt, bottom=75pt, inner=52pt, outer=52pt,
-     marginparwidth=2pc,heightrounded
-     }%
-\or % sigconf
-   \geometry{twoside=true, head=13pt,
-     paperwidth=8.5in, paperheight=11in,
-     includeheadfoot, columnsep=2pc,
-     top=57pt, bottom=73pt, inner=54pt, outer=54pt,
-     marginparwidth=2pc,heightrounded
-     }%
-\or % siggraph
-   \geometry{twoside=true, head=13pt,
-     paperwidth=8.5in, paperheight=11in,
-     includeheadfoot, columnsep=2pc,
-     top=57pt, bottom=73pt, inner=54pt, outer=54pt,
-     marginparwidth=2pc,heightrounded
-     }%
-\or % sigplan
-   \geometry{twoside=true, head=13pt,
-     paperwidth=8.5in, paperheight=11in,
-     includeheadfoot=false, columnsep=2pc,
-     top=1in, bottom=1in, inner=0.75in, outer=0.75in,
-     marginparwidth=2pc,heightrounded
-     }%
-\or % sigchi
-   \geometry{twoside=true, head=13pt,
-     paperwidth=8.5in, paperheight=11in,
-     includeheadfoot, columnsep=2pc,
-     top=66pt, bottom=73pt, inner=54pt, outer=54pt,
-     marginparwidth=2pc,heightrounded
-     }%
-\or % sigchi-a
-   \geometry{twoside=false, head=13pt,
-     paperwidth=11in, paperheight=8.5in,
-     includeheadfoot, marginparsep=72pt,
-     marginparwidth=170pt, columnsep=20pt,
-     top=72pt, bottom=72pt, left=314pt, right=72pt
-     }%
-     \@mparswitchfalse
-     \reversemarginpar
-\fi
-\setlength\parindent{10\p@}
-\setlength\parskip{\z@}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
-\or % acmtog
-  \setlength\parindent{9\p@}%
-\or % sigconf
-\or % siggraph
-\or % sigplan
-\or % sigchi
-\or % sigchi-a
-\fi
-\setlength\normalparindent{\parindent}
-\def\copyrightpermissionfootnoterule{}
-\RequirePackage{manyfoot}
-\SelectFootnoteRule[2]{copyrightpermission}
-\DeclareNewFootnote{authorsaddresses}
-\SelectFootnoteRule[2]{copyrightpermission}
-\DeclareNewFootnote{copyrightpermission}
-\def\footnoterule{\kern-3\p@
-  \hrule \@width 4pc \kern 2.6\p@}
-\def\endminipage{%
-    \par
-    \unskip
-    \ifvoid\@mpfootins\else
-      \vskip\skip\@mpfootins
-      \normalcolor
-      \unvbox\@mpfootins
-    \fi
-    \@minipagefalse
-  \color@endgroup
-  \egroup
-  \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}}
-\def\@textbottom{\vskip \z@ \@plus 1pt}
-\let\@texttop\relax
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
-\or % acmtog
-  \flushbottom
-\or % sigconf
-  \flushbottom
-\or % siggraph
-  \flushbottom
-\or % sigplan
-  \flushbottom
-\or % sigchi
-  \flushbottom
-\or % sigchi-a
-\fi
-\ifPDFTeX
-\input{glyphtounicode}
-\pdfglyphtounicode{f_f}{FB00}
-\pdfglyphtounicode{f_f_i}{FB03}
-\pdfglyphtounicode{f_f_l}{FB04}
-\pdfglyphtounicode{f_i}{FB01}
-\pdfglyphtounicode{t_t}{0074 0074}
-\pdfglyphtounicode{f_t}{0066 0074}
-\pdfglyphtounicode{T_h}{0054 0068}
-\pdfgentounicode=1
-\RequirePackage{cmap}
-\fi
-\newif\if@ACM@newfonts
-\@ACM@newfontstrue
-\IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not
-    have the libertine package installed.  Please upgrade your
-    TeX}\@ACM@newfontsfalse}
-\IfFileExists{zi4.sty}{}{\ClassWarning{\@classname}{You do not
-    have the inconsolata (zi4.sty) package installed.  Please upgrade your
-    TeX}\@ACM@newfontsfalse}
-\IfFileExists{newtxmath.sty}{}{\ClassWarning{\@classname}{You do not
-    have the newtxmath package installed.  Please upgrade your
-    TeX}\@ACM@newfontsfalse}
-\if@ACM@newfonts
-  \RequirePackage[T1]{fontenc}
-  % Note that the order in which packages are loaded matters,
-  % and the correct order depends on the LaTeX engine used.
-  % See https://github.com/borisveytsman/acmart/issues/402
-  % and https://github.com/borisveytsman/acmart/issues/410
-  \ifxetex
-    \RequirePackage[libertine]{newtxmath}
-    \RequirePackage[tt=false]{libertine}
-    \setmonofont[StylisticSet=3]{inconsolata}
-  \else
-    \ifluatex
-      \RequirePackage[libertine]{newtxmath}
-      \RequirePackage[tt=false]{libertine}
-      \setmonofont[StylisticSet=3]{inconsolata}
-    \else
-       \RequirePackage[tt=false, type1=true]{libertine}
-       \RequirePackage[varqu]{zi4}
-       \RequirePackage[libertine]{newtxmath}
-    \fi
-  \fi
-\fi
-\let\liningnums\@undefined
-\AtEndPreamble{%
-  \DeclareTextFontCommand{\liningnums}{\libertineLF}}
-\if@ACM@sigchiamode
-  \renewcommand{\familydefault}{\sfdefault}
-\fi
-\newif\if@Description@present
-\@Description@presenttrue
-\newif\if@undescribed@images
-\@undescribed@imagesfalse
-\newcommand\Description[2][]{\global\@Description@presenttrue\ignorespaces}
-\AtEndDocument{\if@undescribed@images
-  \ClassWarningNoLine{\@classname}{Some images may lack descriptions}\fi}
-\AtBeginEnvironment{figure}{\@Description@presentfalse
-  \let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{figure*}{\@Description@presentfalse
-  \let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtEndEnvironment{figure}{\if@Description@present\else
-  \global\@undescribed@imagestrue
-  \ClassWarning{\@classname}{A possible image without description}\fi}
-\AtEndEnvironment{figure*}{\if@Description@present\else
-  \global\@undescribed@imagestrue
-  \ClassWarning{\@classname}{A possible image without description}\fi}
-\AtBeginEnvironment{table}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{table*}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{algorithm}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{algorithm*}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{lstlisting}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{lstlisting*}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{minted}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{minted*}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{listing}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-\AtBeginEnvironment{listing*}{\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig}
-
-\RequirePackage{caption, float}
-\captionsetup[table]{position=top}
-\if@ACM@journal
-  \captionsetup{labelfont={sf, small},
-    textfont={sf, small}, margin=\z@}
-  \captionsetup[figure]{name={Fig.}}
-\else
-  \captionsetup{labelfont={bf},
-    textfont={bf}, labelsep=colon, margin=\z@}
-  \ifcase\ACM@format@nr
-  \relax % manuscript
-  \or % acmsmall
-  \or % acmlarge
-  \or % acmtog
-  \or % sigconf
-  \or % siggraph
-    \captionsetup{textfont={it}}
-  \or % sigplan
-    \captionsetup{labelfont={bf},
-      textfont={normalfont}, labelsep=period, margin=\z@}
-  \or % sigchi
-    \captionsetup[figure]{labelfont={bf, small},
-      textfont={bf, small}}
-    \captionsetup[table]{labelfont={bf, small},
-      textfont={bf, small}}
-  \or % sigchi-a
-    \captionsetup[figure]{labelfont={bf, small},
-      textfont={bf, small}}
-    \captionsetup[table]{labelfont={bf, small},
-      textfont={bf, small}}
-  \fi
-\fi
-\newfloat{sidebar}{}{sbar}
-\floatname{sidebar}{Sidebar}
-\renewenvironment{sidebar}{\Collect@Body\@sidebar}{}
-\long\def\@sidebar#1{\bgroup\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig\captionsetup{type=sidebar}%
-  \marginpar{\small#1}\egroup}
-\newenvironment{marginfigure}{\Collect@Body\@marginfigure}{}
-\long\def\@marginfigure#1{\bgroup
-  \let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig
-  \captionsetup{type=figure}%
-  \marginpar{\@Description@presentfalse\centering
-    \small#1\if@Description@present\else
-      \global\@undescribed@imagestrue
-      \ClassWarning{\@classname}{A possible image without description}
-      \fi}%
-  \egroup}
-\newenvironment{margintable}{\Collect@Body\@margintable}{}
-\long\def\@margintable#1{\bgroup\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig\captionsetup{type=table}%
-  \marginpar{\centering\small#1}\egroup}
-\newdimen\fulltextwidth
-\fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep)
-\if@ACM@sigchiamode
-\def\@dblfloat{\bgroup\let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig\columnwidth=\fulltextwidth
-  \let\@endfloatbox\@endwidefloatbox
-  \def\@fpsadddefault{\def\@fps{tp}}%
-  \@float}
-\fi
-\if@ACM@sigchiamode
-\def\end@dblfloat{%
-    \end@float\egroup}
-\fi
-\def\@endwidefloatbox{%
-  \par\vskip\z@skip
-  \@minipagefalse
-  \outer@nobreak
-  \egroup
-  \color@endbox
-  \global\setbox\@currbox=\vbox{\moveleft
-    \dimexpr(\fulltextwidth-\textwidth)\box\@currbox}%
-  \wd\@currbox=\textwidth
-}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
-\or % acmtog
-\or % sigconf
-\or % siggraph
-\or % sigplan
-\def\labelenumi{\theenumi.}
-\def\labelenumii{\theenumii.}
-\def\labelenumiii{\theenumiii.}
-\def\labelenumiv{\theenumiv.}
-\or % sigchi
-\or % sigchi-a
-\fi
-\newdimen\@ACM@labelwidth
-\AtBeginDocument{%
-  \setlength\labelsep{4pt}
-  \setlength{\@ACM@labelwidth}{6.5pt}
-
-  %% First-level list: when beginning after the first line of an
-  %% indented paragraph or ending before an indented paragraph, labels
-  %% should not hang to the left of the preceding/following text.
-  \setlength\leftmargini{\z@}
-  \addtolength\leftmargini{\parindent}
-  \addtolength\leftmargini{2\labelsep}
-  \addtolength\leftmargini{\@ACM@labelwidth}
-
-  %% Second-level and higher lists.
-  \setlength\leftmarginii{\z@}
-  \addtolength\leftmarginii{0.5\labelsep}
-  \addtolength\leftmarginii{\@ACM@labelwidth}
-  \setlength\leftmarginiii{\leftmarginii}
-  \setlength\leftmarginiv{\leftmarginiii}
-  \setlength\leftmarginv{\leftmarginiv}
-  \setlength\leftmarginvi{\leftmarginv}
-  \@listi}
-\newskip\listisep
-\listisep\smallskipamount
-\def\@listI{\leftmargin\leftmargini
-  \labelwidth\leftmargini \advance\labelwidth-\labelsep
-  \listparindent\z@
-  \topsep\listisep}
-\let\@listi\@listI
-\def\@listii{\leftmargin\leftmarginii
-  \labelwidth\leftmarginii \advance\labelwidth-\labelsep
-  \topsep\z@skip}
-\def\@listiii{\leftmargin\leftmarginiii
-  \labelwidth\leftmarginiii \advance\labelwidth-\labelsep}
-\def\@listiv{\leftmargin\leftmarginiv
-  \labelwidth\leftmarginiv \advance\labelwidth-\labelsep}
-\def\@listv{\leftmargin\leftmarginv
-  \labelwidth\leftmarginv \advance\labelwidth-\labelsep}
-\def\@listvi{\leftmargin\leftmarginvi
-  \labelwidth\leftmarginvi \advance\labelwidth-\labelsep}
-\renewcommand{\descriptionlabel}[1]{\upshape\bfseries #1}
-\renewenvironment{description}{\list{}{%
-    \labelwidth\@ACM@labelwidth
-    \let\makelabel\descriptionlabel}%
-}{
-  \endlist
-}
-\let\enddescription=\endlist % for efficiency
-\newif\if@ACM@maketitle@typeset
-\@ACM@maketitle@typesetfalse
-\define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{%
-  CIE,%
-  CSUR,%
-  DGOV,%
-  DTRAP,%
-  HEALTH,%
-  IMWUT,%
-  JACM,%
-  JDIQ,%
-  JEA,%
-  JERIC,%
-  JETC,%
-  JOCCH,%
-  PACMCGIT,%
-  PACMHCI,%
-  PACMPL,%
-  POMACS,%
-  TAAS,%
-  TACCESS,%
-  TACO,%
-  TALG,%
-  TALLIP,%
-  TAP,%
-  TCPS,%
-  TDS,%
-  TEAC,%
-  TECS,%
-  TELO,%
-  THRI,%
-  TIIS,%
-  TIOT,%
-  TISSEC,%
-  TIST,%
-  TKDD,%
-  TMIS,%
-  TOCE,%
-  TOCHI,%
-  TOCL,%
-  TOCS,%
-  TOCT,%
-  TODAES,%
-  TODS,%
-  TOG,%
-  TOIS,%
-  TOIT,%
-  TOMACS,%
-  TOMM,%
-  TOMPECS,%
-  TOMS,%
-  TOPC,%
-  TOPS,%
-  TOPLAS,%
-  TOS,%
-  TOSEM,%
-  TOSN,%
-  TQC,%
-  TRETS,%
-  TSAS,%
-  TSC,%
-  TSLP,%
-  TWEB,%
-  FACMP%
-}{%
-\ifcase\@journalCode@nr
-\relax % CIE
-  \def\@journalName{ACM Computers in Entertainment}%
-  \def\@journalNameShort{ACM Comput. Entertain.}%
-  \def\@permissionCodeOne{1544-3574}%
-\or % CSUR
-  \def\@journalName{ACM Computing Surveys}%
-  \def\@journalNameShort{ACM Comput. Surv.}%
-  \def\@permissionCodeOne{0360-0300}%
-\or % DGOV
-  \def\@journalName{Digital Government: Research and Practice}%
-  \def\@journalNameShort{Digit. Gov. Res. Pract.}%
-  \def\@permissionCodeOne{2639-0175}%
-\or % DTRAP
-  \def\@journalName{Digital Threats: Research and Practice}%
-  \def\@journalNameShort{Digit. Threat. Res. Pract.}%
-  \def\@permissionCodeOne{2576-5337}%
-\or % HEALTH
-  \def\@journalName{ACM Transactions on Computing for Healthcare}%
-  \def\@journalNameShort{ACM Trans. Comput. Healthcare}%
-  \def\@permissionCodeOne{2637-8051}%
-\or % IMWUT
-  \def\@journalName{Proceedings of the ACM on Interactive, Mobile,
-    Wearable and Ubiquitous Technologies}%
-  \def\@journalNameShort{Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.}%
-  \def\@permissionCodeOne{2474-9567}%
-  \@ACM@screentrue
-  \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
-\or % JACM
-  \def\@journalName{Journal of the ACM}%
-  \def\@journalNameShort{J. ACM}%
-  \def\@permissionCodeOne{0004-5411}%
-\or % JDIQ
-  \def\@journalName{ACM Journal of Data and Information Quality}%
-  \def\@journalNameShort{ACM J. Data Inform. Quality}%
-  \def\@permissionCodeOne{1936-1955}%
-\or % JEA
-  \def\@journalName{ACM Journal of Experimental Algorithmics}%
-  \def\@journalNameShort{ACM J. Exp. Algor.}%
-  \def\@permissionCodeOne{1084-6654}%
-\or % JERIC
-  \def\@journalName{ACM Journal of Educational Resources in Computing}%
-  \def\@journalNameShort{ACM J. Edu. Resources in Comput.}%
-  \def\@permissionCodeOne{1073-0516}%
-\or % JETC
-  \def\@journalName{ACM Journal on Emerging Technologies in Computing Systems}%
-  \def\@journalNameShort{ACM J. Emerg. Technol. Comput. Syst.}%
-  \def\@permissionCodeOne{1550-4832}%
-\or % JOCCH
-  \def\@journalName{ACM Journal on Computing and Cultural Heritage}%
-  \def\@journalNameShort{ACM J. Comput. Cult. Herit.}%
-\or % PACMCGIT
-  \def\@journalName{Proceedings of the ACM on Computer Graphics and Interactive Techniques}%
-  \def\@journalNameShort{Proc. ACM Comput. Graph. Interact. Tech.}%
-  \def\@permissionCodeOne{2577-6193}%
-  \@ACM@screentrue
-  \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
-\or % PACMHCI
-  \def\@journalName{Proceedings of the ACM on Human-Computer Interaction}%
-  \def\@journalNameShort{Proc. ACM Hum.-Comput. Interact.}%
-  \def\@permissionCodeOne{2573-0142}%
-  \@ACM@screentrue
-  \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
-\or % PACMPL
-  \def\@journalName{Proceedings of the ACM on Programming Languages}%
-  \def\@journalNameShort{Proc. ACM Program. Lang.}%
-  \def\@permissionCodeOne{2475-1421}%
-  \@ACM@screentrue
-  \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
-\or % POMACS
-  \def\@journalName{Proceedings of the ACM on Measurement and Analysis of Computing Systems}%
-  \def\@journalNameShort{Proc. ACM Meas. Anal. Comput. Syst.}%
-  \def\@permissionCodeOne{2476-1249}%
-  \@ACM@screentrue
-  \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
-\or % TAAS
-  \def\@journalName{ACM Transactions on Autonomous and Adaptive Systems}%
-  \def\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}%
-  \def\@permissionCodeOne{1556-4665}%
-\or % TACCESS
-  \def\@journalName{ACM Transactions on Accessible Computing}%
-  \def\@journalNameShort{ACM Trans. Access. Comput.}%
-  \def\@permissionCodeOne{1936-7228}%
-\or % TACO
-  \def\@journalName{ACM Transactions on Architecture and Code Optimization}%
-  \def\@journalNameShort{ACM Trans. Arch. Code Optim.}%
-\or % TALG
-  \def\@journalName{ACM Transactions on Algorithms}%
-  \def\@journalNameShort{ACM Trans. Algor.}%
-  \def\@permissionCodeOne{1549-6325}%
-\or % TALLIP
-  \def\@journalName{ACM Transactions on Asian and Low-Resource Language Information Processing}%
-  \def\@journalNameShort{ACM Trans. Asian Low-Resour. Lang. Inf. Process.}%
-  \def\@permissionCodeOne{2375-4699}%
-\or % TAP
-  \def\@journalName{ACM Transactions on Applied Perception}%
-\or % TCPS
-  \def\@journalName{ACM Transactions on Cyber-Physical Systems}%
-\or % TDS
-  \def\@journalName{ACM/IMS Transactions on Data Science}%
-  \def\@journalNameShort{ACM/IMS Trans. Data Sci.}%
-  \def\@permissionCodeOne{2577-3224}%
-\or % TEAC
-  \def\@journalName{ACM Transactions on Economics and Computation}%
-\or % TECS
-  \def\@journalName{ACM Transactions on Embedded Computing Systems}%
-  \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}%
-  \def\@permissionCodeOne{1539-9087}%
-\or % TELO
-  \def\@journalName{ACM Transactions on Evolutionary Learning}%
-  \def\@journalNameShort{ACM Trans. Evol. Learn.}%
-  \def\@permissionCodeOne{2688-3007}%
-\or % THRI
-  \def\@journalName{ACM Transactions on Human-Robot Interaction}%
-  \def\@journalNameShort{ACM Trans. Hum.-Robot Interact.}%
-  \def\@permissionCodeOne{2573-9522}%
-\or % TIIS
-  \def\@journalName{ACM Transactions on Interactive Intelligent Systems}%
-  \def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}%
-  \def\@permissionCodeOne{2160-6455}%
-\or % TIOT
-  \def\@journalName{ACM Transactions on Internet of Things}%
-  \def\@journalNameShort{ACM Trans. Internet Things}%
-  \def\@permissionCodeOne{2577-6207}%
-\or % TISSEC
-  \def\@journalName{ACM Transactions on Information and System Security}%
-  \def\@journalNameShort{ACM Trans. Info. Syst. Sec.}%
-  \def\@permissionCodeOne{1094-9224}%
-\or % TIST
-  \def\@journalName{ACM Transactions on Intelligent Systems and Technology}%
-  \def\@journalNameShort{ACM Trans. Intell. Syst. Technol.}%
-  \def\@permissionCodeOne{2157-6904}%
-\or % TKDD
-  \def\@journalName{ACM Transactions on Knowledge Discovery from Data}%
-  \def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}%
-  \def\@permissionCodeOne{1556-4681}%
-\or % TMIS
-  \def\@journalName{ACM Transactions on Management Information Systems}%
-  \def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}%
-  \def\@permissionCodeOne{2158-656X}%
-\or % TOCE
-  \def\@journalName{ACM Transactions on Computing Education}%
-  \def\@journalNameShort{ACM Trans. Comput. Educ.}%
-  \def\@permissionCodeOne{1946-6226}%
-\or % TOCHI
-  \def\@journalName{ACM Transactions on Computer-Human Interaction}%
-  \def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}%
-  \def\@permissionCodeOne{1073-0516}%
-\or % TOCL
-  \def\@journalName{ACM Transactions on Computational Logic}%
-  \def\@journalNameShort{ACM Trans. Comput. Logic}%
-  \def\@permissionCodeOne{1529-3785}%
-\or % TOCS
-  \def\@journalName{ACM Transactions on Computer Systems}%
-  \def\@journalNameShort{ACM Trans. Comput. Syst.}%
-  \def\@permissionCodeOne{0734-2071}%
-\or % TOCT
-  \def\@journalName{ACM Transactions on Computation Theory}%
-  \def\@journalNameShort{ACM Trans. Comput. Theory}%
-  \def\@permissionCodeOne{1942-3454}%
-\or % TODAES
-  \def\@journalName{ACM Transactions on Design Automation of Electronic Systems}%
-  \def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}%
-  \def\@permissionCodeOne{1084-4309}%
-\or % TODS
-  \def\@journalName{ACM Transactions on Database Systems}%
-  \def\@journalNameShort{ACM Trans. Datab. Syst.}%
-  \def\@permissionCodeOne{0362-5915}%
-\or % TOG
-  \def\@journalName{ACM Transactions on Graphics}%
-  \def\@journalNameShort{ACM Trans. Graph.}%
-  \def\@permissionCodeOne{0730-0301}
-\or % TOIS
-  \def\@journalName{ACM Transactions on Information Systems}%
-  \def\@permissionCodeOne{1046-8188}%
-\or % TOIT
-  \def\@journalName{ACM Transactions on Internet Technology}%
-  \def\@journalNameShort{ACM Trans. Internet Technol.}%
-  \def\@permissionCodeOne{1533-5399}%
-\or % TOMACS
-  \def\@journalName{ACM Transactions on Modeling and Computer Simulation}%
-  \def\@journalNameShort{ACM Trans. Model. Comput. Simul.}%
-\or % TOMM
-  \def\@journalName{ACM Transactions on Multimedia Computing, Communications and Applications}%
-  \def\@journalNameShort{ACM Trans. Multimedia Comput. Commun. Appl.}%
-  \def\@permissionCodeOne{1551-6857}%
-  \def\@permissionCodeTwo{0100}%
-\or % TOMPECS
-  \def\@journalName{ACM Transactions on Modeling and Performance Evaluation of Computing Systems}%
-  \def\@journalNameShort{ACM Trans. Model. Perform. Eval. Comput. Syst.}%
-  \def\@permissionCodeOne{2376-3639}%
-\or % TOMS
-  \def\@journalName{ACM Transactions on Mathematical Software}%
-  \def\@journalNameShort{ACM Trans. Math. Softw.}%
-  \def\@permissionCodeOne{0098-3500}%
-\or % TOPC
-  \def\@journalName{ACM Transactions on Parallel Computing}%
-  \def\@journalNameShort{ACM Trans. Parallel Comput.}%
-  \def\@permissionCodeOne{1539-9087}%
-\or % TOPS
-  \def\@journalName{ACM Transactions on Privacy and Security}%
-  \def\@journalNameShort{ACM Trans. Priv. Sec.}%
-  \def\@permissionCodeOne{2471-2566}%
-\or % TOPLAS
-  \def\@journalName{ACM Transactions on Programming Languages and Systems}%
-  \def\@journalNameShort{ACM Trans. Program. Lang. Syst.}%
-  \def\@permissionCodeOne{0164-0925}%
-\or % TOS
-  \def\@journalName{ACM Transactions on Storage}%
-  \def\@journalNameShort{ACM Trans. Storage}%
-  \def\@permissionCodeOne{1553-3077}%
-\or % TOSEM
-  \def\@journalName{ACM Transactions on Software Engineering and Methodology}%
-  \def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}%
-  \def\@permissionCodeOne{1049-331X}%
-\or % TOSN
-  \def\@journalName{ACM Transactions on Sensor Networks}%
-  \def\@journalNameShort{ACM Trans. Sensor Netw.}%
-  \def\@permissionCodeOne{1550-4859}%
-\or % TQC
-  \def\@journalName{ACM Transactions on Quantum Computing}%
-  \def\@journalNameShort{ACM Trans. Quantum Comput.}%
-  \def\@permissionCodeOne{2643-6817}%
-\or % TRETS
-  \def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}%
-  \def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}%
-  \def\@permissionCodeOne{1936-7406}%
-\or % TSAS
-  \def\@journalName{ACM Transactions on Spatial Algorithms and Systems}%
-  \def\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}%
-  \def\@permissionCodeOne{2374-0353}%
-\or % TSC
-  \def\@journalName{ACM Transactions on Social Computing}%
-  \def\@journalNameShort{ACM Trans. Soc. Comput.}%
-  \def\@permissionCodeOne{2469-7818}%
-\or % TSLP
-  \def\@journalName{ACM Transactions on Speech and Language Processing}%
-  \def\@journalNameShort{ACM Trans. Speech Lang. Process.}%
-  \def\@permissionCodeOne{1550-4875}%
-\or % TWEB
-  \def\@journalName{ACM Transactions on the Web}%
-  \def\@journalNameShort{ACM Trans. Web}%
-  \def\@permissionCodeOne{1559-1131}%
-\else % FACMP, a dummy journal
-  \def\@journalName{Forthcoming ACM Publication}%
-  \def\@journalNameShort{ACM Forthcoming}%
-  \def\@permissionCodeOne{XXXX-XXXX}%
-\fi
-\ClassInfo{\@classname}{Using journal code \@journalCode}%
-}{%
-  \ClassError{\@classname}{Incorrect journal #1}%
-}%
-\def\acmJournal#1{\setkeys{ACM}{acmJournal=#1}%
-  \global\@ACM@journal@bibstriptrue}
-\def\@journalCode@nr{0}
-\def\@journalName{}%
-\def\@journalNameShort{\@journalName}%
-\def\@permissionCodeOne{XXXX-XXXX}%
-\def\@permissionCodeTwo{}%
-\newcommand\acmConference[4][]{%
-  \gdef\acmConference@shortname{#1}%
-  \gdef\acmConference@name{#2}%
-  \gdef\acmConference@date{#3}%
-  \gdef\acmConference@venue{#4}%
-  \ifx\acmConference@shortname\@empty
-    \gdef\acmConference@shortname{#2}%
-  \fi
-  \global\@ACM@journal@bibstripfalse
-}
-\if@ACM@journal\else
-\acmConference[]{}{}{}%
-\fi
-\def\acmBooktitle#1{\gdef\@acmBooktitle{#1}}
-\acmBooktitle{Proceedings of \acmConference@name
-       \ifx\acmConference@name\acmConference@shortname\else
-         \ (\acmConference@shortname)\fi}
-\def\@editorsAbbrev{(Ed.)}
-\def\@acmEditors{}
-\def\editor#1{\ifx\@acmEditors\@empty
-    \gdef\@acmEditors{#1}%
-  \else
-    \gdef\@editorsAbbrev{(Eds.)}%
-    \g@addto@macro\@acmEditors{\and#1}%
-\fi}
-\def\subtitle#1{\def\@subtitle{#1}}
-\subtitle{}
-\newcount\num@authorgroups
-\num@authorgroups=0\relax
-\newcount\num@authors
-\num@authors=0\relax
-\newif\if@insideauthorgroup
-\@insideauthorgroupfalse
-\renewcommand\author[2][]{%
-  \IfSubStr{\detokenize{#2}}{,}{\ClassWarning{\@classname}{Do not put several
-      authors in the same \string\author\space macro!}}{}%
-  \global\advance\num@authors by 1\relax
-  \if@insideauthorgroup\else
-    \global\advance\num@authorgroups by 1\relax
-    \global\@insideauthorgrouptrue
-  \fi
-  \ifx\addresses\@empty
-    \if@ACM@anonymous
-      \gdef\addresses{\@author{Anonymous Author(s)%
-        \ifx\@acmSubmissionID\@empty\else\\Submission Id:
-          \@acmSubmissionID\fi}}%
-      \gdef\authors{Anonymous Author(s)}%
-    \else
-      \gdef\addresses{\@author{#2}}%
-      \gdef\authors{#2}%
-    \fi
-  \else
-    \if@ACM@anonymous\else
-      \g@addto@macro\addresses{\and\@author{#2}}%
-      \g@addto@macro\authors{\and#2}%
-    \fi
-  \fi
-  \if@ACM@anonymous
-    \ifx\shortauthors\@empty
-      \gdef\shortauthors{Anon.
-        \ifx\@acmSubmissionID\@empty\else Submission Id:
-        \@acmSubmissionID\fi}%
-    \fi
-  \else
-    \def\@tempa{#1}%
-    \ifx\@tempa\@empty
-      \ifx\shortauthors\@empty
-        \gdef\shortauthors{#2}%
-      \else
-        \g@addto@macro\shortauthors{\and#2}%
-      \fi
-    \else
-      \ifx\shortauthors\@empty
-        \gdef\shortauthors{#1}%
-      \else
-        \g@addto@macro\shortauthors{\and#1}%
-      \fi
-    \fi
-  \fi}
-\newcommand{\affiliation}[2][]{%
-  \global\@insideauthorgroupfalse
-  \if@ACM@anonymous\else
-    \g@addto@macro\addresses{\affiliation{#1}{#2}}%
-  \fi}
-\define@boolkey+{@ACM@affiliation@}[@ACM@affiliation@]{obeypunctuation}%
-[true]{}{\ClassError{\@classname}{The option obeypunctuation can be either true or false}}
-\def\additionalaffiliation#1{\authornote{\@additionalaffiliation{#1}}}
-\def\@additionalaffiliation#1{\bgroup
-  \def\position##1{\ignorespaces}%
-  \def\institution##1{##1\ignorespaces}%
-  \def\department{\@ifnextchar[{\@department}{\@department[]}}%
-  \def\@department[##1]##2{\unskip, ##2\ignorespaces}%
-  \let\streetaddress\position
-  \let\city\position
-  \let\state\position
-  \let\postcode\position
-  \let\country\position
-  Also with #1\unskip.\egroup}
-\renewcommand{\email}[2][]{%
-  \IfSubStr{#2}{,}{\ClassWarning{\@classname}{Do not put several
-      addresses in the same \string\email\space macro!}}{}%
-  \if@ACM@anonymous\else
-    \g@addto@macro\addresses{\email{#1}{#2}}%
-  \fi}
-\def\orcid#1{\unskip\ignorespaces}
-\def\authorsaddresses#1{\def\@authorsaddresses{#1}}
-\authorsaddresses{\@mkauthorsaddresses}
-\def\@titlenotes{}
-\def\titlenote#1{%
-  \g@addto@macro\@title{\footnotemark}%
-  \if@ACM@anonymous
-    \g@addto@macro\@titlenotes{%
-      \stepcounter{footnote}\footnotetext{Title note}}%
-  \else
-    \g@addto@macro\@titlenotes{\stepcounter{footnote}\footnotetext{#1}}%
-  \fi}
-\def\@subtitlenotes{}
-\def\subtitlenote#1{%
-  \g@addto@macro\@subtitle{\footnotemark}%
-  \if@ACM@anonymous
-    \g@addto@macro\@subtitlenotes{%
-      \stepcounter{footnote}\footnotetext{Subtitle note}}%
-  \else
-    \g@addto@macro\@subtitlenotes{%
-      \stepcounter{footnote}\footnotetext{#1}}%
-  \fi}
-\def\@authornotes{}
-\def\authornote#1{%
-  \if@ACM@anonymous\else
-    \g@addto@macro\addresses{\@authornotemark}%
-    \g@addto@macro\@authornotes{%
-      \stepcounter{footnote}\footnotetext{#1}}%
-  \fi}
-\newcommand\authornotemark[1][\relax]{%
-  \ifx#1\relax\relax\relax
-  \g@addto@macro\addresses{\@authornotemark}%
-  \else
-  \g@addto@macro\addresses{\@@authornotemark{#1}}%
-  \fi}
-\def\acmVolume#1{\def\@acmVolume{#1}}
-\acmVolume{1}
-\def\acmNumber#1{\def\@acmNumber{#1}}
-\acmNumber{1}
-\def\acmArticle#1{\def\@acmArticle{#1}}
-\acmArticle{}
-\def\acmArticleSeq#1{\def\@acmArticleSeq{#1}}
-\acmArticleSeq{\@acmArticle}
-\def\acmYear#1{\def\@acmYear{#1}}
-\acmYear{\the\year}
-\def\acmMonth#1{\def\@acmMonth{#1}}
-\acmMonth{\the\month}
-\def\@acmPubDate{\ifcase\@acmMonth\or
-  January\or February\or March\or April\or May\or June\or
-  July\or August\or September\or October\or November\or
-  December\fi~\@acmYear}
-\def\acmPrice#1{\def\@acmPrice{#1}}
-\acmPrice{}
-\def\acmSubmissionID#1{\def\@acmSubmissionID{#1}}
-\acmSubmissionID{}
-\def\acmISBN#1{\def\@acmISBN{#1}}
-\acmISBN{}
-\def\acmDOI#1{\def\@acmDOI{#1}}
-\acmDOI{10.1145/nnnnnnn.nnnnnnn}
-\newif\if@ACM@badge
-\@ACM@badgefalse
-\newlength\@ACM@badge@width
-\setlength\@ACM@badge@width{5pc}
-\newlength\@ACM@title@width
-\newlength\@ACM@badge@skip
-\setlength\@ACM@badge@skip{1pc}
-\newcommand\acmBadgeR[2][]{\@ACM@badgetrue
-  \def\@acmBadgeR@url{#1}%
-  \def\@acmBadgeR@image{#2}}
-\def\@acmBadgeR@url{}
-\def\@acmBadgeR@image{}
-\newcommand\acmBadgeL[2][]{\@ACM@badgetrue
-  \def\@acmBadgeL@url{#1}%
-  \def\@acmBadgeL@image{#2}}
-\def\@acmBadgeL@url{}
-\def\@acmBadgeL@image{}
-\def\startPage#1{\def\@startPage{#1}}
-\startPage{}
-\def\terms#1{\ClassWarning{\@classname}{The command \string\terms{} is
-    obsolete.  I am going to ignore it}}
-\def\keywords#1{\def\@keywords{#1}}
-\let\@keywords\@empty
-\AtEndDocument{\if@ACM@nonacm\else\ifx\@keywords\@empty
-  \ifnum\getrefnumber{TotPages}>2\relax
-  \ClassWarningNoLine{\@classname}{ACM keywords are mandatory
-    for papers over two pages}%
-  \fi\fi\fi}
-\renewenvironment{abstract}{\Collect@Body\@saveabstract}{}
-\long\def\@saveabstract#1{\if@ACM@maketitle@typeset
-  \ClassError{\@classname}{Abstract must be defined before maketitle
-    command. Please move it!}\fi
-  \long\gdef\@abstract{#1}}
-\@saveabstract{}
-\long\def\@lempty{}
-\define@boolkey+{@ACM@topmatter@}[@ACM@]{printccs}[true]{%
-  \if@ACM@printccs
-    \ClassInfo{\@classname}{Printing CCS}%
-  \else
-    \ClassInfo{\@classname}{Suppressing CCS}%
-  \fi}{\ClassError{\@classname}{The option printccs can be either true or false}}
-\define@boolkey+{@ACM@topmatter@}[@ACM@]{printacmref}[true]{%
-  \if@ACM@printacmref
-    \ClassInfo{\@classname}{Printing bibformat}%
-  \else
-    \ClassInfo{\@classname}{Suppressing bibformat}%
-  \fi}{\ClassError{\@classname}{The option printacmref can be either true or false}}
-\AtEndDocument{\if@ACM@nonacm\else\if@ACM@printacmref\else
-  \ifnum\getrefnumber{TotPages}>1\relax
-  \ClassWarningNoLine{\@classname}{ACM reference format is mandatory
-    for papers over one page}%
-  \fi\fi\fi}
-\define@boolkey+{@ACM@topmatter@}[@ACM@]{printfolios}[true]{%
-  \if@ACM@printfolios
-    \ClassInfo{\@classname}{Printing folios}%
-  \else
-    \ClassInfo{\@classname}{Suppressing folios}%
-  \fi}{\ClassError{\@classname}{The option printfolios can be either true or false}}
-\define@cmdkey{@ACM@topmatter@}[@ACM@]{authorsperrow}[0]{%
-  \IfInteger{#1}{\ClassInfo{\@classname}{Setting authorsperrow to
-      #1}}{\ClassWarning{\@classname}{The parameter authorsperrow must be
-      numerical. Ignoring the input #1}\gdef\@ACM@authorsperrow{0}}}
-\def\settopmatter#1{\setkeys{@ACM@topmatter@}{#1}}
-\settopmatter{printccs=true, printacmref=true}
-\if@ACM@manuscript
-  \settopmatter{printfolios=true}
-\else
-  \if@ACM@journal
-    \settopmatter{printfolios=true}
-  \else
-    \settopmatter{printfolios=false}
-  \fi
-\fi
-\settopmatter{authorsperrow=0}
-\def\@received{}
-\newcommand\received[2][]{\def\@tempa{#1}%
-  \ifx\@tempa\@empty
-    \ifx\@received\@empty
-      \gdef\@received{Received #2}%
-    \else
-      \g@addto@macro{\@received}{; revised #2}%
-    \fi
-  \else
-    \ifx\@received\@empty
-      \gdef\@received{#1 #2}%
-    \else
-      \g@addto@macro{\@received}{; #1 #2}%
-    \fi
-  \fi}
-\AtEndDocument{%
-  \ifx\@received\@empty\else
-    \par\bigskip\noindent\small\normalfont\@received\par
-  \fi}
-\RequirePackage{comment}
-\excludecomment{CCSXML}
-\let\@concepts\@empty
-\newcounter{@concepts}
-\newcommand\ccsdesc[2][100]{%
-  \ccsdesc@parse#1~#2~~\ccsdesc@parse@end}
-\def\textrightarrow{$\rightarrow$}
-\def\ccsdesc@parse#1~#2~#3~{%
-  \stepcounter{@concepts}%
-  \expandafter\ifx\csname CCS@General@#2\endcsname\relax
-    \expandafter\gdef\csname CCS@General@#2\endcsname{\textbullet\
-      \textbf{#2}}%
-    \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{; }%
-    \expandafter\gdef\csname CCS@Specific@#2\endcsname{}%
-  \g@addto@macro{\@concepts}{\csname CCS@General@#2\endcsname
-    \csname CCS@Punctuation@#2\endcsname
-    \csname CCS@Specific@#2\endcsname}%
-  \fi
-  \ifx#3\relax\relax\else
-    \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{
-      \textrightarrow\ }%
-    \expandafter\g@addto@macro\expandafter{\csname CCS@Specific@#2\endcsname}{%
-     \addtocounter{@concepts}{-1}%
-     \ifnum#1>499\textbf{#3}\else
-     \ifnum#1>299\textit{#3}\else
-     #3\fi\fi\ifnum\value{@concepts}=0.\else; \fi}%
-  \fi
-\ccsdesc@parse@finish}
-\AtEndDocument{\if@ACM@nonacm\else\ifx\@concepts\@empty\relax
-  \ifnum\getrefnumber{TotPages}>2\relax
-  \ClassWarningNoLine{\@classname}{CCS concepts are mandatory
-    for papers over two pages}%
-  \fi\fi\fi}
-\def\ccsdesc@parse@finish#1\ccsdesc@parse@end{}
-\newif\if@printcopyright
-\@printcopyrighttrue
-\newif\if@printpermission
-\@printpermissiontrue
-\newif\if@acmowned
-\@acmownedtrue
-\define@choicekey*{ACM@}{acmcopyrightmode}[%
-  \acm@copyrightinput\acm@copyrightmode]{none,%
-    acmcopyright,acmlicensed,rightsretained,%
-    usgov,usgovmixed,cagov,cagovmixed,licensedusgovmixed,%
-    licensedcagov,licensedcagovmixed,othergov,licensedothergov,%
-    iw3c2w3,iw3c2w3g}{%
-  \@printpermissiontrue
-  \@printcopyrighttrue
-  \@acmownedtrue
-  \ifnum\acm@copyrightmode=0\relax % none
-   \@printpermissionfalse
-   \@printcopyrightfalse
-   \@acmownedfalse
-  \fi
-  \ifnum\acm@copyrightmode=2\relax % acmlicensed
-   \@acmownedfalse
-  \fi
-  \ifnum\acm@copyrightmode=3\relax % rightsretained
-   \@acmownedfalse
-   \AtBeginDocument{\acmPrice{}}%
-  \fi
-  \ifnum\acm@copyrightmode=4\relax % usgov
-   \@printpermissiontrue
-   \@printcopyrightfalse
-   \@acmownedfalse
-   \AtBeginDocument{\acmPrice{}}%
-  \fi
-  \ifnum\acm@copyrightmode=6\relax % cagov
-   \@acmownedfalse
-  \fi
-  \ifnum\acm@copyrightmode=8\relax % licensedusgovmixed
-   \@acmownedfalse
-  \fi
-  \ifnum\acm@copyrightmode=9\relax % licensedcagov
-   \@acmownedfalse
-  \fi
-  \ifnum\acm@copyrightmode=10\relax % licensedcagovmixed
-   \@acmownedfalse
-  \fi
-  \ifnum\acm@copyrightmode=11\relax % othergov
-   \@acmownedtrue
-  \fi
-  \ifnum\acm@copyrightmode=12\relax % licensedothergov
-   \@acmownedfalse
-  \fi
-  \ifnum\acm@copyrightmode=13\relax % iw3c2w3
-   \@acmownedfalse
-   \AtBeginDocument{\acmPrice{}}%
-  \fi
-  \ifnum\acm@copyrightmode=14\relax % iw3c2w3g
-   \@acmownedfalse
-   \AtBeginDocument{\acmPrice{}}%
-  \fi}
-\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}}
-\setcopyright{acmcopyright}
-\def\@copyrightowner{%
-  \ifcase\acm@copyrightmode\relax % none
-  \or % acmcopyright
-  % Association for Computing Machinery.
-  \or % acmlicensed
-  Copyright held by the owner/author(s). Publication rights licensed to
-  ACM\@.
-  \or % rightsretained
-  Copyright held by the owner/author(s).
-  \or % usgov
-  \or % usgovmixed
-  Association for Computing Machinery.
-  \or % cagov
-  Crown in Right of Canada.
-  \or %cagovmixed
-  Association for Computing Machinery.
-  \or %licensedusgovmixed
-  Copyright held by the owner/author(s). Publication rights licensed to
-  ACM\@.
-  \or % licensedcagov
-  Crown in Right of Canada. Publication rights licensed to
-  ACM\@.
-  \or %licensedcagovmixed
-  Copyright held by the owner/author(s). Publication rights licensed to
-  ACM\@.
-  \or % othergov
-  Association for Computing Machinery.
-  \or % licensedothergov
-  Copyright held by the owner/author(s). Publication rights licensed to
-  ACM\@.
-  \or % ic2w3www
-  IW3C2 (International World Wide Web Conference Committee), published
-  under Creative Commons CC-BY~4.0 License.
-  \or % ic2w3wwwgoogle
-  IW3C2 (International World Wide Web Conference Committee), published
-  under Creative Commons CC-BY-NC-ND~4.0 License.
-  \fi}
-\def\@formatdoi#1{}
-\def\@copyrightpermission{%
-  \ifcase\acm@copyrightmode\relax % none
-  \or % acmcopyright
-   % Permission to make digital or hard copies of all or part of this
-   % work for personal or classroom use is granted without fee provided
-   % that copies are not made or distributed for profit or commercial
-   % advantage and that copies bear this notice and the full citation on
-   % the first page. Copyrights for components of this work owned by
-   % others than ACM must be honored. Abstracting with credit is
-   % permitted. To copy otherwise, or republish, to post on servers or to
-   % redistribute to lists, requires prior specific permission
-   % and\hspace*{.5pt}/or  a fee. Request permissions from
-   % permissions@acm.org.
-  \or % acmlicensed
-   Permission to make digital or hard copies of all or part of this
-   work for personal or classroom use is granted without fee provided
-   that copies are not made or distributed for profit or commercial
-   advantage and that copies bear this notice and the full citation on
-   the first page. Copyrights for components of this work owned by
-   others than the author(s) must be honored. Abstracting with credit
-   is permitted.  To copy otherwise, or republish, to post on servers
-   or to  redistribute to lists, requires prior specific permission
-   and\hspace*{.5pt}/or  a fee. Request permissions from
-   permissions@acm.org.
-  \or % rightsretained
-   Permission to make digital or hard copies of part or all of this work
-   for personal or classroom use is granted without fee provided that
-   copies are not made or distributed for profit or commercial advantage
-   and that copies bear this notice and the full citation on the first
-   page. Copyrights for third-party components of this work must be
-   honored. For all other uses, contact the
-   owner\hspace*{.5pt}/author(s).
-  \or % usgov
-   This paper is authored by an employee(s) of the United States
-   Government and is in the public domain. Non-exclusive copying or
-   redistribution is allowed, provided that the article citation is
-   given and the authors and agency are clearly identified as its
-   source.
-  \or % usgovmixed
-   ACM acknowledges that this contribution was authored or co-authored
-   by an employee, contractor, or affiliate of the United States
-   government. As such, the United States government retains a
-   nonexclusive, royalty-free right to publish or reproduce this
-   article, or to allow others to do so, for government purposes only.
-  \or % cagov
-   This article was authored by employees of the Government of Canada.
-   As such, the Canadian government retains all interest in the
-   copyright to this work and grants to ACM a nonexclusive,
-   royalty-free right to publish or reproduce this article, or to allow
-   others to do so, provided that clear attribution is given both to
-   the authors and the Canadian government agency employing them.
-   Permission to make digital or hard copies for personal or classroom
-   use is granted. Copies must bear this notice and the full citation
-   on the first page.  Copyrights for components of this work owned by
-   others than the Canadian Government must be honored. To copy
-   otherwise, distribute, republish, or post, requires prior specific
-   permission and\hspace*{.5pt}/or a fee. Request permissions from
-   permissions@acm.org.
-  \or % cagovmixed
-   ACM acknowledges that this contribution was co-authored by an
-   affiliate of the national government of Canada. As such, the Crown
-   in Right of Canada retains an equal interest in the copyright.
-   Reprints must include clear attribution to ACM and the author's
-   government agency affiliation.  Permission to make digital or hard
-   copies for personal or classroom use is granted.  Copies must bear
-   this notice and the full citation on the first page. Copyrights for
-   components of this work owned by others than ACM must be honored.
-   To copy otherwise, distribute, republish, or post, requires prior
-   specific permission and\hspace*{.5pt}/or a fee. Request permissions
-   from permissions@acm.org.
-  \or % licensedusgovmixed
-   Publication rights licensed to ACM\@. ACM acknowledges that this
-   contribution was authored or co-authored by an employee, contractor
-   or affiliate of the United States government. As such, the
-   Government retains a nonexclusive, royalty-free right to publish or
-   reproduce this article, or to allow others to do so, for Government
-   purposes only.
-  \or % licensedcagov
-   This article was authored by employees of the Government of Canada.
-   As such, the Canadian government retains all interest in the
-   copyright to this work and grants to ACM a nonexclusive,
-   royalty-free right to publish or reproduce this article, or to allow
-   others to do so, provided that clear attribution is given both to
-   the authors and the Canadian government agency employing them.
-   Permission to make digital or hard copies for personal or classroom
-   use is granted. Copies must bear this notice and the full citation
-   on the first page.  Copyrights for components of this work owned by
-   others than the Canadian Government must be honored. To copy
-   otherwise, distribute, republish, or post, requires prior specific
-   permission and\hspace*{.5pt}/or a fee. Request permissions from
-   permissions@acm.org.
-  \or % licensedcagovmixed
-   Publication rights licensed to ACM\@. ACM acknowledges that this
-   contribution was authored or co-authored by an employee, contractor
-   or affiliate of the national government of Canada. As such, the
-   Government retains a nonexclusive, royalty-free right to publish or
-   reproduce this article, or to allow others to do so, for Government
-   purposes only.
-  \or % othergov
-   ACM acknowledges that this contribution was authored or co-authored
-   by an employee, contractor or affiliate of a national government. As
-   such, the Government retains a nonexclusive, royalty-free right to
-   publish or reproduce this article, or to allow others to do so, for
-   Government purposes only.
-  \or % licensedothergov
-   Publication rights licensed to ACM\@. ACM acknowledges that this
-   contribution was authored or co-authored by an employee, contractor
-   or affiliate of a national government. As such, the Government
-   retains a nonexclusive, royalty-free right to publish or reproduce
-   this article, or to allow others to do so, for Government purposes
-   only.
- \or % iw3c2w3
-   This paper is published under the Creative Commons Attribution~4.0
-   International (CC-BY~4.0) license. Authors reserve their rights to
-   disseminate the work on their personal and corporate Web sites with
-   the appropriate attribution.
- \or % iw3c2w3g
-   This paper is published under the Creative Commons
-   Attribution-NonCommercial-NoDerivs~4.0 International
-   (CC-BY-NC-ND~4.0) license. Authors reserve their rights to
-   disseminate the work on their personal and corporate Web sites with
-   the appropriate attribution.
- \fi}
-\def\copyrightyear#1{\def\@copyrightyear{#1}}
-\copyrightyear{\@acmYear}
-\def\@teaserfigures{}
-\newenvironment{teaserfigure}{\Collect@Body\@saveteaser}{}
-\long\def\@saveteaser#1{\g@addto@macro\@teaserfigures{\@teaser{#1}}}
-\renewcommand{\thanks}[1]{%
-  \@ifnotempty{#1}{%
-    \if@ACM@anonymous
-      \g@addto@macro\thankses{\thanks{A note}}%
-   \else
-    \g@addto@macro\thankses{\thanks{#1}}%
-   \fi}}
-\ifx\@beginmaketitlehook\@undefined
-  \let\@beginmaketitlehook\@empty
-\fi
-\def\AtBeginMaketitle{\g@addto@macro\@beginmaketitlehook}
-\newbox\mktitle@bx
-\def\maketitle{\@beginmaketitlehook
-  \@ACM@maketitle@typesettrue
-  \if@ACM@anonymous
-    % Anonymize omission of \author-s
-    \ifnum\num@authorgroups=0\author{}\fi
-  \fi
-  \begingroup
-  \let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig
-  \let\@footnotemark\@footnotemark@nolink
-  \let\@footnotetext\@footnotetext@nolink
-  \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
-  \hsize=\textwidth
-  \def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}%
-  \@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers
-  \@printtopmatter
-  \if@ACM@sigchiamode\@mkauthors\fi
-  \setcounter{footnote}{0}%
-  \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}%
-  \@titlenotes
-  \@subtitlenotes
-  \@authornotes
-  \let\@makefnmark\relax
-  \let\@thefnmark\relax
-  \let\@makefntext\noindent
-  \ifx\@empty\thankses\else
-    \footnotetextauthorsaddresses{%
-      \def\par{\let\par\@par}\parindent\z@\@setthanks}%
-  \fi
-  \ifx\@empty\@authorsaddresses\else
-     \if@ACM@anonymous\else
-       \if@ACM@journal@bibstrip
-         \footnotetextauthorsaddresses{%
-           \def\par{\let\par\@par}\parindent\z@\@setauthorsaddresses}%
-       \fi
-     \fi
-  \fi
-  \if@ACM@nonacm\else\footnotetextcopyrightpermission{%
-    \if@ACM@authordraft
-        \raisebox{0ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries
-            Unpublished working draft. Not for distribution.}}%
-       \color[gray]{0.9}%
-    \fi
-    \parindent\z@\parskip0.1\baselineskip
-    \if@ACM@authorversion\else
-      \if@printpermission\@copyrightpermission\par\fi
-    \fi
-    \if@ACM@manuscript\else
-       \if@ACM@journal@bibstrip\else % Print the conference information
-         {\itshape \acmConference@shortname \acmConference@date \acmConference@venue}\par
-       \fi
-    \fi
-    \if@printcopyright
-      \copyright\ \@copyrightyear\ \@copyrightowner\\
-    \else
-      \@copyrightyear.\
-    \fi
-    \if@ACM@manuscript
-      Manuscript submitted to ACM\\
-    \else
-      \if@ACM@authorversion
-          This is the author's version of the work. It is posted here for
-          your personal use. Not for redistribution. The definitive Version
-          of Record was published in
-          \if@ACM@journal@bibstrip
-            \emph{\@journalName}%
-          \else
-            \emph{\@acmBooktitle}%
-          \fi
-          \ifx\@acmDOI\@empty
-          
-          \else
-             \@formatdoi{\@acmDOI}.
-          \fi\\
-        \else
-          \if@ACM@nonacm\else
-            \if@ACM@journal@bibstrip
-              \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle
-              \ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\
-              \@formatdoi{\@acmDOI}%
-            \else % Conference
-              \ifx\@acmISBN\@empty\else \@acmISBN
-              \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\\fi
-              \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi%
-            \fi
-          \fi
-        \fi
-      \fi}
-    \fi
-  \endgroup
-  \setcounter{footnote}{0}%
-  \@mkabstract
-  \if@ACM@printccs
-  \ifx\@concepts\@empty\else\bgroup
-      {\@specialsection{CCS Concepts}%
-         \noindent\@concepts\par}\egroup
-     \fi
-   \fi
-   \ifx\@keywords\@empty\else\bgroup
-      {\if@ACM@journal
-         \@specialsection{Additional Key Words and Phrases}%
-       \else
-         \@specialsection{Keywords}%
-       \fi
-         \noindent\@keywords}\par\egroup
-   \fi
-  \let\metadata@authors=\authors
-  \nxandlist{, }{, }{, }\metadata@authors
-  \def\@ACM@checkaffil{}%
-  \hypersetup{%
-    pdfauthor={\metadata@authors},
-    pdftitle={\@title},
-    pdfsubject={\@concepts},
-    pdfkeywords={\@keywords},
-    pdfcreator={LaTeX with acmart
-      \csname ver@acmart.cls\endcsname\space
-      and hyperref
-      \csname ver@hyperref.sty\endcsname}}%
-  \andify\authors
-  \andify\shortauthors
-  \global\let\authors=\authors
-  \global\let\shortauthors=\shortauthors
-  \if@ACM@printacmref
-     \@mkbibcitation
-  \fi
-  \global\@topnum\z@ % this prevents floats from falling
-                     % at the top of page 1
-  \global\@botnum\z@ % we do not want them to be on the bottom either
-  \@printendtopmatter
-  \@afterindentfalse
-  \@afterheading
-}
-\def\@specialsection#1{%
-  \ifcase\ACM@format@nr
-  \relax % manuscript
-    \par\medskip\small\noindent#1: %
-  \or % acmsmall
-    \par\medskip\small\noindent#1: %
-  \or % acmlarge
-    \par\medskip\small\noindent#1: %
-  \or % acmtog
-    \par\medskip\small\noindent#1: %
-  \or % sigconf
-    \section*{#1}%
-  \or % siggraph
-    \section*{#1}%
-  \or % sigplan
-     \noindentparagraph*{#1:~}%
-  \or % sigchi
-    \section*{#1}%
-  \or % sigchi-a
-    \section*{#1}%
-    \fi
-}
-\def\@printtopmatter{%
-  \ifx\@startPage\@empty
-     \gdef\@startPage{1}%
-  \else
-     \setcounter{page}{\@startPage}%
-  \fi
-  \thispagestyle{firstpagestyle}%
-  \noindent
-  \ifcase\ACM@format@nr
-  \relax % manuscript
-    \box\mktitle@bx\par
-  \or % acmsmall
-    \box\mktitle@bx\par
-  \or % acmlarge
-    \box\mktitle@bx\par
-  \or % acmtog
-    \twocolumn[\box\mktitle@bx]%
-  \or % sigconf
-    \twocolumn[\box\mktitle@bx]%
-  \or % siggraph
-    \twocolumn[\box\mktitle@bx]%
-  \or % sigplan
-    \twocolumn[\box\mktitle@bx]%
-  \or % sigchi
-    \twocolumn[\box\mktitle@bx]%
-  \or % sigchi-a
-    \par\box\mktitle@bx\par\bigskip
-    \if@ACM@badge
-       \marginpar{\noindent
-         \ifx\@acmBadgeL@image\@empty\else
-           \href{\@acmBadgeL@url}{%
-             \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}%
-            \hskip\@ACM@badge@skip
-          \fi
-         \ifx\@acmBadgeR@image\@empty\else
-           \href{\@acmBadgeR@url}{%
-             \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}%
-          \fi}%
-    \fi
-  \fi
-}
-\def\@mktitle{%
-  \ifcase\ACM@format@nr
-  \relax % manuscript
-    \@mktitle@i
-  \or % acmsmall
-    \@mktitle@i
-  \or % acmlarge
-    \@mktitle@i
-  \or % acmtog
-    \@mktitle@i
-  \or % sigconf
-    \@mktitle@iii
-  \or % siggraph
-    \@mktitle@iii
-  \or % sigplan
-    \@mktitle@iii
-  \or % sigchi
-    \@mktitle@iii
-  \or % sigchi-a
-    \@mktitle@iv
-  \fi
-}
-\def\@titlefont{%
-  \ifcase\ACM@format@nr
-  \relax % manuscript
-    \LARGE\sffamily\bfseries
-  \or % acmsmall
-    \LARGE\sffamily\bfseries
-  \or % acmlarge
-    \LARGE\sffamily\bfseries
-  \or % acmtog
-    \Huge\sffamily
-  \or % sigconf
-    \Huge\sffamily\bfseries
-  \or % siggraph
-    \Huge\sffamily\bfseries
-  \or % sigplan
-    \Huge\bfseries
-  \or % sigchi
-    \Huge\sffamily\bfseries
-  \or % sigchi-a
-     \Huge\bfseries
-  \fi}
-\def\@subtitlefont{\normalsize
-  \ifcase\ACM@format@nr
-  \relax % manuscript
-    \mdseries
-  \or % acmsmall
-    \mdseries
-  \or % acmlarge
-    \mdseries
-  \or % acmtog
-     \LARGE
-  \or % sigconf
-     \LARGE\mdseries
-  \or % siggraph
-     \LARGE\mdseries
-  \or % sigplan
-     \LARGE\mdseries
-  \or % sigchi
-     \LARGE\mdseries
-  \or % sigchi-a
-     \mdseries
-  \fi}
-\def\@mktitle@i{\hsize=\textwidth
-  \@ACM@title@width=\hsize
-  \ifx\@acmBadgeL@image\@empty\else
-    \advance\@ACM@title@width by -\@ACM@badge@width
-    \advance\@ACM@title@width by -\@ACM@badge@skip
-  \fi
-  \ifx\@acmBadgeR@image\@empty\else
-    \advance\@ACM@title@width by -\@ACM@badge@width
-    \advance\@ACM@title@width by -\@ACM@badge@skip
-  \fi
-  \setbox\mktitle@bx=\vbox{\noindent\@titlefont
-    \ifx\@acmBadgeL@image\@empty\else
-      \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{%
-          \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}%
-      \hskip\@ACM@badge@skip
-    \fi
-    \parbox[t]{\@ACM@title@width}{\raggedright
-      \@titlefont\noindent
-      \@title
-  \ifx\@subtitle\@empty\else
-    \par\noindent{\@subtitlefont\@subtitle}
-  \fi}%
-  \ifx\@acmBadgeR@image\@empty\else
-    \hskip\@ACM@badge@skip
-    \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{%
-        \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}%
-  \fi
-  \par\bigskip}}%
-\def\@mktitle@iii{\hsize=\textwidth
-    \setbox\mktitle@bx=\vbox{\@titlefont\centering
-      \@ACM@title@width=\hsize
-      \if@ACM@badge
-        \advance\@ACM@title@width by -2\@ACM@badge@width
-        \advance\@ACM@title@width by -2\@ACM@badge@skip
-        \parbox[b]{\@ACM@badge@width}{\strut
-          \ifx\@acmBadgeL@image\@empty\else
-            \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{%
-                \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}%
-          \fi}%
-        \hskip\@ACM@badge@skip
-      \fi
-      \parbox[t]{\@ACM@title@width}{\centering\@titlefont
-        \@title
-        \ifx\@subtitle\@empty\else
-          \par\noindent{\@subtitlefont\@subtitle}
-        \fi
-      }%
-      \if@ACM@badge
-        \hskip\@ACM@badge@skip
-        \parbox[b]{\@ACM@badge@width}{\strut
-          \ifx\@acmBadgeR@image\@empty\else
-            \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{%
-                \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}%
-          \fi}%
-      \fi
-      \par\bigskip}}%
-\def\@mktitle@iv{\hsize=\textwidth
-    \setbox\mktitle@bx=\vbox{\raggedright\leftskip5pc\@titlefont
-      \noindent\leavevmode\leaders\hrule height 2pt\hfill\kern0pt\par
-      \noindent\@title
-     \ifx\@subtitle\@empty\else
-       \par\noindent\@subtitlefont\@subtitle
-     \fi
-     \par\bigskip}}%
-\newbox\@ACM@commabox
-\def\@ACM@addtoaddress#1{%
-  \ifvmode\else
-    \if@ACM@affiliation@obeypunctuation\else
-    \setbox\@ACM@commabox=\hbox{, }%
-    \unskip\cleaders\copy\@ACM@commabox\hskip\wd\@ACM@commabox
-  \fi\fi
-  #1}
-\def\streetaddress#1{\unskip\ignorespaces}
-\def\postcode#1{\unskip\ignorespaces}
-\if@ACM@journal
-  \def\position#1{\unskip\ignorespaces}
-  \def\institution#1{\global\@ACM@instpresenttrue
-    \unskip~#1\ignorespaces}
-  \def\city#1{\global\@ACM@citypresenttrue\unskip\ignorespaces}
-  \def\state#1{\unskip\ignorespaces}
-  \newcommand\department[2][0]{\unskip\ignorespaces}
-  \def\country#1{\global\@ACM@countrypresenttrue
-    \if@ACM@affiliation@obeypunctuation\else, \fi#1\ignorespaces}
-\else
-  \def\position#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
-  \def\institution#1{\global\@ACM@instpresenttrue
-    \if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
-  \newcommand\department[2][0]{\if@ACM@affiliation@obeypunctuation
-    #2\else#2\par\fi}%
-  \def\city#1{\global\@ACM@citypresenttrue\@ACM@addtoaddress{#1}}%
-  \let\state\@ACM@addtoaddress
-  \def\country#1{\global\@ACM@countrypresenttrue\@ACM@addtoaddress{#1}}%
-\fi
-\def\@mkauthors{\begingroup
-  \hsize=\textwidth
-  \ifcase\ACM@format@nr
-  \relax % manuscript
-    \@mkauthors@i
-  \or % acmsmall
-    \@mkauthors@i
-  \or % acmlarge
-    \@mkauthors@i
-  \or % acmtog
-    \@mkauthors@i
-  \or % sigconf
-    \@mkauthors@iii
-  \or % siggraph
-    \@mkauthors@iii
-  \or % sigplan
-    \@mkauthors@iii
-  \or % sigchi
-    \@mkauthors@iii
-  \or % sigchi-a
-    \@mkauthors@iv
-  \fi
-  \endgroup
-}
-\def\@authorfont{\Large\sffamily}
-\def\@affiliationfont{\normalsize\normalfont}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-  \def\@authorfont{\large\sffamily}
-  \def\@affiliationfont{\small\normalfont}
-\or % acmlarge
-\or % acmtog
-  \def\@authorfont{\LARGE\sffamily}
-  \def\@affiliationfont{\large}
-\or % sigconf
-  \def\@authorfont{\LARGE}
-  \def\@affiliationfont{\large}
-\or % siggraph
-  \def\@authorfont{\normalsize\normalfont}
-  \def\@affiliationfont{\normalsize\normalfont}
-\or % sigplan
-  \def\@authorfont{\Large\normalfont}
-  \def\@affiliationfont{\normalsize\normalfont}
-\or % sigchi
-  \def\@authorfont{\bfseries}
-  \def\@affiliationfont{\mdseries}
-\or % sigchi-a
-  \def\@authorfont{\bfseries}
-  \def\@affiliationfont{\mdseries}
-\fi
-\def\@typeset@author@line{%
-  \andify\@currentauthors\par\noindent
-  \@currentauthors\def\@currentauthors{}%
-  \ifx\@currentaffiliations\@empty\else
-    \andify\@currentaffiliations
-      \unskip, {\@currentaffiliations}\par
-  \fi
-  \def\@currentaffiliations{}}
-\newif\if@ACM@instpresent
-\@ACM@instpresenttrue
-\newif\if@ACM@citypresent
-\@ACM@citypresenttrue
-\newif\if@ACM@countrypresent
-\@ACM@countrypresenttrue
-\def\@ACM@resetaffil{%
-  \global\@ACM@instpresentfalse
-  \global\@ACM@citypresentfalse
-  \global\@ACM@countrypresentfalse
-}
-\def\@ACM@checkaffil{%
-  \if@ACM@instpresent\else
-  \ClassWarningNoLine{\@classname}{No institution present for an affiliation}%
-  \fi
-  \if@ACM@citypresent\else
-  \ClassWarningNoLine{\@classname}{No city present for an affiliation}%
-  \fi
-  \if@ACM@countrypresent\else
-  \ClassError{\@classname}{No country present for an affiliation}{ACM
-    requires each author to indicate their country using country macro.}%
-  \fi
-}
-\def\@mkauthors@i{%
-  \def\@currentauthors{}%
-  \def\@currentaffiliations{}%
-  \global\let\and\@typeset@author@line
-  \def\@author##1{%
-    \ifx\@currentauthors\@empty
-      \gdef\@currentauthors{\@authorfont\MakeTextUppercase{##1}}%
-    \else
-       \g@addto@macro{\@currentauthors}{\and\MakeTextUppercase{##1}}%
-    \fi
-    \gdef\and{}}%
-  \def\email##1##2{}%
-  \def\affiliation##1##2{%
-    \def\@tempa{##2}\ifx\@tempa\@empty\else
-       \ifx\@currentaffiliations\@empty
-          \gdef\@currentaffiliations{%
-            \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
-            \setkeys{@ACM@affiliation@}{##1}%
-            \@ACM@resetaffil
-            \@affiliationfont##2\@ACM@checkaffil}%
-       \else
-         \g@addto@macro{\@currentaffiliations}{\and
-           \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
-           \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
-           ##2\@ACM@checkaffil}%
-      \fi
-    \fi
-     \global\let\and\@typeset@author@line}%
-  \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par\medskip
-    \noindent\addresses\@typeset@author@line
-   \par\medskip}%
-}
-\newbox\author@bx
-\newdimen\author@bx@wd
-\newskip\author@bx@sep
-\author@bx@sep=1pc\relax
-\def\@typeset@author@bx{\bgroup\hsize=\author@bx@wd
-  \def\and{\par}\normalbaselines
-  \global\setbox\author@bx=\vtop{\if@ACM@sigchiamode\else\centering\fi
-    \@authorfont\@currentauthors\par\@affiliationfont
-    \@currentaffiliation}\egroup
-  \box\author@bx\hspace{\author@bx@sep}%
-  \gdef\@currentauthors{}%
-  \gdef\@currentaffiliation{}}
-\def\@mkauthors@iii{%
-  \author@bx@wd=\textwidth\relax
-  \advance\author@bx@wd by -\author@bx@sep\relax
-  \ifnum\@ACM@authorsperrow>0\relax
-    \divide\author@bx@wd by \@ACM@authorsperrow\relax
-  \else
-    \ifcase\num@authorgroups
-    \relax % 0?
-    \or  % 1=one author per row
-    \or  % 2=two authors per row
-       \divide\author@bx@wd by \num@authorgroups\relax
-    \or  % 3=three authors per row
-       \divide\author@bx@wd by \num@authorgroups\relax
-    \or  % 4=two authors per row (!)
-       \divide\author@bx@wd by 2\relax
-    \else % three authors per row
-       \divide\author@bx@wd by 3\relax
-    \fi
-  \fi
-  \advance\author@bx@wd by -\author@bx@sep\relax
-  \gdef\@currentauthors{}%
-  \gdef\@currentaffiliation{}%
-  \def\@author##1{\ifx\@currentauthors\@empty
-    \gdef\@currentauthors{\par##1}%
-  \else
-    \g@addto@macro\@currentauthors{\par##1}%
-  \fi
-  \gdef\and{}}%
-  \def\email##1##2{\ifx\@currentaffiliation\@empty
-    \gdef\@currentaffiliation{\bgroup
-      \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}%
-  \else
-    \g@addto@macro\@currentaffiliation{\par\bgroup
-      \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}%
-  \fi}%
-  \def\affiliation##1##2{\ifx\@currentaffiliation\@empty
-    \gdef\@currentaffiliation{%
-      \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
-      \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
-      ##2\@ACM@checkaffil}%
-  \else
-    \g@addto@macro\@currentaffiliation{\par
-      \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
-      \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
-      ##2\@ACM@checkaffil}%
-  \fi
-  \global\let\and\@typeset@author@bx
-}%
-  \hsize=\textwidth
-  \global\setbox\mktitle@bx=\vbox{\noindent
-    \box\mktitle@bx\par\medskip\leavevmode
-    \lineskip=1pc\relax\centering\hspace*{-1em}%
-    \addresses\let\and\@typeset@author@bx\and\par\bigskip}}
-\def\@mkauthors@iv{%
-  \author@bx@wd=\columnwidth\relax
-  \advance\author@bx@wd by -\author@bx@sep\relax
-  \ifnum\@ACM@authorsperrow>0\relax
-    \divide\author@bx@wd by \@ACM@authorsperrow\relax
-  \else
-    \ifcase\num@authorgroups
-    \relax % 0?
-    \or  % 1=one author per row
-    \else  % 2=two authors per row
-       \divide\author@bx@wd by 2\relax
-    \fi
-  \fi
-  \advance\author@bx@wd by -\author@bx@sep\relax
-  \gdef\@currentauthors{}%
-  \gdef\@currentaffiliation{}%
-  \def\@author##1{\ifx\@currentauthors\@empty
-    \gdef\@currentauthors{\par##1}%
-  \else
-    \g@addto@macro\@currentauthors{\par##1}%
-  \fi
-  \gdef\and{}}%
-  \def\email##1##2{\ifx\@currentaffiliation\@empty
-    \gdef\@currentaffiliation{\nolinkurl{##2}}%
-  \else
-    \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}%
-  \fi}%
-  \def\affiliation##1##2{\ifx\@currentaffiliation\@empty
-    \gdef\@currentaffiliation{%
-      \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
-      \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
-      ##2\@ACM@checkaffil}%
-  \else
-    \g@addto@macro\@currentaffiliation{\par
-      \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
-      \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil
-      ##2\@ACM@checkaffil}%
-  \fi
-  \global\let\and\@typeset@author@bx}%
-    \bgroup\hsize=\columnwidth
-    \par\raggedright\leftskip=\z@
-    \lineskip=1pc\noindent
-    \addresses\let\and\@typeset@author@bx\and\par\bigskip\egroup}
-\def\@mkauthorsaddresses{%
-  \ifnum\num@authors>1\relax
-  Authors' \else Author's \fi
-  \ifnum\num@authorgroups>1\relax
-  addresses: \else address: \fi
-  \bgroup
-  \def\streetaddress##1{\unskip, ##1}%
-  \def\postcode##1{\unskip, ##1}%
-  \def\position##1{\unskip\ignorespaces}%
-  \def\institution##1{\unskip, ##1}%
-  \def\city##1{\unskip, ##1}%
-  \def\state##1{\unskip, ##1}%
-  \renewcommand\department[2][0]{\unskip\@addpunct, ##2}%
-  \def\country##1{\unskip, ##1}%
-  \def\and{\unskip; }%
-  \def\@author##1{##1}%
-  \def\email##1##2{\unskip, \nolinkurl{##2}}%
-  \addresses
-  \egroup}
-\AtEndDocument{\if@ACM@nonacm\else\if@ACM@journal
-  \ifx\@authorsaddresses\@empty
-  \ClassWarningNoLine{\@classname}{Authors'
-    addresses are mandatory for ACM journals}%
-  \fi\fi\fi}
-\def\@setaddresses{}
-\def\@authornotemark{\g@addto@macro\@currentauthors{\footnotemark\relax}}
-\def\@@authornotemark#1{\g@addto@macro\@currentauthors{\footnotemark[#1]}}
-\def\@mkteasers{%
-  \ifx\@teaserfigures\@empty\else
-    \def\@teaser##1{\par\bigskip\bgroup
-      \captionsetup{type=figure}##1\egroup\par}
-    \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par
-      \noindent\@Description@presentfalse
-      \@teaserfigures\par\if@Description@present\else
-         \global\@undescribed@imagestrue
-         \ClassWarning{\@classname}{A possible image without
-           description}\fi
-    \medskip}%
-  \fi}
-\def\@mkabstract{\bgroup
-  \ifx\@abstract\@lempty\else
-  {\phantomsection\addcontentsline{toc}{section}{Abstract}%
-    \if@ACM@journal
-       \everypar{\setbox\z@\lastbox\everypar{}}\small
-    \else
-      \section*{\abstractname}%
-    \fi
-   \ignorespaces\@abstract\par}%
-  \fi\egroup}
-\def\@mkbibcitation{\bgroup
-  \let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig
-  \def\@pages@word{\ifnum\getrefnumber{TotPages}=1\relax page\else pages\fi}%
-  \def\footnotemark{}%
-  \def\\{\unskip{} \ignorespaces}%
-  \def\footnote{\ClassError{\@classname}{Please do not use footnotes
-      inside a \string\title{} or \string\author{} command! Use
-      \string\titlenote{} or \string\authornote{} instead!}}%
-  \def\@article@string{\ifx\@acmArticle\@empty{\ }\else,
-    Article~\@acmArticle\ \fi}%
-  \par\medskip\small\noindent{\bfseries ACM Reference Format:}\par\nobreak
-  \noindent\bgroup
-    \def\\{\unskip{}, \ignorespaces}\authors\egroup. \@acmYear. \@title
-  \ifx\@subtitle\@empty. \else: \@subtitle. \fi
-  \if@ACM@nonacm\else
-    % The 'nonacm' option disables 'printacmref' by default,
-    % and the present \@mkbibcitation definition is never used
-    % in this case. The conditional remains useful if the user
-    % explicitly sets \settopmatter{printacmref=true}.
-    \if@ACM@journal@bibstrip
-       \textit{\@journalNameShort}
-       \@acmVolume, \@acmNumber \@article@string (\@acmPubDate),
-       \ref{TotPages}~\@pages@word.
-    \else
-       % In \textit{\@acmBooktitle}%
-       % \ifx\@acmEditors\@empty\textit{.}\else
-       %   \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.%
-       % \fi\
-       % ACM, New York, NY, USA%
-       %   \@article@string\unskip, \ref{TotPages}~\@pages@word.
-    \fi
-  \fi
-  \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
-\par\egroup}
-\def\@printendtopmatter{%
-  \let\@vspace\@vspace@orig
-  \let\@vspacer\@vspacer@orig
-  \par\bigskip
-  \let\@vspace\@vspace@acm
-  \let\@vspacer\@vspacer@acm
-  }
-\def\@setthanks{\long\def\thanks##1{\par##1\@addpunct.}\thankses}
-\def\@setauthorsaddresses{\@authorsaddresses\unskip\@addpunct.}
-\RequirePackage{fancyhdr}
-\let\ACM@ps@plain\ps@plain
-\let\ACM@ps@myheadings\ps@myheadings
-\let\ACM@ps@headings\ps@headings
-\def\ACM@restore@pagestyle{%
-  \let\ps@plain\ACM@ps@plain
-  \let\ps@myheadings\ACM@ps@myheadings
-  \let\ps@headings\ACM@ps@headings}
-\AtBeginDocument{\ACM@restore@pagestyle}
-\if@ACM@review
-  \newsavebox{\ACM@linecount@bx}
-  \newlength\ACM@linecount@bxht
-  \newcount\ACM@linecount
-  \ACM@linecount\@ne\relax
-  \def\ACM@mk@linecount{%
-    \savebox{\ACM@linecount@bx}[4em][t]{\parbox[t]{4em}{\normalfont
-        \normalsize
-        \setlength{\ACM@linecount@bxht}{0pt}%
-        \loop{\color{red}\scriptsize\the\ACM@linecount}\\
-        \global\advance\ACM@linecount by \@ne
-        \addtolength{\ACM@linecount@bxht}{\baselineskip}%
-        \ifdim\ACM@linecount@bxht<\textheight\repeat
-        {\color{red}\scriptsize\the\ACM@linecount}\hfill
-        \global\advance\ACM@linecount by \@ne}}}
-\fi
-\def\ACM@linecountL{%
-  \if@ACM@review
-  \ACM@mk@linecount
-  \begin{picture}(0,0)%
-    \put(-26,-22){\usebox{\ACM@linecount@bx}}%
-  \end{picture}%
-  \fi}
-\def\ACM@linecountR{%
-  \if@ACM@review
-    \ifcase\ACM@format@nr
-    \relax % manuscript
-         \relax
-       \or % acmsmall
-         \relax
-       \or % acmlarge
-         \relax
-       \or % acmtog
-          \ACM@mk@linecount
-       \or % sigconf
-          \ACM@mk@linecount
-       \or % siggraph
-          \ACM@mk@linecount
-       \or % sigplan
-          \ACM@mk@linecount
-       \or % sigchi
-          \ACM@mk@linecount
-       \or % sigchi-a
-          \ACM@mk@linecount
-    \fi
-    \begin{picture}(0,0)%
-      \put(20,-22){\usebox{\ACM@linecount@bx}}%
-     \end{picture}%
-  \fi}
-\if@ACM@timestamp
-  % Subtracting 30 from \time gives us the effect of rounding down despite
-  % \numexpr rounding to nearest
-  \newcounter{ACM@time@hours}
-  \setcounter{ACM@time@hours}{\numexpr (\time - 30) / 60 \relax}
-  \newcounter{ACM@time@minutes}
-  \setcounter{ACM@time@minutes}{\numexpr \time - \theACM@time@hours * 60 \relax}
-  \newcommand\ACM@timestamp{%
-    \footnotesize%
-    \ifx\@acmSubmissionID\@empty\relax\else
-    Submission ID: \@acmSubmissionID.{ }%
-    \fi
-    \the\year-\two@digits{\the\month}-\two@digits{\the\day}{ }%
-    \two@digits{\theACM@time@hours}:\two@digits{\theACM@time@minutes}{. }%
-    Page \thepage\ of \@startPage--\pageref*{TotPages}.%
-  }
-\fi
-\def\@shortauthors{%
-  \if@ACM@anonymous
-    Anon.
-    \ifx\@acmSubmissionID\@empty\else Submission Id: \@acmSubmissionID\fi
-  \else\shortauthors\fi}
-\def\@headfootfont{\sffamily\footnotesize}
-\AtBeginDocument{%
-\fancypagestyle{standardpagestyle}{%
-  \fancyhf{}%
-  \renewcommand{\headrulewidth}{\z@}%
-  \renewcommand{\footrulewidth}{\z@}%
-  \def\@acmArticlePage{%
-    \ifx\@acmArticle\empty%
-      \if@ACM@printfolios\thepage\fi%
-    \else%
-      \@acmArticle\if@ACM@printfolios:\thepage\fi%
-    \fi%
-  }%
-  \if@ACM@journal@bibstrip
-    \ifcase\ACM@format@nr
-    \relax % manuscript
-      \fancyhead[LE]{\ACM@linecountL\if@ACM@printfolios\thepage\fi}%
-      \fancyhead[RO]{\if@ACM@printfolios\thepage\fi}%
-      \fancyhead[RE]{\@shortauthors}%
-      \fancyhead[LO]{\ACM@linecountL\shorttitle}%
-      \if@ACM@nonacm\else%
-        \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}
-      \fi%
-    \or % acmsmall
-      \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticlePage}%
-      \fancyhead[RO]{\@headfootfont\@acmArticlePage}%
-      \fancyhead[RE]{\@headfootfont\@shortauthors}%
-      \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
-      \if@ACM@nonacm\else%
-        \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
-        \@acmNumber, Article \@acmArticle.  Publication date: \@acmPubDate.}%
-      \fi
-    \or % acmlarge
-      \fancyhead[LE]{\ACM@linecountL\@headfootfont
-      \@acmArticlePage\quad\textbullet\quad\@shortauthors}%
-      \fancyhead[LO]{\ACM@linecountL}%
-      \fancyhead[RO]{\@headfootfont
-        \shorttitle\quad\textbullet\quad\@acmArticlePage}%
-      \if@ACM@nonacm\else%
-        \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
-        \@acmNumber, Article \@acmArticle.  Publication date: \@acmPubDate.}%
-      \fi
-    \or % acmtog
-      \fancyhead[LE]{\ACM@linecountL\@headfootfont
-        \@acmArticlePage\quad\textbullet\quad\@shortauthors}%
-      \fancyhead[LO]{\ACM@linecountL}%
-      \fancyhead[RE]{\ACM@linecountR}%
-      \fancyhead[RO]{\@headfootfont
-        \shorttitle\quad\textbullet\quad\@acmArticlePage\ACM@linecountR}%
-      \if@ACM@nonacm\else%
-        \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
-        \@acmNumber, Article \@acmArticle.  Publication date: \@acmPubDate.}%
-      \fi
-    \else % Proceedings
-      \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
-      \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
-      \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}%
-      \if@ACM@nonacm\else%
-        \fancyhead[LE]{\ACM@linecountL\@headfootfont\footnotesize
-          \acmConference@shortname,
-          \acmConference@date, \acmConference@venue}%
-        \fancyhead[RO]{\@headfootfont
-          \acmConference@shortname,
-          \acmConference@date, \acmConference@venue\ACM@linecountR}%
-      \fi
-    \fi
-  \else % Proceedings
-    \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
-    \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
-    \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}%
-    \if@ACM@nonacm\else%
-      \fancyhead[LE]{\ACM@linecountL\@headfootfont
-        \acmConference@shortname,
-        \acmConference@date, \acmConference@venue}%
-      \fancyhead[RO]{\@headfootfont
-        \acmConference@shortname,
-        \acmConference@date, \acmConference@venue\ACM@linecountR}%
-    \fi
-  \fi
-  \if@ACM@sigchiamode
-     \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}%
-  \fi
-  \if@ACM@timestamp
-     \fancyfoot[LO,RE]{\ACM@timestamp}
-  \fi
-}%
-\pagestyle{standardpagestyle}
-}
-\newdimen\@folio@wd
-\@folio@wd=\z@
-\newdimen\@folio@ht
-\@folio@ht=\z@
-\newdimen\@folio@voffset
-\@folio@voffset=\z@
-\def\@folio@max{1}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-  \@folio@wd=45.75pt\relax
-  \@folio@ht=1.25in\relax
-  \@folio@voffset=.2in\relax
-  \def\@folio@max{8}
-\or % acmlarge
-  \@folio@wd=43.25pt\relax
-  \@folio@ht=79pt\relax
-  \@folio@voffset=.55in\relax
-  \def\@folio@max{10}
-\fi
-\def\@folioblob{\@tempcnta=0\@acmArticleSeq\relax
-  \ifnum\@tempcnta=0\relax\else
-  \loop
-     \ifnum\@tempcnta>\@folio@max\relax
-      \advance\@tempcnta by - \@folio@max
-   \repeat
-    \advance\@tempcnta by -1\relax
-    \@tempdima=\@folio@ht\relax
-    \multiply\@tempdima by \the\@tempcnta\relax
-    \advance\@tempdima by -\@folio@voffset\relax
-    \begin{picture}(0,0)
-    \makebox[\z@]{\raisebox{-\@tempdima}{%
-        \rlap{%
-          \raisebox{-0.45\@folio@ht}[\z@][\z@]{%
-            \rule{\@folio@wd}{\@folio@ht}}}%
-        \parbox{\@folio@wd}{%
-          \centering
-          \textcolor{white}{\LARGE\sffamily\bfseries\@acmArticle}}}}
-  \end{picture}\fi}
-
-\AtBeginDocument{%
-\fancypagestyle{firstpagestyle}{%
-  \fancyhf{}%
-  \renewcommand{\headrulewidth}{\z@}%
-  \renewcommand{\footrulewidth}{\z@}%
-  \if@ACM@journal@bibstrip
-    \ifcase\ACM@format@nr
-    \relax % manuscript
-      \fancyhead[L]{\ACM@linecountL}%
-      \fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}%
-      \if@ACM@nonacm\else%
-        \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}%
-      \fi%
-    \or % acmsmall
-      \if@ACM@nonacm\else%
-        \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
-        \@acmNumber, Article \@acmArticle.  Publication date:
-        \@acmPubDate.}%
-      \fi%
-      \fancyhead[LE]{\ACM@linecountL\@folioblob}%
-      \fancyhead[LO]{\ACM@linecountL}%
-      \fancyhead[RO]{\@folioblob}%
-      \fancyheadoffset[RO,LE]{0.6\@folio@wd}%
-    \or % acmlarge
-      \if@ACM@nonacm\else%
-        \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
-        \@acmNumber, Article \@acmArticle.  Publication date:
-        \@acmPubDate.}%
-      \fi%
-      \fancyhead[RO]{\@folioblob}%
-      \fancyhead[LE]{\ACM@linecountL\@folioblob}%
-      \fancyhead[LO]{\ACM@linecountL}%
-      \fancyheadoffset[RO,LE]{1.4\@folio@wd}%
-    \or % acmtog
-      \if@ACM@nonacm\else%
-        \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
-        \@acmNumber, Article \@acmArticle.  Publication date:
-        \@acmPubDate.}%
-      \fi%
-      \fancyhead[L]{\ACM@linecountL}%
-      \fancyhead[R]{\ACM@linecountR}%
-    \else % Conference proceedings
-      \fancyhead[L]{\ACM@linecountL}%
-      \fancyhead[R]{\ACM@linecountR}%
-      \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
-    \fi
-  \else
-    \fancyhead[L]{\ACM@linecountL}%
-    \fancyhead[R]{\ACM@linecountR}%
-    \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
-  \fi
-  \if@ACM@timestamp
-    \ifnum\ACM@format@nr=0\relax % Manuscript
-    \fancyfoot[LO,RE]{\ACM@timestamp\quad
-      \if@ACM@nonacm\else
-        \footnotesize Manuscript submitted to ACM
-      \fi}
-    \else
-    \fancyfoot[LO,RE]{\ACM@timestamp}
-    \fi
-  \fi
-}}
-\def\ACM@NRadjust#1{%
- \begingroup
-  \expandafter\ifx\csname Sectionformat\endcsname\relax
-  % do nothing when  \Sectionformat  is unknown
-   \def\next{\endgroup #1}%
- \else
-  \def\next{\endgroup
-   \let\realSectionformat\Sectionformat
-   \def\ACM@sect@format@{#1}%
-   \let\Sectionformat\ACM@NR@adjustedSectionformat
- %%  next lines added 2018-06-17 to ensure section number is styled
-   \let\real@adddotafter\@adddotafter
-   \let\@adddotafter\ACM@adddotafter
-   #1{}% imposes the styles, but nullifies  \MakeUppercase
-   \let\@adddotafter\real@adddotafter
-  }%
- \fi \next
-}
-\def\ACM@NR@adjustedSectionformat#1#2{%
- \realSectionformat{\ACM@sect@format{#1}}{#2}%
- \let\Sectionformat\realSectionformat}
-\DeclareRobustCommand{\ACM@sect@format}{\ACM@sect@format@}
-\def\ACM@sect@format@null#1{#1}
-\let\ACM@sect@format@\ACM@sect@format@null
-\AtBeginDocument{%
- \expandafter\ifx\csname LTX@adddotafter\endcsname\relax
-  \let\LTX@adddotafter\@adddotafter
- \fi
-}
-\def\ACM@adddotafter#1{\ifx\relax#1\relax\else\LTX@adddotafter{#1}\fi}
-\renewcommand\section{\@startsection{section}{1}{\z@}%
-  {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
-  {.25\baselineskip}%
-  {\ACM@NRadjust\@secfont}}
-\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
-  {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
-  {.25\baselineskip}%
-  {\ACM@NRadjust\@subsecfont}}
-\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
-  {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
-  {-3.5\p@}%
-  {\ACM@NRadjust{\@subsubsecfont\@adddotafter}}}
-\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}%
-  {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
-  {-3.5\p@}%
-  {\ACM@NRadjust{\@parfont\@adddotafter}}}
-\newcommand\noindentparagraph{\@startsection{paragraph}{4}{\z@}%
-  {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
-  {-3.5\p@}%
-  {\ACM@NRadjust{\@parfont}}}
-
-\renewcommand\part{\@startsection{part}{9}{\z@}%
-  {-10\p@ \@plus -4\p@ \@minus -2\p@}%
-  {4\p@}%
-  {\ACM@NRadjust\@parfont}}
-\def\section@raggedright{\@rightskip\@flushglue
-  \rightskip\@rightskip
-  \leftskip\z@skip
-  \parindent\z@}
-\def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
-\def\@subsecfont{\sffamily\bfseries\section@raggedright}
-\def\@subsubsecfont{\sffamily\itshape}
-\def\@parfont{\itshape}
-\setcounter{secnumdepth}{3}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
- \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase}
- \def\@subsecfont{\sffamily\large\section@raggedright}
-\or % acmtog
- \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase}
- \def\@subsecfont{\sffamily\large\section@raggedright}
-\or % sigconf
- \def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase}
- \def\@subsecfont{\bfseries\Large\section@raggedright}
-\or % siggraph
- \def\@secfont{\sffamily\bfseries\Large\section@raggedright\MakeTextUppercase}
- \def\@subsecfont{\sffamily\bfseries\Large\section@raggedright}
-\or % sigplan
- \def\@secfont{\bfseries\Large\section@raggedright}
- \def\@subsecfont{\bfseries\section@raggedright}
- \def\@subsubsecfont{\bfseries\section@raggedright}
- \def\@parfont{\bfseries\itshape}
- \def\@subparfont{\itshape}
-\or % sigchi
- \setcounter{secnumdepth}{1}
- \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
- \def\@subsecfont{\sffamily\bfseries\section@raggedright}
-\or % sigchi-a
- \setcounter{secnumdepth}{0}
- \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
- \def\@subsecfont{\sffamily\bfseries\section@raggedright}
-\fi
-\def\@adddotafter#1{#1\@addpunct{.}}
-\def\@addspaceafter#1{#1\@addpunct{\enspace}}
-\providecommand*\@dotsep{4.5}
-\def\@acmplainbodyfont{\itshape}
-\def\@acmplainindent{\parindent}
-\def\@acmplainheadfont{\scshape}
-\def\@acmplainnotefont{\@empty}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
-\or % acmtog
-\or % sigconf
-\or % siggraph
-\or % sigplan
-  \def\@acmplainbodyfont{\itshape}
-  \def\@acmplainindent{\z@}
-  \def\@acmplainheadfont{\bfseries}
-  \def\@acmplainnotefont{\normalfont}
-\or % sigchi
-\or % sigchi-a
-\fi
-\newtheoremstyle{acmplain}%
-  {.5\baselineskip\@plus.2\baselineskip
-    \@minus.2\baselineskip}% space above
-  {.5\baselineskip\@plus.2\baselineskip
-    \@minus.2\baselineskip}% space below
-  {\@acmplainbodyfont}% body font
-  {\@acmplainindent}% indent amount
-  {\@acmplainheadfont}% head font
-  {.}% punctuation after head
-  {.5em}% spacing after head
-  {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmplainnotefont(#3)}}}% head spec
-\def\@acmdefinitionbodyfont{\normalfont}
-\def\@acmdefinitionindent{\parindent}
-\def\@acmdefinitionheadfont{\itshape}
-\def\@acmdefinitionnotefont{\@empty}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
-\or % acmtog
-\or % sigconf
-\or % siggraph
-\or % sigplan
-  \def\@acmdefinitionbodyfont{\normalfont}
-  \def\@acmdefinitionindent{\z@}
-  \def\@acmdefinitionheadfont{\bfseries}
-  \def\@acmdefinitionnotefont{\normalfont}
-\or % sigchi
-\or % sigchi-a
-\fi
-\newtheoremstyle{acmdefinition}%
-  {.5\baselineskip\@plus.2\baselineskip
-    \@minus.2\baselineskip}% space above
-  {.5\baselineskip\@plus.2\baselineskip
-    \@minus.2\baselineskip}% space below
-  {\@acmdefinitionbodyfont}% body font
-  {\@acmdefinitionindent}% indent amount
-  {\@acmdefinitionheadfont}% head font
-  {.}% punctuation after head
-  {.5em}% spacing after head
-  {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmdefinitionnotefont(#3)}}}% head spec
-\theoremstyle{acmplain}
-\AtEndPreamble{%
-  \if@ACM@acmthm
-  \theoremstyle{acmplain}
-  \@ifundefined{theorem}{%
-  \newtheorem{theorem}{Theorem}[section]
-  }{}
-  \@ifundefined{conjecture}{%
-  \newtheorem{conjecture}[theorem]{Conjecture}
-  }{}
-  \@ifundefined{proposition}{%
-  \newtheorem{proposition}[theorem]{Proposition}
-  }{}
-  \@ifundefined{lemma}{%
-  \newtheorem{lemma}[theorem]{Lemma}
-  }{}
-  \@ifundefined{corollary}{%
-  \newtheorem{corollary}[theorem]{Corollary}
-  }{}
-  \theoremstyle{acmdefinition}
-  \@ifundefined{example}{%
-  \newtheorem{example}[theorem]{Example}
-  }{}
-  \@ifundefined{definition}{%
-  \newtheorem{definition}[theorem]{Definition}
-  }{}
-  \fi
-  \theoremstyle{acmplain}
-}
-\def\@proofnamefont{\scshape}
-\def\@proofindent{\indent}
-\ifcase\ACM@format@nr
-\relax % manuscript
-\or % acmsmall
-\or % acmlarge
-\or % acmtog
-\or % sigconf
-\or % siggraph
-\or % sigplan
-  \def\@proofnamefont{\itshape}
-  \def\@proofindent{\noindent}
-\or % sigchi
-\or % sigchi-a
-\fi
-\renewenvironment{proof}[1][\proofname]{\par
-  \pushQED{\qed}%
-  \normalfont \topsep6\p@\@plus6\p@\relax
-  \trivlist
-  \item[\@proofindent\hskip\labelsep
-        {\@proofnamefont #1\@addpunct{.}}]\ignorespaces
-}{%
-  \popQED\endtrivlist\@endpefalse
-}
-\AtEndPreamble{%
-  \if@ACM@balance
-    \ifcase\ACM@format@nr
-    \relax % manuscript
-         \global\@ACM@balancefalse
-       \or % acmsmall
-         \global\@ACM@balancefalse
-       \or % acmlarge
-         \global\@ACM@balancefalse
-       \or % acmtog
-          \RequirePackage{balance}%
-       \or % sigconf
-          \RequirePackage{balance}%
-       \or % siggraph
-          \RequirePackage{balance}%
-       \or % sigplan
-          \RequirePackage{balance}%
-       \or % sigchi
-          \RequirePackage{balance}%
-       \or % sigchi-a
-          \global\@ACM@balancefalse
-    \fi
-  \fi
-}
-\AtEndDocument{%
-  \if@ACM@balance
-  \if@twocolumn
-  \balance
-  \fi\fi}
-\newcommand\acksname{Acknowledgments}
-\specialcomment{acks}{%
-  \begingroup
-  \section*{\acksname}
-  \phantomsection\addcontentsline{toc}{section}{\acksname}
-}{%
-  \endgroup
-}
-\def\grantsponsor#1#2#3{#2}
-\newcommand\grantnum[3][]{#3%
-  \def\@tempa{#1}\ifx\@tempa\@empty\else\space(\url{#1})\fi}
-\AtEndPreamble{%
-\if@ACM@screen
-  \includecomment{screenonly}
-  \excludecomment{printonly}
-\else
-  \excludecomment{screenonly}
-  \includecomment{printonly}
-\fi
-\if@ACM@anonymous
-  \excludecomment{anonsuppress}
-  \excludecomment{acks}
-\else
-  \includecomment{anonsuppress}
-\fi}
-\newcommand\showeprint[2][arxiv]{%
-  \def\@tempa{#1}%
-  \ifx\@tempa\@empty\def\@tempa{arxiv}\fi
-  \def\@tempb{arxiv}%
-  \ifx\@tempa\@tempb
-     arXiv:\href{https://arxiv.org/abs/#2}{#2}\else arXiv:#2%
-  \fi}
-\let\@vspace@orig=\@vspace
-\let\@vspacer@orig=\@vspacer
-\apptocmd{\@vspace}{\ClassWarning{\@classname}{\string\vspace\space should
-    only be used to provide space above/below surrounding
-    objects}}{}{}
-\apptocmd{\@vspacer}{\ClassWarning{\@classname}{\string\vspace\space should
-    only be used to provide space above/below surrounding
-    objects}}{}{}
-\let\@vspace@acm=\@vspace
-\let\@vspacer@acm=\@vspacer
-\let\ACM@origbaselinestretch\baselinestretch
-\AtEndDocument{\ifx\baselinestretch\ACM@origbaselinestretch\else
-  \ClassError{\@classname}{An attempt to redefine
-    \string\baselinestretch\space detected.  Please do not do this for
-    ACM submissions!}\fi}
-\normalsize\normalfont\frenchspacing
-\endinput
-%%
-%% End of file `acmart.cls'.
diff --git a/docs/necessary/comment.cut b/docs/necessary/comment.cut
deleted file mode 100644
index 6048ce22a60657adbb768be4c90d5c2921d062ee..0000000000000000000000000000000000000000
--- a/docs/necessary/comment.cut
+++ /dev/null
@@ -1,3 +0,0 @@
-    To Dr. László Szécsi, associate professor at the Computer Graphics Group
-    (Department of Control Engineering and Information Technology), whom I had
-    the chance to consult with during the semester.
diff --git a/docs/necessary/references.bib b/docs/references.bib
similarity index 100%
rename from docs/necessary/references.bib
rename to docs/references.bib
diff --git a/docs/sample-franklin.png b/docs/sample-franklin.png
deleted file mode 100644
index c0b2af9131a7983bb96fcadb86d38f13f360e9c7..0000000000000000000000000000000000000000
Binary files a/docs/sample-franklin.png and /dev/null differ
diff --git a/docs/sample-sigplan.aux b/docs/sample-sigplan.aux
deleted file mode 100644
index 4666628ba3d6a3ab6c3a0fed2f12c99252c4a448..0000000000000000000000000000000000000000
--- a/docs/sample-sigplan.aux
+++ /dev/null
@@ -1,94 +0,0 @@
-\relax 
-\providecommand\hyper@newdestlabel[2]{}
-\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
-\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
-\global\let\oldcontentsline\contentsline
-\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
-\global\let\oldnewlabel\newlabel
-\gdef\newlabel#1#2{\newlabelxx{#1}#2}
-\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
-\AtEndDocument{\ifx\hyper@anchor\@undefined
-\let\contentsline\oldcontentsline
-\let\newlabel\oldnewlabel
-\fi}
-\fi}
-\global\let\hyper@last\relax 
-\gdef\HyperFirstAtBeginDocument#1{#1}
-\providecommand\HyField@AuxAddToFields[1]{}
-\providecommand\HyField@AuxAddToCoFields[2]{}
-\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Seattle Mariners at Spring Training, 2010.\relax }}{1}{figure.caption.1}\protected@file@percent }
-\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
-\newlabel{fig:teaser}{{1}{1}{Seattle Mariners at Spring Training, 2010.\relax }{figure.caption.1}{}}
-\@writefile{toc}{\contentsline {section}{Abstract}{1}{section*.2}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}{section.1}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {2}Template Overview}{2}{section.2}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Template Styles}{2}{subsection.2.1}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Template Parameters}{2}{subsection.2.2}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {3}Modifications}{2}{section.3}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {4}Typefaces}{2}{section.4}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {5}Title Information}{2}{section.5}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {6}Authors and Affiliations}{2}{section.6}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {7}Rights Information}{3}{section.7}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {8}CCS Concepts and User-Defined Keywords}{3}{section.8}\protected@file@percent }
-\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Frequency of Special Characters\relax }}{3}{table.caption.6}\protected@file@percent }
-\newlabel{tab:freq}{{1}{3}{Frequency of Special Characters\relax }{table.caption.6}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {9}Sectioning Commands}{3}{section.9}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {10}Tables}{3}{section.10}\protected@file@percent }
-\citation{Lamport:LaTeX}
-\@writefile{lot}{\contentsline {table}{\numberline {2}{\ignorespaces Some Typical Commands\relax }}{4}{table.caption.7}\protected@file@percent }
-\newlabel{tab:commands}{{2}{4}{Some Typical Commands\relax }{table.caption.7}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {11}Math Equations}{4}{section.11}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {11.1}Inline (In-text) Equations}{4}{subsection.11.1}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {11.2}Display Equations}{4}{subsection.11.2}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {12}Figures}{4}{section.12}\protected@file@percent }
-\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces 1907 Franklin Model D roadster. Photograph by Harris \& Ewing, Inc. [Public domain], via Wikimedia Commons. (\url  {https://goo.gl/VLCRBB}).\relax }}{4}{figure.caption.8}\protected@file@percent }
-\citation{Abril07}
-\citation{Cohen07}
-\citation{JCohen96}
-\citation{Kosiur01}
-\citation{Harel79}
-\citation{Editor00}
-\citation{Editor00a}
-\citation{Spector90}
-\citation{Douglass98}
-\citation{Knuth97}
-\citation{Andler79,Hagerup1993}
-\citation{Smith10}
-\citation{VanGundy07}
-\citation{Harel78}
-\citation{Bornmann2019,AnzarootPBM14}
-\citation{Clarkson85}
-\citation{anisi03}
-\citation{Thornburg01,Ablamowicz07,Poker06}
-\citation{Obama08}
-\citation{Novak03}
-\citation{Lee05}
-\citation{JoeScientist001}
-\citation{rous08}
-\citation{SaeediMEJ10}
-\citation{SaeediJETC10}
-\citation{Kirschmer:2010:AEI:1958016.1958018}
-\citation{MR781536}
-\citation{MR781537}
-\citation{2004:ITE:1009386.1010128,Kirschmer:2010:AEI:1958016.1958018}
-\citation{TUGInstmem,Thornburg01,CTANacmart}
-\citation{R}
-\citation{UMassCitations}
-\bibstyle{ACM-Reference-Format}
-\bibdata{sample-base}
-\@writefile{toc}{\contentsline {subsection}{\numberline {12.1}The ``Teaser Figure''}{5}{subsection.12.1}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {13}Citations and Bibliographies}{5}{section.13}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {14}Acknowledgments}{5}{section.14}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {15}Appendices}{5}{section.15}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {16}SIGCHI Extended Abstracts}{5}{section.16}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{Acknowledgments}{5}{section*.10}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {A}Research Methods}{5}{appendix.A}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {A.1}Part One}{5}{subsection.A.1}\protected@file@percent }
-\newlabel{tocindent-1}{0pt}
-\newlabel{tocindent0}{0pt}
-\newlabel{tocindent1}{9.29999pt}
-\newlabel{tocindent2}{16.14998pt}
-\newlabel{tocindent3}{0pt}
-\@writefile{toc}{\contentsline {subsection}{\numberline {A.2}Part Two}{6}{subsection.A.2}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {B}Online Resources}{6}{appendix.B}\protected@file@percent }
-\newlabel{TotPages}{{6}{6}{}{page.6}{}}
diff --git a/docs/sample-sigplan.log b/docs/sample-sigplan.log
deleted file mode 100644
index 4e3ec3b2962abcdf8924c0107957024c644c6b15..0000000000000000000000000000000000000000
--- a/docs/sample-sigplan.log
+++ /dev/null
@@ -1,1291 +0,0 @@
-This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2020.10.23)  1 DEC 2020 12:26
-entering extended mode
- restricted \write18 enabled.
- %&-line parsing enabled.
-**sample-sigplan.tex
-(./sample-sigplan.tex
-LaTeX2e <2020-02-02> patch level 2
-L3 programming layer <2020-02-14> (./acmart.cls
-Document Class: acmart 2020/11/15 v1.75 Typesetting articles for the Associatio
-n for Computing Machinery
-(/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
-Package: xkeyval 2014/12/03 v2.7a package option processing (HA)
-
-(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex
-(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex
-\XKV@toks=\toks14
-\XKV@tempa@toks=\toks15
-
-(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/keyval.tex))
-\XKV@depth=\count167
-File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA)
-))
-(/usr/share/texlive/texmf-dist/tex/generic/xstring/xstring.sty
-(/usr/share/texlive/texmf-dist/tex/generic/xstring/xstring.tex
-\integerpart=\count168
-\decimalpart=\count169
-)
-Package: xstring 2019/02/06 v1.83 String manipulations (CT)
-)
-(/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
-Package: iftex 2019/11/07 v1.0c TeX engine tests
-)
-Package acmart Info: Not using screen mode on input line 73.
-Package acmart Info: Using breaking urls on hyphens on input line 81.
-Package acmart Info: Requiring acmthm on input line 89.
-Package acmart Info: Not using review mode on input line 98.
-Package acmart Info: Not using authorversion mode on input line 106.
-Package acmart Info: Not using nonacm mode on input line 118.
-Package acmart Info: Explicitly selecting natbib mode on input line 130.
-Package acmart Info: Not using anonymous mode on input line 138.
-Package acmart Info: Not using timestamp mode on input line 146.
-Package acmart Info: Not using authordraft mode on input line 156.
-Package acmart Info: Using screen mode on input line 165.
-Class acmart Info: Using format sigplan, number 6 on input line 165.
-Class acmart Info: Using fontsize 10pt on input line 249.
-
-(/usr/share/texlive/texmf-dist/tex/latex/amscls/amsart.cls
-Document Class: amsart 2017/10/31 v2.20.4
-\linespacing=\dimen134
-\normalparindent=\dimen135
-\normaltopskip=\skip47
-(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
-Package: amsmath 2020/01/20 v2.17e AMS math features
-\@mathmargin=\skip48
-
-For additional information on amsmath, use the `?' option.
-(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
-Package: amstext 2000/06/29 v2.01 AMS text
-
-(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
-File: amsgen.sty 1999/11/30 v2.0 generic functions
-\@emptytoks=\toks16
-\ex@=\dimen136
-))
-(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
-Package: amsbsy 1999/11/29 v1.2d Bold Symbols
-\pmbraise@=\dimen137
-)
-(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
-Package: amsopn 2016/03/08 v2.02 operator names
-)
-\inf@bad=\count170
-LaTeX Info: Redefining \frac on input line 227.
-\uproot@=\count171
-\leftroot@=\count172
-LaTeX Info: Redefining \overline on input line 389.
-\classnum@=\count173
-\DOTSCASE@=\count174
-LaTeX Info: Redefining \ldots on input line 486.
-LaTeX Info: Redefining \dots on input line 489.
-LaTeX Info: Redefining \cdots on input line 610.
-\Mathstrutbox@=\box45
-\strutbox@=\box46
-\big@size=\dimen138
-LaTeX Font Info:    Redeclaring font encoding OML on input line 733.
-LaTeX Font Info:    Redeclaring font encoding OMS on input line 734.
-\macc@depth=\count175
-\c@MaxMatrixCols=\count176
-\dotsspace@=\muskip16
-\c@parentequation=\count177
-\dspbrk@lvl=\count178
-\tag@help=\toks17
-\row@=\count179
-\column@=\count180
-\maxfields@=\count181
-\andhelp@=\toks18
-\eqnshift@=\dimen139
-\alignsep@=\dimen140
-\tagshift@=\dimen141
-\tagwidth@=\dimen142
-\totwidth@=\dimen143
-\lineht@=\dimen144
-\@envbody=\toks19
-\multlinegap=\skip49
-\multlinetaggap=\skip50
-\mathdisplay@stack=\toks20
-LaTeX Info: Redefining \[ on input line 2859.
-LaTeX Info: Redefining \] on input line 2860.
-)
-LaTeX Font Info:    Trying to load font information for U+msa on input line 398
-.
-
-(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
-File: umsa.fd 2013/01/14 v3.01 AMS symbols A
-)
-(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
-Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support
-\symAMSa=\mathgroup4
-\symAMSb=\mathgroup5
-LaTeX Font Info:    Redeclaring math symbol \hbar on input line 98.
-LaTeX Font Info:    Overwriting math alphabet `\mathfrak' in version `bold'
-(Font)                  U/euf/m/n --> U/euf/b/n on input line 106.
-)
-\copyins=\insert199
-\abstractbox=\box47
-\listisep=\skip51
-\c@part=\count182
-\c@section=\count183
-\c@subsection=\count184
-\c@subsubsection=\count185
-\c@paragraph=\count186
-\c@subparagraph=\count187
-\c@figure=\count188
-\c@table=\count189
-\abovecaptionskip=\skip52
-\belowcaptionskip=\skip53
-\captionindent=\dimen145
-\thm@style=\toks21
-\thm@bodyfont=\toks22
-\thm@headfont=\toks23
-\thm@notefont=\toks24
-\thm@headpunct=\toks25
-\thm@preskip=\skip54
-\thm@postskip=\skip55
-\thm@headsep=\skip56
-\dth@everypar=\toks26
-)
-(/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty
-Package: microtype 2019/11/18 v2.7d Micro-typographical refinements (RS)
-\MT@toks=\toks27
-\MT@count=\count190
-LaTeX Info: Redefining \textls on input line 790.
-\MT@outer@kern=\dimen146
-LaTeX Info: Redefining \textmicrotypecontext on input line 1354.
-\MT@listname@count=\count191
-
-(/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-pdftex.def
-File: microtype-pdftex.def 2019/11/18 v2.7d Definitions specific to pdftex (RS)
-
-LaTeX Info: Redefining \lsstyle on input line 914.
-LaTeX Info: Redefining \lslig on input line 914.
-\MT@outer@space=\skip57
-)
-Package microtype Info: Loading configuration file microtype.cfg.
-
-(/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg
-File: microtype.cfg 2019/11/18 v2.7d microtype main configuration file (RS)
-))
-(/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty
-Package: etoolbox 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW)
-\etb@tempcnta=\count192
-)
-(/usr/share/texlive/texmf-dist/tex/latex/booktabs/booktabs.sty
-Package: booktabs 2020/01/12 v1.61803398 Publication quality tables
-\heavyrulewidth=\dimen147
-\lightrulewidth=\dimen148
-\cmidrulewidth=\dimen149
-\belowrulesep=\dimen150
-\belowbottomsep=\dimen151
-\aboverulesep=\dimen152
-\abovetopsep=\dimen153
-\cmidrulesep=\dimen154
-\cmidrulekern=\dimen155
-\defaultaddspace=\dimen156
-\@cmidla=\count193
-\@cmidlb=\count194
-\@aboverulesep=\dimen157
-\@belowrulesep=\dimen158
-\@thisruleclass=\count195
-\@lastruleclass=\count196
-\@thisrulewidth=\dimen159
-)
-(/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
-Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO)
-
-(/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
-Package: ltxcmds 2019/12/15 v1.24 LaTeX kernel commands for general use (HO)
-)
-(/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
-Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO)
-))
-(/usr/share/texlive/texmf-dist/tex/latex/totpages/totpages.sty
-Package: totpages 2005/09/19 v2.00 Totpages Package (muewi)
-
-(/usr/share/texlive/texmf-dist/tex/latex/ms/everyshi.sty
-Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS)
-))
-(/usr/share/texlive/texmf-dist/tex/latex/environ/environ.sty
-Package: environ 2014/05/04 v0.3 A new way to define environments
-
-(/usr/share/texlive/texmf-dist/tex/latex/trimspaces/trimspaces.sty
-Package: trimspaces 2009/09/17 v1.1 Trim spaces around a token list
-))
-(/usr/share/texlive/texmf-dist/tex/latex/textcase/textcase.sty
-Package: textcase 2019/09/14 v1.00 Text only upper/lower case changing (DPC)
-)
-(/usr/share/texlive/texmf-dist/tex/latex/natbib/natbib.sty
-Package: natbib 2010/09/13 8.31b (PWD, AO)
-\bibhang=\skip58
-\bibsep=\skip59
-LaTeX Info: Redefining \cite on input line 694.
-\c@NAT@ctr=\count197
-)
-(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
-Package: hyperref 2020/01/14 v7.00d Hypertext links for LaTeX
-
-(/usr/share/texlive/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty
-Package: pdftexcmds 2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO
-)
-Package pdftexcmds Info: \pdf@primitive is available.
-Package pdftexcmds Info: \pdf@ifprimitive is available.
-Package pdftexcmds Info: \pdfdraftmode found.
-)
-(/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
-Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO)
-)
-(/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
-Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO)
-)
-(/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
-Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO)
-)
-(/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
-Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO)
-)
-(/usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
-Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO)
-)
-(/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
-Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO)
-)
-(/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
-Package: kvoptions 2019/11/29 v3.13 Key value format for package options (HO)
-)
-\@linkdim=\dimen160
-\Hy@linkcounter=\count198
-\Hy@pagecounter=\count266
-
-(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
-File: pd1enc.def 2020/01/14 v7.00d Hyperref: PDFDocEncoding definition (HO)
-Now handling font encoding PD1 ...
-... no UTF-8 mapping file for font encoding PD1
-)
-(/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
-Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO)
-)
-(/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
-Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO)
-)
-\Hy@SavedSpaceFactor=\count267
-\pdfmajorversion=\count268
-Package hyperref Info: Option `bookmarksnumbered' set `true' on input line 4421
-.
-Package hyperref Info: Option `unicode' set `true' on input line 4421.
-
-(/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def
-File: puenc.def 2020/01/14 v7.00d Hyperref: PDF Unicode definition (HO)
-Now handling font encoding PU ...
-... no UTF-8 mapping file for font encoding PU
-)
-Package hyperref Info: Hyper figures OFF on input line 4547.
-Package hyperref Info: Link nesting OFF on input line 4552.
-Package hyperref Info: Hyper index ON on input line 4555.
-Package hyperref Info: Plain pages OFF on input line 4562.
-Package hyperref Info: Backreferencing OFF on input line 4567.
-Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
-Package hyperref Info: Bookmarks ON on input line 4800.
-\c@Hy@tempcnt=\count269
-
-(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty
-\Urlmuskip=\muskip17
-Package: url 2013/09/16  ver 3.4  Verb mode for urls, etc.
-)
-LaTeX Info: Redefining \url on input line 5159.
-\XeTeXLinkMargin=\dimen161
-
-(/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
-Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO)
-
-(/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
-Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO
-)
-))
-\Fld@menulength=\count270
-\Field@Width=\dimen162
-\Fld@charsize=\dimen163
-Package hyperref Info: Hyper figures OFF on input line 6430.
-Package hyperref Info: Link nesting OFF on input line 6435.
-Package hyperref Info: Hyper index ON on input line 6438.
-Package hyperref Info: backreferencing OFF on input line 6445.
-Package hyperref Info: Link coloring OFF on input line 6450.
-Package hyperref Info: Link coloring with OCG OFF on input line 6455.
-Package hyperref Info: PDF/A mode OFF on input line 6460.
-LaTeX Info: Redefining \ref on input line 6500.
-LaTeX Info: Redefining \pageref on input line 6504.
-
-(/usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
-Package: atbegshi 2019/12/05 v1.19 At begin shipout hook (HO)
-)
-\Hy@abspage=\count271
-\c@Item=\count272
-\c@Hfootnote=\count273
-)
-Package hyperref Info: Driver (autodetected): hpdftex.
-
-(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
-File: hpdftex.def 2020/01/14 v7.00d Hyperref driver for pdfTeX
-
-(/usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
-Package: atveryend 2019-12-11 v1.11 Hooks at the very end of document (HO)
-)
-\Fld@listcount=\count274
-\c@bookmark@seq@number=\count275
-
-(/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
-Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO)
-
-(/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
-Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO)
-)
-Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
-86.
-)
-\Hy@SectionHShift=\skip60
-)
-(/usr/share/texlive/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty
-Package: hyperxmp 2019/04/05 v4.1 Store hyperref metadata in XMP format
-
-(/usr/share/texlive/texmf-dist/tex/generic/stringenc/stringenc.sty
-Package: stringenc 2019/11/29 v1.12 Convert strings between diff. encodings (HO
-)
-)
-(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifxetex.sty
-Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead.
-)
-(/usr/share/texlive/texmf-dist/tex/latex/ifmtarg/ifmtarg.sty
-Package: ifmtarg 2018/04/16 v1.2b check for an empty argument
-)
-(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifluatex.sty
-Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead.
-))
-(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
-Package: graphicx 2019/11/30 v1.2a Enhanced LaTeX Graphics (DPC,SPQR)
-
-(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
-Package: graphics 2019/11/30 v1.4a Standard LaTeX Graphics (DPC,SPQR)
-
-(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
-Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
-)
-(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
-File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
-)
-Package graphics Info: Driver file: pdftex.def on input line 105.
-
-(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
-File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex
-))
-\Gin@req@height=\dimen164
-\Gin@req@width=\dimen165
-)
-(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
-Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK)
-
-(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
-File: color.cfg 2016/01/02 v1.6 sample color configuration
-)
-Package xcolor Info: Driver file: pdftex.def on input line 225.
-Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348.
-Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352.
-Package xcolor Info: Model `RGB' extended on input line 1364.
-Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366.
-Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367.
-Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368.
-Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369.
-Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370.
-Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371.
-)
-(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
-Package: geometry 2020/01/02 v5.9 Page Geometry
-
-(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
-Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead.
-)
-\Gm@cnth=\count276
-\Gm@cntv=\count277
-\c@Gm@tempcnt=\count278
-\Gm@bindingoffset=\dimen166
-\Gm@wd@mp=\dimen167
-\Gm@odd@mp=\dimen168
-\Gm@even@mp=\dimen169
-\Gm@layoutwidth=\dimen170
-\Gm@layoutheight=\dimen171
-\Gm@layouthoffset=\dimen172
-\Gm@layoutvoffset=\dimen173
-\Gm@dimlist=\toks28
-)
-(/usr/share/texlive/texmf-dist/tex/latex/ncctools/manyfoot.sty
-Package: manyfoot 2019/08/03 v1.11 Many Footnote Levels Package (NCC)
-
-(/usr/share/texlive/texmf-dist/tex/latex/ncctools/nccfoots.sty
-Package: nccfoots 2005/02/03 v1.2 NCC Footnotes Package (NCC)
-)
-\MFL@columnwidth=\dimen174
-)
-\footinsauthorsaddresses=\insert252
-\c@footnoteauthorsaddresses=\count279
-\footinscopyrightpermission=\insert251
-\c@footnotecopyrightpermission=\count280
-
-(/usr/share/texlive/texmf-dist/tex/generic/pdftex/glyphtounicode.tex)
-(/usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty
-Package: cmap 2008/03/06 v1.0h CMap support: searchable PDF
-)
-(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
-Package: fontenc 2020/02/11 v2.0o Standard LaTeX package
-<<t1.cmap>>)
-(/usr/share/texlive/texmf-dist/tex/latex/libertine/libertine.sty
-Package: libertine 2019/07/01 (Bob Tennent) Supports Libertine and Biolinum fon
-ts for all LaTeX engines.
-
-(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
-Package: textcomp 2020/02/02 v2.0n Standard LaTeX package
-)
-(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
-Package: fontenc 2020/02/11 v2.0o Standard LaTeX package
-)
-(/usr/share/texlive/texmf-dist/tex/latex/fontaxes/fontaxes.sty
-Package: fontaxes 2014/03/23 v1.0d Font selection axes
-LaTeX Info: Redefining \upshape on input line 29.
-LaTeX Info: Redefining \itshape on input line 31.
-LaTeX Info: Redefining \slshape on input line 33.
-LaTeX Info: Redefining \swshape on input line 35.
-LaTeX Info: Redefining \scshape on input line 37.
-LaTeX Info: Redefining \sscshape on input line 39.
-LaTeX Info: Redefining \ulcshape on input line 41.
-LaTeX Info: Redefining \textsw on input line 47.
-LaTeX Info: Redefining \textssc on input line 48.
-LaTeX Info: Redefining \textulc on input line 49.
-)
-LaTeX Info: Redefining \oldstylenums on input line 494.
-
-(/usr/share/texlive/texmf-dist/tex/latex/libertine/LinLibertine_I.tex))
-(/usr/share/texlive/texmf-dist/tex/latex/inconsolata/zi4.sty
-Package: zi4 2019/05/17 v1.12
-
-`inconsolata-zi4' v1.12, 2019/05/17 Text macros for Inconsolata (msharpe)
-\zifour@ocount=\count281
-)
-(/usr/share/texlive/texmf-dist/tex/latex/newtx/newtxmath.sty
-Package: newtxmath 2020/01/25 v1.624
-
-`newtxmath' v1.624, 2020/01/25 Math macros based originally on txfonts (msharpe
-) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/centernot.sty
-Package: centernot 2016/05/16 v1.4 Centers the not symbol horizontally (HO)
-)
-\tx@cntz=\count282
-
-(/usr/share/texlive/texmf-dist/tex/generic/kastrup/binhex.tex)
-\tx@Isdigit=\count283
-\tx@IsAlNum=\count284
-\tx@tA=\toks29
-\tx@tB=\toks30
-\tx@su=\read2
-LaTeX Font Info:    Redeclaring symbol font `operators' on input line 317.
-LaTeX Font Info:    Overwriting symbol font `operators' in version `normal'
-(Font)                  OT1/cmr/m/n --> OT1/LinuxLibertineT-TLF/m/n on input li
-ne 317.
-LaTeX Font Info:    Overwriting symbol font `operators' in version `bold'
-(Font)                  OT1/cmr/bx/n --> OT1/LinuxLibertineT-TLF/m/n on input l
-ine 317.
-LaTeX Font Info:    Overwriting symbol font `operators' in version `bold'
-(Font)                  OT1/LinuxLibertineT-TLF/m/n --> OT1/LinuxLibertineT-TLF
-/sb/n on input line 318.
-LaTeX Font Info:    Redeclaring math alphabet \mathsf on input line 326.
-LaTeX Font Info:    Overwriting math alphabet `\mathsf' in version `normal'
-(Font)                  OT1/cmss/m/n --> T1/LinuxBiolinumT-TLF/m/n on input lin
-e 326.
-LaTeX Font Info:    Overwriting math alphabet `\mathsf' in version `bold'
-(Font)                  OT1/cmss/bx/n --> T1/LinuxBiolinumT-TLF/m/n on input li
-ne 326.
-LaTeX Font Info:    Redeclaring math alphabet \mathit on input line 327.
-LaTeX Font Info:    Overwriting math alphabet `\mathit' in version `normal'
-(Font)                  OT1/cmr/m/it --> OT1/LinuxLibertineT-TLF/m/it on input 
-line 327.
-LaTeX Font Info:    Overwriting math alphabet `\mathit' in version `bold'
-(Font)                  OT1/cmr/bx/it --> OT1/LinuxLibertineT-TLF/m/it on input
- line 327.
-LaTeX Font Info:    Redeclaring math alphabet \mathtt on input line 328.
-LaTeX Font Info:    Overwriting math alphabet `\mathtt' in version `normal'
-(Font)                  OT1/cmtt/m/n --> T1/zi4/m/n on input line 328.
-LaTeX Font Info:    Overwriting math alphabet `\mathtt' in version `bold'
-(Font)                  OT1/cmtt/m/n --> T1/zi4/m/n on input line 328.
-LaTeX Font Info:    Redeclaring math alphabet \mathbf on input line 330.
-LaTeX Font Info:    Overwriting math alphabet `\mathbf' in version `normal'
-(Font)                  OT1/cmr/bx/n --> OT1/LinuxLibertineT-TLF/sb/n on input 
-line 330.
-LaTeX Font Info:    Overwriting math alphabet `\mathbf' in version `bold'
-(Font)                  OT1/cmr/bx/n --> OT1/LinuxLibertineT-TLF/sb/n on input 
-line 330.
-LaTeX Font Info:    Overwriting math alphabet `\mathit' in version `bold'
-(Font)                  OT1/LinuxLibertineT-TLF/m/it --> OT1/LinuxLibertineT-TL
-F/sb/it on input line 331.
-LaTeX Font Info:    Overwriting math alphabet `\mathsf' in version `bold'
-(Font)                  T1/LinuxBiolinumT-TLF/m/n --> T1/LinuxBiolinumT-TLF/b/n
- on input line 332.
-LaTeX Font Info:    Overwriting math alphabet `\mathtt' in version `bold'
-(Font)                  T1/zi4/m/n --> T1/zi4/b/n on input line 333.
-LaTeX Font Info:    Redeclaring symbol font `letters' on input line 350.
-LaTeX Font Info:    Overwriting symbol font `letters' in version `normal'
-(Font)                  OML/cmm/m/it --> OML/nxlmi/m/it on input line 350.
-LaTeX Font Info:    Overwriting symbol font `letters' in version `bold'
-(Font)                  OML/cmm/b/it --> OML/nxlmi/m/it on input line 350.
-LaTeX Font Info:    Overwriting symbol font `letters' in version `bold'
-(Font)                  OML/nxlmi/m/it --> OML/nxlmi/b/it on input line 351.
-\symlettersA=\mathgroup6
-LaTeX Font Info:    Overwriting symbol font `lettersA' in version `bold'
-(Font)                  U/ntxmia/m/it --> U/ntxmia/b/it on input line 476.
-LaTeX Font Info:    Redeclaring math alphabet \mathfrak on input line 478.
-Now handling font encoding LMS ...
-... no UTF-8 mapping file for font encoding LMS
-LaTeX Font Info:    Redeclaring symbol font `symbols' on input line 497.
-LaTeX Font Info:    Encoding `OMS' has changed to `LMS' for symbol font
-(Font)              `symbols' in the math version `normal' on input line 497.
-LaTeX Font Info:    Overwriting symbol font `symbols' in version `normal'
-(Font)                  OMS/cmsy/m/n --> LMS/ntxsy/m/n on input line 497.
-LaTeX Font Info:    Encoding `OMS' has changed to `LMS' for symbol font
-(Font)              `symbols' in the math version `bold' on input line 497.
-LaTeX Font Info:    Overwriting symbol font `symbols' in version `bold'
-(Font)                  OMS/cmsy/b/n --> LMS/ntxsy/m/n on input line 497.
-LaTeX Font Info:    Overwriting symbol font `symbols' in version `bold'
-(Font)                  LMS/ntxsy/m/n --> LMS/ntxsy/b/n on input line 498.
-\symAMSm=\mathgroup7
-LaTeX Font Info:    Overwriting symbol font `AMSm' in version `bold'
-(Font)                  U/ntxsym/m/n --> U/ntxsym/b/n on input line 521.
-\symsymbolsC=\mathgroup8
-LaTeX Font Info:    Overwriting symbol font `symbolsC' in version `bold'
-(Font)                  U/ntxsyc/m/n --> U/ntxsyc/b/n on input line 542.
-Now handling font encoding LMX ...
-... no UTF-8 mapping file for font encoding LMX
-LaTeX Font Info:    Redeclaring symbol font `largesymbols' on input line 555.
-LaTeX Font Info:    Encoding `OMX' has changed to `LMX' for symbol font
-(Font)              `largesymbols' in the math version `normal' on input line 5
-55.
-LaTeX Font Info:    Overwriting symbol font `largesymbols' in version `normal'
-(Font)                  OMX/cmex/m/n --> LMX/ntxexx/m/n on input line 555.
-LaTeX Font Info:    Encoding `OMX' has changed to `LMX' for symbol font
-(Font)              `largesymbols' in the math version `bold' on input line 555
-.
-LaTeX Font Info:    Overwriting symbol font `largesymbols' in version `bold'
-(Font)                  OMX/cmex/m/n --> LMX/ntxexx/m/n on input line 555.
-LaTeX Font Info:    Overwriting symbol font `largesymbols' in version `bold'
-(Font)                  LMX/ntxexx/m/n --> LMX/ntxexx/b/n on input line 556.
-\symlargesymbolsTXA=\mathgroup9
-LaTeX Font Info:    Overwriting symbol font `largesymbolsTXA' in version `bold'
-
-(Font)                  U/ntxexa/m/n --> U/ntxexa/b/n on input line 570.
-\tx@sbptoks=\toks31
-LaTeX Font Info:    Redeclaring math delimiter \lfloor on input line 792.
-LaTeX Font Info:    Redeclaring math delimiter \rfloor on input line 793.
-LaTeX Font Info:    Redeclaring math delimiter \lceil on input line 794.
-LaTeX Font Info:    Redeclaring math delimiter \rceil on input line 795.
-LaTeX Font Info:    Redeclaring math delimiter \lbrace on input line 796.
-LaTeX Font Info:    Redeclaring math delimiter \rbrace on input line 797.
-LaTeX Font Info:    Redeclaring math delimiter \langle on input line 798.
-LaTeX Font Info:    Redeclaring math delimiter \rangle on input line 800.
-LaTeX Font Info:    Redeclaring math delimiter \arrowvert on input line 804.
-LaTeX Font Info:    Redeclaring math delimiter \vert on input line 805.
-LaTeX Font Info:    Redeclaring math accent \dot on input line 876.
-LaTeX Font Info:    Redeclaring math accent \ddot on input line 877.
-LaTeX Font Info:    Redeclaring math accent \vec on input line 1940.
-\ntx@numstart=\count285
-\ntx@UCstart=\count286
-\ntx@lcstart=\count287
-\ntx@tmpc=\count288
-\ntx@imath=\count289
-\ntx@jmath=\count290
-LaTeX Info: Redefining \Bbbk on input line 2449.
-LaTeX Info: Redefining \not on input line 2598.
-LaTeX Info: Redefining \textsquare on input line 2628.
-LaTeX Info: Redefining \openbox on input line 2630.
-)
-(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
-Package: caption 2020/01/03 v3.4h Customizing captions (AR)
-
-(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
-Package: caption3 2020/01/03 v1.8h caption3 kernel (AR)
-Package caption3 Info: TeX engine: e-TeX on input line 61.
-\captionmargin=\dimen175
-\captionmargin@=\dimen176
-\captionwidth=\dimen177
-\caption@tempdima=\dimen178
-\caption@indent=\dimen179
-\caption@parindent=\dimen180
-\caption@hangindent=\dimen181
-Package caption Info: AMS or SMF document class detected.
-)
-Package caption Info: AMS or SMF document class.
-\c@caption@flags=\count291
-\c@continuedfloat=\count292
-Package caption Info: hyperref package is loaded.
-)
-(/usr/share/texlive/texmf-dist/tex/latex/float/float.sty
-Package: float 2001/11/08 v1.3d Float enhancements (AL)
-\c@float@type=\count293
-\float@exts=\toks32
-\float@box=\box48
-\@float@everytoks=\toks33
-\@floatcapt=\box49
-)
-\@float@every@sidebar=\toks34
-\c@sidebar=\count294
-\fulltextwidth=\dimen182
-\@ACM@labelwidth=\dimen183
-\listisep=\skip61
-\num@authorgroups=\count295
-\num@authors=\count296
-\@ACM@badge@width=\skip62
-\@ACM@title@width=\skip63
-\@ACM@badge@skip=\skip64
-Class acmart Info: Printing CCS on input line 1483.
-Class acmart Info: Printing bibformat on input line 1483.
-Class acmart Info: Suppressing folios on input line 1490.
-Class acmart Info: Setting authorsperrow to 0 on input line 1493.
-
-(/usr/share/texlive/texmf-dist/tex/latex/comment/comment.sty
-\CommentStream=\write3
-
-Excluding comment 'comment') Excluding comment 'CCSXML'
-\c@@concepts=\count297
-\mktitle@bx=\box50
-\@ACM@commabox=\box51
-\author@bx=\box52
-\author@bx@wd=\dimen184
-\author@bx@sep=\skip65
-
-(/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
-Package: fancyhdr 2019/01/31 v3.10 Extensive control of page headers and footer
-s
-\f@nch@headwidth=\skip66
-\f@nch@O@elh=\skip67
-\f@nch@O@erh=\skip68
-\f@nch@O@olh=\skip69
-\f@nch@O@orh=\skip70
-\f@nch@O@elf=\skip71
-\f@nch@O@erf=\skip72
-\f@nch@O@olf=\skip73
-\f@nch@O@orf=\skip74
-)
-\@folio@wd=\dimen185
-\@folio@ht=\dimen186
-\@folio@voffset=\dimen187
-
-Special comment 'acks'
-LaTeX Font Info:    Trying to load font information for T1+LinuxLibertineT-TLF 
-on input line 3009.
-
-(/usr/share/texlive/texmf-dist/tex/latex/libertine/T1LinuxLibertineT-TLF.fd
-File: T1LinuxLibertineT-TLF.fd 2017/03/20 (autoinst) Font definitions for T1/Li
-nuxLibertineT-TLF.
-)
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 10.0pt on input line 3009.
-)
-Package hyperref Info: Option `colorlinks' set `true' on input line 73.
-Package hyperref Info: Option `pdfdisplaydoctitle' set `true' on input line 73.
-
-\c@theorem=\count298
-
-(/usr/share/texlive/texmf-dist/tex/latex/preprint/balance.sty
-Package: balance 1999/02/23 4.3 (PWD)
-\oldvsize=\dimen188
-)
-Include comment 'screenonly' Excluding comment 'printonly'
-Include comment 'anonsuppress'
-(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
-File: l3backend-pdfmode.def 2020-02-03 L3 backend support: PDF mode
-\l__kernel_color_stack_int=\count299
-\l__pdf_internal_box=\box53
-)
-(./sample-sigplan.aux)
-\openout1 = `sample-sigplan.aux'.
-
-LaTeX Font Info:    Checking defaults for OML/nxlmi/m/it on input line 73.
-LaTeX Font Info:    Trying to load font information for OML+nxlmi on input line
- 73.
-
-(/usr/share/texlive/texmf-dist/tex/latex/newtx/omlnxlmi.fd
-File: omlnxlmi.fd 2013/11/19 Fontinst v1.933 font definitions for OML/nxlmi.
-)
-LaTeX Font Info:    ... okay on input line 73.
-LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 73.
-LaTeX Font Info:    ... okay on input line 73.
-LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 73.
-LaTeX Font Info:    ... okay on input line 73.
-LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 73.
-LaTeX Font Info:    ... okay on input line 73.
-LaTeX Font Info:    Checking defaults for TS1/cmr/m/n on input line 73.
-LaTeX Font Info:    ... okay on input line 73.
-LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 73.
-LaTeX Font Info:    ... okay on input line 73.
-LaTeX Font Info:    Checking defaults for U/ntxexa/m/n on input line 73.
-LaTeX Font Info:    Trying to load font information for U+ntxexa on input line 
-73.
-
-(/usr/share/texlive/texmf-dist/tex/latex/newtx/untxexa.fd
-File: untxexa.fd 2012/04/16 Fontinst v1.933 font definitions for U/ntxexa.
-)
-LaTeX Font Info:    ... okay on input line 73.
-LaTeX Font Info:    Checking defaults for PD1/pdf/m/n on input line 73.
-LaTeX Font Info:    ... okay on input line 73.
-LaTeX Font Info:    Checking defaults for PU/pdf/m/n on input line 73.
-LaTeX Font Info:    ... okay on input line 73.
-LaTeX Font Info:    Checking defaults for LMS/ntxsy/m/n on input line 73.
-LaTeX Font Info:    Trying to load font information for LMS+ntxsy on input line
- 73.
-
-(/usr/share/texlive/texmf-dist/tex/latex/newtx/lmsntxsy.fd
-File: lmsntxsy.fd 2016/07/02 Fontinst v1.933 font definitions for LMS/ntxsy.
-)
-LaTeX Font Info:    ... okay on input line 73.
-LaTeX Font Info:    Checking defaults for LMX/ntxexx/m/n on input line 73.
-LaTeX Font Info:    Trying to load font information for LMX+ntxexx on input lin
-e 73.
-
-(/usr/share/texlive/texmf-dist/tex/latex/newtx/lmxntxexx.fd
-File: lmxntxexx.fd 2016/07/03 Fontinst v1.933 font definitions for LMX/ntxexx.
-)
-LaTeX Font Info:    ... okay on input line 73.
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 8.0pt on input line 73.
-LaTeX Font Info:    Trying to load font information for OT1+LinuxLibertineT-TLF
- on input line 73.
-
-(/usr/share/texlive/texmf-dist/tex/latex/libertine/OT1LinuxLibertineT-TLF.fd
-File: OT1LinuxLibertineT-TLF.fd 2017/03/20 (autoinst) Font definitions for OT1/
-LinuxLibertineT-TLF.
-)
-LaTeX Font Info:    Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 8.0pt on input line 73.
-<<ot1.cmap>>
-LaTeX Font Info:    Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 6.2pt on input line 73.
-LaTeX Font Info:    Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 5.5pt on input line 73.
-<<oml.cmap>>
-LaTeX Font Info:    Trying to load font information for U+msa on input line 73.
-
-
-(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
-File: umsa.fd 2013/01/14 v3.01 AMS symbols A
-)
-LaTeX Font Info:    Trying to load font information for U+msb on input line 73.
-
-
-(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd
-File: umsb.fd 2013/01/14 v3.01 AMS symbols B
-)
-LaTeX Font Info:    Trying to load font information for U+ntxmia on input line 
-73.
-
-(/usr/share/texlive/texmf-dist/tex/latex/newtx/untxmia.fd
-File: untxmia.fd 2018/04/14 Fontinst v1.933 font definitions for U/ntxmia.
-)
-LaTeX Font Info:    Trying to load font information for U+ntxsym on input line 
-73.
-
-(/usr/share/texlive/texmf-dist/tex/latex/newtx/untxsym.fd
-File: untxsym.fd 2015/03/20 Fontinst v1.933 font definitions for U/ntxsym.
-)
-LaTeX Font Info:    Trying to load font information for U+ntxsyc on input line 
-73.
-
-(/usr/share/texlive/texmf-dist/tex/latex/newtx/untxsyc.fd
-File: untxsyc.fd 2012/04/12 Fontinst v1.933 font definitions for U/ntxsyc.
-)
-LaTeX Info: Redefining \microtypecontext on input line 73.
-Package microtype Info: Generating PDF output.
-Package microtype Info: Character protrusion enabled (level 2).
-Package microtype Info: Using default protrusion set `alltext'.
-Package microtype Info: Automatic font expansion enabled (level 2),
-(microtype)             stretch: 20, shrink: 20, step: 1, non-selected.
-Package microtype Info: Using default expansion set `basictext'.
-LaTeX Info: Redefining \showhyphens on input line 73.
-Package microtype Info: No adjustment of tracking.
-Package microtype Info: No adjustment of interword spacing.
-Package microtype Info: No adjustment of character kerning.
-Package microtype Info: Loading generic protrusion settings for font family
-(microtype)             `LinuxLibertineT-TLF' (encoding: T1).
-(microtype)             For optimal results, create family-specific settings.
-(microtype)             See the microtype manual for details.
-
-ABD: EveryShipout initializing macros
-\AtBeginShipoutBox=\box54
-Package hyperref Info: Link coloring ON on input line 73.
-
-(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
-Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section
-
-(/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
-Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO)
-)
-\c@section@level=\count300
-)
-LaTeX Info: Redefining \ref on input line 73.
-LaTeX Info: Redefining \pageref on input line 73.
-LaTeX Info: Redefining \nameref on input line 73.
-
-(./sample-sigplan.out) (./sample-sigplan.out)
-\@outlinefile=\write4
-\openout4 = `sample-sigplan.out'.
-
-
-(/usr/share/texlive/texmf-dist/tex/generic/stringenc/se-pdfdoc.def
-File: se-pdfdoc.def 2019/11/29 v1.12 stringenc: PDFDocEncoding
-)
-(/usr/share/texlive/texmf-dist/tex/generic/stringenc/se-utf8.def
-File: se-utf8.def 2019/11/29 v1.12 stringenc: UTF-8
-)
-(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
-[Loading MPS to PDF converter (version 2006.09.02).]
-\scratchcounter=\count301
-\scratchdimen=\dimen189
-\scratchbox=\box55
-\nofMPsegments=\count302
-\nofMParguments=\count303
-\everyMPshowfont=\toks35
-\MPscratchCnt=\count304
-\MPscratchDim=\dimen190
-\MPnumerator=\count305
-\makeMPintoPDFobject=\count306
-\everyMPtoPDFconversion=\toks36
-) (/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
-Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf
-Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
-85.
-
-(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
-File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
-e
-))
-*geometry* driver: auto-detecting
-*geometry* detected driver: pdftex
-*geometry* verbose mode - [ preamble ] result:
-* driver: pdftex
-* paper: custom
-* layout: <same size as paper>
-* layoutoffset:(h,v)=(0.0pt,0.0pt)
-* modes: twoside heightrounded 
-* h-part:(L,W,R)=(54.2025pt, 505.89pt, 54.2025pt)
-* v-part:(T,H,B)=(72.26999pt, 650.43001pt, 72.26999pt)
-* \paperwidth=614.295pt
-* \paperheight=794.96999pt
-* \textwidth=505.89pt
-* \textheight=646.0pt
-* \oddsidemargin=-18.06749pt
-* \evensidemargin=-18.06749pt
-* \topmargin=-27.0pt
-* \headheight=13.0pt
-* \headsep=14.0pt
-* \topskip=10.0pt
-* \footskip=12.0pt
-* \marginparwidth=24.0pt
-* \marginparsep=11.0pt
-* \columnsep=24.0pt
-* \skip\footins=7.0pt plus 11.0pt
-* \hoffset=0.0pt
-* \voffset=0.0pt
-* \mag=1000
-* \@twocolumnfalse
-* \@twosidetrue
-* \@mparswitchtrue
-* \@reversemarginfalse
-* (1in=72.27pt=25.4mm, 1cm=28.453pt)
-
-\c@mv@tabular=\count307
-\c@mv@boldtabular=\count308
-(/usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
-Package: upquote 2012/04/19 v1.3 upright-quote and grave-accent glyphs in verba
-tim
-)
-Package caption Info: Begin \AtBeginDocument code.
-Package caption Info: float package is loaded.
-Package caption Info: End \AtBeginDocument code.
-
-Excluding 'CCSXML' comment.
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 20.74pt on input line 231.
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/b/n' will be
-(Font)              scaled to size 20.74pt on input line 231.
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 12.0pt on input line 231.
-LaTeX Font Info:    Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 12.0pt on input line 231.
-Package microtype Info: Loading generic protrusion settings for font family
-(microtype)             `LinuxLibertineT-TLF' (encoding: OT1).
-(microtype)             For optimal results, create family-specific settings.
-(microtype)             See the microtype manual for details.
-LaTeX Font Info:    Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 8.8pt on input line 231.
-LaTeX Font Info:    Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 6.6pt on input line 231.
-
-(/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msa.cfg
-File: mt-msa.cfg 2006/02/04 v1.1 microtype config. file: AMS symbols (a) (RS)
-)
-(/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msb.cfg
-File: mt-msb.cfg 2005/06/01 v1.0 microtype config. file: AMS symbols (b) (RS)
-)
-LaTeX Font Info:    Trying to load font information for TS1+LinuxLibertineT-TLF
- on input line 231.
-
-(/usr/share/texlive/texmf-dist/tex/latex/libertine/TS1LinuxLibertineT-TLF.fd
-File: TS1LinuxLibertineT-TLF.fd 2017/03/20 (autoinst) Font definitions for TS1/
-LinuxLibertineT-TLF.
-)
-LaTeX Font Info:    Font shape `TS1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 8.8pt on input line 231.
-Package microtype Info: Loading generic protrusion settings for font family
-(microtype)             `LinuxLibertineT-TLF' (encoding: TS1).
-(microtype)             For optimal results, create family-specific settings.
-(microtype)             See the microtype manual for details.
-LaTeX Font Info:    Trying to load font information for T1+LinuxBiolinumT-TLF o
-n input line 231.
-
-(/usr/share/texlive/texmf-dist/tex/latex/libertine/T1LinuxBiolinumT-TLF.fd
-File: T1LinuxBiolinumT-TLF.fd 2017/03/20 (autoinst) Font definitions for T1/Lin
-uxBiolinumT-TLF.
-)
-LaTeX Font Info:    Font shape `T1/LinuxBiolinumT-TLF/m/n' will be
-(Font)              scaled to size 10.0pt on input line 231.
-Package microtype Info: Loading generic protrusion settings for font family
-(microtype)             `LinuxBiolinumT-TLF' (encoding: T1).
-(microtype)             For optimal results, create family-specific settings.
-(microtype)             See the microtype manual for details.
-LaTeX Font Info:    Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 10.0pt on input line 231.
-LaTeX Font Info:    Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 7.3pt on input line 231.
-<sampleteaser.pdf, id=115, 2055.68pt x 511.9125pt>
-File: sampleteaser.pdf Graphic file (type pdf)
-<use sampleteaser.pdf>
-Package pdftex.def Info: sampleteaser.pdf  used on input line 231.
-(pdftex.def)             Requested size: 505.89pt x 125.97815pt.
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/b/n' will be
-(Font)              scaled to size 10.0pt on input line 231.
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 6.2pt on input line 231.
-LaTeX Font Info:    Font shape `TS1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 6.2pt on input line 231.
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/m/it' will be
-(Font)              scaled to size 8.0pt on input line 231.
-LaTeX Font Info:    Font shape `TS1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 8.0pt on input line 231.
-LaTeX Font Info:    Font shape `T1/LinuxBiolinumT-TLF/m/n' will be
-(Font)              scaled to size 8.0pt on input line 231.
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/b/n' will be
-(Font)              scaled to size 12.0pt on input line 231.
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 7.3pt on input line 231.
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/b/it' will be
-(Font)              scaled to size 10.0pt on input line 231.
-LaTeX Font Info:    Font shape `TS1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 10.0pt on input line 231.
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/m/it' will be
-(Font)              scaled to size 10.0pt on input line 231.
-
-Overfull \hbox (3.11588pt too wide) in paragraph at lines 231--231
- []\T1/LinuxLibertineT-TLF/b/it/10 CCS Con-cepts: \TS1/LinuxLibertineT-TLF/m/n/
-10 � \T1/LinuxLibertineT-TLF/b/n/10 Com-puter sys-tems or-ga-ni-za-tion $\LMS/n
-txsy/m/n/10 !$ \T1/LinuxLibertineT-TLF/b/n/10 Em-
- []
-
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 9.0pt on input line 231.
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/b/n' will be
-(Font)              scaled to size 9.0pt on input line 231.
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/m/it' will be
-(Font)              scaled to size 9.0pt on input line 231.
-LaTeX Font Info:    Font shape `T1/LinuxBiolinumT-TLF/m/n' will be
-(Font)              scaled to size 9.0pt on input line 231.
-LaTeX Font Info:    Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
-(Font)              scaled to size 9.0pt on input line 231.
-
-Overfull \hbox (8.57014pt too wide) in paragraph at lines 231--231
-\T1/LinuxLibertineT-TLF/m/n/9 (-20) Pa-tel, Huifen Chan, Charles Palmer, John S
-mith, and Julius P. Kumquat.
- []
-
-[1.1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}
-
- <./sampleteaser.pdf>]
-LaTeX Font Info:    Trying to load font information for T1+zi4 on input line 24
-6.
-
-(/usr/share/texlive/texmf-dist/tex/latex/inconsolata/t1zi4.fd
-File: t1zi4.fd 2018/01/14 T1/zi4 (Inconsolata)
-)
-LaTeX Font Info:    Font shape `T1/zi4/m/n' will be
-(Font)              scaled to size 10.0pt on input line 246.
-Package microtype Info: Loading generic protrusion settings for font family
-(microtype)             `zi4' (encoding: T1).
-(microtype)             For optimal results, create family-specific settings.
-(microtype)             See the microtype manual for details.
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/m/it' will be
-(Font)              scaled to size 7.3pt on input line 261.
-
-Overfull \hbox (1.40663pt too wide) in paragraph at lines 300--304
-\T1/LinuxLibertineT-TLF/m/n/10 (-20) fer-ence sub-mis-sion. Anonymizes the work
- and in-cludes
- []
-
-[2.2]
-Overfull \hbox (3.33664pt too wide) in paragraph at lines 424--427
-[]\T1/LinuxLibertineT-TLF/m/n/10 (-20) User-defined key-words are a comma-separ
-ated list of words
- []
-
-
-Overfull \hbox (5.99104pt too wide) in paragraph at lines 434--438
-[][]\T1/zi4/m/n/10 section[]\T1/LinuxLibertineT-TLF/m/n/10 (-20) , [][]\T1/zi4/
-m/n/10 subsection[]\T1/LinuxLibertineT-TLF/m/n/10 (-20) , [][]\T1/zi4/m/n/10 su
-bsubsection[]\T1/LinuxLibertineT-TLF/m/n/10 (-20) , and [][]\T1/zi4/m/n/10 para
-graph[]\T1/LinuxLibertineT-TLF/m/n/10 (-20) . They
- []
-
-[3.3]
-
-Package natbib Warning: Citation `Lamport:LaTeX' on page 4 undefined on input l
-ine 520.
-
-<sample-franklin.png, id=167, 411.5375pt x 323.2075pt>
-File: sample-franklin.png Graphic file (type png)
-<use sample-franklin.png>
-Package pdftex.def Info: sample-franklin.png  used on input line 561.
-(pdftex.def)             Requested size: 240.94499pt x 189.23097pt.
-[4.4 <./sample-franklin.png>]
-Overfull \hbox (10.37471pt too wide) in paragraph at lines 605--605
-[]    \T1/zi4/m/n/10 \includegraphics[width=\textwidth]{sampleteaser}[] 
- []
-
-LaTeX Font Info:    Font shape `T1/LinuxLibertineT-TLF/m/sc' will be
-(Font)              scaled to size 10.0pt on input line 609.
-
-Overfull \hbox (18.46985pt too wide) in paragraph at lines 616--618
-\T1/LinuxLibertineT-TLF/m/n/10 (-20) with these two com-mands, placed just be-f
-ore the [][]\T1/zi4/m/n/10 \end{document}
- []
-
-
-Package natbib Warning: Citation `Abril07' on page 5 undefined on input line 63
-4.
-
-
-Package natbib Warning: Citation `Cohen07' on page 5 undefined on input line 63
-5.
-
-
-Package natbib Warning: Citation `JCohen96' on page 5 undefined on input line 6
-36.
-
-
-Package natbib Warning: Citation `Kosiur01' on page 5 undefined on input line 6
-36.
-
-
-Package natbib Warning: Citation `Harel79' on page 5 undefined on input line 63
-8.
-
-
-Package natbib Warning: Citation `Editor00' on page 5 undefined on input line 6
-39.
-
-
-Package natbib Warning: Citation `Editor00a' on page 5 undefined on input line 
-640.
-
-
-Package natbib Warning: Citation `Spector90' on page 5 undefined on input line 
-642.
-
-
-Package natbib Warning: Citation `Douglass98' on page 5 undefined on input line
- 643.
-
-
-Package natbib Warning: Citation `Knuth97' on page 5 undefined on input line 64
-4.
-
-
-Package natbib Warning: Citation `Andler79' on page 5 undefined on input line 6
-46.
-
-
-Package natbib Warning: Citation `Hagerup1993' on page 5 undefined on input lin
-e 646.
-
-
-Package natbib Warning: Citation `Smith10' on page 5 undefined on input line 64
-7.
-
-
-Package natbib Warning: Citation `VanGundy07' on page 5 undefined on input line
- 648.
-
-
-Package natbib Warning: Citation `Harel78' on page 5 undefined on input line 64
-9.
-
-
-Package natbib Warning: Citation `Bornmann2019' on page 5 undefined on input li
-ne 650.
-
-
-Package natbib Warning: Citation `AnzarootPBM14' on page 5 undefined on input l
-ine 650.
-
-
-Package natbib Warning: Citation `Clarkson85' on page 5 undefined on input line
- 650.
-
-
-Package natbib Warning: Citation `anisi03' on page 5 undefined on input line 65
-1.
-
-
-Package natbib Warning: Citation `Thornburg01' on page 5 undefined on input lin
-e 652.
-
-
-Package natbib Warning: Citation `Ablamowicz07' on page 5 undefined on input li
-ne 652.
-
-
-Package natbib Warning: Citation `Poker06' on page 5 undefined on input line 65
-2.
-
-
-Package natbib Warning: Citation `Obama08' on page 5 undefined on input line 65
-3.
-
-
-Package natbib Warning: Citation `Novak03' on page 5 undefined on input line 65
-3.
-
-
-Package natbib Warning: Citation `Lee05' on page 5 undefined on input line 653.
-
-
-
-Package natbib Warning: Citation `JoeScientist001' on page 5 undefined on input
- line 654.
-
-
-Package natbib Warning: Citation `rous08' on page 5 undefined on input line 655
-.
-
-
-Package natbib Warning: Citation `SaeediMEJ10' on page 5 undefined on input lin
-e 656.
-
-
-Package natbib Warning: Citation `SaeediJETC10' on page 5 undefined on input li
-ne 656.
-
-
-Package natbib Warning: Citation `Kirschmer:2010:AEI:1958016.1958018' on page 5
- undefined on input line 658.
-
-
-Package natbib Warning: Citation `MR781536' on page 5 undefined on input line 6
-59.
-
-
-Package natbib Warning: Citation `MR781537' on page 5 undefined on input line 6
-59.
-
-
-Package natbib Warning: Citation `2004:ITE:1009386.1010128' on page 5 undefined
- on input line 661.
-
-
-Package natbib Warning: Citation `Kirschmer:2010:AEI:1958016.1958018' on page 5
- undefined on input line 661.
-
-
-Package natbib Warning: Citation `TUGInstmem' on page 5 undefined on input line
- 662.
-
-
-Package natbib Warning: Citation `Thornburg01' on page 5 undefined on input lin
-e 662.
-
-
-Package natbib Warning: Citation `CTANacmart' on page 5 undefined on input line
- 662.
-
-
-Package natbib Warning: Citation `R' on page 5 undefined on input line 663.
-
-
-Package natbib Warning: Citation `UMassCitations' on page 5 undefined on input 
-line 663.
-
-
-Overfull \hbox (27.39621pt too wide) in paragraph at lines 687--690
-\T1/LinuxLibertineT-TLF/m/n/10 (-20) If your work needs an ap-pen-dix, add it b
-e-fore the ``[][]\T1/zi4/m/n/10 \end{document}[]\T1/LinuxLibertineT-TLF/m/n/10 
-(-20) ''
- []
-
-Processing 'acks' comment.
-\openout3 = `comment.cut'.
-
- Comment 'acks' writing to comment.cut.
-Straight input of comment.cut. (./comment.cut)
-No file sample-sigplan.bbl.
-
-Overfull \hbox (1.43195pt too wide) in paragraph at lines 735--740
-\T1/LinuxLibertineT-TLF/m/n/10 (-20) Lorem ip-sum do-lor sit amet, con-secte-tu
-r adip-isc-ing elit. Morbi
- []
-
-[5.5]
-
-Package natbib Warning: There were undefined citations.
-
-[6.6]
-Package atveryend Info: Empty hook `BeforeClearDocument' on input line 761.
-Package atveryend Info: Empty hook `AfterLastShipout' on input line 761.
- (./sample-sigplan.aux)
-Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 761.
-Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 761.
-Package rerunfilecheck Info: File `sample-sigplan.out' has not changed.
-(rerunfilecheck)             Checksum: CD9EB06E0A6A301FFA9A88D7EB42D44E;4031.
- ) 
-Here is how much of TeX's memory you used:
- 19288 strings out of 481239
- 291498 string characters out of 5920376
- 591702 words of memory out of 5000000
- 33683 multiletter control sequences out of 15000+600000
- 710387 words of font info for 324 fonts, out of 8000000 for 9000
- 1302 hyphenation exceptions out of 8191
- 63i,12n,100p,805b,603s stack positions out of 5000i,500n,10000p,200000b,80000s
-{/usr/share/texlive/texmf-dist/fonts/enc/dvips/libertine/lbtn_ncsllp.enc}{/us
-r/share/texlive/texmf-dist/fonts/enc/dvips/libertine/lbtn_oexx6f.enc}{/usr/shar
-e/texlive/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-4.enc}{/usr/share/texliv
-e/texmf-dist/fonts/enc/dvips/libertine/lbtn_ki75ao.enc}{/usr/share/texlive/texm
-f-dist/fonts/enc/dvips/libertine/lbtn_7grukw.enc}{/usr/share/texlive/texmf-dist
-/fonts/enc/dvips/libertine/lbtn_25tcsq.enc}{/usr/share/texlive/texmf-dist/fonts
-/enc/dvips/libertine/lbtn_naooyc.enc}{/usr/share/texlive/texmf-dist/fonts/enc/d
-vips/libertine/lbtn_76gpa5.enc}{/usr/share/texlive/texmf-dist/fonts/enc/dvips/l
-ibertine/lbtn_nh77jq.enc}</usr/share/texlive/texmf-dist/fonts/type1/public/inco
-nsolata/Inconsolata-zi4r.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/
-newtx/LibertineMathMI.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/new
-tx/LibertineMathMI7.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/newtx
-/LibertineMathRM.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/libertin
-e/LinBiolinumT.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/libertine/
-LinLibertineT.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/libertine/L
-inLibertineTB.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/libertine/L
-inLibertineTBI.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/libertine/
-LinLibertineTI.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/newtx/txex
-s.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/newtx/txmiaX.pfb></usr/
-share/texlive/texmf-dist/fonts/type1/public/newtx/txsys.pfb>
-Output written on sample-sigplan.pdf (6 pages, 995507 bytes).
-PDF statistics:
- 272 PDF objects out of 1000 (max. 8388607)
- 224 compressed objects within 3 object streams
- 44 named destinations out of 1000 (max. 500000)
- 60147 words of extra memory for PDF output out of 61914 (max. 10000000)
-
diff --git a/docs/sample-sigplan.out b/docs/sample-sigplan.out
deleted file mode 100644
index a36e1aaa0410cf333fc7c44fa94650ea1e20d7c6..0000000000000000000000000000000000000000
--- a/docs/sample-sigplan.out
+++ /dev/null
@@ -1,27 +0,0 @@
-\BOOKMARK [1][-]{section*.2}{\376\377\000A\000b\000s\000t\000r\000a\000c\000t}{}% 1
-\BOOKMARK [1][-]{section.1}{\376\377\0001\000\040\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n}{}% 2
-\BOOKMARK [1][-]{section.2}{\376\377\0002\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000O\000v\000e\000r\000v\000i\000e\000w}{}% 3
-\BOOKMARK [2][-]{subsection.2.1}{\376\377\0002\000.\0001\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000S\000t\000y\000l\000e\000s}{section.2}% 4
-\BOOKMARK [2][-]{subsection.2.2}{\376\377\0002\000.\0002\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s}{section.2}% 5
-\BOOKMARK [1][-]{section.3}{\376\377\0003\000\040\000M\000o\000d\000i\000f\000i\000c\000a\000t\000i\000o\000n\000s}{}% 6
-\BOOKMARK [1][-]{section.4}{\376\377\0004\000\040\000T\000y\000p\000e\000f\000a\000c\000e\000s}{}% 7
-\BOOKMARK [1][-]{section.5}{\376\377\0005\000\040\000T\000i\000t\000l\000e\000\040\000I\000n\000f\000o\000r\000m\000a\000t\000i\000o\000n}{}% 8
-\BOOKMARK [1][-]{section.6}{\376\377\0006\000\040\000A\000u\000t\000h\000o\000r\000s\000\040\000a\000n\000d\000\040\000A\000f\000f\000i\000l\000i\000a\000t\000i\000o\000n\000s}{}% 9
-\BOOKMARK [1][-]{section.7}{\376\377\0007\000\040\000R\000i\000g\000h\000t\000s\000\040\000I\000n\000f\000o\000r\000m\000a\000t\000i\000o\000n}{}% 10
-\BOOKMARK [1][-]{section.8}{\376\377\0008\000\040\000C\000C\000S\000\040\000C\000o\000n\000c\000e\000p\000t\000s\000\040\000a\000n\000d\000\040\000U\000s\000e\000r\000-\000D\000e\000f\000i\000n\000e\000d\000\040\000K\000e\000y\000w\000o\000r\000d\000s}{}% 11
-\BOOKMARK [1][-]{section.9}{\376\377\0009\000\040\000S\000e\000c\000t\000i\000o\000n\000i\000n\000g\000\040\000C\000o\000m\000m\000a\000n\000d\000s}{}% 12
-\BOOKMARK [1][-]{section.10}{\376\377\0001\0000\000\040\000T\000a\000b\000l\000e\000s}{}% 13
-\BOOKMARK [1][-]{section.11}{\376\377\0001\0001\000\040\000M\000a\000t\000h\000\040\000E\000q\000u\000a\000t\000i\000o\000n\000s}{}% 14
-\BOOKMARK [2][-]{subsection.11.1}{\376\377\0001\0001\000.\0001\000\040\000I\000n\000l\000i\000n\000e\000\040\000\050\000I\000n\000-\000t\000e\000x\000t\000\051\000\040\000E\000q\000u\000a\000t\000i\000o\000n\000s}{section.11}% 15
-\BOOKMARK [2][-]{subsection.11.2}{\376\377\0001\0001\000.\0002\000\040\000D\000i\000s\000p\000l\000a\000y\000\040\000E\000q\000u\000a\000t\000i\000o\000n\000s}{section.11}% 16
-\BOOKMARK [1][-]{section.12}{\376\377\0001\0002\000\040\000F\000i\000g\000u\000r\000e\000s}{}% 17
-\BOOKMARK [2][-]{subsection.12.1}{\376\377\0001\0002\000.\0001\000\040\000T\000h\000e\000\040\000`\000`\000T\000e\000a\000s\000e\000r\000\040\000F\000i\000g\000u\000r\000e\000'\000'}{section.12}% 18
-\BOOKMARK [1][-]{section.13}{\376\377\0001\0003\000\040\000C\000i\000t\000a\000t\000i\000o\000n\000s\000\040\000a\000n\000d\000\040\000B\000i\000b\000l\000i\000o\000g\000r\000a\000p\000h\000i\000e\000s}{}% 19
-\BOOKMARK [1][-]{section.14}{\376\377\0001\0004\000\040\000A\000c\000k\000n\000o\000w\000l\000e\000d\000g\000m\000e\000n\000t\000s}{}% 20
-\BOOKMARK [1][-]{section.15}{\376\377\0001\0005\000\040\000A\000p\000p\000e\000n\000d\000i\000c\000e\000s}{}% 21
-\BOOKMARK [1][-]{section.16}{\376\377\0001\0006\000\040\000S\000I\000G\000C\000H\000I\000\040\000E\000x\000t\000e\000n\000d\000e\000d\000\040\000A\000b\000s\000t\000r\000a\000c\000t\000s}{}% 22
-\BOOKMARK [1][-]{section*.10}{\376\377\000A\000c\000k\000n\000o\000w\000l\000e\000d\000g\000m\000e\000n\000t\000s}{}% 23
-\BOOKMARK [1][-]{appendix.A}{\376\377\000A\000\040\000R\000e\000s\000e\000a\000r\000c\000h\000\040\000M\000e\000t\000h\000o\000d\000s}{}% 24
-\BOOKMARK [2][-]{subsection.A.1}{\376\377\000A\000.\0001\000\040\000P\000a\000r\000t\000\040\000O\000n\000e}{appendix.A}% 25
-\BOOKMARK [2][-]{subsection.A.2}{\376\377\000A\000.\0002\000\040\000P\000a\000r\000t\000\040\000T\000w\000o}{appendix.A}% 26
-\BOOKMARK [1][-]{appendix.B}{\376\377\000B\000\040\000O\000n\000l\000i\000n\000e\000\040\000R\000e\000s\000o\000u\000r\000c\000e\000s}{}% 27
diff --git a/docs/sample-sigplan.pdf b/docs/sample-sigplan.pdf
deleted file mode 100644
index 04ac1f2d4b608d4cc5add60fb8f091d4057f2909..0000000000000000000000000000000000000000
Binary files a/docs/sample-sigplan.pdf and /dev/null differ
diff --git a/docs/sample-sigplan.tex b/docs/sample-sigplan.tex
deleted file mode 100644
index ea98bfd202104c39cad1d416c95a4eb77e155830..0000000000000000000000000000000000000000
--- a/docs/sample-sigplan.tex
+++ /dev/null
@@ -1,764 +0,0 @@
-%%
-%% This is file `sample-sigplan.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% samples.dtx  (with options: `sigplan')
-%% 
-%% IMPORTANT NOTICE:
-%% 
-%% For the copyright see the source file.
-%% 
-%% Any modified versions of this file must be renamed
-%% with new filenames distinct from sample-sigplan.tex.
-%% 
-%% For distribution of the original source see the terms
-%% for copying and modification in the file samples.dtx.
-%% 
-%% This generated file may be distributed as long as the
-%% original source files, as listed above, are part of the
-%% same distribution. (The sources need not necessarily be
-%% in the same archive or directory.)
-%%
-%% The first command in your LaTeX source must be the \documentclass command.
-\documentclass[sigplan,screen]{acmart}
-
-%%
-%% \BibTeX command to typeset BibTeX logo in the docs
-\AtBeginDocument{%
-  \providecommand\BibTeX{{%
-    \normalfont B\kern-0.5em{\scshape i\kern-0.25em b}\kern-0.8em\TeX}}}
-
-%% Rights management information.  This information is sent to you
-%% when you complete the rights form.  These commands have SAMPLE
-%% values in them; it is your responsibility as an author to replace
-%% the commands and values with those provided to you when you
-%% complete the rights form.
-\setcopyright{acmcopyright}
-\copyrightyear{2018}
-\acmYear{2018}
-\acmDOI{10.1145/1122445.1122456}
-
-%% These commands are for a PROCEEDINGS abstract or paper.
-\acmConference[Woodstock '18]{Woodstock '18: ACM Symposium on Neural
-  Gaze Detection}{June 03--05, 2018}{Woodstock, NY}
-\acmBooktitle{Woodstock '18: ACM Symposium on Neural Gaze Detection,
-  June 03--05, 2018, Woodstock, NY}
-\acmPrice{15.00}
-\acmISBN{978-1-4503-XXXX-X/18/06}
-
-
-%%
-%% Submission ID.
-%% Use this when submitting an article to a sponsored event. You'll
-%% receive a unique submission ID from the organizers
-%% of the event, and this ID should be used as the parameter to this command.
-%%\acmSubmissionID{123-A56-BU3}
-
-%%
-%% The majority of ACM publications use numbered citations and
-%% references.  The command \citestyle{authoryear} switches to the
-%% "author year" style.
-%%
-%% If you are preparing content for an event
-%% sponsored by ACM SIGGRAPH, you must use the "author year" style of
-%% citations and references.
-%% Uncommenting
-%% the next command will enable that style.
-%%\citestyle{acmauthoryear}
-
-%%
-%% end of the preamble, start of the body of the document source.
-\begin{document}
-
-%%
-%% The "title" command has an optional parameter,
-%% allowing the author to define a "short title" to be used in page headers.
-\title{Barni témalabja}
-
-%%
-%% The "author" command and its associated commands are used to define
-%% the authors and their affiliations.
-%% Of note is the shared affiliation of the first two authors, and the
-%% "authornote" and "authornotemark" commands
-%% used to denote shared contribution to the research.
-\author{Ben Trovato}
-\authornote{Both authors contributed equally to this research.}
-\email{trovato@corporation.com}
-\orcid{1234-5678-9012}
-\author{G.K.M. Tobin}
-\authornotemark[1]
-\email{webmaster@marysville-ohio.com}
-\affiliation{%
-  \institution{Institute for Clarity in Documentation}
-  \streetaddress{P.O. Box 1212}
-  \city{Dublin}
-  \state{Ohio}
-  \country{USA}
-  \postcode{43017-6221}
-}
-
-\author{Lars Th{\o}rv{\"a}ld}
-\affiliation{%
-  \institution{The Th{\o}rv{\"a}ld Group}
-  \streetaddress{1 Th{\o}rv{\"a}ld Circle}
-  \city{Hekla}
-  \country{Iceland}}
-\email{larst@affiliation.org}
-
-\author{Valerie B\'eranger}
-\affiliation{%
-  \institution{Inria Paris-Rocquencourt}
-  \city{Rocquencourt}
-  \country{France}
-}
-
-\author{Aparna Patel}
-\affiliation{%
- \institution{Rajiv Gandhi University}
- \streetaddress{Rono-Hills}
- \city{Doimukh}
- \state{Arunachal Pradesh}
- \country{India}}
-
-\author{Huifen Chan}
-\affiliation{%
-  \institution{Tsinghua University}
-  \streetaddress{30 Shuangqing Rd}
-  \city{Haidian Qu}
-  \state{Beijing Shi}
-  \country{China}}
-
-\author{Charles Palmer}
-\affiliation{%
-  \institution{Palmer Research Laboratories}
-  \streetaddress{8600 Datapoint Drive}
-  \city{San Antonio}
-  \state{Texas}
-  \country{USA}
-  \postcode{78229}}
-\email{cpalmer@prl.com}
-
-\author{John Smith}
-\affiliation{%
-  \institution{The Th{\o}rv{\"a}ld Group}
-  \streetaddress{1 Th{\o}rv{\"a}ld Circle}
-  \city{Hekla}
-  \country{Iceland}}
-\email{jsmith@affiliation.org}
-
-\author{Julius P. Kumquat}
-\affiliation{%
-  \institution{The Kumquat Consortium}
-  \city{New York}
-  \country{USA}}
-\email{jpkumquat@consortium.net}
-
-%%
-%% By default, the full list of authors will be used in the page
-%% headers. Often, this list is too long, and will overlap
-%% other information printed in the page headers. This command allows
-%% the author to define a more concise list
-%% of authors' names for this purpose.
-\renewcommand{\shortauthors}{Trovato and Tobin, et al.}
-
-%%
-%% The abstract is a short summary of the work to be presented in the
-%% article.
-\begin{abstract}
-  A clear and well-documented \LaTeX\ document is presented as an
-  article formatted for publication by ACM in a conference proceedings
-  or journal publication. Based on the ``acmart'' document class, this
-  article presents and explains many of the common variations, as well
-  as many of the formatting elements an author may use in the
-  preparation of the documentation of their work.
-\end{abstract}
-
-%%
-%% The code below is generated by the tool at http://dl.acm.org/ccs.cfm.
-%% Please copy and paste the code instead of the example below.
-%%
-\begin{CCSXML}
-<ccs2012>
- <concept>
-  <concept_id>10010520.10010553.10010562</concept_id>
-  <concept_desc>Computer systems organization~Embedded systems</concept_desc>
-  <concept_significance>500</concept_significance>
- </concept>
- <concept>
-  <concept_id>10010520.10010575.10010755</concept_id>
-  <concept_desc>Computer systems organization~Redundancy</concept_desc>
-  <concept_significance>300</concept_significance>
- </concept>
- <concept>
-  <concept_id>10010520.10010553.10010554</concept_id>
-  <concept_desc>Computer systems organization~Robotics</concept_desc>
-  <concept_significance>100</concept_significance>
- </concept>
- <concept>
-  <concept_id>10003033.10003083.10003095</concept_id>
-  <concept_desc>Networks~Network reliability</concept_desc>
-  <concept_significance>100</concept_significance>
- </concept>
-</ccs2012>
-\end{CCSXML}
-
-\ccsdesc[500]{Computer systems organization~Embedded systems}
-\ccsdesc[300]{Computer systems organization~Redundancy}
-\ccsdesc{Computer systems organization~Robotics}
-\ccsdesc[100]{Networks~Network reliability}
-
-%%
-%% Keywords. The author(s) should pick words that accurately describe
-%% the work being presented. Separate the keywords with commas.
-\keywords{datasets, neural networks, gaze detection, text tagging}
-
-%% A "teaser" image appears between the author and affiliation
-%% information and the body of the document, and typically spans the
-%% page.
-\begin{teaserfigure}
-  \includegraphics[width=\textwidth]{sampleteaser}
-  \caption{Seattle Mariners at Spring Training, 2010.}
-  \Description{Enjoying the baseball game from the third-base
-  seats. Ichiro Suzuki preparing to bat.}
-  \label{fig:teaser}
-\end{teaserfigure}
-
-%%
-%% This command processes the author and affiliation and title
-%% information and builds the first part of the formatted document.
-\maketitle
-
-\section{Introduction}
-ACM's consolidated article template, introduced in 2017, provides a
-consistent \LaTeX\ style for use across ACM publications, and
-incorporates accessibility and metadata-extraction functionality
-necessary for future Digital Library endeavors. Numerous ACM and
-SIG-specific \LaTeX\ templates have been examined, and their unique
-features incorporated into this single new template.
-
-If you are new to publishing with ACM, this document is a valuable
-guide to the process of preparing your work for publication. If you
-have published with ACM before, this document provides insight and
-instruction into more recent changes to the article template.
-
-The ``\verb|acmart|'' document class can be used to prepare articles
-for any ACM publication --- conference or journal, and for any stage
-of publication, from review to final ``camera-ready'' copy, to the
-author's own version, with {\itshape very} few changes to the source.
-
-\section{Template Overview}
-As noted in the introduction, the ``\verb|acmart|'' document class can
-be used to prepare many different kinds of documentation --- a
-double-blind initial submission of a full-length technical paper, a
-two-page SIGGRAPH Emerging Technologies abstract, a ``camera-ready''
-journal article, a SIGCHI Extended Abstract, and more --- all by
-selecting the appropriate {\itshape template style} and {\itshape
-  template parameters}.
-
-This document will explain the major features of the document
-class. For further information, the {\itshape \LaTeX\ User's Guide} is
-available from
-\url{https://www.acm.org/publications/proceedings-template}.
-
-\subsection{Template Styles}
-
-The primary parameter given to the ``\verb|acmart|'' document class is
-the {\itshape template style} which corresponds to the kind of publication
-or SIG publishing the work. This parameter is enclosed in square
-brackets and is a part of the {\verb|documentclass|} command:
-\begin{verbatim}
-  \documentclass[STYLE]{acmart}
-\end{verbatim}
-
-Journals use one of three template styles. All but three ACM journals
-use the {\verb|acmsmall|} template style:
-\begin{itemize}
-\item {\verb|acmsmall|}: The default journal template style.
-\item {\verb|acmlarge|}: Used by JOCCH and TAP.
-\item {\verb|acmtog|}: Used by TOG.
-\end{itemize}
-
-The majority of conference proceedings documentation will use the {\verb|acmconf|} template style.
-\begin{itemize}
-\item {\verb|acmconf|}: The default proceedings template style.
-\item{\verb|sigchi|}: Used for SIGCHI conference articles.
-\item{\verb|sigchi-a|}: Used for SIGCHI ``Extended Abstract'' articles.
-\item{\verb|sigplan|}: Used for SIGPLAN conference articles.
-\end{itemize}
-
-\subsection{Template Parameters}
-
-In addition to specifying the {\itshape template style} to be used in
-formatting your work, there are a number of {\itshape template parameters}
-which modify some part of the applied template style. A complete list
-of these parameters can be found in the {\itshape \LaTeX\ User's Guide.}
-
-Frequently-used parameters, or combinations of parameters, include:
-\begin{itemize}
-\item {\verb|anonymous,review|}: Suitable for a ``double-blind''
-  conference submission. Anonymizes the work and includes line
-  numbers. Use with the \verb|\acmSubmissionID| command to print the
-  submission's unique ID on each page of the work.
-\item{\verb|authorversion|}: Produces a version of the work suitable
-  for posting by the author.
-\item{\verb|screen|}: Produces colored hyperlinks.
-\end{itemize}
-
-This document uses the following string as the first command in the
-source file:
-\begin{verbatim}
-\documentclass[sigplan,screen]{acmart}
-\end{verbatim}
-
-\section{Modifications}
-
-Modifying the template --- including but not limited to: adjusting
-margins, typeface sizes, line spacing, paragraph and list definitions,
-and the use of the \verb|\vspace| command to manually adjust the
-vertical spacing between elements of your work --- is not allowed.
-
-{\bfseries Your document will be returned to you for revision if
-  modifications are discovered.}
-
-\section{Typefaces}
-
-The ``\verb|acmart|'' document class requires the use of the
-``Libertine'' typeface family. Your \TeX\ installation should include
-this set of packages. Please do not substitute other typefaces. The
-``\verb|lmodern|'' and ``\verb|ltimes|'' packages should not be used,
-as they will override the built-in typeface families.
-
-\section{Title Information}
-
-The title of your work should use capital letters appropriately -
-\url{https://capitalizemytitle.com/} has useful rules for
-capitalization. Use the {\verb|title|} command to define the title of
-your work. If your work has a subtitle, define it with the
-{\verb|subtitle|} command.  Do not insert line breaks in your title.
-
-If your title is lengthy, you must define a short version to be used
-in the page headers, to prevent overlapping text. The \verb|title|
-command has a ``short title'' parameter:
-\begin{verbatim}
-  \title[short title]{full title}
-\end{verbatim}
-
-\section{Authors and Affiliations}
-
-Each author must be defined separately for accurate metadata
-identification. Multiple authors may share one affiliation. Authors'
-names should not be abbreviated; use full first names wherever
-possible. Include authors' e-mail addresses whenever possible.
-
-Grouping authors' names or e-mail addresses, or providing an ``e-mail
-alias,'' as shown below, is not acceptable:
-\begin{verbatim}
-  \author{Brooke Aster, David Mehldau}
-  \email{dave,judy,steve@university.edu}
-  \email{firstname.lastname@phillips.org}
-\end{verbatim}
-
-The \verb|authornote| and \verb|authornotemark| commands allow a note
-to apply to multiple authors --- for example, if the first two authors
-of an article contributed equally to the work.
-
-If your author list is lengthy, you must define a shortened version of
-the list of authors to be used in the page headers, to prevent
-overlapping text. The following command should be placed just after
-the last \verb|\author{}| definition:
-\begin{verbatim}
-  \renewcommand{\shortauthors}{McCartney, et al.}
-\end{verbatim}
-Omitting this command will force the use of a concatenated list of all
-of the authors' names, which may result in overlapping text in the
-page headers.
-
-The article template's documentation, available at
-\url{https://www.acm.org/publications/proceedings-template}, has a
-complete explanation of these commands and tips for their effective
-use.
-
-Note that authors' addresses are mandatory for journal articles.
-
-\section{Rights Information}
-
-Authors of any work published by ACM will need to complete a rights
-form. Depending on the kind of work, and the rights management choice
-made by the author, this may be copyright transfer, permission,
-license, or an OA (open access) agreement.
-
-Regardless of the rights management choice, the author will receive a
-copy of the completed rights form once it has been submitted. This
-form contains \LaTeX\ commands that must be copied into the source
-document. When the document source is compiled, these commands and
-their parameters add formatted text to several areas of the final
-document:
-\begin{itemize}
-\item the ``ACM Reference Format'' text on the first page.
-\item the ``rights management'' text on the first page.
-\item the conference information in the page header(s).
-\end{itemize}
-
-Rights information is unique to the work; if you are preparing several
-works for an event, make sure to use the correct set of commands with
-each of the works.
-
-The ACM Reference Format text is required for all articles over one
-page in length, and is optional for one-page articles (abstracts).
-
-\section{CCS Concepts and User-Defined Keywords}
-
-Two elements of the ``acmart'' document class provide powerful
-taxonomic tools for you to help readers find your work in an online
-search.
-
-The ACM Computing Classification System ---
-\url{https://www.acm.org/publications/class-2012} --- is a set of
-classifiers and concepts that describe the computing
-discipline. Authors can select entries from this classification
-system, via \url{https://dl.acm.org/ccs/ccs.cfm}, and generate the
-commands to be included in the \LaTeX\ source.
-
-User-defined keywords are a comma-separated list of words and phrases
-of the authors' choosing, providing a more flexible way of describing
-the research being presented.
-
-CCS concepts and user-defined keywords are required for for all
-articles over two pages in length, and are optional for one- and
-two-page articles (or abstracts).
-
-\section{Sectioning Commands}
-
-Your work should use standard \LaTeX\ sectioning commands:
-\verb|section|, \verb|subsection|, \verb|subsubsection|, and
-\verb|paragraph|. They should be numbered; do not remove the numbering
-from the commands.
-
-Simulating a sectioning command by setting the first word or words of
-a paragraph in boldface or italicized text is {\bfseries not allowed.}
-
-\section{Tables}
-
-The ``\verb|acmart|'' document class includes the ``\verb|booktabs|''
-package --- \url{https://ctan.org/pkg/booktabs} --- for preparing
-high-quality tables.
-
-Table captions are placed {\itshape above} the table.
-
-Because tables cannot be split across pages, the best placement for
-them is typically the top of the page nearest their initial cite.  To
-ensure this proper ``floating'' placement of tables, use the
-environment \textbf{table} to enclose the table's contents and the
-table caption.  The contents of the table itself must go in the
-\textbf{tabular} environment, to be aligned properly in rows and
-columns, with the desired horizontal and vertical rules.  Again,
-detailed instructions on \textbf{tabular} material are found in the
-\textit{\LaTeX\ User's Guide}.
-
-Immediately following this sentence is the point at which
-Table~\ref{tab:freq} is included in the input file; compare the
-placement of the table here with the table in the printed output of
-this document.
-
-\begin{table}
-  \caption{Frequency of Special Characters}
-  \label{tab:freq}
-  \begin{tabular}{ccl}
-    \toprule
-    Non-English or Math&Frequency&Comments\\
-    \midrule
-    \O & 1 in 1,000& For Swedish names\\
-    $\pi$ & 1 in 5& Common in math\\
-    \$ & 4 in 5 & Used in business\\
-    $\Psi^2_1$ & 1 in 40,000& Unexplained usage\\
-  \bottomrule
-\end{tabular}
-\end{table}
-
-To set a wider table, which takes up the whole width of the page's
-live area, use the environment \textbf{table*} to enclose the table's
-contents and the table caption.  As with a single-column table, this
-wide table will ``float'' to a location deemed more
-desirable. Immediately following this sentence is the point at which
-Table~\ref{tab:commands} is included in the input file; again, it is
-instructive to compare the placement of the table here with the table
-in the printed output of this document.
-
-\begin{table*}
-  \caption{Some Typical Commands}
-  \label{tab:commands}
-  \begin{tabular}{ccl}
-    \toprule
-    Command &A Number & Comments\\
-    \midrule
-    \texttt{{\char'134}author} & 100& Author \\
-    \texttt{{\char'134}table}& 300 & For tables\\
-    \texttt{{\char'134}table*}& 400& For wider tables\\
-    \bottomrule
-  \end{tabular}
-\end{table*}
-
-Always use midrule to separate table header rows from data rows, and
-use it only for this purpose. This enables assistive technologies to
-recognise table headers and support their users in navigating tables
-more easily.
-
-\section{Math Equations}
-You may want to display math equations in three distinct styles:
-inline, numbered or non-numbered display.  Each of the three are
-discussed in the next sections.
-
-\subsection{Inline (In-text) Equations}
-A formula that appears in the running text is called an inline or
-in-text formula.  It is produced by the \textbf{math} environment,
-which can be invoked with the usual
-\texttt{{\char'134}begin\,\ldots{\char'134}end} construction or with
-the short form \texttt{\$\,\ldots\$}. You can use any of the symbols
-and structures, from $\alpha$ to $\omega$, available in
-\LaTeX~\cite{Lamport:LaTeX}; this section will simply show a few
-examples of in-text equations in context. Notice how this equation:
-\begin{math}
-  \lim_{n\rightarrow \infty}x=0
-\end{math},
-set here in in-line math style, looks slightly different when
-set in display style.  (See next section).
-
-\subsection{Display Equations}
-A numbered display equation---one set off by vertical space from the
-text and centered horizontally---is produced by the \textbf{equation}
-environment. An unnumbered display equation is produced by the
-\textbf{displaymath} environment.
-
-Again, in either environment, you can use any of the symbols and
-structures available in \LaTeX\@; this section will just give a couple
-of examples of display equations in context.  First, consider the
-equation, shown as an inline equation above:
-\begin{equation}
-  \lim_{n\rightarrow \infty}x=0
-\end{equation}
-Notice how it is formatted somewhat differently in
-the \textbf{displaymath}
-environment.  Now, we'll enter an unnumbered equation:
-\begin{displaymath}
-  \sum_{i=0}^{\infty} x + 1
-\end{displaymath}
-and follow it with another numbered equation:
-\begin{equation}
-  \sum_{i=0}^{\infty}x_i=\int_{0}^{\pi+2} f
-\end{equation}
-just to demonstrate \LaTeX's able handling of numbering.
-
-\section{Figures}
-
-The ``\verb|figure|'' environment should be used for figures. One or
-more images can be placed within a figure. If your figure contains
-third-party material, you must clearly identify it as such, as shown
-in the example below.
-\begin{figure}[h]
-  \centering
-  \includegraphics[width=\linewidth]{sample-franklin}
-  \caption{1907 Franklin Model D roadster. Photograph by Harris \&
-    Ewing, Inc. [Public domain], via Wikimedia
-    Commons. (\url{https://goo.gl/VLCRBB}).}
-  \Description{A woman and a girl in white dresses sit in an open car.}
-\end{figure}
-
-Your figures should contain a caption which describes the figure to
-the reader.
-
-Figure captions are placed {\itshape below} the figure.
-
-Every figure should also have a figure description unless it is purely
-decorative. These descriptions convey what’s in the image to someone
-who cannot see it. They are also used by search engine crawlers for
-indexing images, and when images cannot be loaded.
-
-A figure description must be unformatted plain text less than 2000
-characters long (including spaces).  {\bfseries Figure descriptions
-  should not repeat the figure caption – their purpose is to capture
-  important information that is not already provided in the caption or
-  the main text of the paper.} For figures that convey important and
-complex new information, a short text description may not be
-adequate. More complex alternative descriptions can be placed in an
-appendix and referenced in a short figure description. For example,
-provide a data table capturing the information in a bar chart, or a
-structured list representing a graph.  For additional information
-regarding how best to write figure descriptions and why doing this is
-so important, please see
-\url{https://www.acm.org/publications/taps/describing-figures/}.
-
-\subsection{The ``Teaser Figure''}
-
-A ``teaser figure'' is an image, or set of images in one figure, that
-are placed after all author and affiliation information, and before
-the body of the article, spanning the page. If you wish to have such a
-figure in your article, place the command immediately before the
-\verb|\maketitle| command:
-\begin{verbatim}
-  \begin{teaserfigure}
-    \includegraphics[width=\textwidth]{sampleteaser}
-    \caption{figure caption}
-    \Description{figure description}
-  \end{teaserfigure}
-\end{verbatim}
-
-\section{Citations and Bibliographies}
-
-The use of \BibTeX\ for the preparation and formatting of one's
-references is strongly recommended. Authors' names should be complete
---- use full first names (``Donald E. Knuth'') not initials
-(``D. E. Knuth'') --- and the salient identifying features of a
-reference should be included: title, year, volume, number, pages,
-article DOI, etc.
-
-The bibliography is included in your source document with these two
-commands, placed just before the \verb|\end{document}| command:
-\begin{verbatim}
-  \bibliographystyle{ACM-Reference-Format}
-  \bibliography{bibfile}
-\end{verbatim}
-where ``\verb|bibfile|'' is the name, without the ``\verb|.bib|''
-suffix, of the \BibTeX\ file.
-
-Citations and references are numbered by default. A small number of
-ACM publications have citations and references formatted in the
-``author year'' style; for these exceptions, please include this
-command in the {\bfseries preamble} (before the command
-``\verb|\begin{document}|'') of your \LaTeX\ source:
-\begin{verbatim}
-  \citestyle{acmauthoryear}
-\end{verbatim}
-
-  Some examples.  A paginated journal article \cite{Abril07}, an
-  enumerated journal article \cite{Cohen07}, a reference to an entire
-  issue \cite{JCohen96}, a monograph (whole book) \cite{Kosiur01}, a
-  monograph/whole book in a series (see 2a in spec. document)
-  \cite{Harel79}, a divisible-book such as an anthology or compilation
-  \cite{Editor00} followed by the same example, however we only output
-  the series if the volume number is given \cite{Editor00a} (so
-  Editor00a's series should NOT be present since it has no vol. no.),
-  a chapter in a divisible book \cite{Spector90}, a chapter in a
-  divisible book in a series \cite{Douglass98}, a multi-volume work as
-  book \cite{Knuth97}, a couple of articles in a proceedings (of a
-  conference, symposium, workshop for example) (paginated proceedings
-  article) \cite{Andler79, Hagerup1993}, a proceedings article with
-  all possible elements \cite{Smith10}, an example of an enumerated
-  proceedings article \cite{VanGundy07}, an informally published work
-  \cite{Harel78}, a couple of preprints \cite{Bornmann2019,
-    AnzarootPBM14}, a doctoral dissertation \cite{Clarkson85}, a
-  master's thesis: \cite{anisi03}, an online document / world wide web
-  resource \cite{Thornburg01, Ablamowicz07, Poker06}, a video game
-  (Case 1) \cite{Obama08} and (Case 2) \cite{Novak03} and \cite{Lee05}
-  and (Case 3) a patent \cite{JoeScientist001}, work accepted for
-  publication \cite{rous08}, 'YYYYb'-test for prolific author
-  \cite{SaeediMEJ10} and \cite{SaeediJETC10}. Other cites might
-  contain 'duplicate' DOI and URLs (some SIAM articles)
-  \cite{Kirschmer:2010:AEI:1958016.1958018}. Boris / Barbara Beeton:
-  multi-volume works as books \cite{MR781536} and \cite{MR781537}. A
-  couple of citations with DOIs:
-  \cite{2004:ITE:1009386.1010128,Kirschmer:2010:AEI:1958016.1958018}. Online
-  citations: \cite{TUGInstmem, Thornburg01, CTANacmart}. Artifacts:
-  \cite{R} and \cite{UMassCitations}.
-
-\section{Acknowledgments}
-
-Identification of funding sources and other support, and thanks to
-individuals and groups that assisted in the research and the
-preparation of the work should be included in an acknowledgment
-section, which is placed just before the reference section in your
-document.
-
-This section has a special environment:
-\begin{verbatim}
-  \begin{acks}
-  ...
-  \end{acks}
-\end{verbatim}
-so that the information contained therein can be more easily collected
-during the article metadata extraction phase, and to ensure
-consistency in the spelling of the section heading.
-
-Authors should not prepare this section as a numbered or unnumbered {\verb|\section|}; please use the ``{\verb|acks|}'' environment.
-
-\section{Appendices}
-
-If your work needs an appendix, add it before the
-``\verb|\end{document}|'' command at the conclusion of your source
-document.
-
-Start the appendix with the ``\verb|appendix|'' command:
-\begin{verbatim}
-  \appendix
-\end{verbatim}
-and note that in the appendix, sections are lettered, not
-numbered. This document has two appendices, demonstrating the section
-and subsection identification method.
-
-\section{SIGCHI Extended Abstracts}
-
-The ``\verb|sigchi-a|'' template style (available only in \LaTeX\ and
-not in Word) produces a landscape-orientation formatted article, with
-a wide left margin. Three environments are available for use with the
-``\verb|sigchi-a|'' template style, and produce formatted output in
-the margin:
-\begin{itemize}
-\item {\verb|sidebar|}:  Place formatted text in the margin.
-\item {\verb|marginfigure|}: Place a figure in the margin.
-\item {\verb|margintable|}: Place a table in the margin.
-\end{itemize}
-
-%%
-%% The acknowledgments section is defined using the "acks" environment
-%% (and NOT an unnumbered section). This ensures the proper
-%% identification of the section in the article metadata, and the
-%% consistent spelling of the heading.
-\begin{acks}
-To Robert, for the bagels and explaining CMYK and color spaces.
-\end{acks}
-
-%%
-%% The next two lines define the bibliography style to be used, and
-%% the bibliography file.
-\bibliographystyle{ACM-Reference-Format}
-\bibliography{sample-base}
-
-%%
-%% If your work has an appendix, this is the place to put it.
-\appendix
-
-\section{Research Methods}
-
-\subsection{Part One}
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
-malesuada, quam in pulvinar varius, metus nunc fermentum urna, id
-sollicitudin purus odio sit amet enim. Aliquam ullamcorper eu ipsum
-vel mollis. Curabitur quis dictum nisl. Phasellus vel semper risus, et
-lacinia dolor. Integer ultricies commodo sem nec semper.
-
-\subsection{Part Two}
-
-Etiam commodo feugiat nisl pulvinar pellentesque. Etiam auctor sodales
-ligula, non varius nibh pulvinar semper. Suspendisse nec lectus non
-ipsum convallis congue hendrerit vitae sapien. Donec at laoreet
-eros. Vivamus non purus placerat, scelerisque diam eu, cursus
-ante. Etiam aliquam tortor auctor efficitur mattis.
-
-\section{Online Resources}
-
-Nam id fermentum dui. Suspendisse sagittis tortor a nulla mollis, in
-pulvinar ex pretium. Sed interdum orci quis metus euismod, et sagittis
-enim maximus. Vestibulum gravida massa ut felis suscipit
-congue. Quisque mattis elit a risus ultrices commodo venenatis eget
-dui. Etiam sagittis eleifend elementum.
-
-Nam interdum magna at lectus dignissim, ac dignissim lorem
-rhoncus. Maecenas eu arcu ac neque placerat aliquam. Nunc pulvinar
-massa et mattis lacinia.
-
-\end{document}
-\endinput
-%%
-%% End of file `sample-sigplan.tex'.
diff --git a/docs/sampleteaser.pdf b/docs/sampleteaser.pdf
deleted file mode 100644
index 374f676f0df547dc4dcac3268f573ab99cae6ffd..0000000000000000000000000000000000000000
Binary files a/docs/sampleteaser.pdf and /dev/null differ
diff --git a/docs/necessary/teaser.png b/docs/teaser.png
similarity index 100%
rename from docs/necessary/teaser.png
rename to docs/teaser.png