  % Handle batch mode
  % to overcome problems with too many open files
  \let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage}
  % Set document class depending on configuration
  \documentclass[twoside]{book}
  %% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package
  \usepackage{ifthen}
  \ifx\requestedLaTeXdate\undefined
    \usepackage{array}
  \else
    \usepackage{array}[=2016-10-06]
  \fi
  %%
  % Packages required by doxygen
  \usepackage{fixltx2e} % for \textsubscript
  \usepackage{doxygen}
  \usepackage{graphicx}
  \usepackage[utf8]{inputenc}
  \usepackage{makeidx}
  \PassOptionsToPackage{warn}{textcomp}
  \usepackage{textcomp}
  \usepackage[nointegrals]{wasysym}
  \usepackage{ifxetex}
  % NLS support packages
  % Define default fonts
  % Font selection
  \usepackage[T1]{fontenc}
  % set main and monospaced font
  \usepackage[scaled=.90]{helvet}
\usepackage{courier}
\renewcommand{\familydefault}{\sfdefault}
  \usepackage{sectsty}
  \allsectionsfont{%
    \fontseries{bc}\selectfont%
    \color{darkgray}%
  }
  \renewcommand{\DoxyLabelFont}{%
    \fontseries{bc}\selectfont%
    \color{darkgray}%
  }
  \newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
   % Arguments of doxygenemoji:
   % 1) ':<text>:' form of the emoji, already LaTeX-escaped
   % 2) file with the name of the emoji without the .png extension
   % in case image exist use this otherwise use the ':<text>:' form
   \newcommand{\doxygenemoji}[2]{%
     \IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}%
   }
  % Page & text layout
  \usepackage{geometry}
  \geometry{%
    a4paper,%
    top=2.5cm,%
    bottom=2.5cm,%
    left=2.5cm,%
    right=2.5cm%
  }
  % Allow a bit of overflow to go unnoticed by other means
  \tolerance=750
  \hfuzz=15pt
  \hbadness=750
  \setlength{\emergencystretch}{15pt}
  \setlength{\parindent}{0cm}
  \newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}}
  \newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}}
  \doxynormalparskip
  % Redefine paragraph/subparagraph environments, using sectsty fonts
  \makeatletter
  \renewcommand{\paragraph}{%
    \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
      \normalfont\normalsize\bfseries\SS@parafont%
    }%
  }
  \renewcommand{\subparagraph}{%
    \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
      \normalfont\normalsize\bfseries\SS@subparafont%
    }%
  }
  \makeatother
  \makeatletter
  \newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@}
  \makeatother
  % Headers & footers
  \usepackage{fancyhdr}
  \pagestyle{fancyplain}
  \renewcommand{\footrulewidth}{0.4pt}
  \fancypagestyle{fancyplain}{
    \fancyhf{}
    \fancyhead[LE, RO]{\bfseries\thepage}
    \fancyhead[LO]{\bfseries\rightmark}
    \fancyhead[RE]{\bfseries\leftmark}
    \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
  }
  \fancypagestyle{plain}{
    \fancyhf{}
    \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
    \renewcommand{\headrulewidth}{0pt}
  }
  \pagestyle{fancyplain}
  \renewcommand{\chaptermark}[1]{%
    \markboth{#1}{}%
  }
  \renewcommand{\sectionmark}[1]{%
    \markright{\thesection\ #1}%
  }
  % ToC, LoF, LoT, bibliography, and index
  % Indices & bibliography
  \usepackage{natbib}
  \usepackage[titles]{tocloft}
  \setcounter{tocdepth}{3}
  \setcounter{secnumdepth}{5}
  % creating indexes
  \makeindex
  \usepackage{newunicodechar}
  \newunicodechar{⁻}{${}^{-}$}% Superscript minus
  \newunicodechar{²}{${}^{2}$}% Superscript two
  \newunicodechar{³}{${}^{3}$}% Superscript three
  % Hyperlinks
    % Hyperlinks (required, but should be loaded last)
    \ifpdf
      \usepackage[pdftex,pagebackref=true]{hyperref}
    \else
      \ifxetex
        \usepackage[pagebackref=true]{hyperref}
      \else
        \usepackage[ps2pdf,pagebackref=true]{hyperref}
      \fi
    \fi
    \hypersetup{%
      colorlinks=true,%
      linkcolor=blue,%
      citecolor=blue,%
      unicode,%
      pdftitle=Gpg\+Frontend Project,%
      pdfsubject=A Free, Powerful, Easy-\/to-\/\+Use, Compact, Cross-\/\+Platform, and Installation-\/\+Free Open\+PGP(pgp) Crypto Tool.%
    }
  % Custom commands used by the header
  % Custom commands
  \newcommand{\clearemptydoublepage}{%
    \newpage{\pagestyle{empty}\cleardoublepage}%
  }
  % caption style definition
  \usepackage{caption}
  \captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}
  % in page table of contents
  \usepackage{etoc}
  \etocsettocstyle{\doxytocparskip}{\doxynormalparskip}
  % prevent numbers overlap the titles in toc
  \renewcommand{\numberline}[1]{#1~}
% End of preamble, now comes the document contents
%===== C O N T E N T S =====
\begin{document}
  \raggedbottom
  % Titlepage & ToC
    % To avoid duplicate page anchors due to reuse of same numbers for
    % the index (be it as roman numbers)
    \hypersetup{pageanchor=false,
                bookmarksnumbered=true,
                pdfencoding=unicode
               }
  \pagenumbering{alph}
  \begin{titlepage}
  \vspace*{7cm}
  \begin{center}%
  {\Large Gpg\+Frontend Project}\\
  \vspace*{1cm}
  {\large Generated by Doxygen 1.9.3}\\
  \end{center}
  \end{titlepage}
  \clearemptydoublepage
  \pagenumbering{roman}
  \tableofcontents
  \clearemptydoublepage
  \pagenumbering{arabic}
  % re-enable anchors again
  \hypersetup{pageanchor=true}
%--- Begin generated contents ---
\chapter{Gpg\+Frontend Develop Document Main Page}
\label{index}\hypertarget{index}{}\input{index}
\chapter{Namespace Index}
\input{namespaces}
\chapter{Hierarchical Index}
\input{hierarchy}
\chapter{Class Index}
\input{annotated}
\chapter{File Index}
\input{files}
\chapter{Namespace Documentation}
\input{namespaceGpgFrontend}
\input{namespaceGpgFrontend_1_1RawAPI}
\input{namespaceGpgFrontend_1_1UI}
\chapter{Class Documentation}
\input{structGpgFrontend_1_1GpgContext_1_1__ctx__ref__deleter}
\input{structGpgFrontend_1_1GpgData_1_1__data__ref__deleter}
\input{structGpgFrontend_1_1GpgKey_1_1__key__ref__deleter}
\input{structGpgFrontend_1_1__result__ref__deletor}
\input{classGpgFrontend_1_1UI_1_1AboutDialog}
\input{classGpgFrontend_1_1UI_1_1AdvancedTab}
\input{classGpgFrontend_1_1UI_1_1AppearanceTab}
\input{classGpgFrontend_1_1ArchiveFileOperator}
\input{structGpgFrontend_1_1ArchiveStruct}
\input{classGpgFrontend_1_1UI_1_1ChoosePage}
\input{classclass}
\input{classGpgFrontend_1_1UI_1_1CommonUtils}
\input{classGpgFrontend_1_1UI_1_1ConclusionPage}
\input{classGpgFrontend_1_1CoreCommonUtil}
\input{structGpgFrontend_1_1UI_1_1MainWindow_1_1CryptoMenu}
\input{classGpgFrontend_1_1CtxCheckThread}
\input{classGpgFrontend_1_1DataObjectOperator}
\input{classGpgFrontend_1_1UI_1_1ExportKeyPackageDialog}
\input{classGpgFrontend_1_1FileOperator}
\input{classGpgFrontend_1_1UI_1_1FilePage}
\input{classGpgFrontend_1_1UI_1_1FileReadThread}
\input{classGpgFrontend_1_1UI_1_1FindWidget}
\input{classGpgFrontend_1_1UI_1_1GeneralTab}
\input{classGpgFrontend_1_1GenKeyInfo}
\input{classGpgFrontend_1_1GlobalSettingStation}
\input{classGpgFrontend_1_1GpgBasicOperator}
\input{classGpgFrontend_1_1GpgCommandExecutor}
\input{classGpgFrontend_1_1GpgConstants}
\input{classGpgFrontend_1_1GpgContext}
\input{structGpgFrontend_1_1GpgContextInitArgs}
\input{classGpgFrontend_1_1GpgData}
\input{classGpgFrontend_1_1GpgDecryptResultAnalyse}
\input{classGpgFrontend_1_1GpgEncryptResultAnalyse}
\input{classGpgFrontend_1_1GpgFileOpera}
\input{classGpgFrontend_1_1GpgImportedKey}
\input{classGpgFrontend_1_1GpgImportInformation}
\input{classGpgFrontend_1_1GpgInfo}
\input{classGpgFrontend_1_1GpgKey}
\input{classGpgFrontend_1_1GpgKeyGetter}
\input{classGpgFrontend_1_1GpgKeyImportExporter}
\input{classGpgFrontend_1_1GpgKeyManager}
\input{classGpgFrontend_1_1GpgKeyOpera}
\input{classGpgFrontend_1_1GpgKeySignature}
\input{classGpgFrontend_1_1GpgResultAnalyse}
\input{classGpgFrontend_1_1GpgSignature}
\input{classGpgFrontend_1_1GpgSignResultAnalyse}
\input{classGpgFrontend_1_1GpgSubKey}
\input{classGpgFrontend_1_1GpgTOFUInfo}
\input{classGpgFrontend_1_1GpgUID}
\input{classGpgFrontend_1_1GpgUIDOperator}
\input{classGpgFrontend_1_1GpgVerifyResultAnalyse}
\input{classGpgFrontend_1_1UI_1_1HelpPage}
\input{classGpgFrontend_1_1UI_1_1InfoBoardWidget}
\input{classGpgFrontend_1_1UI_1_1InfoTab}
\input{classGpgFrontend_1_1UI_1_1IntroPage}
\input{classGpgFrontend_1_1UI_1_1KeyDetailsDialog}
\input{classGpgFrontend_1_1UI_1_1KeyGenDialog}
\input{classGpgFrontend_1_1UI_1_1KeyGenPage}
\input{classGpgFrontend_1_1UI_1_1KeyImportDetailDialog}
\input{classGpgFrontend_1_1UI_1_1KeyList}
\input{structGpgFrontend_1_1UI_1_1KeyListColumn}
\input{structGpgFrontend_1_1UI_1_1KeyListRow}
\input{structGpgFrontend_1_1UI_1_1KeyMenuAbility}
\input{classGpgFrontend_1_1UI_1_1KeyMgmt}
\input{classGpgFrontend_1_1UI_1_1KeyNewUIDDialog}
\input{classGpgFrontend_1_1KeyPackageOperator}
\input{classGpgFrontend_1_1UI_1_1KeyPairDetailTab}
\input{classGpgFrontend_1_1UI_1_1KeyPairOperaTab}
\input{classGpgFrontend_1_1UI_1_1KeyPairSubkeyTab}
\input{classGpgFrontend_1_1UI_1_1KeyPairUIDTab}
\input{classGpgFrontend_1_1UI_1_1KeyServerImportDialog}
\input{classGpgFrontend_1_1UI_1_1KeyserverTab}
\input{classGpgFrontend_1_1UI_1_1KeySetExpireDateDialog}
\input{structGpgFrontend_1_1UI_1_1KeyTable}
\input{classGpgFrontend_1_1UI_1_1KeyUIDSignDialog}
\input{classGpgFrontend_1_1UI_1_1KeyUploadDialog}
\input{classGpgFrontend_1_1UI_1_1ListedKeyServerTestThread}
\input{classGpgFrontend_1_1UI_1_1MainWindow}
\input{classGpgFrontend_1_1UI_1_1NetworkTab}
\input{classGpgFrontend_1_1PassphraseGenerator}
\input{classGpgFrontend_1_1UI_1_1PlainTextEditorPage}
\input{classGpgFrontend_1_1UI_1_1ProxyConnectionTestThread}
\input{classProxyConnectionTestThread}
\input{classGpgFrontend_1_1UI_1_1QuitDialog}
\input{classGpgFrontend_1_1UI_1_1SettingsDialog}
\input{classGpgFrontend_1_1UI_1_1SettingsObject}
\input{classGpgFrontend_1_1UI_1_1SignalStation}
\input{classSignatureDetailsDialog}
\input{classGpgFrontend_1_1UI_1_1SignersPicker}
\input{classGpgFrontend_1_1SingletonFunctionObject}
\input{structGpgFrontend_1_1UI_1_1SoftwareVersion}
\input{classGpgFrontend_1_1UI_1_1SubkeyGenerateDialog}
\input{classTestListedKeyServerThread}
\input{classGpgFrontend_1_1UI_1_1TextEdit}
\input{classGpgFrontend_1_1UI_1_1TOFUInfoPage}
\input{classGpgFrontend_1_1UI_1_1TranslatorsTab}
\input{classGpgFrontend_1_1UI_1_1UpdateTab}
\input{classGpgFrontend_1_1UI_1_1VerifyDetailsDialog}
\input{classGpgFrontend_1_1UI_1_1VerifyKeyDetailBox}
\input{classGpgFrontend_1_1UI_1_1VersionCheckThread}
\input{classGpgFrontend_1_1UI_1_1WaitingDialog}
\input{classGpgFrontend_1_1UI_1_1Wizard}
\chapter{File Documentation}
\input{CoreCommonUtil_8h_source}
\input{aes__ssl_8h_source}
\input{ArchiveFileOperator_8h_source}
\input{DataObjectOperator_8h_source}
\input{FileOperator_8h_source}
\input{GlobalSettingStation_8h_source}
\input{GpgBasicOperator_8h_source}
\input{GpgCommandExecutor_8h_source}
\input{GpgFileOpera_8h_source}
\input{GpgKeyGetter_8h_source}
\input{GpgKeyImportExporter_8h_source}
\input{GpgKeyManager_8h_source}
\input{GpgKeyOpera_8h_source}
\input{GpgUIDOperator_8h_source}
\input{KeyPackageOperator_8h_source}
\input{PassphraseGenerator_8h_source}
\input{GpgDecryptResultAnalyse_8h_source}
\input{GpgEncryptResultAnalyse_8h_source}
\input{GpgResultAnalyse_8h_source}
\input{GpgSignResultAnalyse_8h_source}
\input{GpgVerifyResultAnalyse_8h_source}
\input{GpgConstants_8h_source}
\input{GpgContext_8h_source}
\input{GpgCoreInit_8h_source}
\input{GpgFrontendCore_8h_source}
\input{GpgFrontendCoreExport_8h_source}
\input{GpgFunctionObject_8h_source}
\input{GpgGenKeyInfo_8h_source}
\input{GpgInfo_8h_source}
\input{GpgModel_8h_source}
\input{GpgData_8h_source}
\input{GpgKey_8h_source}
\input{GpgKeySignature_8h_source}
\input{GpgSignature_8h_source}
\input{GpgSubKey_8h_source}
\input{GpgTOFUInfo_8h_source}
\input{GpgUID_8h_source}
\input{CtxCheckThread_8h_source}
\input{GpgFrontend_8h_source}
\input{GpgFrontendBuildInfo_8h_source}
\input{GpgFrontendBuildInstallInfo_8h_source}
\input{SignatureDetailsDialog_8h_source}
\input{VerifyDetailsDialog_8h_source}
\input{QuitDialog_8h_source}
\input{WaitingDialog_8h_source}
\input{Wizard_8h_source}
\input{GpgFrontendUI_8h_source}
\input{GpgFrontendUIInit_8h_source}
\input{AboutDialog_8h_source}
\input{ExportKeyPackageDialog_8h_source}
\input{KeyImportDetailDialog_8h_source}
\input{KeyServerImportDialog_8h_source}
\input{KeyUploadDialog_8h_source}
\input{KeygenDialog_8h_source}
\input{SubkeyGenerateDialog_8h_source}
\input{KeyMgmt_8h_source}
\input{KeyDetailsDialog_8h_source}
\input{KeyNewUIDDialog_8h_source}
\input{KeyPairDetailTab_8h_source}
\input{KeyPairOperaTab_8h_source}
\input{KeyPairSubkeyTab_8h_source}
\input{KeyPairUIDTab_8h_source}
\input{KeySetExpireDateDialog_8h_source}
\input{KeyUIDSignDialog_8h_source}
\input{MainWindow_8h_source}
\input{SettingsAdvanced_8h_source}
\input{SettingsAppearance_8h_source}
\input{SettingsDialog_8h_source}
\input{SettingsGeneral_8h_source}
\input{SettingsKeyServer_8h_source}
\input{SettingsNetwork_8h_source}
\input{SignalStation_8h_source}
\input{SettingsObject_8h_source}
\input{SoftwareVersion_8h_source}
\input{FileReadThread_8h_source}
\input{ListedKeyServerTestThread_8h_source}
\input{ProxyConnectionTestThread_8h_source}
\input{VersionCheckThread_8h_source}
\input{UserInterfaceUtils_8h_source}
\input{FilePage_8h_source}
\input{FindWidget_8h_source}
\input{HelpPage_8h_source}
\input{InfoBoardWidget_8h_source}
\input{KeyList_8h_source}
\input{PlainTextEditorPage_8h_source}
\input{SignersPicker_8h_source}
\input{TextEdit_8h_source}
\input{TOFUInfoPage_8h_source}
\input{VerifyKeyDetailBox_8h_source}
%--- End generated contents ---
% Index
  \backmatter
  \newpage
  \phantomsection
  \clearemptydoublepage
  \addcontentsline{toc}{chapter}{\indexname}
  \printindex
% Required for some languages (in combination with latexdocumentpre from the header)
\end{document}
