%% %% This is file `hyperref.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% hyperref.dtx (with options: `package') %% hyperref-linktarget.dtx (with options: `package,package-include') %% hyperref.dtx (with options: `packageEnd') %% %% Copyright %% 1995-2001 Sebastian Rahtz, with portions written by David Carlisle and Heiko Oberdiek %% 2001-2015 Heiko Oberdiek %% 2016-2019 Oberdiek Package Support Group %% 2019-2024 LaTeX Project %% https://github.com/latex3/hyperref/issues %% %% This file is part of the `Hyperref Bundle'. %% ------------------------------------------- %% %% 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 this 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 the LaTeX Project. %% %% The list of all files belonging to the `Hyperref Bundle' is %% given in the file `manifest.txt'. %% %% File: hyperref.dtx \NeedsTeXFormat{LaTeX2e}[2020/10/01] \ProvidesPackage{hyperref} [2024-07-10 v7.01j % Hypertext links for LaTeX] \begingroup \@makeother\`% \@makeother\=% \edef\x{% \edef\noexpand\x{% \endgroup \noexpand\toks@{% \catcode 96=\noexpand\the\catcode`\noexpand\`\relax \catcode 61=\noexpand\the\catcode`\noexpand\=\relax }% }% \noexpand\x }% \x \@makeother\` \@makeother\= \def\Hy@SetCatcodes{% \@makeother\`% \@makeother\=% \catcode`\$=3 % \catcode`\&=4 % \catcode`\^=7 % \catcode`\_=8 % \@makeother\|% \@makeother\:% \@makeother\(% \@makeother\)% \@makeother\[% \@makeother\]% \@makeother\/% \@makeother\!% \@makeother\<% \@makeother\>% \@makeother\.% \@makeother\;% \@makeother\+% \@makeother\-% \@makeother\"% \@makeother\'% } \begingroup \def\x#1{\catcode`\noexpand#1=\the\catcode`#1\relax}% \xdef\Hy@RestoreCatcodes{% \the\toks@ \x\$% \x\&% \x\^% \x\_% \x\|% \x\:% \x\(% \x\)% \x\[% \x\]% \x\/% \x\!% \x\<% \x\>% \x\.% \x\;% \x\+% \x\-% \x\"% \x\'% }% \endgroup \Hy@SetCatcodes \RequirePackage{iftex}[2019/10/24] \RequirePackage{keyval}[1997/11/10] \RequirePackage{kvsetkeys}[2007/09/29] \RequirePackage{kvdefinekeys}[2011/04/07] \RequirePackage{pdfescape}[2007/11/11] \RequirePackage{hycolor} \RequirePackage{nameref}[2012/07/28] \RequirePackage{etoolbox} \RequirePackage{stringenc}[2009/12/15]% \def\Hy@Error{\PackageError{hyperref}} \def\Hy@Warning{\PackageWarning{hyperref}} \def\Hy@WarningNoLine{\PackageWarningNoLine{hyperref}} \def\Hy@Info{\PackageInfo{hyperref}} \def\Hy@InfoNoLine#1{\PackageInfo{hyperref}{#1\@gobble}} \def\Hy@Message#1{% \GenericWarning{% (hyperref)\@spaces\@spaces\@spaces\@spaces }{% Package hyperref Message: #1\@gobble }% } \chardef\Hy@VersionChecked=0 % \def\Hy@VersionCheck#1{% \begingroup \@ifundefined{ver@hyperref.sty}{% \Hy@Error{% This should not happen!\MessageBreak Missing hyperref version% }\@ehd }{% \@ifundefined{ver@#1}{% \Hy@Error{% This should not happen!\MessageBreak Missing version of `#1'% }\@ehd }{% \def\x##1##2##3{% \expandafter\expandafter\expandafter\Hy@@VersionCheck \expandafter\expandafter\expandafter##2% \csname ver@##3\endcsname##1##1\@nil }% \x{ }\y{hyperref.sty}% \x{ }\z{#1}% \ifx\y\z \else \edef\a{#1}% \edef\b{\HyOpt@CustomDriver.def}% \ifx\a\b \Hy@WarningNoLine{% Version mismatch (custom driver)!\MessageBreak * \y: hyperref.sty\MessageBreak * \z: \a }% \else \Hy@Error{% Version mismatch!\MessageBreak * \y: hyperref.sty\MessageBreak * \z: \a }\@ehd \fi \fi }% }% \endgroup \chardef\Hy@VersionChecked=1 % } \def\Hy@@VersionCheck #1#2 #3 #4\@nil{% \def#1{#2 #3}% } \edef\Hy@leftbracechar{\string{} \edef\Hy@rightbracechar{\string}} \@ifundefined{pdfmatch}{% \def\Hy@Match#1#2#3#4#5{}% }{% \def\Hy@Match#1#2#3{% \begingroup \edef\^{\@backslashchar\string^}% \edef\.{\@backslashchar.}% \edef\[{\@backslashchar[}% ]] \edef\${\@backslashchar$}% \edef\({\@backslashchar(}% \edef\){\@backslashchar)}% \edef\|{\@backslashchar|}% \edef\*{\@backslashchar*}% \edef\+{\@backslashchar+}% \edef\?{\@backslashchar?}% \edef\{{\@backslashchar\Hy@leftbracechar}% \edef\}{\Hy@rightbracechar}% \edef\\{\@backslashchar\@backslashchar}% \let\ \Hy@space \ifcase\pdfmatch#2{#3}{#1} % \endgroup \expandafter\@secondoftwo \or \endgroup \expandafter\@firstoftwo \else \Hy@Warning{% Internal error: Wrong pattern!\MessageBreak --> #3 <--\MessageBreak Pattern check ignored% }% \endgroup \expandafter\@firstoftwo \fi }% } \@ifundefined{AfterBeginDocument}{% \def\AfterBeginDocument{\AtBeginDocument}% }{}% \ExplSyntaxOn \let\Hy@LocalAppendToMacro\tl_put_right:Nn \let\Hy@GlobalAppendToMacro\tl_gput_right:Nn \let\Hy@ifempty\tl_if_empty:nTF \ExplSyntaxOff \def\Hy@AtBeginDocument{% \Hy@LocalAppendToMacro\Hy@AtBeginDocumentHook } \def\Hy@AtEndOfPackage{% \Hy@LocalAppendToMacro\Hy@AtEndOfPackageHook } \let\Hy@AtBeginDocumentHook\@empty \let\Hy@AtEndOfPackageHook\@empty \AtEndOfPackage{% \Hy@AtEndOfPackageHook \let\Hy@AtEndOfPackageHook\@undefined \AfterBeginDocument{% \Hy@AtBeginDocumentHook{}% \let\Hy@AtBeginDocumentHook\@undefined }% } \RequirePackage{kvoptions}[2009/07/21] \newif\ifHy@stoppedearly \newif\ifHy@typexml \newif\ifHy@activeanchor \newif\ifHy@backref \newif\ifHy@bookmarks \newif\ifHy@bookmarksnumbered \newif\ifHy@bookmarksopen \newif\ifHy@breaklinks \newif\ifHy@pdfcenterwindow \newif\ifHy@CJKbookmarks \newif\ifHy@colorlinks \newif\ifHy@destlabel \newif\ifHy@draft \let\Hy@finaltrue\Hy@draftfalse \let\Hy@finalfalse\Hy@drafttrue \newif\ifHy@pdfescapeform \newif\ifHy@hyperfigures \newif\ifHy@pdffitwindow \newif\ifHy@frenchlinks \newif\ifHy@hyperfootnotes \newif\ifHy@hyperindex \newif\ifHy@hypertexnames \newif\ifHy@implicit \newif\ifHy@linktocpage \newif\ifHy@localanchorname \newif\ifHy@pdfmenubar \newif\ifHy@naturalnames \newif\ifHy@nesting \newif\ifHy@pdfnewwindowset \newif\ifHy@pdfnewwindow \newif\ifHy@ocgcolorlinks \newif\ifHy@pageanchor \newif\ifHy@pdfpagelabels \newif\ifHy@pdfstring \newif\ifHy@plainpages \newif\ifHy@psize \newif\ifHy@raiselinks \newif\ifHy@seminarslides \newif\ifHy@setpagesize \newif\ifHy@texht \newif\ifHy@psdextra \newif\ifHy@pdftoolbar \newif\ifHy@unicode \newif\ifHy@pdfusetitle \newif\ifHy@verbose \let\Hy@debugtrue\Hy@verbosetrue \let\Hy@debugfalse\Hy@verbosefalse \newif\ifHy@pdfwindowui \newif\ifHy@pdfdisplaydoctitle \newif\ifHy@pdfa \Hy@backreffalse \Hy@bookmarksnumberedfalse \Hy@bookmarksopenfalse \Hy@bookmarkstrue \Hy@breaklinksfalse \Hy@pdfcenterwindowfalse \Hy@CJKbookmarksfalse \Hy@destlabelfalse \Hy@pdfescapeformfalse \Hy@hyperfiguresfalse \Hy@pdffitwindowfalse \Hy@hyperfootnotestrue \Hy@hyperindextrue \Hy@hypertexnamestrue \Hy@implicittrue \Hy@linktocpagefalse \Hy@localanchornamefalse \Hy@pdfmenubartrue \Hy@naturalnamesfalse \Hy@nestingfalse \Hy@pdfnewwindowsetfalse \Hy@pdfnewwindowfalse \Hy@pageanchortrue \Hy@pdfpagelabelstrue \Hy@pdfstringfalse \Hy@plainpagesfalse \Hy@raiselinksfalse \Hy@setpagesizetrue \Hy@texhtfalse \Hy@psdextrafalse \Hy@pdftoolbartrue \Hy@unicodetrue \ifx\kanjiskip\@undefined \else \ifx\forcecjktoken\@undefined \Hy@unicodefalse \fi \fi \Hy@pdfusetitlefalse \Hy@verbosefalse \Hy@pdfwindowuitrue \Hy@pdfdisplaydoctitlefalse \Hy@pdfafalse \def\Hy@StepCount#1{\advance#1 by 1 }% \def\Hy@GlobalStepCount#1{\global\advance#1 by 1 }% \newdimen\@linkdim \let\Hy@driver\@empty \let\MaybeStopEarly\relax \newcount\Hy@linkcounter \newcount\Hy@pagecounter \Hy@linkcounter0 \Hy@pagecounter0 \def\Hy@space{ } \let\Hy@ReturnEnd\@empty \long\def\Hy@ReturnAfterFi#1\fi{\fi#1} \long\def\Hy@ReturnAfterElseFi#1\else#2\fi{\fi#1} \long\def\Hy@ReturnAfterFiFiEnd#1\fi#2\Hy@ReturnEnd{\fi\fi#1} \long\def\Hy@ReturnAfterElseFiFiEnd#1\else#2\Hy@ReturnEnd{\fi\fi#1} \def\Hy@safe@activestrue{\csname @safe@activestrue\endcsname} \def\Hy@safe@activesfalse{\csname @safe@activesfalse\endcsname} \def\hypercalcbp#1{% \strip@pt\dimexpr 0.99626401\dimexpr(#1)\relax\relax }% \def\hypercalcbpdef{\def}% \providecommand*\BCPdata[1]{} \ExplSyntaxOn \@ifundefined{text_uppercase:n}{} { \def\MakeUppercaseUnsupportedInPdfStrings#1 {\use:e {\exp_args:Ne \text_uppercase:nn{\BCPdata { casing }}{#1} } } \def\MakeLowercaseUnsupportedInPdfStrings#1 {\use:e {\exp_args:Ne \text_lowercase:nn{\BCPdata { casing }}{#1} } } } \ExplSyntaxOff \def\pdfstringdef#1#2{% \begingroup \escapechar`\\% \edef\0{\string\0}% \edef\1{\string\1}% \edef\2{\string\2}% \edef\3{\string\3}% \ifHy@unicode \edef\8{\string\8}% \edef\9{\string\9}% \fontencoding{PU}% \HyPsd@UTFviii \def\ifpdfstringunicode##1##2{##1}% \else \fontencoding{PD1}% \def\ifpdfstringunicode##1##2{##2}% \fi \let\utf@viii@undeferr\HyPsd@utf@viii@undeferr \enc@update \@inmathwarn\pdfstringdef \let\@inmathwarn\HyPsd@inmathwarn \let\add@accent\HyPsd@add@accent \let\{\textbraceleft \let\}\textbraceright \let\\\textbackslash \let\#\textnumbersign \let\$\textdollar \let\%\textpercent \let\&\textampersand \let\_\textunderscore \let\P\textparagraph \let\ldots\textellipsis \let\dots\textellipsis \@ifundefined{textEncodingNoboundary}% {}{\let\noboundary\textEncodingNoboundary}% \def\\{\pdfstringdefWarn\\}% \def\newline{\pdfstringdefWarn\newline}% \def\TeX{TeX}% \def\LaTeX{La\TeX}% \def\LaTeXe{% \LaTeX2% \ifHy@unicode\83\265\else e\fi }% \def\eTeX{% \ifHy@unicode\83\265\else e\fi -\TeX% }% \def\SliTeX{Sli\TeX}% \def\MF{Metafont}% \def\MP{Metapost}% \let\fontencoding\@gobble \let\fontfamily\@gobble \let\fontseries\@gobble \let\fontshape\@gobble \let\fontsize\@gobbletwo \let\selectfont\@empty \let\usefont\@gobblefour \let\emph\@firstofone \let\textnormal\@firstofone \let\textrm\@firstofone \let\textsf\@firstofone \let\texttt\@firstofone \let\textbf\@firstofone \let\textmd\@firstofone \let\textit\@firstofone \let\textsc\@firstofone \let\textsl\@firstofone \let\textup\@firstofone \let\normalfont\@empty \let\rmfamily\@empty \let\sffamily\@empty \let\ttfamily\@empty \let\bfseries\@empty \let\mdseries\@empty \let\itshape\@empty \let\scshape\@empty \let\slshape\@empty \let\upshape\@empty \let\em\@empty \let\rm\@empty \let\Huge\@empty \let\LARGE\@empty \let\Large\@empty \let\footnotesize\@empty \let\huge\@empty \let\large\@empty \let\normalsize\@empty \let\scriptsize\@empty \let\small\@empty \let\tiny\@empty \let\mathversion\@gobble \let\phantom\@gobble \let\vphantom\@gobble \let\hphantom\@gobble \let\ding\HyPsd@ding \let\Cube\HyPsd@DieFace \def\begin##1{\csname##1\endcsname}% \def\end##1{\csname end##1\endcsname}% \def\textcolor##1##{\@secondoftwo}% \def\MakeUppercase{\MakeUppercaseUnsupportedInPdfStrings}% \def\MakeLowercase{\MakeLowercaseUnsupportedInPdfStrings}% \def\TextOrMath{\ifmmode\expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi}% \ifHy@psdextra \ifHy@unicode \csname psdmapshortnames\endcsname \csname psdaliasnames\endcsname \fi \fi \let\foreignlanguage\@secondoftwo \let\textlatin\@firstofone \@ifundefined{language@group}{}{% \let\bbl@info\@gobble \csname HyPsd@babel@\language@group\endcsname }% \let\@safe@activestrue\relax \let\@safe@activesfalse\relax \let\cyr\relax \let\glqq\textglqq \let\grqq\textgrqq \let\glq\textglq \let\grq\textgrq \let\flqq\textflqq \let\frqq\textfrqq \let\flq\textflq \let\frq\textfrq \let\if@mid@expandable\@firstoftwo \HyPsd@AMSclassfix \let\hspace\HyPsd@hspace \let\label\@gobble \let\index\@gobble \let\glossary\@gobble \let\href\HyPsd@href \let\@mkboth\@gobbletwo \let\ref\HyPsd@ref \let\pageref\HyPsd@pageref \let\nameref\HyPsd@nameref \let\autoref\HyPsd@autoref \let\leavevmode\@empty \let\mbox\@empty \def\halign{\pdfstringdefWarn\halign\@gobble}% \let\ignorespaces\HyPsd@ignorespaces \let\Hy@SectionAnchorHref\@gobble \let\ensuremath\@firstofone \HyPsd@CJKhook \Hy@pdfstringtrue \pdfstringdefPreHook \HyPsd@LetUnexpandableSpace\space \HyPsd@LetUnexpandableSpace\ % \HyPsd@LetUnexpandableSpace~% \HyPsd@LetUnexpandableSpace\nobreakspace \@ifundefined{@xspace}{% \let\xspace\HyPsd@ITALCORR }{% \let\xspace\HyPsd@XSPACE }% \let\/\HyPsd@ITALCORR \let\bgroup\/% \let\egroup\/% \let\discretionary\@gobbletwo \def\@ifnextchar{\HyPsd@ifnextchar\@ifnextchar}% \def\kernel@ifnextchar{\HyPsd@ifnextchar\kernel@ifnextchar}% \def\new@ifnextchar{\HyPsd@ifnextchar\new@ifnextchar}% \let\@protected@testopt\HyPsd@protected@testopt \let\@protected@testopt@xargs\HyPsd@protected@testopt \begingroup \let\GenericError\@gobblefour \let\GenericWarning\@gobbletwo \let\GenericInfo\@gobbletwo \ifx\nofrenchguillemets\@undefined \else \nofrenchguillemets \fi \let\Hy@temp\xdef \let\def\HyPsd@DefCommand \let\gdef\HyPsd@DefCommand \let\edef\HyPsd@DefCommand \let\xdef\HyPsd@DefCommand \let\futurelet\HyPsd@LetCommand \let\let\HyPsd@LetCommand \Hy@temp#1{#2}% \endgroup \ifx#1\@empty \else \HyPsd@ProtectSpaces#1% \let\HyPsd@String\@empty \expandafter\HyPsd@RemoveBraces\expandafter{#1|}% \global\let#1\HyPsd@String \let\HyPsd@SPACEOPTI\relax {% \let\HyPsd@String\@empty \expandafter\HyPsd@CheckCatcodes#1\HyPsd@End \global\let#1\HyPsd@String }% \expandafter\HyPsd@RemoveMask\expandafter |\expandafter\@empty#1\HyPsd@End#1% \expandafter \HyPsd@Subst\expandafter{\HyPsd@GLYPHERR}{\relax}#1% \let\HyPsd@String\@empty \expandafter\HyPsd@GlyphProcess#1\relax\@empty \global\let#1\HyPsd@String \HyPsd@StringSubst{\\}{\textbackslash}#1% \ifHy@unicode \expandafter\HyPsd@StringSubst\csname 80\040\endcsname \HyPsd@SPACEOPTI#1% \edef\Hy@temp@A{\HyPsd@SPACEOPTI\HyPsd@SPACEOPTI\80\273}% \expandafter\HyPsd@Subst\expandafter{\Hy@temp@A}% {\HyPsd@SPACEOPTI\80\273}#1% \else \HyPsd@StringSubst{\040}\HyPsd@SPACEOPTI#1% \expandafter\HyPsd@Subst\expandafter{% \expandafter\HyPsd@SPACEOPTI\expandafter\HyPsd@SPACEOPTI \string\273}{\HyPsd@SPACEOPTI\273}#1% \fi \ifHy@unicode \HyPsd@StringSubst{\)}{\80\051}#1% \HyPsd@Subst){\80\051}#1% \let\HyPsd@empty\relax \expandafter\HyPsd@StringSubst\csname 80\051\endcsname {\HyPsd@empty\80\051}#1% \else \HyPsd@StringSubst{\)}{\051}#1% \HyPsd@Subst){\051}#1% \let\HyPsd@empty\relax \HyPsd@StringSubst{\051}{\HyPsd@empty\string\)}#1% \fi \expandafter\HyPsd@Subst\expandafter{\/}\HyPsd@empty#1% \@ifundefined{@xspace}{% }{% \let\HyPsd@xspace\relax \expandafter\HyPsd@Subst\expandafter {\HyPsd@XSPACE}\HyPsd@xspace#1% \let\HyPsd@xspace\HyPsd@doxspace }% \xdef#1{#1\HyPsd@empty}% \HyPsd@Subst{---}\textemdash#1% \HyPsd@Subst{--}\textendash#1% \HyPsd@Subst{!`}\textexclamdown#1% \HyPsd@Subst{?`}\textquestiondown#1% \let\HyPsd@empty\@empty \ifHy@unicode \HyPsd@StringSubst\(\textparenleft#1% \HyPsd@Subst(\textparenleft#1% \else \HyPsd@StringSubst\({\050}#1% \HyPsd@Subst({\050}#1% \HyPsd@StringSubst{\050}{\string\(}#1% \fi \ifHy@unicode \edef\HyPsd@SPACEOPTI{\80\040}% \else \let\HyPsd@SPACEOPTI\HyPsd@spaceopti \fi \xdef#1{#1\@empty}% \fi \endgroup \begingroup \ifHy@unicode \HyPsd@ConvertToUnicode#1% \ifx\HyPsd@pdfencoding\HyPsd@pdfencoding@auto \EdefUnescapeString\HyPsd@temp#1% \iftutex \let\HyPsd@UnescapedString\HyPsd@temp \StringEncodingConvertTest\HyPsd@temp\HyPsd@temp {utf16be}{ascii-print}{% \EdefEscapeString\HyPsd@temp\HyPsd@temp \global\let#1\HyPsd@temp \HyPsd@EscapeTeX#1% \Hy@unicodefalse }{% \HyPsd@EscapeTeX#1% }% \else \StringEncodingConvertTest\HyPsd@temp\HyPsd@temp {utf16be}{pdfdoc}{% \EdefEscapeString\HyPsd@temp\HyPsd@temp \global\let#1\HyPsd@temp \HyPsd@EscapeTeX#1% \Hy@unicodefalse }{}% \fi \fi \fi \pdfstringdefPostHook#1% \endgroup } \def\Hy@pdfstringdef#1#2{% \pdfstringdef\Hy@gtemp{#2}% \let#1\Hy@gtemp } \@ifpackageloaded{linguex}{% \let\HyLinguex@OrgB\b \let\HyLinguex@OrgC\c \let\HyLinguex@OrgD\d \def\HyLinguex@Restore{% \let\b\HyLinguex@OrgB \let\c\HyLinguex@OrgC \let\d\HyLinguex@OrgD }% \Hy@AtEndOfPackage{% \pdfstringdefDisableCommands{% \@ifundefined{oldb}{}{\let\b\oldb}% \@ifundefined{oldc}{}{\let\c\oldc}% \@ifundefined{oldd}{}{\let\d\oldd}% }% }% }{% \let\HyLinguex@Restore\relax }% \def\Hy@SaveCatcodeSettings#1{% \expandafter\edef\csname Hy@cat@#1\endcsname{% \endlinechar=\the\endlinechar\relax \catcode32 \the\catcode32\relax % (space) \catcode34 \the\catcode34\relax % " \catcode35 \the\catcode35\relax % # \catcode37 \the\catcode37\relax % (percent) \catcode40 \the\catcode40\relax % ( \catcode41 \the\catcode41\relax % ) \catcode42 \the\catcode42\relax % * \catcode46 \the\catcode46\relax % . \catcode58 \the\catcode58\relax % : \catcode60 \the\catcode60\relax % < \catcode61 \the\catcode61\relax % = \catcode62 \the\catcode62\relax % > \catcode64 \the\catcode64\relax % @ \catcode91 \the\catcode91\relax % [ \catcode92 \the\catcode92\relax % (backslash) \catcode93 \the\catcode93\relax % ] \catcode123 \the\catcode123\relax % { \catcode124 \the\catcode124\relax % | \catcode125 \the\catcode125\relax % } }% \endlinechar=-1 % \catcode32 10 % (space) \catcode34 12 % " \catcode35 6 % # \catcode37 14 % (percent) \catcode40 12 % ( \catcode41 12 % ) \catcode42 12 % * \catcode46 12 % . \catcode58 12 % : \catcode60 12 % < \catcode61 12 % = \catcode62 12 % > \catcode91 12 % [ \catcode92 0 % (backslash) \catcode93 12 % ] \catcode123 1 % { \catcode124 12 % | \catcode125 2 % } \makeatletter } \def\Hy@RestoreCatcodeSettings#1{% \csname Hy@cat@#1\endcsname \expandafter\let\csname Hy@cat@#1\endcsname\relax } \@ifundefined{T@PD1}{% \Hy@SaveCatcodeSettings{pd1}% \input{pd1enc.def}% \Hy@RestoreCatcodeSettings{pd1}% \HyLinguex@Restore }{} \DeclareFontFamily{PD1}{pdf}{} \DeclareFontShape{PD1}{pdf}{m}{n}{ <-> cmr10 }{} \DeclareFontSubstitution{PD1}{pdf}{m}{n} \def\HyPsd@LoadUnicode{% \@ifundefined{T@PU}{% \Hy@SaveCatcodeSettings{pu}% \input{puenc.def}% \Hy@RestoreCatcodeSettings{pu}% \HyLinguex@Restore }{}% \DeclareFontFamily{PU}{pdf}{}% \DeclareFontShape{PU}{pdf}{m}{n}{ <-> cmr10 }{}% \DeclareFontSubstitution{PU}{pdf}{m}{n}% \HyPsd@LoadExtra \let\HyPsd@LoadUnicode\relax } \def\Hy@iffileloaded#1{% \@ifundefined{ver@#1}\@secondoftwo\@firstoftwo } \def\HyPsd@LoadExtra{% \ifHy@psdextra \Hy@iffileloaded{puenc.def}{% \Hy@SaveCatcodeSettings{psdextra}% \input{psdextra.def}% \Hy@RestoreCatcodeSettings{psdextra}% \let\HyPsd@LoadExtra\relax }{}% \fi } \def\texorpdfstring{% \ifHy@pdfstring \expandafter\@secondoftwo \else \expandafter\@firstoftwo \fi } \@ifundefined{pdfstringdefPreHook}{% \let\pdfstringdefPreHook\@empty }{} \@ifundefined{pdfstringdefPostHook}{% \let\pdfstringdefPostHook\@gobble }{} \def\pdfstringdefDisableCommands{% \begingroup \makeatletter \HyPsd@DisableCommands } \long\def\HyPsd@DisableCommands#1{% \Hy@GlobalAppendToMacro\pdfstringdefPreHook{#1}% \endgroup } \def\pdfstringdefWarn#1{% \expandafter\noexpand\csname<>-\string#1\endcsname } \begingroup \catcode0=12 % \def\x{\endgroup \def\HyPsd@ignorespaces{% \romannumeral\expandafter`\expandafter^^@% \romannumeral`^^@% }% }% \x \newif\ifHy@next \RequirePackage{intcalc}[2007/09/27] \def\HyPsd@CJKhook{% \@ifpackageloaded{CJK}{% \let\CJK@kern\relax \let\CJKkern\relax \let\CJK@CJK\relax \ifHy@CJKbookmarks \HyPsd@CJKhook@bookmarks \fi \HyPsd@CJKhook@unicode }{}% } \begingroup \catcode"7F=\active \toks@{% \let\CJK@ignorespaces\empty \def\CJK@char#1{\@gobbletwo}% \let\CJK@charx\@gobblefour \let\CJK@punctchar\@gobblefour \def\CJK@punctcharx#1{\@gobblefour}% \catcode"7F=\active \def^^7f#1^^7f#2^^7f{% \string #1\HyPsd@DecimalToOctal{#2}% }% % ... ? \ifHy@unicode \def\Hy@cjkpu{\80}% \else \let\Hy@cjkpu\@empty \fi \HyPsd@CJKActiveChars }% \count@=127 % \@whilenum\count@<255 \do{% \advance\count@ by 1 % \lccode`\~=\count@ \lowercase{% \toks@\expandafter{\the\toks@ ~}% }% }% \toks@\expandafter{\the\toks@ !}% \xdef\HyPsd@CJKhook@bookmarks{% \the\toks@ }% \endgroup \def\HyPsd@CJKActiveChars#1{% \ifx#1!% \let\HyPsd@CJKActiveChars\relax \else \edef#1{\noexpand\Hy@cjkpu\string#1}% \fi \HyPsd@CJKActiveChars } \def\HyPsd@DecimalToOctal#1{% \ifcase #1 % \000\or \001\or \002\or \003\or \004\or \005\or \006\or \007% \or \010\or \011\or \012\or \013\or \014\or \015\or \016\or \017% \or \020\or \021\or \022\or \023\or \024\or \025\or \026\or \027% \or \030\or \031\or \032\or \033\or \034\or \035\or \036\or \037% \or \040\or \041\or \042\or \043\or \044\or \045\or \046\or \047% \or \050\or \051\or \052\or \053\or \054\or \055\or \056\or \057% \or 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7% \or 8\or 9\or \072\or \073\or \074\or \075\or \076\or \077% \or @\or A\or B\or C\or D\or E\or F\or G% \or H\or I\or J\or K\or L\or M\or N\or O% \or P\or Q\or R\or S\or T\or U\or V\or W% \or X\or Y\or Z\or \133\or \134\or \135\or \136\or \137% \or \140\or a\or b\or c\or d\or e\or f\or g% \or h\or i\or j\or k\or l\or m\or n\or o% \or p\or q\or r\or s\or t\or u\or v\or w% \or x\or y\or z\or \173\or \174\or \175\or \176\or \177% \or \200\or \201\or \202\or \203\or \204\or \205\or \206\or \207% \or \210\or \211\or \212\or \213\or \214\or \215\or \216\or \217% \or \220\or \221\or \222\or \223\or \224\or \225\or \226\or \227% \or \230\or \231\or \232\or \233\or \234\or \235\or \236\or \237% \or \240\or \241\or \242\or \243\or \244\or \245\or \246\or \247% \or \250\or \251\or \252\or \253\or \254\or \255\or \256\or \257% \or \260\or \261\or \262\or \263\or \264\or \265\or \266\or \267% \or \270\or \271\or \272\or \273\or \274\or \275\or \276\or \277% \or \300\or \301\or \302\or \303\or \304\or \305\or \306\or \307% \or \310\or \311\or \312\or \313\or \314\or \315\or \316\or \317% \or \320\or \321\or \322\or \323\or \324\or \325\or \326\or \327% \or \330\or \331\or \332\or \333\or \334\or \335\or \336\or \337% \or \340\or \341\or \342\or \343\or \344\or \345\or \346\or \347% \or \350\or \351\or \352\or \353\or \354\or \355\or \356\or \357% \or \360\or \361\or \362\or \363\or \364\or \365\or \366\or \367% \or \370\or \371\or \372\or \373\or \374\or \375\or \376\or \377% \fi } \def\HyPsd@CJKhook@unicode{% \let\Unicode\HyPsd@CJK@Unicode \let\CJKnumber\HyPsd@CJKnumber \let\CJKdigits\HyPsd@CJKdigits } \def\HyPsd@CJK@Unicode#1#2{% \ifnum#1<256 % \HyPsd@DecimalToOctalFirst{#1}% \HyPsd@DecimalToOctalSecond{#2}% \else \933% \expandafter\expandafter\expandafter\HyPsd@HighA \intcalcDiv{#1}{4}!% \933% \ifcase\intcalcMod{#1}{4} % 4\or 5\or 6\or 7% \fi \HyPsd@DecimalToOctalSecond{#2}% \fi } \def\HyPsd@HighA#1!{% \expandafter\expandafter\expandafter\HyPsd@HighB \IntCalcDiv#1!64!!% \expandafter\expandafter\expandafter\HyPsd@HighD \IntCalcMod#1!64!!% } \def\HyPsd@HighB#1!{% \expandafter\expandafter\expandafter\HyPsd@HighC \IntCalcDec#1!!% } \def\HyPsd@HighC#1!{% \IntCalcDiv#1!4!% \@backslashchar \IntCalcMod#1!4!% } \def\HyPsd@HighD#1!{% \ifcase\IntCalcDiv#1!8! % 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7% \fi \ifcase\IntCalcMod#1!8! % 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7% \fi } \def\HyPsd@DecimalToOctalFirst#1{% \9% \ifcase#1 % 000\or 001\or 002\or 003\or 004\or 005\or 006\or 007% \or 010\or 011\or 012\or 013\or 014\or 015\or 016\or 017% \or 020\or 021\or 022\or 023\or 024\or 025\or 026\or 027% \or 030\or 031\or 032\or 033\or 034\or 035\or 036\or 037% \or 040\or 041\or 042\or 043\or 044\or 045\or 046\or 047% \or 050\or 051\or 052\or 053\or 054\or 055\or 056\or 057% \or 060\or 061\or 062\or 063\or 064\or 065\or 066\or 067% \or 070\or 071\or 072\or 073\or 074\or 075\or 076\or 077% \or 100\or 101\or 102\or 103\or 104\or 105\or 106\or 107% \or 120\or 111\or 112\or 113\or 114\or 115\or 116\or 117% \or 120\or 121\or 122\or 123\or 124\or 125\or 126\or 127% \or 130\or 131\or 132\or 133\or 134\or 135\or 136\or 137% \or 140\or 141\or 142\or 143\or 144\or 145\or 146\or 147% \or 150\or 151\or 152\or 153\or 154\or 155\or 156\or 157% \or 160\or 161\or 162\or 163\or 164\or 165\or 166\or 167% \or 170\or 171\or 172\or 173\or 174\or 175\or 176\or 177% \or 200\or 201\or 202\or 203\or 204\or 205\or 206\or 207% \or 210\or 211\or 212\or 213\or 214\or 215\or 216\or 217% \or 220\or 221\or 222\or 223\or 224\or 225\or 226\or 227% \or 230\or 231\or 232\or 233\or 234\or 235\or 236\or 237% \or 240\or 241\or 242\or 243\or 244\or 245\or 246\or 247% \or 250\or 251\or 252\or 253\or 254\or 255\or 256\or 257% \or 260\or 261\or 262\or 263\or 264\or 265\or 266\or 267% \or 270\or 271\or 272\or 273\or 274\or 275\or 276\or 277% \or 300\or 301\or 302\or 303\or 304\or 305\or 306\or 307% \or 310\or 311\or 312\or 313\or 314\or 315\or 316\or 317% \or 320\or 321\or 322\or 323\or 324\or 325\or 326\or 327% \or 330\or 331\or 332\or 333\or 334\or 335\or 336\or 337% \or 340\or 341\or 342\or 343\or 344\or 345\or 346\or 347% \or 350\or 351\or 352\or 353\or 354\or 355\or 356\or 357% \or 360\or 361\or 362\or 363\or 364\or 365\or 366\or 367% \or 370\or 371\or 372\or 373\or 374\or 375\or 376\or 377% \fi } \def\HyPsd@DecimalToOctalSecond#1{% \ifcase #1 % \000\or \001\or \002\or \003\or \004\or \005\or \006\or \007% \or \010\or \011\or \012\or \013\or \014\or \015\or \016\or \017% \or \020\or \021\or \022\or \023\or \024\or \025\or \026\or \027% \or \030\or \031\or \032\or \033\or \034\or \035\or \036\or \037% \or \040\or \041\or \042\or \043\or \044\or \045\or \046\or \047% \or \050\or \051\or \052\or \053\or \054\or \055\or \056\or \057% \or \060\or \061\or \062\or \063\or \064\or \065\or \066\or \067% \or \070\or \071\or \072\or \073\or \074\or \075\or \076\or \077% \or \100\or \101\or \102\or \103\or \104\or \105\or \106\or \107% \or \110\or \111\or \112\or \113\or \114\or \115\or \116\or \117% \or \120\or \121\or \122\or \123\or \124\or \125\or \126\or \127% \or \130\or \131\or \132\or \133\or \134\or \135\or \136\or \137% \or \140\or \141\or \142\or \143\or \144\or \145\or \146\or \147% \or \150\or \151\or \152\or \153\or \154\or \155\or \156\or \157% \or \160\or \161\or \162\or \163\or \164\or \165\or \166\or \167% \or \170\or \171\or \172\or \173\or \174\or \175\or \176\or \177% \or \200\or \201\or \202\or \203\or \204\or \205\or \206\or \207% \or \210\or \211\or \212\or \213\or \214\or \215\or \216\or \217% \or \220\or \221\or \222\or \223\or \224\or \225\or \226\or \227% \or \230\or \231\or \232\or \233\or \234\or \235\or \236\or \237% \or \240\or \241\or \242\or \243\or \244\or \245\or \246\or \247% \or \250\or \251\or \252\or \253\or \254\or \255\or \256\or \257% \or \260\or \261\or \262\or \263\or \264\or \265\or \266\or \267% \or \270\or \271\or \272\or \273\or \274\or \275\or \276\or \277% \or \300\or \301\or \302\or \303\or \304\or \305\or \306\or \307% \or \310\or \311\or \312\or \313\or \314\or \315\or \316\or \317% \or \320\or \321\or \322\or \323\or \324\or \325\or \326\or \327% \or \330\or \331\or \332\or \333\or \334\or \335\or \336\or \337% \or \340\or \341\or \342\or \343\or \344\or \345\or \346\or \347% \or \350\or \351\or \352\or \353\or \354\or \355\or \356\or \357% \or \360\or \361\or \362\or \363\or \364\or \365\or \366\or \367% \or \370\or \371\or \372\or \373\or \374\or \375\or \376\or \377% \fi } \def\HyPsd@CJKnumber#1{% \ifnum#1<\z@ \CJK@minus \expandafter\HyPsd@@CJKnumber\expandafter{\number-\number#1}% \else \expandafter\HyPsd@@CJKnumber\expandafter{\number#1}% \fi } \def\HyPsd@@CJKnumber#1{% \ifcase#1 % \CJK@zero\or\CJK@one\or\CJK@two\or\CJK@three\or\CJK@four\or \CJK@five\or\CJK@six\or\CJK@seven\or\CJK@eight\or\CJK@nine\or \CJK@ten\or\CJK@ten\CJK@one\or\CJK@ten\CJK@two\or \CJK@ten\CJK@three\or\CJK@ten\CJK@four\or\CJK@ten\CJK@five\or \CJK@ten\CJK@six\or\CJK@ten\CJK@seven\or\CJK@ten\CJK@eight\or \CJK@ten\CJK@nine \else \ifnum#1<10000 % \HyPsd@CJKnumberFour#1!\@empty{20}% \@empty \else \ifnum#1<100000000 % \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour \IntCalcDiv#1!10000!% !{}{20}% \CJK@tenthousand \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour \IntCalcMod#1!10000!% !\CJK@zero{10}% \@empty \else \expandafter\HyPsd@CJKnumberLarge \number\IntCalcDiv#1!100000000!\expandafter!% \number\IntCalcMod#1!100000000!!% \fi \fi \fi } \def\HyPsd@CJKnumberLarge#1!#2!{% \HyPsd@CJKnumberFour#1!{}{20}% \CJK@hundredmillion \ifnum#2=\z@ \else \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour \IntCalcDiv#2!10000!% !\CJK@zero{10}% \CJK@tenthousand \expandafter\expandafter\expandafter\HyPsd@CJKnumberFour \IntCalcMod#2!10000!% !\CJK@zero{10}% \@empty \fi } \def\HyPsd@CJKnumberFour#1!#2#3{% \ifnum#1=\z@ \expandafter\@gobble \else \ifnum#1<1000 % #2% \HyPsd@CJKnumberThree#1!{}{#3}% \else \HyPsd@@CJKnumber{\IntCalcDiv#1!1000!}% \CJK@thousand \expandafter\expandafter\expandafter\HyPsd@CJKnumberThree \IntCalcMod#1!1000!% !\CJK@zero{10}% \fi \fi } \def\HyPsd@CJKnumberThree#1!#2#3{% \ifnum#1=\z@ \else \ifnum#1<100 % #2% \HyPsd@CJKnumberTwo#1!{}{#3}% \else \HyPsd@@CJKnumber{\IntCalcDiv#1!100!}% \CJK@hundred \expandafter\expandafter\expandafter\HyPsd@CJKnumberTwo \IntCalcMod#1!100!% !\CJK@zero{10}% \fi \fi } \def\HyPsd@CJKnumberTwo#1!#2#3{% \ifnum#1=\z@ \else \ifnum#1<#3 % #2% \HyPsd@@CJKnumber{#1}% \else \HyPsd@@CJKnumber{\IntCalcDiv#1!10!}% \CJK@ten \ifnum\IntCalcMod#1!10!=\z@ \else \HyPsd@@CJKnumber{\IntCalcMod#1!10!}% \fi \fi \fi } \def\HyPsd@CJKdigits#1{% \ifx*#1\relax \expandafter\HyPsd@@CJKdigits\expandafter\CJK@zero \else \HyPsd@@CJKdigits\CJK@null{#1}% \fi } \def\HyPsd@@CJKdigits#1#2{% \ifx\\#2\\% \else \HyPsd@@@CJKdigits#1#2\@nil \fi }% \def\HyPsd@@@CJKdigits#1#2#3\@nil{% \HyPsd@CJKdigit#1{#2}% \ifx\\#3\\% \expandafter\@gobble \else \expandafter\@firstofone \fi {% \HyPsd@@@CJKdigits#1#3\@nil }% } \def\HyPsd@CJKdigit#1#2{% \ifcase#2 % #1\or \CJK@one\or\CJK@two\or\CJK@three\or\CJK@four\or \CJK@five\or\CJK@six\or\CJK@seven\or\CJK@eight\or\CJK@nine \fi } \def\HyPsd@inmathwarn#1#2{% \ifx#2\expandafter \expandafter\ifx\csname\cf@encoding\string#1\endcsname\relax \HyPsd@GLYPHERR \expandafter\@gobble\string#1% >% \expandafter\expandafter\expandafter\HyPsd@EndWithElse \else \expandafter\expandafter\expandafter\HyPsd@GobbleFiFi \fi \else \expandafter#2% \fi } \def\HyPsd@GobbleFiFi#1\fi#2\fi{} \def\HyPsd@EndWithElse#1\else{\else} \def\HyPsd@add@accent#1#2{% \HyPsd@GLYPHERR\expandafter\@gobble\string#1+\string#2>% #2% }% \def\HyPsd@LetUnexpandableSpace#1{% \expandafter\futurelet\expandafter#1\expandafter\@gobble\space\relax } \HyPsd@LetUnexpandableSpace\HyPsd@UnexpandableSpace \edef\HyPsd@XSPACE{\string#\string X} \edef\HyPsd@ITALCORR{\string#\string I} \edef\HyPsd@GLYPHERR{\string#\string G} \def\HyPsd@hspace#1{\HyPsd@@hspace#1*\END} \def\HyPsd@@hspace#1*#2\END{% \ifx\\#2\\% \HyPsd@hspacetest{#1}% \else \expandafter\HyPsd@hspacetest \fi } \def\HyPsd@hspacetest#1{\ifdim\dimexpr#1\relax>\z@\space\fi} \@ifundefined{tocsection}{% \let\HyPsd@AMSclassfix\relax }{% \def\HyPsd@AMSclassfix{% \let\tocpart\HyPsd@tocsection \let\tocchapter\HyPsd@tocsection \let\tocappendix\HyPsd@tocsection \let\tocsection\HyPsd@tocsection \let\tocsubsection\HyPsd@tocsection \let\tocsubsubsection\HyPsd@tocsection \let\tocparagraph\HyPsd@tocsection }% \def\HyPsd@tocsection#1#2#3{% \if @#2@\else\if @#1@\else#1 \fi#2. \fi #3% }% } \def\HyPsd@href#1#{\@secondoftwo} \def\HyPsd@ref#1{\HyPsd@@ref#1*\END}% \def\HyPsd@@ref#1*#2\END{% \ifx\\#2\\% \HyPsd@@@ref{#1}% \else \expandafter\HyPsd@@@ref \fi }% \def\HyPsd@@@ref#1{% \expandafter\ifx\csname r@#1\endcsname\relax ??% \else \expandafter\expandafter\expandafter \@car\csname r@#1\endcsname\@nil \fi } \def\HyPsd@pageref#1{\HyPsd@@pageref#1*\END} \def\HyPsd@@pageref#1*#2\END{% \ifx\\#2\\% \HyPsd@@@pageref{#1}% \else \expandafter\HyPsd@@@pageref \fi } \def\HyPsd@@@pageref#1{% \expandafter\ifx\csname r@#1\endcsname\relax ??% \else \expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter\@car \expandafter\expandafter\expandafter\@gobble \csname r@#1\endcsname{}\@nil \fi } \def\HyPsd@nameref#1{\HyPsd@@nameref#1*\END} \def\HyPsd@@nameref#1*#2\END{% \ifx\\#2\\% \HyPsd@@@nameref{#1}% \else \expandafter\HyPsd@@@nameref \fi } \def\HyPsd@@@nameref#1{% \expandafter\ifx\csname r@#1\endcsname\relax ??% \else \expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter\@car \expandafter\expandafter\expandafter\@gobbletwo \csname r@#1\endcsname{}{}\@nil \fi } \def\HyPsd@autoref#1{\HyPsd@@autoref#1*\END} \def\HyPsd@@autoref#1*#2\END{% \ifx\\#2\\% \HyPsd@@@autoref{#1}% \else \expandafter\HyPsd@@@autoref \fi } \def\HyPsd@@@autoref#1{% \expandafter\ifx\csname r@#1\endcsname\relax ??% \else \expandafter\expandafter\expandafter\HyPsd@autorefname \csname r@#1\endcsname{}{}{}{}\@nil \expandafter\expandafter\expandafter \@car\csname r@#1\endcsname\@nil \fi } \def\HyPsd@autorefname#1#2#3#4#5\@nil{% \ifx\\#4\\% \else \HyPsd@@autorefname#4.\@nil \fi } \def\HyPsd@@autorefname#1.#2\@nil{% \@ifundefined{#1autorefname}{% \@ifundefined{#1name}{% }{% \csname#1name\endcsname\space }% }{% \csname#1autorefname\endcsname\space }% } \begingroup \def\x#1#2{% \endgroup \let#1\def \def\HyPsd@DefCommand##1##2##{% #1% \expandafter\noexpand \csname\expandafter\@gobble\string##1\@empty\endcsname \@gobble }% \let#2\let \def\HyPsd@@LetCommand##1{% \expandafter\ifx\csname##1\expandafter\endcsname \csname iftrue\endcsname \pdfstringdefWarn\let \expandafter\@gobble \else \expandafter\ifx\csname##1\expandafter\endcsname \csname iffalse\endcsname \pdfstringdefWarn\let \expandafter\expandafter\expandafter\@gobble \else #2% \expandafter\noexpand \csname##1\expandafter\expandafter\expandafter\endcsname \fi \fi }% }% \expandafter\x\csname -command\expandafter\endcsname \csname -command\endcsname \def\HyPsd@LetCommand#1{% \expandafter\expandafter\expandafter\HyPsd@@LetCommand \expandafter\expandafter\expandafter{% \expandafter\@gobble\string#1\@empty }% } \def\HyPsd@ifnextchar#1{% \pdfstringdefWarn#1% \expandafter\@gobbletwo\@gobble } \def\HyPsd@protected@testopt#1{% \pdfstringdefWarn#1% \@gobbletwo } \def\HyPsd@Warning#1{% \begingroup \let\space\Hy@space \Hy@Warning{#1}% \endgroup } \let\HyPsd@fi\fi \def\HyPsd@ProtectSpaces#1{% \xdef#1{% \iftrue \expandafter\HyPsd@@ProtectSpacesFi \expandafter|\expandafter\@empty#1| % \HyPsd@fi }% \expandafter\HyPsd@RemoveMask#1\HyPsd@End#1% }% \def\HyPsd@@ProtectSpacesFi#1 #2\HyPsd@fi{% \fi \unexpanded{#1}% \ifx\scrollmode#2\scrollmode \else \HyPsd@@ProtectSpacesFi\HyPsd@UnexpandableSpace#2% \HyPsd@fi }% \def\HyPsd@RemoveMask|#1|\HyPsd@End#2{% \xdef#2{\unexpanded\expandafter{#1}}% }% \def\HyPsd@RemoveBraces#1{% \ifx\scrollmode#1\scrollmode \else \HyPsd@@RemoveBracesFi#1\HyPsd@End{#1}% \fi } \def\HyPsd@@RemoveBracesFi#1#2\HyPsd@End#3\fi{% \fi \def\Hy@temp@A{#1#2}% \def\Hy@temp@B{#3}% \ifx\Hy@temp@A\Hy@temp@B \expandafter\def\expandafter\HyPsd@String\expandafter{% \HyPsd@String#1% }% \ifx\scrollmode#2\scrollmode \else \Hy@ReturnAfterFiFiEnd{% \HyPsd@RemoveBraces{#2}% }% \fi \else \def\Hy@temp@A{#1}% \HyPsd@AppendItalcorr\HyPsd@String \ifx\Hy@temp@A\@empty \Hy@ReturnAfterElseFiFiEnd{% \HyPsd@RemoveBraces{#2}% }% \else \HyPsd@ProtectSpaces\Hy@temp@A \HyPsd@AppendItalcorr\Hy@temp@A \Hy@ReturnAfterFiFiEnd{% \expandafter\HyPsd@RemoveBraces\expandafter {\Hy@temp@A#2}% }% \fi \fi \Hy@ReturnEnd } \def\HyPsd@AppendItalcorr#1{% \expandafter\HyPsd@@AppendItalcorr\expandafter{\/}#1% } \def\HyPsd@@AppendItalcorr#1#2{% \expandafter\def\expandafter#2\expandafter{#2#1}% } \@ifundefined{directlua}{% }{% \expandafter\ifx\csname\endcsname\relax\fi } \begingroup \catcode`\Q=\active \let Q\@empty \gdef\HyPsd@CheckCatcodes#1#2\HyPsd@End{% \global\let\HyPsd@Rest\relax \ifcat\relax\noexpand#1\relax \ifx#1\protect \else \ifx#1\penalty \setbox\z@=\hbox{% \afterassignment\HyPsd@AfterCountRemove \count@=#2\HyPsd@End }% \else \ifx#1\kern \setbox\z@=\hbox{% \afterassignment\HyPsd@AfterDimenRemove \dimen@=#2\HyPsd@End }% \else \ifx#1\hskip \setbox\z@=\hbox{% \afterassignment\HyPsd@AfterSkipRemove \skip@=#2\HyPsd@End }% \else \HyPsd@CatcodeWarning{#1}% \fi \fi \fi \fi \else \ifcat\noexpand#1\noexpandQ% active character \expandafter\expandafter\expandafter\def \expandafter\expandafter\expandafter\HyPsd@String \expandafter\expandafter\expandafter{% \expandafter\HyPsd@String\string#1% }% \else \ifcat#1A% letter \expandafter\def\expandafter\HyPsd@String\expandafter{% \HyPsd@String#1% }% \else \ifcat#1 % SPACE \expandafter\def\expandafter\HyPsd@String\expandafter{% \HyPsd@String\HyPsd@SPACEOPTI }% \else \ifcat$#1% \HyPsd@CatcodeWarning{math shift}% \else \ifcat% \HyPsd@CatcodeWarning{alignment tab}% \else \ifcat^#1% \HyPsd@CatcodeWarning{superscript}% \else \ifcat_#1% \HyPsd@CatcodeWarning{subscript}% \else \expandafter\def\expandafter\HyPsd@String\expandafter{% \HyPsd@String#1% }% \fi \fi \fi \fi \fi \fi \fi \fi \ifx\HyPsd@Rest\relax \ifx\scrollmode#2\scrollmode \else \Hy@ReturnAfterFiFiEnd{% \HyPsd@CheckCatcodes#2\HyPsd@End }% \fi \else \ifx\HyPsd@Rest\@empty \else \Hy@ReturnAfterFiFiEnd{% \expandafter\HyPsd@CheckCatcodes\HyPsd@Rest\HyPsd@End }% \fi \fi \Hy@ReturnEnd }% \endgroup \def\HyPsd@AfterCountRemove#1\HyPsd@End{% \gdef\HyPsd@Rest{#1}% } \def\HyPsd@AfterDimenRemove#1\HyPsd@End{% \ifdim\ifx\HyPsd@String\@empty\z@\else\dimen@\fi>1ex % \HyPsd@ReplaceSpaceWarning{\string\kern\space\the\dimen@}% \gdef\HyPsd@Rest{\HyPsd@UnexpandableSpace #1}% \else \ifdim\dimen@=\z@ \else \HyPsd@RemoveSpaceWarning{\string\kern\space\the\dimen@}% \fi \gdef\HyPsd@Rest{#1}% \fi } \def\HyPsd@AfterSkipRemove#1\HyPsd@End{% \ifdim\ifx\HyPsd@String\@empty\z@\else\skip@\fi>1ex % \HyPsd@ReplaceSpaceWarning{\string\hskip\space\the\skip@}% \gdef\HyPsd@Rest{\HyPsd@UnexpandableSpace #1}% \else \ifdim\skip@=\z@ \else \HyPsd@RemoveSpaceWarning{\string\kern\space\the\skip@}% \fi \gdef\HyPsd@Rest{#1}% \fi } \def\HyPsd@CatcodeWarning#1{% \HyPsd@Warning{% Token not allowed in a PDF string (% \ifHy@unicode Unicode% \else PDFDocEncoding% \fi ):% \MessageBreak removing `\HyPsd@RemoveCmdPrefix#1'% }% } \begingroup \catcode`\|=0 % \catcode`\\=12 % |gdef|HyPsd@RemoveCmdPrefix#1{% |expandafter|HyPsd@@RemoveCmdPrefix |string#1|@empty\<>-|@empty|@empty }% |gdef|HyPsd@@RemoveCmdPrefix#1\<>-#2|@empty#3|@empty{#1#2}% |endgroup \def\HyPsd@RemoveSpaceWarning#1{% \HyPsd@Warning{% Token not allowed in a PDF string (% \ifHy@unicode Unicode% \else PDFDocEncoding% \fi ):% \MessageBreak #1\MessageBreak removed% }% } \def\HyPsd@ReplaceSpaceWarning#1{% \HyPsd@Warning{% Token not allowed in a PDF string (% \ifHy@unicode Unicode% \else PDFDocEncoding% \fi ):% \MessageBreak #1\MessageBreak replaced by space% }% } \def\HyPsd@GlyphProcess#1\relax#2\@empty{% \expandafter\def\expandafter\HyPsd@String\expandafter{% \HyPsd@String#1% }% \ifx\\#2\\% \else \Hy@ReturnAfterFi{% \HyPsd@GlyphProcessWarning#2\@empty }% \fi } \def\HyPsd@GlyphProcessWarning#1>#2\@empty{% \HyPsd@@GlyphProcessWarning#1++>% \HyPsd@GlyphProcess#2\@empty } \def\HyPsd@@GlyphProcessWarning#1+#2+#3>{% \ifx\\#2\\% \HyPsd@Warning{% Glyph not defined in % P\ifHy@unicode U\else D1\fi\space encoding,\MessageBreak removing `\@backslashchar#1'% }% \else \HyPsd@Warning{% Composite letter `\@backslashchar#1+#2'\MessageBreak not defined in P\ifHy@unicode U\else D1\fi\space encoding,% \MessageBreak removing `\@backslashchar#1'% }% \fi } \def\HyPsd@spaceopti#1{ % first space \ifx\HyPsd@spaceopti#1% \040% \else #1% \fi }% \def\HyPsd@Subst#1#2#3{% \def\HyPsd@@ReplaceFi##1#1##2\END\fi{% \fi ##1% \ifx\scrollmode##2\scrollmode \else #2% \HyPsd@@ReplaceFi##2\END \fi }% \xdef#3{% \iftrue \expandafter\HyPsd@@ReplaceFi#3#1\END \fi }% } \def\HyPsd@StringSubst#1{% \expandafter\HyPsd@Subst\expandafter{\string#1}% } \begingroup \lccode`\!=`\%% \lccode`\|=`\\% \lccode`\(=`\{% \lccode`\)=`\}% \lccode`0=\z@ \lccode`1=\z@ \lccode`3=\z@ \lccode`4=\z@ \lccode`5=\z@ \lccode`7=\z@ \lowercase{\endgroup \def\HyPsd@EscapeTeX#1{% \HyPsd@Subst!{|045}#1% \HyPsd@Subst({|173}#1% \HyPsd@Subst){|175}#1% }% } \def\HyPsd@doxspace#1{% \ifx#1\relax\else \ifx#1.\else \ifx#1:\else \ifx#1,\else \ifx#1;\else \ifx#1!\else \ifx#1?\else \ifx#1/\else \ifx#1-\else \ifx#1'\else \HyPsd@SPACEOPTI \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi #1% }% \begingroup \catcode`\|=0 % \catcode`\\=12 % |gdef|HyPsd@ConvertToUnicode#1{% |xdef#1{% |expandafter|HyPsd@DoConvert#1|@empty|@empty|@empty }% |ifx#1|@empty |else |xdef#1{% \376\377% #1% }% |fi }% |gdef|HyPsd@DoConvert#1{% |ifx#1|@empty |else |Hy@ReturnAfterFi{% |ifx#1\%% \%% |expandafter|HyPsd@DoEscape |else |HyPsd@Char{#1}% |expandafter|HyPsd@DoConvert |fi }% |fi }% |gdef|HyPsd@DoEscape#1{% |ifx#19% |expandafter|HyPsd@GetTwoBytes |else |Hy@ReturnAfterFi{% |ifx#18% 00% |expandafter|HyPsd@GetTwoBytes |else #1% |expandafter|HyPsd@GetOneByte |fi }% |fi }% |gdef|HyPsd@GetTwoBytes#1\#2#3#4{% #1\#2#3#4% |HyPsd@DoConvert }% |gdef|HyPsd@GetOneByte#1#2{% #1#2% |HyPsd@DoConvert }% |endgroup \def\HyPsd@GetNextTwoTokens#1#2#3\END#4{% \xdef#4{#4#1#2}% \HyPsd@@ConvertToUnicode#3\END#4% } \begingroup \catcode0=9 % \catcode`\^=7 % \catcode`\^^^=12 % \def\x{^^^^0000}% \expandafter\endgroup \ifx\x\@empty \def\HyPsd@Char#1{% \ifnum`#1<128 % \@backslashchar 000#1% \else \ifnum`#1<65536 % \expandafter\HyPsd@CharTwoByte\number`#1!% \else \expandafter\expandafter\expandafter\HyPsd@CharSurrogate \intcalcSub{`#1}{65536}!% \fi \fi }% \def\HyPsd@CharTwoByte#1!{% \expandafter\expandafter\expandafter\HyPsd@CharOctByte \IntCalcDiv#1!256!!% \expandafter\expandafter\expandafter\HyPsd@CharOctByte \IntCalcMod#1!256!!% }% \def\HyPsd@CharOctByte#1!{% \@backslashchar \IntCalcDiv#1!64!% \intcalcDiv{\IntCalcMod#1!64!}{8}% \IntCalcMod#1!8!% }% \def\HyPsd@CharSurrogate#1!{% \@backslashchar 33% \IntCalcDiv#1!262144!% \expandafter\expandafter\expandafter\HyPsd@CharOctByte \intcalcDiv{\IntCalcMod#1!262144!}{1024}!% \@backslashchar 33% \expandafter\expandafter\expandafter\IntCalcAdd \intcalcDiv{\IntCalcMod#1!1024!}{256}!4!% \expandafter\expandafter\expandafter\HyPsd@CharOctByte \IntCalcMod#1!256!!% }% \else \def\HyPsd@Char#1{% \@backslashchar 000#1% }% \fi \ifcsname UTFviii@loop\endcsname \def\HyPsd@expand@utfviii {% \count@"C2 \@tempcnta"F5 \def\UTFviii@tmp{\expandafter\def\expandafter~\expandafter{~}}% \UTFviii@loop } \else \def\HyPsd@expand@utfviii {} \fi \begingroup \lccode`\~=`^^f4\relax \lowercase{\endgroup \def\HyPsd@UTFviii{% \HyPsd@expand@utfviii \let\UTFviii@two@octets\HyPsd@UTFviii@two \let\UTFviii@three@octets\HyPsd@UTFviii@three \let\UTFviii@four@octets\HyPsd@UTFviii@four \ifx~\HyPsd@UTFviii@ccxliv@undef \let~\HyPsd@UTFviii@ccxliv@def \fi \let\unichar\HyPsd@unichar }% }% \def\HyPsd@UTFviii@ccxliv@undef{\@inpenc@undefined@{utf8}}% \edef\HyPsd@UTFviii@ccxliv@def{% \noexpand\UTFviii@four@octets\string ^^f4% }% \def\HyPsd@UTFviii@two#1#2{% \expandafter\HyPsd@UTFviii@@two \number\dimexpr.25\dimexpr`#1sp\expandafter\relax\expandafter|% \number`#1\expandafter|% \number\dimexpr.125\dimexpr`#2sp\expandafter\relax\expandafter|% \number`#2 \@nil }% \def\HyPsd@UTFviii@@two#1|#2|#3|#4\@nil{% \expandafter\8% \number\numexpr #1-48\expandafter\relax \csname\number\numexpr #2-4*#1\relax\expandafter\endcsname \number\numexpr #3-8*% \number\dimexpr.125\dimexpr#3sp\relax\relax\expandafter\relax \number\numexpr #4-8*#3\relax }% \def\HyPsd@UTFviii@three#1#2#3{% \expandafter\HyPsd@UTFviii@@three \number\dimexpr.25\dimexpr`#1sp\expandafter\relax\expandafter|% \number`#1\expandafter|% \number\ifnum\numexpr`#2-128\relax <32 0\else 1\fi\expandafter|% \number\dimexpr.25\dimexpr`#2sp\expandafter\relax\expandafter|% \number`#2\expandafter|% \number\dimexpr.125\dimexpr`#3sp\expandafter\relax\expandafter|% \number`#3 \@nil }% \def\HyPsd@UTFviii@@three#1|#2|#3|#4|#5|#6|#7\@nil{% \expandafter\9% \number\numexpr #1-56\expandafter\relax \number\numexpr 2*(#2-4*#1)+#3\expandafter\relax \number\numexpr #4 - 32 -\ifcase#3 0\else 8\fi\expandafter\relax \csname\number\numexpr #5-4*#4\relax\expandafter\endcsname \number\numexpr #6-16\expandafter\relax \number\numexpr #7-8*#6\relax }% \def\HyPsd@UTFviii@four#1#2{% \expandafter\HyPsd@@UTFviii@four\number \numexpr-1+(`#1-240)*4+\dimexpr.0625\dimexpr`#2sp-128sp% \expandafter|\number \numexpr`#2-16*\dimexpr.0625\dimexpr`#2sp|% }% \def\HyPsd@@UTFviii@four#1|#2|#3{% \933\number\dimexpr.25\dimexpr#1sp\relax\relax \csname\number\numexpr#1-4*\dimexpr.25\dimexpr#1sp\endcsname \ifodd#2 % \number\numexpr(#2-1)/2\relax \else \number\numexpr#2/2\relax \fi \number\numexpr\ifodd#2 4+\fi \dimexpr.0625\dimexpr`#3sp-128sp\relax\relax\relax \933% \expandafter\HyPsd@@@UTFviii@four\number \numexpr`#3-16*\dimexpr.0625\dimexpr`#3sp|% }% \def\HyPsd@@@UTFviii@four#1|#2{% \number\numexpr4+\dimexpr.25\dimexpr#1sp\relax\relax\relax \csname\number\numexpr#1-4*\dimexpr.25\dimexpr#1sp\endcsname \number\dimexpr.125\dimexpr`#2sp-128sp\relax\relax \number\numexpr`#2-8*\dimexpr.125\dimexpr`#2sp\relax\relax\relax }% \def\HyPsd@unichar#1{% \ifHy@unicode \ifnum#1>"10FFFF % \HyPsd@UnicodeReplacementCharacter % illegal \else \ifnum#1>"FFFF % \expandafter\HyPsd@unichar\expandafter{% \number\numexpr 55296+% \dimexpr.0009765625\dimexpr\number#1sp-\p@ \relax\relax\relax }% \expandafter\HyPsd@unichar\expandafter{% \number\numexpr#1-9216% -1024*\dimexpr.0009765625\dimexpr\number#1sp-\p@ \relax\relax\relax }% \else \ifnum#1>"7FF % \9% \expandafter\HyPsd@unichar@first@byte\expandafter{% \number \dimexpr.00390625\dimexpr\number#1sp\relax\relax }% \else \8% \number\dimexpr.00390625\dimexpr\number#1sp\relax\relax \fi \expandafter\HyPsd@unichar@second@byte\expandafter{% \number \numexpr#1-256*\number \dimexpr.00390625\dimexpr\number#1sp\relax\relax\relax }% \fi \fi \else .% unsupported (Unicode -> PDF Doc Encoding) \fi }% \def\HyPsd@UnicodeReplacementCharacter{\9377\375}% \def\HyPsd@unichar@first@byte#1{% \number\dimexpr.015625\dimexpr#1sp\relax\relax \expandafter\HyPsd@unichar@octtwo\expandafter{% \number \numexpr#1-64*\number\dimexpr.015625\dimexpr#1sp% \relax\relax\relax }% }% \def\HyPsd@unichar@second@byte#1{% \csname\number\dimexpr.015625\dimexpr#1sp\relax\relax\endcsname \expandafter\HyPsd@unichar@octtwo\expandafter{% \number \numexpr#1-64*\number\dimexpr.015625\dimexpr#1sp% \relax\relax\relax }% }% \def\HyPsd@unichar@octtwo#1{% \number\dimexpr.125\dimexpr#1sp\relax\relax \number\numexpr#1-8*\number\dimexpr.125\dimexpr#1sp% \relax\relax\relax }% \def\HyPsd@utf@viii@undeferr#1#2#3#4#5#6{% \ifx\@gobble#1% \else [Please insert \textbackslash PrerenderUnicode% \textbraceleft#1\textbraceright\space into preamble]% \fi }% \def\HyPsd@DieFace#1{% \ifHy@unicode \ifnum#1<1 % \HyPsd@UnicodeReplacementCharacter \else \ifnum#1>6 % \9046\205% \expandafter\expandafter\expandafter \HyPsd@DieFaceLarge\intcalcSub{#1}{6}!% \else \9046\20\intcalcDec{#1}% \fi \fi \else .% Die faces are not part of PDFDocEncoding \fi } \def\HyPsd@DieFaceLarge#1!{% \ifnum#1>6 % \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi {% \9046\205% \expandafter\expandafter\expandafter \HyPsd@DieFaceLarge\IntCalcSub#1!6!!% }{% \9046\20\IntCalcDec#1!% }% } \def\HyPsd@MoonPha#1{% \ifcase\intcalcNum{#1} % \HyPsd@UnicodeReplacementCharacter \or % 1 \9330\074\9337\032% \or % 2 \HyPsd@UnicodeReplacementCharacter \or % 3 \9330\074\9337\035% \or % 4 \9330\074\9337\034% \else \HyPsd@UnicodeReplacementCharacter \fi } \def\HyPsd@ding#1{% \ifHy@unicode \ifnum#1<32 % \HyPsd@UnicodeReplacementCharacter \else \ifnum#1>254 % \HyPsd@UnicodeReplacementCharacter \else \ifnum#1<127 % \expandafter\expandafter\expandafter \HyPsd@@ding\intcalcNum{#1}!% \else \ifnum#1>160 % \expandafter\expandafter\expandafter \HyPsd@@ding\intcalcNum{#1}!% \else \HyPsd@UnicodeReplacementCharacter \fi \fi \fi \fi \else .% Dingbats are not part of PDFDocEncoding \fi } \def\HyPsd@@ding#1!{% \@ifundefined{HyPsd@ding@#1}{% \ifnum#1<127 % \9047% \HyPsd@DecimalToOctalSecond{\IntCalcSub#1!32!}% \else \ifnum#1<168 % \9047\14\IntCalcSub#1!160!% \else \ifnum#1>181 % \9047\HyPsd@DecimalToOctalSecond{\IntCalcSub#1!64!}% \else % 172..181 -> U+2460..U+2469 \9044\HyPsd@DecimalToOctalSecond{\IntCalcSub#1!76!}% \fi \fi \fi }{% \csname HyPsd@ding@#1\endcsname }% } \@namedef{HyPsd@ding@32}{\space} \@namedef{HyPsd@ding@37}{\9046\016}% U+260E \@namedef{HyPsd@ding@42}{\9046\033}% U+261B \@namedef{HyPsd@ding@43}{\9046\036}% U+261E \@namedef{HyPsd@ding@72}{\9046\005}% U+2605 \@namedef{HyPsd@ding@108}{\9045\317}% U+25CF \@namedef{HyPsd@ding@110}{\9045\240}% U+25A0 \@namedef{HyPsd@ding@115}{\9045\262}% U+25B2 \@namedef{HyPsd@ding@116}{\9045\274}% U+25BC \@namedef{HyPsd@ding@117}{\9045\306}% U+25C6 \@namedef{HyPsd@ding@119}{\9045\327}% U+25D7 \@namedef{HyPsd@ding@168}{\textclubsuitblack}% \@namedef{HyPsd@ding@169}{\textdiamondsuitblack}% \@namedef{HyPsd@ding@170}{\textheartsuitblack}% \@namedef{HyPsd@ding@171}{\textspadesuitblack}% \@namedef{HyPsd@ding@213}{\textrightarrow}% \@namedef{HyPsd@ding@214}{\textleftrightarrow}% \@namedef{HyPsd@ding@215}{\textupdownarrow}% \@namedef{HyPsd@ding@240}{\HyPsd@UnicodeReplacementCharacter} \@ifpackageloaded{subfigure}{% \@ifundefined{sub@label}{% \Hy@hypertexnamesfalse }{% \renewcommand*{\sub@label}[1]{% \@bsphack \subfig@oldlabel{#1}% \if@filesw \begingroup \edef\@currentlabstr{% \expandafter\strip@prefix\meaning\@currentlabelname }% \protected@write\@auxout{}{% \string\newlabel{sub@#1}{% {\@nameuse{@@thesub\@captype}}% {\thepage}% {% \expandafter\strip@period\@currentlabstr \relax.\relax\@@@% }% {\@currentHref}% {}% }% }% \endgroup \fi \@esphack }% }% }{} \def\Hy@true{true} \def\Hy@false{false} \let\literalps@out\@gobble \newcommand\pdfbookmark[3][]{} \def\Acrobatmenu#1#2{\leavevmode#2} \def\Hy@writebookmark#1#2#3#4#5{}% \let\HyperRaiseLinkHook\@empty \def\HyperRaiseLinkDefault{\baselineskip} \newcount\Hy@SavedSpaceFactor \def\Hy@SaveSpaceFactor{% \global\Hy@SavedSpaceFactor=\ifhmode\spacefactor\else\z@\fi } \def\Hy@RestoreSpaceFactor{% \relax \ifhmode \ifnum\Hy@SavedSpaceFactor>\z@ \spacefactor=\Hy@SavedSpaceFactor \fi \fi } \def\Hy@SaveSavedSpaceFactor{% \edef\Hy@RestoreSavedSpaceFactor{% \global\Hy@SavedSpaceFactor=\the\Hy@SavedSpaceFactor\relax }% } \@ifl@t@r\fmtversion{2023-11-01} {\NewSocket{hyp/raisedlink}{1}} {\providecommand\UseSocket[2]{#2}} \def\Hy@raisedlink#1{% \ifvmode \UseSocket{hyp/raisedlink}{#1}% \else \Hy@SaveSpaceFactor \penalty\@M \smash{% \begingroup \let\HyperRaiseLinkLength\@tempdima \setlength\HyperRaiseLinkLength\HyperRaiseLinkDefault \HyperRaiseLinkHook \expandafter\endgroup \expandafter\raise\the\HyperRaiseLinkLength\hbox{% \Hy@RestoreSpaceFactor #1% \Hy@SaveSpaceFactor }% }% \Hy@RestoreSpaceFactor \fi } \def\Hy@SaveLastskip{% \let\Hy@RestoreLastskip\relax \ifvmode \ifdim\lastskip=\z@ \ifnum\lastnodetype=1 % \let\Hy@RestoreLastskip\relax \else \let\Hy@RestoreLastskip\nobreak \fi \else \begingroup \skip@=-\lastskip \edef\x{% \endgroup \def\noexpand\Hy@RestoreLastskip{% \noexpand\ifvmode \noexpand\nobreak \vskip\the\skip@ \vskip\the\lastskip\relax \noexpand\fi }% }% \x \fi \else \ifhmode \ifdim\lastskip=\z@ \let\Hy@RestoreLastskip\nobreak \else \begingroup \skip@=-\lastskip \edef\x{% \endgroup \def\noexpand\Hy@RestoreLastskip{% \noexpand\ifhmode \noexpand\nobreak \hskip\the\skip@ \hskip\the\lastskip\relax \noexpand\fi }% }% \x \fi \fi \fi }% \SetupKeyvalOptions{% family=Hyp,% prefix=HyOpt% } \ExplSyntaxOn \@ifundefined{AddToDocumentProperties} { \prop_new:N \g__hyp_documentproperties_prop \NewDocumentCommand\AddToDocumentProperties{O{\@currname}mm} { \exp_args:NNx \prop_gput:Nnn \g__hyp_documentproperties_prop { \tl_if_blank:eTF {#1}{top-level/}{#1/} #2 } { #3} } \NewExpandableDocumentCommand\GetDocumentProperties{m} { \prop_item:Nn \g__hyp_documentproperties_prop {#1} } }{} \ExplSyntaxOff \def\IfHyperBooleanExists#1{% \@ifundefined{Hy@#1false}\@secondoftwo{% \@ifundefined{KV@Hyp@#1@default}\@secondoftwo\@firstoftwo }% } \@namedef{KV@Hyp@stoppedearly@default}{} \def\IfHyperBoolean#1{% \IfHyperBooleanExists{#1}{% \csname ifHy@#1\endcsname \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi }\@secondoftwo } \def\Hy@boolkey#1#2{% \edef\Hy@tempa{#2}% \lowercase\expandafter{% \expandafter\def\expandafter\Hy@tempa\expandafter{\Hy@tempa}% }% \ifx\Hy@tempa\@empty \let\Hy@tempa\Hy@true \fi \ifx\Hy@tempa\Hy@true \else \ifx\Hy@tempa\Hy@false \else \let\Hy@tempa\relax \fi \fi \ifx\Hy@tempa\relax \Hy@WarnOptionValue{#2}{#1}{`true' or 'false'}% \else \Hy@Info{Option `#1' set `\Hy@tempa'}% \csname Hy@#1\Hy@tempa\endcsname \fi } \def\Hy@WarnOptionValue#1#2#3{% \Hy@Warning{% Unexpected value `#1'\MessageBreak of option `#2' instead of\MessageBreak #3% }% } \def\Hy@DisableOption#1{% \@ifundefined{KV@Hyp@#1@default}{% \define@key{Hyp}{#1}% }{% \define@key{Hyp}{#1}[]% }% {\Hy@WarnOptionDisabled{#1}}% } \def\Hy@WarnOptionDisabled#1{% \Hy@Warning{% Option `#1' has already been used,\MessageBreak setting the option has no effect% }% } \def\Hy@CheckOptionValue#1#2#3{% \begingroup \edef\x{#1}% \@onelevel@sanitize\x \let\y=y% \def\do##1##2{% \def\z{##1}% \@onelevel@sanitize\z \ifx\x\z \let\y=n% \let\do\@gobbletwo \fi }% #3% \ifx\y y% \def\do##1##2{% * `##1'% \ifx\\##2\\\else\space(##2)\fi \MessageBreak }% \Hy@Warning{% Values of option `#2':\MessageBreak #3% * An empty value disables the option.\MessageBreak Unknown value `\x'% }% \fi \endgroup } \def\Hy@DefNameKey#1{% \expandafter\Hy@@DefNameKey\csname @#1\endcsname{#1}% } \def\Hy@@DefNameKey#1#2#3{% \define@key{Hyp}{#2}{% \edef#1{##1}% \ifx#1\@empty \else \Hy@CheckOptionValue{##1}{#2}{#3}% \fi }% \let#1\@empty } \def\Hy@UseNameKey#1#2{% \ifx#2\@empty \else /#1/#2% \fi } \define@key{Hyp}{implicit}[true]{% \Hy@boolkey{implicit}{#1}% } \define@key{Hyp}{draft}[true]{% \Hy@boolkey{draft}{#1}% } \define@key{Hyp}{final}[true]{% \Hy@boolkey{final}{#1}% } \let\KV@Hyp@nolinks\KV@Hyp@draft \def\Hy@ObsoletePaperOption#1{% \Hy@WarningNoLine{% Option `#1' is no longer used% }% \define@key{Hyp}{#1}[true]{}% } \def\Hy@temp#1{% \define@key{Hyp}{#1}[true]{% \Hy@ObsoletePaperOption{#1}% }% } \Hy@temp{a4paper} \Hy@temp{a5paper} \Hy@temp{b5paper} \Hy@temp{letterpaper} \Hy@temp{legalpaper} \Hy@temp{executivepaper} \define@key{Hyp}{setpagesize}[true]{% \Hy@boolkey{setpagesize}{#1}% } \define@key{Hyp}{debug}[true]{% \Hy@boolkey{debug}{#1}% } \define@key{Hyp}{linktocpage}[true]{% \Hy@boolkey{linktocpage}{#1}% \ifHy@linktocpage \let\Hy@linktoc\Hy@linktoc@page \else \let\Hy@linktoc\Hy@linktoc@section \fi } \chardef\Hy@linktoc@none=0 % \chardef\Hy@linktoc@section=1 % \chardef\Hy@linktoc@page=2 % \chardef\Hy@linktoc@all=3 % \ifHy@linktocpage \let\Hy@linktoc\Hy@linktoc@page \else \let\Hy@linktoc\Hy@linktoc@section \fi \define@key{Hyp}{linktoc}{% \@ifundefined{Hy@linktoc@#1}{% \Hy@Warning{% Unexpected value `#1' of\MessageBreak option `linktoc' instead of `none',\MessageBreak `section', `page' or `all'% }% }{% \expandafter\let\expandafter\Hy@linktoc \csname Hy@linktoc@#1\endcsname }% } \define@key{Hyp}{extension}{\def\XR@ext{#1}} \let\XR@ext\relax \define@key{Hyp}{verbose}[true]{% \Hy@boolkey{verbose}{#1}% } \define@key{Hyp}{raiselinks}[true]{% \Hy@boolkey{raiselinks}{#1}% } \def\Hy@setbreaklinks#1{% \csname breaklinks#1\endcsname } \def\Hy@breaklinks@unsupported{% \ifx\Hy@setbreaklinks\@gobble \ifHy@breaklinks \Hy@WarningNoLine{% You have enabled option `breaklinks'.\MessageBreak But driver `\Hy@driver.def' does not suppport this.\MessageBreak Expect trouble with the link areas of broken links% }% \fi \fi } \define@key{Hyp}{breaklinks}[true]{% \Hy@boolkey{breaklinks}{#1}% \let\Hy@setbreaklinks\@gobble } \define@key{Hyp}{localanchorname}[true]{% \Hy@WarningNoLine{% Option `localanchorname' is deprecated% }% \Hy@boolkey{localanchorname}{#1}% } \define@key{Hyp}{pageanchor}[true]{% \Hy@boolkey{pageanchor}{#1}% } \define@key{Hyp}{plainpages}[true]{% \Hy@boolkey{plainpages}{#1}% } \define@key{Hyp}{naturalnames}[true]{% \Hy@boolkey{naturalnames}{#1}% } \define@key{Hyp}{hypertexnames}[true]{% \Hy@boolkey{hypertexnames}{#1}% } \define@key{Hyp}{nesting}[true]{% \Hy@boolkey{nesting}{#1}% } \define@key{Hyp}{destlabel}[true]{% \Hy@boolkey{destlabel}{#1}% } \define@key{Hyp}{unicode}[true]{% \Hy@boolkey{unicode}{#1}% \ifHy@unicode \def\HyPsd@pdfencoding{unicode}% \HyPsd@LoadUnicode \else \def\HyPsd@pdfencoding{pdfdoc}% \fi } \Hy@AtBeginDocument{% \ifx\HyPsd@LoadUnicode\relax \else \def\HyPsd@LoadUnicode{% \Hy@Error{% Unicode support for bookmarks is not available.\MessageBreak Activate unicode support by using one of the options\MessageBreak `unicode', `pdfencoding=unicode', `pdfencoding=auto'\MessageBreak in the preamble% }\@ehc \global\let\HyPsd@LoadUnicode\relax \global\Hy@unicodefalse \global\let\Hy@unicodetrue\Hy@unicodefalse }% \fi } \define@key{Hyp}{pdfencoding}{% \edef\HyPsd@temp{#1}% \ifx\HyPsd@temp\HyPsd@pdfencoding@pdfdoc \let\HyPsd@pdfencoding\HyPsd@temp \Hy@unicodefalse \else \ifcase\ifx\HyPsd@temp\HyPsd@pdfencoding@unicode \z@ \else \ifx\HyPsd@temp\HyPsd@pdfencoding@auto \z@ \else \@ne \fi \fi \let\HyPsd@pdfencoding\HyPsd@temp \hypersetup{unicode}% \ifHy@unicode \def\HyPsd@pdfencoding{#1}% \else \Hy@Warning{Cannot switch to unicode bookmarks}% \let\HyPsd@pdfencoding\HyPsd@pdfencoding@pdfdoc \fi \else \@onelevel@sanitize\HyPsd@temp \Hy@Warning{% Values of option `pdfencoding':\MessageBreak `pdfdoc', `unicode', `auto'.\MessageBreak Ignoring unknown value `\HyPsd@temp'% }% \fi \fi } \def\HyPsd@pdfencoding@auto{auto} \def\HyPsd@pdfencoding@pdfdoc{pdfdoc} \def\HyPsd@pdfencoding@unicode{unicode} \let\HyPsd@pdfencoding\HyPsd@pdfencoding@unicode \HyPsd@LoadUnicode \define@key{Hyp}{psdextra}[true]{% \Hy@boolkey{psdextra}{#1}% \HyPsd@LoadExtra } \def\hypersetup{\kvsetkeys{Hyp}} \newif\ifHy@setpdfversion \define@key{Hyp}{pdfversion}{% \@ifundefined{Hy@pdfversion@#1}{% \PackageWarning{hyperref}{% Unsupported PDF version `#1'.\MessageBreak Valid values: 1.2-1.7, 2.0% }% }{% \Hy@setpdfversiontrue \@nameuse{Hy@pdfversion@#1}% }% } \@namedef{Hy@pdfversion@1.2}{\def\Hy@pdf@majorversion{1}\def\Hy@pdf@minorversion{2}}% \@namedef{Hy@pdfversion@1.3}{\def\Hy@pdf@majorversion{1}\def\Hy@pdf@minorversion{3}}% \@namedef{Hy@pdfversion@1.4}{\def\Hy@pdf@majorversion{1}\def\Hy@pdf@minorversion{4}}% \@namedef{Hy@pdfversion@1.5}{\def\Hy@pdf@majorversion{1}\def\Hy@pdf@minorversion{5}}% \@namedef{Hy@pdfversion@1.6}{\def\Hy@pdf@majorversion{1}\def\Hy@pdf@minorversion{6}}% \@namedef{Hy@pdfversion@1.7}{\def\Hy@pdf@majorversion{1}\def\Hy@pdf@minorversion{7}}% \@namedef{Hy@pdfversion@2.0}{\def\Hy@pdf@majorversion{2}\def\Hy@pdf@minorversion{0}}% \def\Hy@pdf@majorversion{1}\def\Hy@pdf@minorversion{5} \let\Hy@pdfversion\Hy@pdf@minorversion \def\Hy@pdf@majorminor@version{\numexpr100*\Hy@pdf@majorversion+\Hy@pdf@minorversion\relax} \def\Hy@pdfmajorminor@version{\numexpr100*\Hy@pdfmajorversion+\Hy@pdfminorversion\relax} \@ifundefined{pdfminorversion}{}{% \@ifundefined{pdfmajorversion}{% \newcount\pdfmajorversion \pdfmajorversion=1 }{}% } \ifx\pdfmajorversion\@undefined\else \def\Hy@pdfmajorversion{\pdfmajorversion} \fi \newif\ifHy@DviMode \let\Hy@DviErrMsg\@empty \ifpdf \def\Hy@DviErrMsg{pdfTeX or LuaTeX is running in PDF mode}% \else \ifxetex \def\Hy@DviErrMsg{XeTeX is running}% \else \ifvtex \ifnum\OpMode=\z@ \Hy@DviModetrue \else \def\Hy@DviErrMsg{VTeX is running, but not in DVI mode}% \fi \else \Hy@DviModetrue \fi \fi \fi \def\HyOpt@CheckDvi#1{% \ifHy@DviMode \expandafter\@firstofone \else \Hy@Error{% Wrong DVI mode driver option `#1',\MessageBreak because \Hy@DviErrMsg }\@ehc \expandafter\@gobble \fi } \DeclareVoidOption{tex4ht}{% \Hy@texhttrue \kvsetkeys{Hyp}{colorlinks=true}% \def\BeforeTeXIVht{\RequirePackage{color}}% \def\Hy@driver{htex4ht}% \def\MaybeStopEarly{% \Hy@Message{Stopped early}% \Hy@AtBeginDocument{% \PDF@FinishDoc \gdef\PDF@FinishDoc{}% }% \endinput }% } \DeclareVoidOption{pdftex}{% \ifpdf \def\Hy@driver{hpdftex}% \PassOptionsToPackage{pdftex}{color}% \else \Hy@Error{% Wrong driver option `pdftex',\MessageBreak because pdfTeX in PDF mode is not detected% }\@ehc \fi } \DeclareVoidOption{luatex}{% \ifpdf \ifx\pdfextension\@undefined \def\Hy@driver{hpdftex}% \PassOptionsToPackage{pdftex}{color}% \else \def\Hy@driver{hluatex}% \PassOptionsToPackage{luatex}{color}% \fi \else \Hy@Error{% Wrong driver option `luatex',\MessageBreak because luaTeX in PDF mode is not detected% }\@ehc \fi } \DeclareVoidOption{nativepdf}{% \HyOpt@CheckDvi{nativepdf}{% \def\Hy@driver{hdvips}% \PassOptionsToPackage{dvips}{color}% }% } \DeclareVoidOption{dvipdfm}{% \HyOpt@CheckDvi{dvipdfm}{% \def\Hy@driver{hdvipdfm}% }% } \DeclareVoidOption{dvipdfmx}{% \HyOpt@CheckDvi{dvipdfmx}{% \def\Hy@driver{hdvipdfm}% \PassOptionsToPackage{dvipdfmx}{color}% }% } \define@key{Hyp}{dvipdfmx-outline-open}[true]{% \expandafter\ifx\csname if#1\expandafter\endcsname \csname iftrue\endcsname \chardef\SpecialDvipdfmxOutlineOpen\@ne \else \chardef\SpecialDvipdfmxOutlineOpen\z@ \fi } \DeclareVoidOption{xetex}{% \ifxetex \def\Hy@driver{hxetex}% \else \Hy@Error{% Wrong driver option `xetex',\MessageBreak because XeTeX is not detected% }\@ehc \fi } \DeclareVoidOption{pdfmark}{% \HyOpt@CheckDvi{pdfmark}{% \def\Hy@driver{hdvips}% }% } \DeclareVoidOption{dvips}{% \HyOpt@CheckDvi{dvips}{% \def\Hy@driver{hdvips}% \PassOptionsToPackage{dvips}{color}% }% } \DeclareVoidOption{hypertex}{% \HyOpt@CheckDvi{hypertex}{% \def\Hy@driver{hypertex}% }% } \let\Hy@MaybeStopNow\relax \DeclareVoidOption{vtex}{% \ifvtex \ifnum 0\ifnum\OpMode<1 1\fi \ifnum\OpMode>3 1\fi =0 % \def\Hy@driver{hvtex}% \else \ifnum\OpMode=10\relax \def\Hy@driver{hvtexhtm}% \def\MaybeStopEarly{% \Hy@Message{Stopped early}% \Hy@AtBeginDocument{% \PDF@FinishDoc \gdef\PDF@FinishDoc{}% }% \endinput }% \else \Hy@Error{% Wrong driver option `vtex',\MessageBreak because of wrong OpMode (\the\OpMode)% }\@ehc \fi \fi \else \Hy@Error{% Wrong driver option `vtex',\MessageBreak because VTeX is not running% }\@ehc \fi } \DeclareVoidOption{vtexpdfmark}{% \ifvtex \ifnum 0\ifnum\OpMode<1 1\fi \ifnum\OpMode>3 1\fi =0 % \def\Hy@driver{hvtexmrk}% \else \Hy@Error{% Wrong driver option `vtexpdfmark',\MessageBreak because of wrong OpMode (\the\OpMode)% }\@ehc \fi \else \Hy@Error{% Wrong driver option `vtexpdfmark,\MessageBreak because VTeX is not running% }\@ehc \fi } \DeclareVoidOption{dviwindo}{% \HyOpt@CheckDvi{dviwindo}{% \def\Hy@driver{hdviwind}% \kvsetkeys{Hyp}{colorlinks}% \PassOptionsToPackage{dviwindo}{color}% }% } \DeclareVoidOption{dvipsone}{% \HyOpt@CheckDvi{dvipsone}{% \def\Hy@driver{hdvipson}% \PassOptionsToPackage{dvipsone}{color}% }% } \DeclareVoidOption{textures}{% \HyOpt@CheckDvi{textures}{% \def\Hy@driver{htexture}% }% } \DeclareVoidOption{latex2html}{% \Hy@Warning{Option `latex2html` is obsolete. \MessageBreak A current html.sty will do all necessary (re)definitions% }% } \DeclareVoidOption{hitex}{% \ifhint \IfFileExists{hhitex.def} {\def\Hy@driver{hhitex}}% {\Hy@Warning{% Missing driver file `hhitex.def',\MessageBreak ignoring hitex driver% }}% \else \Hy@Error{% Wrong driver option `hitex',\MessageBreak because HiTeX is not detected% }\@ehc \fi } \DeclareVoidOption{ps2pdf}{% \HyOpt@CheckDvi{ps2pdf}{% \def\Hy@driver{hdvips}% \PassOptionsToPackage{dvips}{color}% }% } \let\HyOpt@DriverFallback\@empty \define@key{Hyp}{driverfallback}{% \ifHy@DviMode \def\HyOpt@DriverFallback{#1}% \Hy@Match\HyOpt@DriverFallback{}{% ^(|dvipdfm|dvipdfmx|dvips|dvipsone|dviwindo|hypertex|ps2pdf|% latex2html|tex4ht)$% }{}{% \Hy@Warning{% Invalid driver `#1' for option\MessageBreak `driverfallback'% }% \let\HyOpt@DriverFallback\@empty }% \fi } \let\HyOpt@CustomDriver\@empty \define@key{Hyp}{customdriver}{% \IfFileExists{#1.def}{% \def\HyOpt@CustomDriver{#1}% }{% \Hy@Warning{% Missing driver file `#1.def',\MessageBreak ignoring custom driver% }% }% } \define@key{Hyp}{hyperfigures}[true]{% \Hy@boolkey{hyperfigures}{#1}% } \define@key{Hyp}{hyperfootnotes}[true]{% \Hy@boolkey{hyperfootnotes}{#1}% } \def\back@none{none} \def\back@section{section} \def\back@page{page} \def\back@slide{slide} \define@key{Hyp}{backref}[section]{% \lowercase{\def\Hy@tempa{#1}}% \ifx\Hy@tempa\@empty \let\Hy@tempa\back@section \fi \ifx\Hy@tempa\Hy@false \let\Hy@tempa\back@none \fi \ifx\Hy@tempa\back@slide \let\Hy@tempa\back@section \fi \ifx\Hy@tempa\back@page \PassOptionsToPackage{hyperpageref}{backref}% \Hy@backreftrue \else \ifx\Hy@tempa\back@section \PassOptionsToPackage{hyperref}{backref}% \Hy@backreftrue \else \ifx\Hy@tempa\back@none \Hy@backreffalse \else \Hy@WarnOptionValue{#1}{backref}{% `section', `slide', `page', `none',\MessageBreak or `false'}% \fi \fi \fi } \define@key{Hyp}{pagebackref}[true]{% \edef\Hy@tempa{#1}% \lowercase\expandafter{% \expandafter\def\expandafter\Hy@tempa\expandafter{\Hy@tempa}% }% \ifx\Hy@tempa\@empty \let\Hy@tempa\Hy@true \fi \ifx\Hy@tempa\Hy@true \PassOptionsToPackage{hyperpageref}{backref}% \Hy@backreftrue \else \ifx\Hy@tempa\Hy@false \Hy@backreffalse \else \Hy@WarnOptionValue{#1}{pagebackref}{`true' or `false'}% \fi \fi } \define@key{Hyp}{hyperindex}[true]{% \Hy@boolkey{hyperindex}{#1}% } \define@key{Hyp}{encap}[\|]{% \def\HyInd@EncapChar{#1}% } \def\HyLang@afrikaans{% \def\equationautorefname{Vergelyking}% \def\footnoteautorefname{Voetnota}% \def\itemautorefname{Item}% \def\figureautorefname{Figuur}% \def\tableautorefname{Tabel}% \def\partautorefname{Deel}% \def\appendixautorefname{Bylae}% \def\chapterautorefname{Hoofstuk}% \def\sectionautorefname{Afdeling}% \def\subsectionautorefname{Subafdeling}% \def\subsubsectionautorefname{Subsubafdeling}% \def\paragraphautorefname{Paragraaf}% \def\subparagraphautorefname{Subparagraaf}% \def\FancyVerbLineautorefname{Lyn}% \def\theoremautorefname{Teorema}% \def\pageautorefname{Bladsy}% } \def\HyLang@english{% \def\equationautorefname{Equation}% \def\footnoteautorefname{footnote}% \def\itemautorefname{item}% \def\figureautorefname{Figure}% \def\tableautorefname{Table}% \def\partautorefname{Part}% \def\appendixautorefname{Appendix}% \def\chapterautorefname{chapter}% \def\sectionautorefname{section}% \def\subsectionautorefname{subsection}% \def\subsubsectionautorefname{subsubsection}% \def\paragraphautorefname{paragraph}% \def\subparagraphautorefname{subparagraph}% \def\FancyVerbLineautorefname{line}% \def\theoremautorefname{Theorem}% \def\pageautorefname{page}% } \def\HyLang@french{% \def\equationautorefname{\'equation}% \def\footnoteautorefname{note}% \def\itemautorefname{item}% \def\figureautorefname{figure}% \def\tableautorefname{tableau}% \def\partautorefname{partie}% \def\appendixautorefname{annexe}% \def\chapterautorefname{chapitre}% \def\sectionautorefname{section}% \def\subsectionautorefname{sous-section}% \def\subsubsectionautorefname{sous-sous-section}% \def\paragraphautorefname{paragraphe}% \def\subparagraphautorefname{sous-paragraphe}% \def\FancyVerbLineautorefname{ligne}% \def\theoremautorefname{th\'eor\`eme}% \def\pageautorefname{page}% } \def\HyLang@german{% \def\equationautorefname{Gleichung}% \def\footnoteautorefname{Fu\ss note}% \def\itemautorefname{Punkt}% \def\figureautorefname{Abbildung}% \def\tableautorefname{Tabelle}% \def\partautorefname{Teil}% \def\appendixautorefname{Anhang}% \def\chapterautorefname{Kapitel}% \def\sectionautorefname{Abschnitt}% \def\subsectionautorefname{Unterabschnitt}% \def\subsubsectionautorefname{Unterunterabschnitt}% \def\paragraphautorefname{Absatz}% \def\subparagraphautorefname{Unterabsatz}% \def\FancyVerbLineautorefname{Zeile}% \def\theoremautorefname{Theorem}% \def\pageautorefname{Seite}% } \def\HyLang@italian{% \def\equationautorefname{Equazione}% \def\footnoteautorefname{nota}% \def\itemautorefname{punto}% \def\figureautorefname{Figura}% \def\tableautorefname{Tabella}% \def\partautorefname{Parte}% \def\appendixautorefname{Appendice}% \def\chapterautorefname{Capitolo}% \def\sectionautorefname{sezione}% \def\subsectionautorefname{sottosezione}% \def\subsubsectionautorefname{sottosottosezione}% \def\paragraphautorefname{paragrafo}% \def\subparagraphautorefname{sottoparagrafo}% \def\FancyVerbLineautorefname{linea}% \def\theoremautorefname{Teorema}% \def\pageautorefname{Pag.\@}% } \def\HyLang@magyar{% \def\equationautorefname{Egyenlet}% \def\footnoteautorefname{l\'abjegyzet}% \def\itemautorefname{Elem}% \def\figureautorefname{\'Abra}% \def\tableautorefname{T\'abl\'azat}% \def\partautorefname{R\'esz}% \def\appendixautorefname{F\"uggel\'ek}% \def\chapterautorefname{fejezet}% \def\sectionautorefname{szakasz}% \def\subsectionautorefname{alszakasz}% \def\subsubsectionautorefname{alalszakasz}% \def\paragraphautorefname{bekezd\'es}% \def\subparagraphautorefname{albekezd\'es}% \def\FancyVerbLineautorefname{sor}% \def\theoremautorefname{T\'etel}% \def\pageautorefname{oldal}% } \def\HyLang@portuges{% \def\equationautorefname{Equa\c c\~ao}% \def\footnoteautorefname{Nota de rodap\'e}% \def\itemautorefname{Item}% \def\figureautorefname{Figura}% \def\tableautorefname{Tabela}% \def\partautorefname{Parte}% \def\appendixautorefname{Ap\^endice}% \def\chapterautorefname{Cap\'itulo}% \def\sectionautorefname{Se\c c\~ao}% \def\subsectionautorefname{Subse\c c\~ao}% \def\subsubsectionautorefname{Subsubse\c c\~ao}% \def\paragraphautorefname{par\'agrafo}% \def\subparagraphautorefname{subpar\'agrafo}% \def\FancyVerbLineautorefname{linha}% \def\theoremautorefname{Teorema}% \def\pageautorefname{P\'agina}% } \def\HyLang@russian{% \def\equationautorefname{\cyr\cyrv\cyrery\cyrr.}% \def\footnoteautorefname{% \cyr\cyrp\cyro\cyrd\cyrs\cyrt\cyrr.\ \cyrp\cyrr\cyri\cyrm.% }% \def\itemautorefname{\cyr\cyrp.}% \def\figureautorefname{\cyr\cyrr\cyri\cyrs.}% \def\tableautorefname{\cyr\cyrt\cyra\cyrb\cyrl.}% \def\partautorefname{\cyr\cyrch.}% \def\chapterautorefname{\cyr\cyrg\cyrl.}% \def\sectionautorefname{\cyr\cyrr\cyra\cyrz\cyrd.}% \def\appendixautorefname{\cyr\cyrp\cyrr\cyri\cyrl.}% \def\subsectionautorefname{\cyr\cyrr\cyra\cyrz\cyrd.}% \def\subsubsectionautorefname{\cyr\cyrr\cyra\cyrz\cyrd.}% \def\paragraphautorefname{\cyr\cyrp.}% \def\subparagraphautorefname{\cyr\cyrp.}% \def\FancyVerbLineautorefname{\cyr\cyrs\cyrt\cyrr.}% \def\theoremautorefname{\cyr\cyrt\cyre\cyro\cyrr.}% \def\pageautorefname{\cyr\cyrs.}% } \def\HyLang@spanish{% \def\equationautorefname{Ecuaci\'on}% \def\footnoteautorefname{Nota a pie de p\'agina}% \def\itemautorefname{Elemento}% \def\figureautorefname{Figura}% \def\tableautorefname{Tabla}% \def\partautorefname{Parte}% \def\appendixautorefname{Ap\'endice}% \def\chapterautorefname{Cap\'itulo}% \def\sectionautorefname{Secci\'on}% \def\subsectionautorefname{Subsecci\'on}% \def\subsubsectionautorefname{Subsubsecci\'on}% \def\paragraphautorefname{P\'arrafo}% \def\subparagraphautorefname{Subp\'arrafo}% \def\FancyVerbLineautorefname{L\'inea}% \def\theoremautorefname{Teorema}% \def\pageautorefname{P\'agina}% } \def\HyLang@catalan{% \def\equationautorefname{Equaci\'o}% \def\footnoteautorefname{Nota al peu de p\`agina}% \def\itemautorefname{Element}% \def\figureautorefname{Figura}% \def\tableautorefname{Taula}% \def\partautorefname{Part}% \def\appendixautorefname{Ap\`endix}% \def\chapterautorefname{Cap\'itol}% \def\sectionautorefname{Secci\'o}% \def\subsectionautorefname{Subsecci\'o}% \def\subsubsectionautorefname{Subsubsecci\'o}% \def\paragraphautorefname{Par\`agraf}% \def\subparagraphautorefname{Subpar\`agraf}% \def\FancyVerbLineautorefname{L\'inia}% \def\theoremautorefname{Teorema}% \def\pageautorefname{P\`agina}% } \def\HyLang@vietnamese{% \def\equationautorefname{Ph\uhorn{}\ohorn{}ng tr\`inh}% \def\footnoteautorefname{Ch\'u th\'ich}% \def\itemautorefname{m\d{u}c}% \def\figureautorefname{H\`inh}% \def\tableautorefname{B\h{a}ng}% \def\partautorefname{Ph\`\acircumflex{}n}% \def\appendixautorefname{Ph\d{u} l\d{u}c}% \def\chapterautorefname{ch\uhorn{}\ohorn{}ng}% \def\sectionautorefname{m\d{u}c}% \def\subsectionautorefname{m\d{u}c}% \def\subsubsectionautorefname{m\d{u}c}% \def\paragraphautorefname{\dj{}o\d{a}n}% \def\subparagraphautorefname{\dj{}o\d{a}n}% \def\FancyVerbLineautorefname{d\`ong}% \def\theoremautorefname{\DJ{}\d{i}nh l\'y}% \def\pageautorefname{Trang}% } \def\HyLang@greek{% \def\equationautorefname{\textEpsilon\textxi\acctonos\textiota\textsigma\textomega\textsigma\texteta}% \def\footnoteautorefname{\textupsilon\textpi\textomicron\textsigma\texteta\textmu\textepsilon\acctonos\textiota\textomega\textsigma\texteta}% \def\itemautorefname{\textalpha\textnu\texttau\textiota\textkappa\textepsilon\acctonos\textiota\textmu\textepsilon\textnu\textomicron}% \def\figureautorefname{\textSigma\textchi\acctonos\texteta\textmu\textalpha}% \def\tableautorefname{\textPi\acctonos\textiota\textnu\textalpha\textkappa\textalpha}% \def\partautorefname{\textMu\acctonos\textepsilon\textrho\textomicron\textvarsigma}% \def\appendixautorefname{\textPi\textalpha\textrho\acctonos\textalpha\textrho\texttau\texteta\textmu\textalpha}% \def\chapterautorefname{\textkappa\textepsilon\textphi\acctonos\textalpha\textlambda\textalpha\textiota\textomicron}% \def\sectionautorefname{\textepsilon\textnu\acctonos\textomicron\texttau\texteta\texttau\textalpha}% \def\subsectionautorefname{\textupsilon\textpi\textomicron\textepsilon\textnu\acctonos\textomicron\texttau\texteta\texttau\textalpha}% \def\subsubsectionautorefname{\textupsilon\textpi\textomicron-\textupsilon\textpi\textomicron\textepsilon\textnu\acctonos\textomicron\texttau\texteta\texttau\textalpha}% \def\paragraphautorefname{\textpi\textalpha\textrho\acctonos\textalpha\textgamma\textrho\textalpha\textphi\textomicron\textvarsigma}% \def\subparagraphautorefname{\textupsilon\textpi\textomicron\textpi\textalpha\textrho\acctonos\textalpha\textgamma\textrho\textalpha\textphi\textomicron\textvarsigma}% \def\FancyVerbLineautorefname{\textgamma\textrho\textalpha\textmu\textmu\acctonos\texteta}% \def\theoremautorefname{\textTheta\textepsilon\acctonos\textomega\textrho\texteta\textmu\textalpha}% \def\pageautorefname{\textsigma\textepsilon\textlambda\acctonos\textiota\textdelta\textalpha}% } \def\HyLang@dutch{% \def\equationautorefname{Vergelijking}% \def\footnoteautorefname{voetnoot}% \def\itemautorefname{punt}% \def\figureautorefname{Figuur}% \def\tableautorefname{Tabel}% \def\partautorefname{Deel}% \def\appendixautorefname{Bijlage}% \def\chapterautorefname{hoofdstuk}% \def\sectionautorefname{paragraaf}% \def\subsectionautorefname{deelparagraaf}% \def\subsubsectionautorefname{deel-deelparagraaf}% \def\paragraphautorefname{alinea}% \def\subparagraphautorefname{deelalinea}% \def\FancyVerbLineautorefname{regel}% \def\theoremautorefname{Stelling}% \def\pageautorefname{pagina}% } \def\HyLang@norsk{% \def\equationautorefname{Ligning}% \def\footnoteautorefname{fotnote}% \def\itemautorefname{element}% \def\figureautorefname{Figur}% \def\tableautorefname{Tabell}% \def\partautorefname{Del}% \def\appendixautorefname{Tillegg}% \def\chapterautorefname{kapittel}% \def\sectionautorefname{seksjon}% \def\subsectionautorefname{underseksjon}% \def\subsubsectionautorefname{under-underseksjon}% \def\paragraphautorefname{avsnitt}% \def\subparagraphautorefname{underavsnitt}% \def\FancyVerbLineautorefname{Linje}% \def\theoremautorefname{Teorem}% \def\pageautorefname{side}% } \def\HyLang@danish{% \def\equationautorefname{Ligning}% \def\footnoteautorefname{fodnote}% \def\itemautorefname{element}% \def\figureautorefname{Figur}% \def\tableautorefname{Tabel}% \def\partautorefname{Del}% \def\appendixautorefname{Bilag}% \def\chapterautorefname{kapitel}% \def\sectionautorefname{sektion}% \def\subsectionautorefname{under-sektion}% \def\subsubsectionautorefname{under-under-sektion}% \def\paragraphautorefname{afsnit}% \def\subparagraphautorefname{underafsnit}% \def\FancyVerbLineautorefname{linje}% \def\theoremautorefname{Teorem}% \def\pageautorefname{side}% } \def\HyLang@swedish{% \def\equationautorefname{Ekvation}% \def\footnoteautorefname{fotnot}% \def\itemautorefname{punkt}% \def\figureautorefname{Figur}% \def\tableautorefname{Tabell}% \def\partautorefname{Del}% \def\appendixautorefname{Bilaga}% \def\chapterautorefname{kapitel}% \def\sectionautorefname{avsnitt}% \def\subsectionautorefname{underavsnitt}% \def\subsubsectionautorefname{under-underavsnitt}% \def\paragraphautorefname{paragraf}% \def\subparagraphautorefname{underparagraf}% \def\FancyVerbLineautorefname{linje}% \def\theoremautorefname{Teorem}% \def\pageautorefname{sida}% } \def\HyLang@addto#1#2{% #2% \@temptokena{#2}% \ifx#1\relax \let#1\@empty \fi \ifx#1\@undefined \edef#1{\the\@temptokena}% \else \toks@\expandafter{#1}% \edef#1{\the\toks@\the\@temptokena}% \fi \@temptokena{}\toks@\@temptokena } \def\HyLang@DeclareLang#1#2#3{% \ifcsname extras#1\endcsname \expandafter\HyLang@addto \csname extras#1\expandafter\endcsname \csname HyLang@#2\endcsname \begingroup \edef\x{\endgroup #3% }% \x \@namedef{HyLang@#1@done}{}% \fi \begingroup \edef\x##1##2{% \noexpand\ifx##2\relax \errmessage{No definitions for language #2' found!}% \noexpand\fi \endgroup \noexpand\define@key{Hyp}{#1}[]{% \noexpand\@ifundefined{HyLang@#1@done}{% \noexpand\HyLang@addto{\noexpand##1}{\noexpand##2}% #3% \noexpand\@namedef{HyLang@#1@done}{}% }{}% }% }% \expandafter\x\csname extras#1\expandafter\endcsname \csname HyLang@#2\endcsname } \HyLang@DeclareLang{english}{english}{} \HyLang@DeclareLang{UKenglish}{english}{} \HyLang@DeclareLang{british}{english}{} \HyLang@DeclareLang{USenglish}{english}{} \HyLang@DeclareLang{american}{english}{} \HyLang@DeclareLang{german}{german}{} \HyLang@DeclareLang{austrian}{german}{} \HyLang@DeclareLang{ngerman}{german}{} \HyLang@DeclareLang{naustrian}{german}{} \HyLang@DeclareLang{nswissgerman}{german}{} \HyLang@DeclareLang{swissgerman}{german}{} \HyLang@DeclareLang{russian}{russian}{\noexpand\hypersetup{unicode}} \HyLang@DeclareLang{brazil}{portuges}{} \HyLang@DeclareLang{brazilian}{portuges}{} \HyLang@DeclareLang{portuguese}{portuges}{} \HyLang@DeclareLang{spanish}{spanish}{} \HyLang@DeclareLang{catalan}{catalan}{} \HyLang@DeclareLang{afrikaans}{afrikaans}{} \HyLang@DeclareLang{french}{french}{} \HyLang@DeclareLang{frenchb}{french}{} \HyLang@DeclareLang{francais}{french}{} \HyLang@DeclareLang{acadian}{french}{} \HyLang@DeclareLang{canadien}{french}{} \HyLang@DeclareLang{italian}{italian}{} \HyLang@DeclareLang{magyar}{magyar}{} \HyLang@DeclareLang{hungarian}{magyar}{} \HyLang@DeclareLang{greek}{greek}{} \HyLang@DeclareLang{dutch}{dutch}{} \HyLang@DeclareLang{norsk}{norsk}{} \HyLang@DeclareLang{norwegian}{norsk}{} \HyLang@DeclareLang{danish}{danish}{} \HyLang@DeclareLang{swedish}{swedish}{} \DeclareVoidOption{vietnamese}{% \HyLang@addto\extrasvietnamese\HyLang@vietnamese \Hy@AtEndOfPackage{% \@ifundefined{T@PU}{}{% \input{puvnenc.def}% }% }% } \DeclareVoidOption{vietnam}{% \HyLang@addto\extrasvietnam\HyLang@vietnamese \Hy@AtEndOfPackage{% \@ifundefined{T@PU}{}{% \input{puvnenc.def}% }% }% } \DeclareVoidOption{arabic}{% \Hy@AtEndOfPackage{% \@ifundefined{T@PU}{}{% \input{puarenc.def}% }% }% } \define@key{Hyp}{colorlinks}[true]{% \Hy@boolkey{colorlinks}{#1}% } \DeclareVoidOption{hidelinks}{% \Hy@colorlinksfalse \Hy@ocgcolorlinksfalse \Hy@frenchlinksfalse \def\Hy@colorlink##1{\begingroup}% \def\Hy@endcolorlink{\endgroup}% \def\@pdfborder{0 0 0}% \let\@pdfborderstyle\@empty } \define@key{Hyp}{ocgcolorlinks}[true]{% \Hy@boolkey{ocgcolorlinks}{#1}% } \Hy@AtBeginDocument{% \begingroup \@ifundefined{OBJ@OCG@view}{% \ifHy@ocgcolorlinks \Hy@Warning{% Driver does not support `ocgcolorlinks',\MessageBreak using `colorlinks' instead% }% \fi }{}% \endgroup } \define@key{Hyp}{frenchlinks}[true]{% \Hy@boolkey{frenchlinks}{#1}% } \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname chapter\endcsname\relax \def\toclevel@part{0}% \else \def\toclevel@part{-1}% \fi \def\toclevel@chapter{0} \def\toclevel@section{1} \def\toclevel@subsection{2} \def\toclevel@subsubsection{3} \def\toclevel@paragraph{4} \def\toclevel@subparagraph{5} \def\toclevel@figure{0} \def\toclevel@table{0} \define@key{Hyp}{bookmarks}[true]{% \Hy@boolkey{bookmarks}{#1}% } \define@key{Hyp}{bookmarksopen}[true]{% \Hy@boolkey{bookmarksopen}{#1}% } \let\Hy@bookmarksdepth\c@tocdepth \define@key{Hyp}{bookmarksdepth}[]{% \begingroup \edef\x{#1}% \ifx\x\empty \global\let\Hy@bookmarksdepth\c@tocdepth \else \@ifundefined{toclevel@\x}{% \@onelevel@sanitize\x \edef\y{\expandafter\@car\x\@nil}% \ifcase 0\expandafter\ifx\y-1\fi \expandafter\ifnum\expandafter`\y>47 % \expandafter\ifnum\expandafter`\y<58 1\fi\fi\relax \Hy@Warning{Unknown document division name (\x)}% \else \setbox\z@=\hbox{% \count@=\x \xdef\Hy@bookmarksdepth{\the\count@}% }% \fi }{% \setbox\z@=\hbox{% \count@=\csname toclevel@\x\endcsname \xdef\Hy@bookmarksdepth{\the\count@}% }% }% \fi \endgroup } \define@key{Hyp}{bookmarksopenlevel}{% \def\@bookmarksopenlevel{#1}% } \def\@bookmarksopenlevel{\maxdimen} \define@key{Hyp}{bookmarkstype}{% \def\Hy@bookmarkstype{#1}% } \def\Hy@bookmarkstype{toc} \define@key{Hyp}{bookmarksnumbered}[true]{% \Hy@boolkey{bookmarksnumbered}{#1}% } \define@key{Hyp}{CJKbookmarks}[true]{% \Hy@boolkey{CJKbookmarks}{#1}% } \def\Hy@temp#1{% \expandafter\Hy@@temp\csname @#1color\endcsname{#1}% } \def\Hy@@temp#1#2#3{% \define@key{Hyp}{#2color}{% \HyColor@HyperrefColor{##1}#1% }% \def#1{#3}% } \Hy@temp{link}{red} \Hy@temp{anchor}{black} \Hy@temp{cite}{green} \Hy@temp{file}{cyan} \Hy@temp{url}{magenta} \Hy@temp{menu}{red} \Hy@temp{run}{\@filecolor} \define@key{Hyp}{pagecolor}{% \Hy@WarningPageColor } \def\Hy@WarningPageColor{% \Hy@WarningNoLine{Option `pagecolor' is not available anymore}% \global\let\Hy@WarningPageColor\relax } \define@key{Hyp}{allcolors}{% \HyColor@HyperrefColor{#1}\@linkcolor \HyColor@HyperrefColor{#1}\@anchorcolor \HyColor@HyperrefColor{#1}\@citecolor \HyColor@HyperrefColor{#1}\@filecolor \HyColor@HyperrefColor{#1}\@urlcolor \HyColor@HyperrefColor{#1}\@menucolor \HyColor@HyperrefColor{#1}\@runcolor } \def\hyperbaseurl#1{\def\@baseurl{#1}} \define@key{Hyp}{baseurl}{\hyperbaseurl{#1}} \let\@baseurl\@empty \def\hyperlinkfileprefix#1{\def\Hy@linkfileprefix{#1}} \define@key{Hyp}{linkfileprefix}{\hyperlinkfileprefix{#1}} \hyperlinkfileprefix{file:} \let\@pdfpagetransition\relax \define@key{Hyp}{pdfpagetransition}{% \def\@pdfpagetransition{#1}% } \let\@pdfpageduration\relax \define@key{Hyp}{pdfpageduration}{% \def\@pdfpageduration{#1}% \Hy@Match\@pdfpageduration{}{% ^(|[0-9]+\.?[0-9]*|[0-9]*\.?[0-9]+)$% }{}{% \Hy@Warning{% Invalid value `\@pdfpageduration'\MessageBreak of option `pdfpageduration'\MessageBreak is replaced by an empty value% }% \let\@pdfpageduration\@empty }% } \def\Hy@ColorList{cite,file,link,menu,run,url} \@for\Hy@temp:=\Hy@ColorList\do{% \edef\Hy@temp{% \noexpand\define@key{Hyp}{\Hy@temp bordercolor}{% \noexpand\HyColor@HyperrefBorderColor {##1}% \expandafter\noexpand\csname @\Hy@temp bordercolor\endcsname {hyperref}% {\Hy@temp bordercolor}% }% }% \Hy@temp } \define@key{Hyp}{pagebordercolor}{% \Hy@WarningPageBorderColor } \def\Hy@WarningPageBorderColor{% \Hy@WarningNoLine{Option `pagebordercolor' is not available anymore}% \global\let\Hy@WarningPageBorderColor\relax } \define@key{Hyp}{allbordercolors}{% \def\Hy@temp##1##2{% \HyColor@HyperrefBorderColor{#1}##1{hyperref}{##2bordercolor}% }% \Hy@temp\@citebordercolor{cite}% \Hy@temp\@filebordercolor{file}% \Hy@temp\@linkbordercolor{link}% \Hy@temp\@menubordercolor{menu}% \Hy@temp\@runbordercolor{run}% \Hy@temp\@urlbordercolor{url}% } \define@key{Hyp}{pdfhighlight}{\def\@pdfhighlight{#1}} \Hy@DefNameKey{pdfhighlight}{% \do{/I}{Invert}% \do{/N}{None}% \do{/O}{Outline}% \do{/P}{Push}% } \def\Hy@setpdfhighlight{% \ifx\@pdfhighlight\@empty \else /H\@pdfhighlight \fi } \define@key{Hyp}{pdfborder}{% \let\Hy@temp\@pdfborder \def\@pdfborder{#1}% \Hy@Match\@pdfborder{}{% ^\HyPat@NonNegativeReal/ % \HyPat@NonNegativeReal/ % \HyPat@NonNegativeReal/% ( ?\[\HyPat@NonNegativeReal/( \HyPat@NonNegativeReal/)*])?$% }{}{% \Hy@Warning{% Invalid value `\@pdfborder'\MessageBreak for option `pdfborder'.\MessageBreak Option setting is ignored% }% \let\@pdfborder\Hy@temp }% } \define@key{Hyp}{pdfborderstyle}{% \let\Hy@temp\@pdfborderstyle \def\@pdfborderstyle{#1}% \Hy@Match\@pdfborderstyle{}{% ^% ( */Type */Border% | */W +\HyPat@NonNegativeReal/% | */S */[SDBIU]% | */D *\[ *(\HyPat@NonNegativeReal/( \HyPat@NonNegativeReal/)?)?]% )* *$% }{}{% \Hy@Warning{% Invalid value `\@pdfborderstyle'\MessageBreak for option `pdfborderstyle'.\MessageBreak Option setting is ignored% }% \let\@pdfborderstyle\Hy@temp }% } \def\Hy@setpdfborder{% \ifx\@pdfborder\@empty \else /Border[\@pdfborder]% \fi \ifx\@pdfborderstyle\@empty \else /BS<<\@pdfborderstyle>>% \fi } \Hy@DefNameKey{pdfpagemode}{% \do{UseNone}{}% \do{UseOutlines}{}% \do{UseThumbs}{}% \do{FullScreen}{}% \do{UseOC}{PDF 1.5}% \do{UseAttachments}{PDF 1.6}% } \Hy@DefNameKey{pdfnonfullscreenpagemode}{% \do{UseNone}{}% \do{UseOutlines}{}% \do{UseThumbs}{}% \do{FullScreen}{}% \do{UseOC}{PDF 1.5}% \do{UseAttachments}{PDF 1.6}% } \Hy@DefNameKey{pdfdirection}{% \do{L2R}{Left to right}% \do{R2L}{Right to left}% } \Hy@DefNameKey{pdfviewarea}{% \do{MediaBox}{}% \do{CropBox}{}% \do{BleedBox}{}% \do{TrimBox}{}% \do{ArtBox}{}% } \Hy@DefNameKey{pdfviewclip}{% \do{MediaBox}{}% \do{CropBox}{}% \do{BleedBox}{}% \do{TrimBox}{}% \do{ArtBox}{}% } \Hy@DefNameKey{pdfprintarea}{% \do{MediaBox}{}% \do{CropBox}{}% \do{BleedBox}{}% \do{TrimBox}{}% \do{ArtBox}{}% } \Hy@DefNameKey{pdfprintclip}{% \do{MediaBox}{}% \do{CropBox}{}% \do{BleedBox}{}% \do{TrimBox}{}% \do{ArtBox}{}% } \Hy@DefNameKey{pdfprintscaling}{% \do{AppDefault}{}% \do{None}{}% } \Hy@DefNameKey{pdfduplex}{% \do{Simplex}{}% \do{DuplexFlipShortEdge}{}% \do{DuplexFlipLongEdge}{}% } \Hy@DefNameKey{pdfpicktraybypdfsize}{% \do{true}{}% \do{false}{}% } \define@key{Hyp}{pdfprintpagerange}{% \def\@pdfprintpagerange{#1}% } \Hy@DefNameKey{pdfnumcopies}{% \do{2}{two copies}% \do{3}{three copies}% \do{4}{four copies}% \do{5}{five copies}% } \define@key{Hyp}{pdfusetitle}[true]{% \Hy@boolkey{pdfusetitle}{#1}% } \def\HyXeTeX@CheckUnicode{% \ifxetex \ifHy@unicode \else \Hy@WarningNoLine{% XeTeX driver only supports unicode.\MessageBreak Enabling option `unicode'% }% \kvsetkeys{Hyp}{unicode}% \fi \else \let\HyXeTeX@CheckUnicode\relax \fi } \def\HyPsd@PrerenderUnicode#1{% \begingroup \expandafter\ifx\csname PrerenderUnicode\endcsname\relax \else \sbox0{% \let\GenericInfo\@gobbletwo \let\GenericWarning\@gobbletwo \let\GenericError\@gobblefour \PrerenderUnicode{#1}% }% \fi \endgroup } \define@key{Hyp}{pdftitle}{% \AddToDocumentProperties[hyperref]{pdftitle}{#1}% \HyXeTeX@CheckUnicode \HyPsd@PrerenderUnicode{#1}% \pdfstringdef\@pdftitle{#1}% } \define@key{Hyp}{pdfauthor}{% \AddToDocumentProperties[hyperref]{pdfauthor}{#1}% \HyXeTeX@CheckUnicode \HyPsd@PrerenderUnicode{#1}% \pdfstringdef\@pdfauthor{#1}% } \define@key{Hyp}{pdfproducer}{% \AddToDocumentProperties[hyperref]{pdfproducer}{#1}% \HyXeTeX@CheckUnicode \HyPsd@PrerenderUnicode{#1}% \pdfstringdef\@pdfproducer{#1}% } \define@key{Hyp}{pdfcreator}{% \AddToDocumentProperties[hyperref]{pdfcreator}{#1}% \HyXeTeX@CheckUnicode \HyPsd@PrerenderUnicode{#1}% \pdfstringdef\@pdfcreator{#1}% } \define@key{Hyp}{addtopdfcreator}{% \HyXeTeX@CheckUnicode \HyPsd@PrerenderUnicode{#1}% \pdfstringdef\@pdfcreator{\@pdfcreator, #1}% } \define@key{Hyp}{pdfcreationdate}{% \begingroup \Hy@unicodefalse \pdfstringdef\@pdfcreationdate{#1}% \endgroup } \define@key{Hyp}{pdfmoddate}{% \begingroup \Hy@unicodefalse \pdfstringdef\@pdfmoddate{#1}% \endgroup } \define@key{Hyp}{pdfsubject}{% \AddToDocumentProperties[hyperref]{pdfsubject}{#1}% \HyXeTeX@CheckUnicode \HyPsd@PrerenderUnicode{#1}% \pdfstringdef\@pdfsubject{#1}% } \define@key{Hyp}{pdfkeywords}{% \AddToDocumentProperties[hyperref]{pdfkeywords}{#1}% \HyXeTeX@CheckUnicode \HyPsd@PrerenderUnicode{#1}% \pdfstringdef\@pdfkeywords{#1}% } \define@key{Hyp}{pdftrapped}{% \lowercase{\edef\Hy@temp{#1}}% \ifx\Hy@temp\HyInfo@trapped@true \def\@pdftrapped{True}% \else \ifx\Hy@temp\HyInfo@trapped@false \def\@pdftrapped{False}% \else \ifx\Hy@temp\HyInfo@trapped@unknown \def\@pdftrapped{Unknown}% \else \ifx\Hy@temp\@empty \else \Hy@Warning{% Unsupported value `#1'\MessageBreak for option `pdftrapped'% }% \fi \def\@pdftrapped{}% \fi \fi \fi } \def\HyInfo@trapped@true{true} \def\HyInfo@trapped@false{false} \def\HyInfo@trapped@unknown{unknown} \def\HyInfo@TrappedUnsupported{% \ifx\@pdftrapped\@empty \else \Hy@WarningNoLine{`pdftrapped' is not supported by this driver}% \gdef\HyInfo@TrappedUnsupported{}% \fi } \define@key{Hyp}{pdfinfo}{% \kvsetkeys{pdfinfo}{#1}% } \def\Hy@temp#1{% \lowercase{\Hy@temp@A{#1}}{#1}% } \def\Hy@temp@A#1#2{% \define@key{pdfinfo}{#2}{% \hypersetup{pdf#1={##1}}% }% } \Hy@temp{Title} \Hy@temp{Author} \Hy@temp{Keywords} \Hy@temp{Subject} \Hy@temp{Creator} \Hy@temp{Producer} \Hy@temp{CreationDate} \Hy@temp{ModDate} \Hy@temp{Trapped} \newif\ifHyInfo@AddonUnsupported \kv@set@family@handler{pdfinfo}{% \HyInfo@AddonHandler{#1}{#2}% } \let\HyInfo@do\relax \def\HyInfo@AddonHandler#1#2{% \ifx\kv@value\relax \Hy@Warning{% Option `pdfinfo': ignoring key `\kv@key' without value% }% \else \EdefEscapeName\HyInfo@KeyEscaped{\kv@key}% \EdefUnescapeName\HyInfo@Key{\HyInfo@KeyEscaped}% \expandafter\ifx\csname KV@pdfinfo@\HyInfo@Key\endcsname\relax \ifHyInfo@AddonUnsupported \Hy@Warning{% This driver does not support additional\MessageBreak information entries, therefore\MessageBreak `\kv@key' is ignored% }% \else \def\HyInfo@tmp##1{% \kv@define@key{pdfinfo}{##1}{% \HyXeTeX@CheckUnicode \HyPsd@PrerenderUnicode{####1}% \pdfstringdef\HyInfo@Value{####1}% \global\expandafter \let\csname HyInfo@Value@##1\endcsname \HyInfo@Value }% }% \expandafter\HyInfo@tmp\expandafter{\HyInfo@Key}% \global\expandafter \let\csname KV@pdfinfo@\HyInfo@Key\expandafter\endcsname \csname KV@pdfinfo@\HyInfo@Key\endcsname \xdef\HyInfo@AddonList{% \HyInfo@AddonList \HyInfo@do{\HyInfo@Key}% }% \expandafter\kv@parse@normalized\expandafter{% \HyInfo@Key={#2}% }{% \kv@processor@default{pdfinfo}% }% \fi \else \expandafter\kv@parse@normalized\expandafter{% \HyInfo@Key={#2}% }{% \kv@processor@default{pdfinfo}% }% \fi \fi } \def\HyInfo@GenerateAddons{% \ifHyInfo@AddonUnsupported \def\HyInfo@Addons{}% \else \begingroup \toks@{}% \def\HyInfo@do##1{% \EdefEscapeName\HyInfo@Key{##1}% \edef\x{% \toks@{% \the\toks@ /\HyInfo@Key(\csname HyInfo@Value@##1\endcsname)% }% }% \x }% \HyInfo@AddonList \edef\x{\endgroup \def\noexpand\HyInfo@Addons{\the\toks@}% }% \x \fi } \global\let\HyInfo@AddonList\@empty \define@key{Hyp}{pdfview}{\calculate@pdfview#1 \\} \define@key{Hyp}{pdflinkmargin}{\setpdflinkmargin{#1}} \let\setpdflinkmargin\@gobble \def\calculate@pdfview#1 #2\\{% \def\@pdfview{#1}% \ifx\\#2\\% \def\@pdfviewparams{ -32768}% \else \def\@pdfviewparams{ #2}% \fi } \def\Hy@number#1{% \the\numexpr#1\relax }% \define@key{Hyp}{pdfstartpage}{% \ifx\\#1\\% \let\@pdfstartpage\@empty \else \edef\@pdfstartpage{\Hy@number{#1}}% \fi }% \define@key{Hyp}{pdfstartview}{% \ifx\\#1\\% \let\@pdfstartview\@empty \else \def\@pdfstartview{/#1}% \fi } \def\HyPat@NonNegativeReal/{% \ *([0-9]+\.?[0-9]*|[0-9]*\.?[0-9]+) *% } \define@key{Hyp}{pdfremotestartview}{% \ifx\\#1\\% \def\@pdfremotestartview{/Fit}% \else \edef\@pdfremotestartview{#1}% \Hy@Match\@pdfremotestartview{}{% ^(XYZ(% ()| % (null|-?\HyPat@NonNegativeReal/) % (null|-?\HyPat@NonNegativeReal/) % (null|\HyPat@NonNegativeReal/)% )|% end of "XYZ" Fit(% ()|% B|% (H|V|BH|BV)(% ()| % (null|\HyPat@NonNegativeReal/)% )|% R % \HyPat@NonNegativeReal/ % \HyPat@NonNegativeReal/ % \HyPat@NonNegativeReal/ % \HyPat@NonNegativeReal/% )% end of "Fit" )$% }{}{% \Hy@Warning{% Invalid value `\@pdfremotestartview'\MessageBreak of `pdfremotestartview'\MessageBreak is replaced by `Fit'% }% \let\@pdfremotestartview\@empty }% \ifx\@pdfremotestartview\@empty \def\@pdfremotestartview{/Fit}% \else \edef\@pdfremotestartview{/\@pdfremotestartview}% \fi \fi } \define@key{Hyp}{pdfpagescrop}{\edef\@pdfpagescrop{#1}} \define@key{Hyp}{pdftoolbar}[true]{% \Hy@boolkey{pdftoolbar}{#1}% } \define@key{Hyp}{pdfmenubar}[true]{% \Hy@boolkey{pdfmenubar}{#1}% } \define@key{Hyp}{pdfwindowui}[true]{% \Hy@boolkey{pdfwindowui}{#1}% } \define@key{Hyp}{pdffitwindow}[true]{% \Hy@boolkey{pdffitwindow}{#1}% } \define@key{Hyp}{pdfcenterwindow}[true]{% \Hy@boolkey{pdfcenterwindow}{#1}% } \define@key{Hyp}{pdfdisplaydoctitle}[true]{% \Hy@boolkey{pdfdisplaydoctitle}{#1}% } \define@key{Hyp}{pdfa}[true]{% \Hy@boolkey{pdfa}{#1}% } \define@key{Hyp}{pdfnewwindow}[true]{% \def\Hy@temp{#1}% \ifx\Hy@temp\@empty \Hy@pdfnewwindowsetfalse \else \Hy@pdfnewwindowsettrue \Hy@boolkey{pdfnewwindow}{#1}% \fi } \def\Hy@SetNewWindow{% \ifHy@pdfnewwindowset /NewWindow % \ifHy@pdfnewwindow true\else false\fi \fi } \Hy@DefNameKey{pdfpagelayout}{% \do{SinglePage}{}% \do{OneColumn}{}% \do{TwoColumnLeft}{}% \do{TwoColumnRight}{}% \do{TwoPageLeft}{PDF 1.5}% \do{TwoPageRight}{PDF 1.5}% } \define@key{Hyp}{pdflang}{% \edef\@pdflang{#1}% \def\Hy@temp{\relax}% \ifx\@pdflang\Hy@temp \let\@pdflang\relax \fi \ifx\@pdflang\relax \else \ifx\@pdflang\@empty \else \Hy@Match\@pdflang{icase}{% ^% [a-z]{1,8}% (-[a-z0-9]{1,8})*% $% }{% \Hy@Match\@pdflang{icase}{% ^% (% % langtag (% language [a-z]{2,3}% ([a-z]{3}(-[a-z]{3}){0,2})?% extlang |[a-z]{4}% reserved for future use |[a-z]{5,8}% registered language subtag )% (-[a-z]{4})?% script (-([a-z]{2}|[0-9]{3}))?% region (-([a-z]{5,8}|[0-9][a-z0-9]{3}))*% variant (-[0-9a-wyz](-[a-z0-9]{2,8})+)*% extension (-x(-[a-z0-9]{1,8})+)?% privateuse % privateuse |x-([a-z0-9]{1,8})+% % grandfathered/irregular |en-GB-oed% |i-(ami|bnn|default|enochian|hak|klingon|lux|% mingo|navajo|pwn|tao|tay|tsu)% |sgn-(BE-FR|BE-NL|CH-DE)% % grandfathered/regular |art-lojban% |cel-gaulish% |no-(bok|nyn)% |zh-(guoyu|hakka|min|min-nan|xiang)% )% $% }{% \Hy@Match{-\@pdflang}{icase}{-[a-wyz0-9]-}{% \Hy@Match\@pdflang{icase}{^x-}{}{% % remove privateuse \edef\Hy@temp{-\@pdflang}% \Hy@Match\Hy@temp{icase}{% ^% (% (-[a-wyz0-9]|-[a-z0-9]{2,8})*% )% -x-% }{% \edef\Hy@temp{% \expandafter\strip@prefix\pdflastmatch1% }% }{}% \Hy@Match\Hy@temp{icase}{% (-[a-wyz0-9]-).*\@backslashchar1% }{% \Hy@Warning{% Invalid language identifier `#1'\MessageBreak for option `pdflang', because it violates\MessageBreak well-formedness defined in RFC 4646\MessageBreak by duplicate singleton subtags% }% \let\@pdflang\relax }{}% }% }{}% \ifx\@pdflang\relax \else \Hy@Match\@pdflang{icase}{% ^% [a-zA-Z]{2}-% (% aa|AA|% [qQ][m-zM-Z]|% [xX][a-zA-Z]|% zz|ZZ% )% (-|$)% }{% \Hy@Warning{% Invalid language identifier `#1'\MessageBreak for option `pdflang' because of invalid country code% \MessageBreak in second subtag (RFC 3066)% }% \let\@pdflang\relax }{}% \fi }{% \Hy@Warning{% Invalid language identifier `#1'\MessageBreak for option `pdflang', because it violates\MessageBreak well-formedness defined in RFC 5646% }% \let\@pdflang\relax }% }{% \Hy@Warning{% Invalid language identifier `#1'\MessageBreak for option `pdflang' (RFC 3066)% }% \let\@pdflang\relax }% \fi \fi } \define@key{Hyp}{pdfpagelabels}[true]{% \Hy@boolkey{pdfpagelabels}{#1}% } \define@key{Hyp}{pdfescapeform}[true]{% \Hy@boolkey{pdfescapeform}{#1}% } \def\@linkbordercolor{1 0 0} \def\@urlbordercolor{0 1 1} \def\@menubordercolor{1 0 0} \def\@filebordercolor{0 .5 .5} \def\@runbordercolor{0 .7 .7} \def\@citebordercolor{0 1 0} \def\@pdfhighlight{/I} \let\@pdftitle\@empty \let\@pdfauthor\@empty \let\@pdfproducer\relax \def\@pdfcreator{LaTeX with hyperref} \let\@pdfcreationdate\@empty \let\@pdfmoddate\@empty \let\@pdfsubject\@empty \let\@pdfkeywords\@empty \let\@pdftrapped\@empty \let\@pdfpagescrop\@empty \def\@pdfstartview{/Fit} \def\@pdfremotestartview{/Fit} \def\@pdfstartpage{1} \let\@pdfprintpagerange\@empty \let\@pdflang\relax \let\PDF@SetupDoc\@empty \let\PDF@FinishDoc\@empty \let\phantomsection\@empty \let\special@paper\@empty \def\HyperDestNameFilter#1{#1} \Hy@AtBeginDocument{% \begingroup \edef\x{\ifdim\stockheight>\z@ \stockheight\else\paperheight\fi}% \dimen@=\x\relax \ifdim\dimen@>\z@ \else \dimen@=11in\relax \Hy@WarningNoLine{% Height of page (\expandafter\string\x) % is invalid (\the\x),\MessageBreak using 11in% }% \fi \dimen@=0.99626401\dimen@ \xdef\Hy@pageheight{\strip@pt\dimen@}% \endgroup } \def\HyInd@EncapChar{\|} \let\hyper@normalise\ExecuteOptions \let\ExecuteOptions\hypersetup \Hy@RestoreCatcodes \InputIfFileExists{hyperref.cfg}{}{} \Hy@SetCatcodes \let\ExecuteOptions\hyper@normalise \ifx\Hy@MaybeStopNow\relax \else \Hy@stoppedearlytrue \expandafter\Hy@MaybeStopNow \fi \Hy@stoppedearlyfalse \SetupKeyvalOptions{family=Hyp} \DeclareLocalOptions{% a4paper,a5paper,b5paper,letterpaper,legalpaper,executivepaper% } \@ifpackagewith{hyperref}{tex4ht}{% }{% \@ifpackageloaded{tex4ht}{% \PassOptionsToPackage{tex4ht}{hyperref}% }{% \@ifundefined{HCode}{% }{% \begingroup \def\Hy@pkg{tex4ht}% \def\Hy@temp@A#1\RequirePackage[#2]#3#4\Hy@NIL{% \def\Hy@param{#2#3}% \ifx\Hy@param\@empty \expandafter\@gobble \else \def\Hy@param{#3}% \ifx\Hy@param\Hy@pkg \PassOptionsToPackage{#2}{tex4ht}% \expandafter\expandafter\expandafter\@gobble \else \expandafter\expandafter\expandafter\@firstofone \fi \fi {\Hy@temp@A#4\Hy@NIL}% }% \expandafter \Hy@temp@A\@documentclasshook\RequirePackage[]{}\Hy@NIL \endgroup \PassOptionsToPackage{tex4ht}{hyperref}% }% }% } \let\ReadBookmarks\relax \ProcessKeyvalOptions{Hyp} \def\Hy@xspace@end{} \@ifundefined{xspaceaddexceptions}{% \Hy@AtBeginDocument{% \@ifundefined{xspaceaddexceptions}{% }{% \def\Hy@xspace@end{% \@gobble{end for xspace}% }% \xspaceaddexceptions{% \Hy@xspace@end,\hyper@linkend,\hyper@anchorend }% }% }% }{% \def\Hy@xspace@end{% \@gobble{end for xspace}% }% \xspaceaddexceptions{\Hy@xspace@end,\hyper@linkend,\hyper@anchorend}% } \Hy@AtBeginDocument{% \ifHy@draft \let\hyper@@anchor\@gobble \gdef\hyper@link#1#2#3{#3\Hy@xspace@end}% \def\hyper@anchorstart#1#2{#2\Hy@xspace@end}% \def\hyper@anchorend{\Hy@xspace@end}% \let\hyper@linkstart\@gobbletwo \def\hyper@linkend{\Hy@xspace@end}% \def\hyper@linkurl#1#2{#1\Hy@xspace@end}% \def\hyper@linkfile#1#2#3{#1\Hy@xspace@end}% \def\hyper@link@[#1]#2#3#4{#4\Hy@xspace@end}% \def\Acrobatmenu#1#2{\leavevmode#2\Hy@xspace@end}% \let\PDF@SetupDoc\@empty \let\PDF@FinishDoc\@empty \let\ReadBookmarks\relax \let\WriteBookmarks\relax \Hy@WarningNoLine{Draft mode on}% \fi \Hy@DisableOption{draft}% \Hy@DisableOption{nolinks}% \Hy@DisableOption{final}% } \Hy@DisableOption{pdfa} \ifHy@pdfa \ifnum \Hy@pdf@majorminor@version< 104 \kvsetkeys{Hyp}{pdfversion=1.4}% \fi \Hy@DisableOption{pdfversion}% \def\Hy@Acrobatmenu#1#2{% \leavevmode \begingroup \edef\x{#1}% \@onelevel@sanitize\x \ifx\x\Hy@NextPage \let\y=Y% \else \ifx\x\Hy@PrevPage \let\y=Y% \else \ifx\x\Hy@FirstPage \let\y=Y% \else \ifx\x\Hy@LastPage \let\y=Y% \else \let\y=N% \fi \fi \fi \fi \expandafter\endgroup \ifx\y Y% \else \Hy@Error{% PDF/A: Named action `#1' is not permitted% }\@ehc {#2}% \expandafter\@gobble \fi }% \def\Hy@temp#1{% \expandafter\def\csname Hy@#1\endcsname{#1}% \expandafter\@onelevel@sanitize\csname Hy@#1\endcsname }% \Hy@temp{NextPage}% \Hy@temp{PrevPage}% \Hy@temp{FirstPage}% \Hy@temp{LastPage}% \else \def\Hy@Acrobatmenu#1#2{\leavevmode}% \fi \def\Hy@wrapper@babel#1#2{% \begingroup \Hy@safe@activestrue \set@display@protect \edef\x{#2}% \@onelevel@sanitize\x \toks@{#1}% \edef\x{\endgroup\the\toks@{\x}}% \x } \def\Hy@WrapperDef#1{% \begingroup \escapechar=\m@ne \xdef\Hy@gtemp{% \expandafter\noexpand\csname HyWrap@\string#1\endcsname }% \endgroup \edef#1{% \noexpand\Hy@wrapper@babel \expandafter\noexpand\Hy@gtemp }% \expandafter\def\Hy@gtemp } \ifHy@hyperfigures \Hy@Info{Hyper figures ON}% \else \Hy@Info{Hyper figures OFF}% \fi \ifHy@nesting \Hy@Info{Link nesting ON}% \else \Hy@Info{Link nesting OFF}% \fi \ifHy@hyperindex \Hy@Info{Hyper index ON}% \else \Hy@Info{Hyper index OFF}% \fi \ifHy@plainpages \Hy@Info{Plain pages ON}% \else \Hy@Info{Plain pages OFF}% \fi \ifHy@backref \Hy@Info{Backreferencing ON}% \else \Hy@Info{Backreferencing OFF}% \fi \ifHy@implicit \Hy@InfoNoLine{Implicit mode ON; LaTeX internals redefined}% \else \Hy@InfoNoLine{Implicit mode OFF; no redefinition of LaTeX internals}% \def\MaybeStopEarly{% \Hy@Message{Stopped early}% \Hy@AtBeginDocument{% \PDF@FinishDoc \gdef\PDF@FinishDoc{}% }% \endinput }% \Hy@AtBeginDocument{% \let\autoref\ref \let\autopageref\pageref \ifx\@pdfpagemode\@empty \gdef\@pdfpagemode{UseNone}% \fi \global\Hy@backreffalse }% \Hy@AtEndOfPackage{% \global\let\ReadBookmarks\relax \global\let\WriteBookmarks\relax }% \fi \Hy@DisableOption{implicit} \@ifundefined{stockwidth}{\newdimen\stockwidth}{} \@ifundefined{stockheight}{\newdimen\stockheight}{} \Hy@AtEndOfPackage{% \@ifpackageloaded{tex4ht}{% \def\Hy@driver{htex4ht}% \Hy@texhttrue }{}% \ifx\Hy@driver\@empty \else \ifx\pdfextension\@undefined \def\Hy@temp{hpdftex}% \else \def\Hy@temp{hluatex}% \fi \ifpdf \ifx\Hy@driver\Hy@temp \else \Hy@WarningNoLine{% Wrong driver `\Hy@driver.def';\MessageBreak pdfTeX is running in PDF mode.\MessageBreak Forcing driver `\Hy@temp.def'% }% \let\Hy@driver\Hy@temp \fi \else \ifx\Hy@driver\Hy@temp \Hy@WarningNoLine{% Wrong driver `\Hy@driver.def';\MessageBreak pdfTeX is not running in PDF mode.\MessageBreak Using default driver% }% \let\Hy@driver\@empty \fi \fi \fi \ifHy@texht \else \ifx\Hy@driver\@empty \else \def\Hy@temp{hxetex}% \ifxetex \ifx\Hy@driver\Hy@temp \else \Hy@WarningNoLine{% Wrong driver `\Hy@driver.def';\MessageBreak XeTeX is running.\MessageBreak Forcing driver `\Hy@temp.def' for XeTeX% }% \let\Hy@driver\Hy@temp \fi \fi \fi \fi \ifx\Hy@driver\@empty \else \def\Hy@temp{hhitex}% \ifhint \ifx\Hy@driver\Hy@temp \else \Hy@WarningNoLine{% Wrong driver `\Hy@driver.def';\MessageBreak hitex is running.\MessageBreak Forcing driver `\Hy@temp.def'% }% \let\Hy@driver\Hy@temp \fi \fi \fi \ifx\Hy@driver\@empty \else \def\Hy@temp{hvtexhtm}% \ifnum\ifvtex\OpMode\else\m@ne\fi=10 % \ifx\Hy@driver\Hy@temp \else \Hy@WarningNoLine{% Wrong driver `\Hy@driver.def';\MessageBreak VTeX is running in HTML mode.\MessageBreak Forcing driver `\Hy@temp.def'% }% \let\Hy@driver\Hy@temp \fi \else \ifx\Hy@driver\Hy@temp \Hy@WarningNoLine{% Wrong driver `\Hy@driver.def';\MessageBreak VTeX is not running in HTML mode.\MessageBreak Using default driver% }% \let\Hy@driver\@empty \fi \fi \fi \let\HyOpt@DriverType\@empty \ifx\HyOpt@CustomDriver\@empty \ifx\Hy@driver\@empty \def\HyOpt@DriverType{ (autodetected)}% \providecommand*{\Hy@defaultdriver}{hdvips}% \ifpdf \ifx\pdfextension\@undefined \def\Hy@driver{hpdftex}% \else \def\Hy@driver{hluatex}% \fi \else \ifxetex \def\Hy@driver{hxetex}% \else \ifnum\ifvtex\OpMode\else\m@ne\fi=10 % \def\Hy@driver{hvtexhtm}% \def\MaybeStopEarly{% \Hy@Message{Stopped early}% \Hy@AtBeginDocument{% \PDF@FinishDoc \gdef\PDF@FinishDoc{}% }% \endinput }% \else \ifhint \def\Hy@driver{hhitex} \else \ifnum\ifvtex\OpMode\else\m@ne\fi=\@ne \def\Hy@driver{hvtex}% \else \ifnum\ifvtex\OpMode\else\m@ne\fi=\tw@ \def\Hy@driver{hvtex}% \else \ifx\HyOpt@DriverFallback\@empty \let\Hy@driver\Hy@defaultdriver \def\HyOpt@DriverType{ (default)}% \else \begingroup \toks@\expandafter{\HyOpt@DriverFallback}% \edef\x{\endgroup \noexpand\kvsetkeys{Hyp}{\the\toks@}% }% \x \ifx\Hy@driver\@empty \let\Hy@driver\Hy@defaultdriver \def\HyOpt@DriverType{ (default)}% \else \def\HyOpt@DriverType{ (fallback)}% \fi \fi \fi \fi \fi \fi \fi \fi \ifx\Hy@driver\Hy@defaultdriver \def\Hy@temp{hdviwind}% \ifx\Hy@temp\Hy@driver \kvsetkeys{Hyp}{colorlinks}% \PassOptionsToPackage{dviwindo}{color}% \fi \fi \fi \else \def\HyOpt@DriverType{ (custom)}% \let\Hy@driver\HyOpt@CustomDriver \fi \Hy@InfoNoLine{Driver\HyOpt@DriverType: \Hy@driver}% \chardef\Hy@VersionChecked=0 % \input{\Hy@driver.def}% \ifcase\Hy@VersionChecked \Hy@VersionCheck{\Hy@driver.def}% \fi \let\@unprocessedoptions\relax \Hy@RestoreCatcodes \Hy@DisableOption{tex4ht}% \Hy@DisableOption{pdftex}% \Hy@DisableOption{nativepdf}% \Hy@DisableOption{dvipdfm}% \Hy@DisableOption{dvipdfmx}% \Hy@DisableOption{dvipdfmx-outline-open}% \Hy@DisableOption{pdfmark}% \Hy@DisableOption{dvips}% \Hy@DisableOption{hypertex}% \Hy@DisableOption{vtex}% \Hy@DisableOption{vtexpdfmark}% \Hy@DisableOption{dviwindo}% \Hy@DisableOption{dvipsone}% \Hy@DisableOption{textures}% \Hy@DisableOption{latex2html}% \Hy@DisableOption{ps2pdf}% \Hy@DisableOption{xetex}% \Hy@DisableOption{driverfallback}% \Hy@DisableOption{customdriver}% \Hy@DisableOption{pdfversion}% } \newif\ifHy@DvipdfmxOutlineOpen \ifxetex \ifdim\number\XeTeXversion\XeTeXrevision in<0.9995in % \else \chardef\SpecialDvipdfmxOutlineOpen\@ne \Hy@DvipdfmxOutlineOpentrue \fi \fi \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname SpecialDvipdfmxOutlineOpen\endcsname\relax \else \ifnum\SpecialDvipdfmxOutlineOpen>\z@ \Hy@DvipdfmxOutlineOpentrue \fi \fi \def\WriteBookmarks{0} \def\@bookmarkopenstatus#1{% \ifHy@bookmarksopen \ifnum#1<\expandafter\@firstofone\expandafter {\number\@bookmarksopenlevel} % explicit space \else -% \fi \else -% \fi } \ifHy@bookmarks \Hy@Info{Bookmarks ON}% \ifx\@pdfpagemode\@empty \def\@pdfpagemode{UseOutlines}% \fi \else \let\@bookmarkopenstatus\@gobble \Hy@Info{Bookmarks OFF}% \Hy@AtEndOfPackage{% \global\let\ReadBookmarks\relax \global\let\WriteBookmarks\relax }% \ifx\@pdfpagemode\@empty \def\@pdfpagemode{UseNone}% \fi \fi \Hy@DisableOption{bookmarks} \def\Hy@CatcodeWrapper#1{% \let\Hy@EndWrap\@empty \def\TMP@EnsureCode##1##2{% \edef\Hy@EndWrap{% \Hy@EndWrap \catcode##1 \the\catcode##1\relax }% \catcode##1 ##2\relax }% \TMP@EnsureCode{10}{12}% ^^J \TMP@EnsureCode{33}{12}% ! \TMP@EnsureCode{34}{12}% " \TMP@EnsureCode{36}{3}% $ (math) \TMP@EnsureCode{38}{4}% & (alignment) \TMP@EnsureCode{39}{12}% ' \TMP@EnsureCode{40}{12}% ( \TMP@EnsureCode{41}{12}% ) \TMP@EnsureCode{42}{12}% * \TMP@EnsureCode{43}{12}% + \TMP@EnsureCode{44}{12}% , \TMP@EnsureCode{45}{12}% - \TMP@EnsureCode{46}{12}% . \TMP@EnsureCode{47}{12}% / \TMP@EnsureCode{58}{12}% : \TMP@EnsureCode{59}{12}% ; \TMP@EnsureCode{60}{12}% < \TMP@EnsureCode{61}{12}% = \TMP@EnsureCode{62}{12}% > \TMP@EnsureCode{63}{12}% ? \TMP@EnsureCode{91}{12}% [ \TMP@EnsureCode{93}{12}% ] \TMP@EnsureCode{94}{7}% ^ (superscript) \TMP@EnsureCode{95}{8}% _ (subscript) \TMP@EnsureCode{96}{12}% ` \TMP@EnsureCode{124}{12}% | \TMP@EnsureCode{126}{13}% ~ (active) #1\relax \Hy@EndWrap } \Hy@AtBeginDocument{% \ifHy@ocgcolorlinks \kvsetkeys{Hyp}{colorlinks}% \ifHy@pdfa \Hy@Warning{% PDF/A: Optional Content Groups are prohibited,\MessageBreak using `colorlinks' instead of `ocgcolorlinks'% }% \Hy@ocgcolorlinksfalse \fi \fi \ifHy@ocgcolorlinks \else \Hy@DisableOption{ocgcolorlinks}% \fi \ifHy@colorlinks \def\@pdfborder{0 0 0}% \let\@pdfborderstyle\@empty \Hy@CatcodeWrapper{% \RequirePackage{color}% }% \def\Hy@colorlink#1{% \begingroup \HyColor@UseColor#1% }% \def\Hy@endcolorlink{\endgroup}% \Hy@Info{Link coloring ON}% \else \ifHy@frenchlinks \def\Hy@colorlink#1{\begingroup\fontshape{\scdefault}\selectfont}% \def\Hy@endcolorlink{\endgroup}% \Hy@Info{French linking ON}% \else \def\Hy@colorlink#1{\begingroup}% \def\Hy@endcolorlink{\endgroup}% \Hy@Info{Link coloring OFF}% \fi \fi \Hy@DisableOption{colorlinks}% \Hy@DisableOption{frenchlinks}% \ifHy@texht \else \ifHy@implicit \let \T@Ref\HyRef@Ref \def\@refstar#1{% \NR@ref@showkeys{#1}% \HyRef@StarSetRef{#1}\@firstoffive } \def\@pagerefstar#1{% \NR@ref@showkeys{#1}% \HyRef@StarSetRef{#1}\@secondoffive } \def\@namerefstar#1{% \NR@ref@showkeys{#1}% \HyRef@StarSetRef{#1}\@thirdoffive } \def\@Refstar#1{% \NR@ref@showkeys{#1}% \HyRef@StarSetRef{#1}\HyRef@MakeUppercaseFirstOfFive }% \else \fi \fi } \Hy@AtBeginDocument{% \ifx\ReadBookmarks\relax \else \Hy@CatcodeWrapper\ReadBookmarks \fi } \ifHy@backref \RequirePackage{backref}% \else \let\Hy@backout\@gobble \fi \Hy@DisableOption{backref} \Hy@DisableOption{pagebackref} \Hy@activeanchorfalse \begingroup \endlinechar=-1 % \catcode`\^^A=14 % \catcode`\^^M\active \catcode`\%\active \catcode`\#\active \catcode`\_\active \catcode`\$\active \catcode`\&\active \gdef\hyper@normalise{^^A \begingroup \@makeother{:}^^A \catcode`\^^M\active \def^^M{ }^^A \catcode`\%\active \let%\@percentchar \let\%\@percentchar \catcode`\#\active \def#{\hyper@hash}^^A \def\#{\hyper@hash}^^A \@makeother\&^^A \edef&{\string&}^^A \edef\&{\string&}^^A \edef\textunderscore{\string_}^^A \let\_\textunderscore \catcode`\_\active \let_\textunderscore \let~\hyper@tilde \let\~\hyper@tilde \let\textasciitilde\hyper@tilde \let\\\@backslashchar \edef${\string$}^^A \Hy@safe@activestrue \hyper@n@rmalise }^^A \catcode`\#=6 ^^A \gdef\Hy@ActiveCarriageReturn{^^M}^^A \gdef\hyper@n@rmalise#1#2{^^A \def\Hy@tempa{#2}^^A \ifx\Hy@tempa\Hy@ActiveCarriageReturn \Hy@ReturnAfterElseFi{^^A \hyper@@normalise{#1}^^A }^^A \else \Hy@ReturnAfterFi{^^A \hyper@@normalise{#1}{#2}^^A }^^A \fi }^^A \gdef\hyper@@normalise#1#2{^^A \edef\Hy@tempa{^^A \endgroup \noexpand#1{\Hy@RemovePercentCr#2%^^M\@nil}^^A }^^A \Hy@tempa }^^A \gdef\Hy@RemovePercentCr#1%^^M#2\@nil{^^A #1^^A \ifx\limits#2\limits \else \Hy@ReturnAfterFi{^^A \Hy@RemovePercentCr #2\@nil }^^A \fi }^^A \endgroup \providecommand*\hyper@chars{% \let\#\hyper@hash \let\%\@percentchar \Hy@safe@activestrue } \def\hyperlink#1#2{% \hyper@@link{}{#1}{#2}% } \def\Hy@VerboseLinkStart#1#2{% \ifHy@verbose \begingroup \Hy@safe@activestrue \xdef\Hy@VerboseGlobalTemp{(#1) `#2'}% \Hy@Info{Reference \Hy@VerboseGlobalTemp}% \xdef\Hy@VerboseGlobalTemp{% \Hy@VerboseGlobalTemp, % line \the\inputlineno }% \endgroup \let\Hy@VerboseLinkInfo\Hy@VerboseGlobalTemp \@onelevel@sanitize\Hy@VerboseLinkInfo \fi } \def\Hy@VerboseLinkInfo{} \def\Hy@VerboseLinkStop{% \ifHy@verbose \begingroup \edef\x{\endgroup \write\m@ne{% Package `hyperref' Info: % End of reference \Hy@VerboseLinkInfo.% }% }% \x \fi } \def\Hy@VerboseAnchor#1{% \ifHy@verbose \begingroup \Hy@safe@activestrue \Hy@Info{Anchor `\HyperDestNameFilter{#1}'}% \endgroup \fi } \def\Hy@AllowHyphens{% \relax \ifhmode \penalty\@M \hskip\z@skip \fi } \DeclareRobustCommand*{\href}[1][]{% \begingroup \setkeys{href}{#1}% \@ifnextchar\bgroup\Hy@href{\hyper@normalise\href@}% } \def\Hy@href#{% \hyper@normalise\href@ } \begingroup \catcode`\$=6 % \catcode`\#=12 % \gdef\href@$1{\expandafter\href@split$1##\\}% \gdef\href@split$1#$2#$3\\$4{% \hyper@@link{$1}{$2}{$4}% \endgroup }% \endgroup \define@key{href}{page}{% \def\Hy@href@page{#1}% } \let\Hy@href@page\@empty \newcount\c@Hy@tempcnt \def\theHy@tempcnt{\the\c@Hy@tempcnt} \def\Hy@MakeRemoteAction{% \ifx\Hy@href@page\@empty \def\Hy@href@page{0}% \else \setcounter{Hy@tempcnt}{\Hy@href@page}% \ifnum\c@Hy@tempcnt<\@ne \Hy@Warning{% Invalid page number (\theHy@tempcnt)\MessageBreak for remote PDF file.\MessageBreak Using page 1% }% \def\Hy@href@page{0}% \else \global\advance\c@Hy@tempcnt\m@ne \edef\Hy@href@page{\theHy@tempcnt}% \fi \fi \ifx\Hy@href@nextactionraw\@empty \else \Hy@pdfnewwindowsettrue \Hy@pdfnewwindowtrue \fi } \define@key{href}{pdfremotestartview}{% \setkeys{Hyp}{pdfremotestartview={#1}}% } \let\KV@href@pdfnewwindow\KV@Hyp@pdfnewwindow \let\KV@href@pdfnewwindow@default\KV@Hyp@pdfnewwindow@default \newif\ifHy@href@ismap \define@key{href}{ismap}[true]{% \@ifundefined{Hy@href@ismap#1}{% \Hy@Error{% Invalid value (#1) for key `ismap'.\MessageBreak Permitted values are `true' or `false'.\MessageBreak Ignoring `ismap'% }\@ehc }{% \csname Hy@href@ismap#1\endcsname }% } \let\Hy@href@nextactionraw\@empty \define@key{href}{nextactionraw}{% \edef\Hy@href@nextactionraw{#1}% \ifx\Hy@href@nextactionraw\@empty \else \Hy@Match\Hy@href@nextactionraw{}{% ^(\HyPat@ObjRef/|<<.*/S[ /].+>>|% \[( ?\HyPat@ObjRef/|<<.*/S[ /].+>>)+ ?])$% }{}{% \Hy@Warning{Invalid value for `nextactionraw':\MessageBreak \Hy@href@nextactionraw\MessageBreak The action is discarded% }% }% \ifx\Hy@href@nextactionraw\@empty \else \edef\Hy@href@nextactionraw{/Next \Hy@href@nextactionraw}% \fi \fi } \def\HyPat@ObjRef/{.+} \RequirePackage{url} \let\HyOrg@url\url \def\Hurl{\begingroup \Url} \DeclareRobustCommand*{\nolinkurl}{\hyper@normalise\nolinkurl@} \def\nolinkurl@#1{\Hurl{#1}} \DeclareRobustCommand*{\url}{\hyper@normalise\url@} \def\url@#1{\hyper@linkurl{\Hurl{#1}}{#1}} \DeclareRobustCommand*{\hyperimage}{\hyper@normalise\hyper@image} \providecommand\hyper@image[2]{#2} \def\hypertarget#1#2{% \ifHy@nesting \hyper@@anchor{#1}{#2}% \else \hyper@@anchor{#1}{\relax}#2% \fi } \DeclareRobustCommand*{\hyperref}{% \@ifnextchar[{\Hy@babelnormalise\label@hyperref}\@hyperref } \def\Hy@babelnormalise#1[#2]{% \begingroup \Hy@safe@activestrue \let\protect\@unexpandable@protect \edef\Hy@tempa{% \endgroup \noexpand#1[{#2}]% }% \Hy@tempa } \def\@hyperref{\hyper@normalise\@@hyperref} \def\@@hyperref#1#2#3{% \edef\ref@one{\ifx\\#2\\\else#2.\fi#3}% \expandafter\tryhyper@link\ref@one\\{#1}% } \def\tryhyper@link#1\\#2{% \hyper@@link{#2}{#1}% } \def\hyperdef{\@ifnextchar[{\label@hyperdef}{\@hyperdef}} \def\@hyperdef#1#2#3{%, category, name, text \ifx\\#1\\% \def\Hy@AnchorName{#2}% \else \def\Hy@AnchorName{#1.#2}% \fi \ifHy@nesting \expandafter\hyper@@anchor\expandafter{\Hy@AnchorName}{#3}% \else \expandafter\hyper@@anchor\expandafter{\Hy@AnchorName}{\relax}#3% \fi } \let\hyperrefundefinedlink\@firstofone \def\label@hyperref[#1]{% \expandafter\label@@hyperref\csname r@#1\endcsname{#1}% }% \def\label@@hyperref#1#2#3{% \ifx#1\relax \protect\G@refundefinedtrue \@latex@warning{% Hyper reference `#2' on page \thepage \space undefined% }% \begingroup \hyperrefundefinedlink{#3}% \endgroup \else \hyper@@link{\expandafter\@fifthoffive#1}% {\expandafter\@fourthoffive#1\@empty\@empty}{#3}% \fi } \def\label@hyperdef[#1]#2#3#4{% label name, category, name, % anchor text \@bsphack \ifx\\#2\\% \def\Hy@AnchorName{#3}% \else \def\Hy@AnchorName{#2.#3}% \fi \if@filesw \protected@write\@auxout{}{% \string\newlabel{#1}{{}{}{}{\Hy@AnchorName}{}}% }% \fi \@esphack \ifHy@nesting \expandafter\hyper@@anchor\expandafter{\Hy@AnchorName}{#4}% \else \expandafter\hyper@@anchor\expandafter{\Hy@AnchorName}{\relax}#4% \fi } \ExplSyntaxOn \cs_new:Npn \hyperget #1 #2 { \use:c { __hyp_get_#1:n } { #2} } \cs_new:Npn \__hyp_get_anchor:n #1 { \HyperDestNameFilter { \cs_if_exist:cTF {r@#1} { \tl_item:cn {r@#1}{4} } { Doc-Start } } } \cs_new:Npn \__hyp_get_pageanchor:n #1 { \HyperDestNameFilter { \cs_if_exist:cTF {r@#1} { page. \tl_item:cn {r@#1}{2} } { Doc-Start } } } \cs_new:Npn \__hyp_get_currentanchor:n #1 { \HyperDestNameFilter { \@currentHref } } \ExplSyntaxOff \newdimen\XeTeXLinkMargin \setlength{\XeTeXLinkMargin}{2pt} \ifxetex \font\XeTeXLink@font=pzdr at 1sp\relax \newcommand*{\XeTeXLink@space}{% \begingroup \XeTeXLink@font \@xxxii \endgroup }% \newcommand{\XeTeXLinkBox}[1]{% \begingroup \leavevmode \sbox\z@{#1}% \begingroup \dimen@=\dp\z@ \advance\dimen@\XeTeXLinkMargin \setbox\tw@=\llap{% \hb@xt@\XeTeXLinkMargin{% \lower\dimen@\hbox{\XeTeXLink@space}% \hss }% }% \dp\tw@=\dp\z@ \ht\tw@=\ht\z@ \copy\tw@ \endgroup \copy\z@ \dimen@=\ht\z@ \advance\dimen@\XeTeXLinkMargin \setbox\tw@=\rlap{% \hb@xt@\XeTeXLinkMargin{% \hss \raise\dimen@\hbox{\XeTeXLink@space}% }% }% \dp\tw@=\dp\z@ \ht\tw@=\ht\z@ \copy\tw@ \endgroup }% \else \newcommand*{\XeTeXLinkBox}[1]{% \begingroup \leavevmode \sbox\z@{#1}% \copy\z@ \endgroup }% \fi \def\hyper@@link{\let\Hy@reserved@a\relax \@ifnextchar[{\hyper@link@}{\hyper@link@[link]}% } \def\hyper@link@[#1]#2#3#4{% \Hy@ifempty{#4}{% link text \Hy@Warning{Suppressing empty link}% }{% \begingroup \protected@edef\Hy@tempa{#2}% \edef\Hy@tempb{#3}% \ifx\Hy@tempa\@empty \ifx\Hy@tempb\@empty \Hy@Warning{Suppressing link with empty target}% \toks@{% \endgroup \@secondoftwo }% \else \toks@{% \endgroup \hyper@link{#1}% }% \fi \else \toks@{% \endgroup \expandafter\hyper@readexternallink#2\\{#1}% }% \fi \Hy@safe@activesfalse \toks@\expandafter{% \the\expandafter\toks@ \expandafter{\Hy@tempb}{#4}% }% \the\toks@ }% } \def\hyper@readexternallink#1\\#2#3#4{% \begingroup \let\\\relax \expandafter\endgroup \expandafter\@@hyper@@readexternallink#1\\{#2}{#3}{#4}% } \def\@@hyper@@readexternallink#1\\#2#3#4{% \@hyper@readexternallink{#2}{#3}{#4}#1::\\{#1}% } \def\@pdftempwordfile{file}% \def\@pdftempwordrun{run}% \def\@hyper@readexternallink#1#2#3#4:#5:#6\\#7{% \ifx\\#6\\% \@hyper@linkfile file:#7\\{#3}{#2}{#7}% \else \ifx\\#4\\% \@hyper@linkfile file:#7\\{#3}{#2}{#7}% \else \def\@pdftempa{#4}% \ifx\@pdftempa\@pdftempwordfile \@hyper@linkfile#7\\{#3}{#2}{#7}% \else \ifx\@pdftempa\@pdftempwordrun \ifHy@pdfa \Hy@Error{% PDF/A: Launch action is prohibited% }\@ehc \begingroup \leavevmode #2% \endgroup \else \@hyper@launch#7\\{#3}{#2}% \fi \else \hyper@linkurl{#3}{#7\ifx\\#2\\\else\hyper@hash#2\fi}% \fi \fi \fi \fi } \def\@hyper@launch run:#1\\#2#3{% filename, anchor text, linkname \hyper@linkurl{#2}{% \Hy@linkfileprefix #1% \ifx\\#3\\% \else \hyper@hash #3% \fi }% } \def\@hyper@linkfile file:#1\\#2#3#4{% %file url,link string, name, original uri \filename@parse{#1}% \ifx\filename@ext\relax \edef\filename@ext{\XR@ext}% \fi \def\use@file{\filename@area\filename@base.\filename@ext}% \Hy@IfStringEndsWith\filename@ext\XR@ext{% \hyper@linkfile{#2}{\use@file}{#3}% }{% \ifx\@baseurl\@empty \hyper@linkurl{#2}{% #4\ifx\\#3\\\else\hyper@hash#3\fi }% \else \hyper@linkurl{#2}{\use@file\ifx\\#3\\\else\hyper@hash#3\fi}% \fi }% } \def\Hy@IfStringEndsWith#1#2{% \begingroup \edef\x{#1}% \@onelevel@sanitize\x \edef\x{.\x$}% \edef\y{#2}% \@onelevel@sanitize\y \edef\y{.\y$}% \expandafter\def\expandafter\z\expandafter##\expandafter1\y##2\@nil{% \endgroup \ifx\relax##2\relax \expandafter\@secondoftwo \else \expandafter\@firstoftwo \fi }% \expandafter\expandafter\expandafter\z\expandafter\x\y\@nil } \def\Hy@StringLocalhost{localhost} \@onelevel@sanitize\Hy@StringLocalhost \def\Hy@CleanupFile#1{% \edef#1{#1}% \expandafter\Hy@@CleanupFile#1\hbox///\hbox\@nil{#1}% } \def\Hy@@CleanupFile#1//#2/#3\hbox#4\@nil#5{% \begingroup \toks@{\endgroup}% \def\x{#1}% \ifx\x\@empty \def\x{#2}% \ifx\x\@empty \toks@{\endgroup\def#5{/#3}}% \else \@onelevel@sanitize\x \ifx\x\Hy@StringLocalhost \toks@{\endgroup\def#5{/#3}}% \fi \fi \fi \the\toks@ } \long\def\hyper@@anchor#1#2{\@hyper@@anchor#1\relax#2\relax} \long\def\@hyper@@anchor#1\relax#2#3\relax{% \ifx\\#1\\% #2\Hy@Warning{Ignoring empty anchor}% \else \def\anchor@spot{#2#3}% \let\put@me@back\@empty \ifx\relax#2\relax \else \ifHy@nesting \else \ifcat a\noexpand#2\relax \else \ifcat 0\noexpand#2 \relax \else \let\anchor@spot\@empty \def\put@me@back{#2#3}% \fi \fi \fi \fi \ifHy@activeanchor \anchor@spot \else \hyper@anchor{#1}% \fi \expandafter\put@me@back \fi \let\anchor@spot\@empty } \let\anchor@spot\@empty \ifHy@destlabel \def\hyper@newdestlabel#1#2{% \begingroup \Hy@safe@activestrue \edef\x{\endgroup \noexpand\@newl@bel{HyDL}{#1}{#2}% }% \x }% \providecommand*{\hyper@destlabel@hook}{}% \newcommand*{\Hy@DestRename}[2]{% \@ifundefined{HyDL!#1}{% \begingroup \Hy@safe@activestrue \edef\dest@name{#1}% \edef\label@name{#2}% \hyper@destlabel@hook \Hy@IsNotEmpty{dest@name}{% \Hy@IsNotEmpty{label@name}{% \global\expandafter \let\csname HyDL!#1\endcsname\@empty \if@filesw \protected@write\@auxout{}{% \string\hyper@newdestlabel {#1}% {\label@name}% }% \fi }% }% \endgroup }{}% }% \newcommand*{\HyperDestRename}[2]{% \AtBeginDocument{% \Hy@DestRename{#1}{#2}% }% }% \AtBeginDocument{% \let\HyperDestRename\Hy@DestRename }% \def\Hy@IsNotEmpty#1{% \@ifundefined{#1}\@gobble{% \expandafter\ifx\csname#1\endcsname\@empty \expandafter\@gobble \else \expandafter\@firstofone \fi }% }% \Hy@GlobalAppendToMacro\label@hook{% \HyperDestRename\@currentHref\label@name }% \def\HyperDestLabelReplace#1{% \@ifundefined{HyDL@#1}{% #1% }{% \csname HyDL@#1\endcsname }% }% \let\HyperDestNameFilter\HyperDestLabelReplace \else \let\hyper@newdestlabel\@gobbletwo \let\HyperDestLabelReplace\@firstofone \let\HyperDestRename\@gobbletwo \fi \Hy@DisableOption{destlabel} \AddToHook{include/before} {\immediate\write\@partaux{\string\providecommand\string\hyper@newdestlabel[2]{}}} \AddToHook{begindocument} {\immediate\write\@mainaux{\string\providecommand\string\hyper@newdestlabel[2]{}}} \RequirePackage{bitset} \def\HyField@NewFlag#1#2{% \lowercase{\HyField@NewOption{#2}}% \lowercase{\HyField@NewBitsetFlag{#2}}{#2}{#1}% } \def\HyField@NewFlagOnly#1#2{% \lowercase{\HyField@NewBitsetFlag{#2}}{#2}{#1}% } \def\HyField@NewOption#1{% \expandafter\newif\csname ifFld@#1\endcsname \define@key{Field}{#1}[true]{% \lowercase{\Field@boolkey{##1}}{#1}% }% } \def\HyField@NewBitsetFlag#1#2#3#4{% \begingroup \count@=#4\relax \advance\count@\m@ne \def\x##1{% \endgroup \expandafter\def\csname HyField@#3@#1\endcsname{##1}% \expandafter\ifx\csname HyField@#3@##1\endcsname\relax \expandafter\edef\csname HyField@#3@##1\endcsname{% (\number#4) #2% }% \else \expandafter\edef\csname HyField@#3@##1\endcsname{% \csname HyField@#3@##1\endcsname /#2% }% \fi }% \expandafter\x\expandafter{\the\count@}% } \def\HyField@UseFlag#1#2{% \lowercase{\HyField@@UseFlag{#2}}{#1}% } \def\HyField@@UseFlag#1#2{% \bitsetSetValue{HyField@#2}{% \csname HyField@#2@#1\endcsname }{% \csname ifFld@#1\endcsname 1\else 0\fi }% } \def\HyField@SetFlag#1#2{% \lowercase{\HyField@@SetFlag{#2}}{#1}% } \def\HyField@@SetFlag#1#2{% \bitsetSetValue{HyField@#2}{% \csname HyField@#2@#1\endcsname }{1}% } \def\HyField@PrintFlags#1#2{% \ifHy@verbose \begingroup \let\Hy@temp\@empty \let\MessageBreak\relax \expandafter\@for\expandafter\x\expandafter:\expandafter=% \bitsetGetSetBitList{HyField@#1}\do{% \edef\Hy@temp{% \Hy@temp \csname HyField@#1@\x\endcsname\MessageBreak }% }% \edef\x{\endgroup \noexpand\Hy@Info{% Field flags: % \expandafter\ifx\@car#1\@nil S\else/\fi #1 % \bitsetGetDec{HyField@#1} % (0x\bitsetGetHex{HyField@#1}{32})\MessageBreak \Hy@temp for #2% }% }\x \fi } \HyField@NewFlag{Ff}{ReadOnly}{1} \HyField@NewFlag{Ff}{Required}{2} \HyField@NewFlag{Ff}{NoExport}{3} \HyField@NewFlag{Ff}{NoToggleToOff}{15} \HyField@NewFlag{Ff}{Radio}{16} \HyField@NewFlag{Ff}{Pushbutton}{17} \HyField@NewFlag{Ff}{RadiosInUnison}{26} \HyField@NewFlag{Ff}{Multiline}{13} \HyField@NewFlag{Ff}{Password}{14} \HyField@NewFlag{Ff}{FileSelect}{21}% PDF 1.4 \HyField@NewFlag{Ff}{DoNotSpellCheck}{23}% PDF 1.4 \HyField@NewFlag{Ff}{DoNotScroll}{24}% PDF 1.4 \HyField@NewFlag{Ff}{Comb}{25}% PDF 1.4 \HyField@NewFlag{Ff}{RichText}{26}% PDF 1.5 \HyField@NewFlag{Ff}{Combo}{18} \HyField@NewFlag{Ff}{Edit}{19} \HyField@NewFlag{Ff}{Sort}{20} \HyField@NewFlag{Ff}{MultiSelect}{22}% PDF 1.4 \HyField@NewFlag{Ff}{CommitOnSelChange}{27}% PDF 1.5 \newif\ifFld@popdown \define@key{Field}{popdown}[true]{% \lowercase{\Field@boolkey{#1}}{popdown}% } \HyField@NewFlag{F}{Invisible}{1} \HyField@NewFlag{F}{Hidden}{2}% PDF 1.2 \HyField@NewFlag{F}{Print}{3}% PDF 1.2 \HyField@NewFlag{F}{NoZoom}{4}% PDF 1.2 \HyField@NewFlag{F}{NoRotate}{5}% PDF 1.3 \HyField@NewFlag{F}{NoView}{6}% PDF 1.3 \HyField@NewFlag{F}{Locked}{8}% PDF 1.4 \HyField@NewFlag{F}{ToggleNoView}{9}% PDF 1.5 \HyField@NewFlag{F}{LockedContents}{10}% PDF 1.7 \ifHy@pdfa \def\HyField@PDFAFlagWarning#1#2{% \Hy@Warning{% PDF/A: Annotation flag `#1' must\MessageBreak be set to `#2'% }% }% \Fld@invisiblefalse \def\Fld@invisibletrue{% \HyField@PDFAFlagWarning{invisible}{false}% }% \Fld@hiddenfalse \def\Fld@hiddentrue{% \HyField@PDFAFlagWarning{hidden}{false}% }% \Fld@printtrue \def\Fld@printfalse{% \HyField@PDFAFlagWarning{print}{true}% }% \Fld@nozoomtrue \def\Fld@nozoomfalse{% \HyField@PDFAFlagWarning{nozoom}{true}% }% \Fld@norotatetrue \def\Fld@norotatefalse{% \HyField@PDFAFlagWarning{norotate}{true}% }% \Fld@noviewfalse \def\Fld@noviewtrue{% \HyField@PDFAFlagWarning{noview}{false}% }% \fi \HyField@NewFlag{Submit}{IncludeNoValueFields}{2} \HyField@NewFlagOnly{Submit}{ExportFormat}{3} \HyField@NewFlag{Submit}{GetMethod}{4} \HyField@NewFlag{Submit}{SubmitCoordinates}{5} \HyField@NewFlagOnly{Submit}{XFDF}{6} \HyField@NewFlag{Submit}{IncludeAppendSaves}{7} \HyField@NewFlag{Submit}{IncludeAnnotations}{8} \HyField@NewFlagOnly{Submit}{SubmitPDF}{9} \HyField@NewFlag{Submit}{CanonicalFormat}{10} \HyField@NewFlag{Submit}{ExclNonUserAnnots}{11} \HyField@NewFlag{Submit}{ExclFKey}{12} \HyField@NewFlag{Submit}{EmbedForm}{14} \define@key{Field}{export}{% \lowercase{\def\Hy@temp{#1}}% \@ifundefined{Fld@export@\Hy@temp}{% \@onelevel@sanitize\Hy@temp \Hy@Error{% Unknown export format `\Hy@temp'.\MessageBreak Known formats are `FDF', `HTML', `XFDF', and `PDF'% }\@ehc }{% \let\Fld@export\Hy@temp }% } \def\Fld@export{fdf} \@namedef{Fld@export@fdf}{0}% \@namedef{Fld@export@html}{1}% \@namedef{Fld@export@xfdf}{2}% \@namedef{Fld@export@pdf}{3}% \def\HyField@FlagsSubmit{% \bitsetReset{HyField@Submit}% \ifcase\@nameuse{Fld@export@\Fld@export} % % FDF \HyField@UseFlag{Submit}{IncludeNoValueFields}% \HyField@UseFlag{Submit}{SubmitCoordinates}% \HyField@UseFlag{Submit}{IncludeAppendSaves}% \HyField@UseFlag{Submit}{IncludeAnnotations}% \HyField@UseFlag{Submit}{CanonicalFormat}% \HyField@UseFlag{Submit}{ExclNonUserAnnots}% \HyField@UseFlag{Submit}{ExclFKey}% \HyField@UseFlag{Submit}{EmbedForm}% \or % HTML \HyField@SetFlag{Submit}{ExportFormat}% \HyField@UseFlag{Submit}{IncludeNoValueFields}% \HyField@UseFlag{Submit}{GetMethod}% \HyField@UseFlag{Submit}{SubmitCoordinates}% \HyField@UseFlag{Submit}{CanonicalFormat}% \or % XFDF \HyField@SetFlag{Submit}{XFDF}% \HyField@UseFlag{Submit}{IncludeNoValueFields}% \HyField@UseFlag{Submit}{SubmitCoordinates}% \HyField@UseFlag{Submit}{CanonicalFormat}% \or % PDF \HyField@SetFlag{Submit}{SubmitPDF}% \HyField@UseFlag{Submit}{GetMethod}% \fi \HyField@PrintFlags{Submit}{submit button field}% \bitsetIsEmpty{HyField@Submit}{% \let\Fld@submitflags\@empty }{% \edef\Fld@submitflags{/Flags \bitsetGetDec{HyField@Submit}}% }% } \def\HyField@FlagsAnnot#1{% \bitsetReset{HyField@F}% \HyField@UseFlag{F}{Invisible}% \HyField@UseFlag{F}{Hidden}% \HyField@UseFlag{F}{Print}% \HyField@UseFlag{F}{NoZoom}% \HyField@UseFlag{F}{NoRotate}% \HyField@UseFlag{F}{NoView}% \HyField@UseFlag{F}{Locked}% \HyField@UseFlag{F}{ToggleNoView}% \HyField@UseFlag{F}{LockedContents}% \HyField@PrintFlags{F}{#1}% \bitsetIsEmpty{HyField@F}{% \let\Fld@annotflags\@empty }{% \edef\Fld@annotflags{/F \bitsetGetDec{HyField@F}}% }% } \def\HyField@FlagsPushButton{% \HyField@FlagsAnnot{push button field}% \bitsetReset{HyField@Ff}% \HyField@UseFlag{Ff}{ReadOnly}% \HyField@UseFlag{Ff}{Required}% \HyField@UseFlag{Ff}{NoExport}% \HyField@SetFlag{Ff}{Pushbutton}% \HyField@PrintFlags{Ff}{push button field}% \bitsetIsEmpty{HyField@Ff}{% \let\Fld@flags\@empty }{% \edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}% }% } \def\HyField@FlagsCheckBox{% \HyField@FlagsAnnot{check box field}% \bitsetReset{HyField@Ff}% \HyField@UseFlag{Ff}{ReadOnly}% \HyField@UseFlag{Ff}{Required}% \HyField@UseFlag{Ff}{NoExport}% \HyField@PrintFlags{Ff}{check box field}% \bitsetIsEmpty{HyField@Ff}{% \let\Fld@flags\@empty }{% \edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}% }% } \def\HyField@FlagsRadioButton{% \HyField@FlagsAnnot{radio button field}% \bitsetReset{HyField@Ff}% \HyField@UseFlag{Ff}{ReadOnly}% \HyField@UseFlag{Ff}{Required}% \HyField@UseFlag{Ff}{NoExport}% \HyField@UseFlag{Ff}{NoToggleToOff}% \HyField@SetFlag{Ff}{Radio}% \HyField@UseFlag{Ff}{RadiosInUnison}% \HyField@PrintFlags{Ff}{radio button field}% \bitsetIsEmpty{HyField@Ff}{% \let\Fld@flags\@empty }{% \edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}% }% } \def\HyField@FlagsText{% \HyField@FlagsAnnot{text field}% \bitsetReset{HyField@Ff}% \HyField@UseFlag{Ff}{ReadOnly}% \HyField@UseFlag{Ff}{Required}% \HyField@UseFlag{Ff}{NoExport}% \HyField@UseFlag{Ff}{Multiline}% \HyField@UseFlag{Ff}{Password}% \HyField@UseFlag{Ff}{FileSelect}% \HyField@UseFlag{Ff}{DoNotSpellCheck}% \HyField@UseFlag{Ff}{DoNotScroll}% \ifFld@comb \ifcase0\ifFld@multiline \else\ifFld@password \else\ifFld@fileselect \else 1\fi\fi\fi\relax \Hy@Error{% Field option `comb' cannot used together with\MessageBreak `multiline', `password', or `fileselect'% }\@ehc \else \HyField@UseFlag{Ff}{Comb}% \fi \fi \HyField@UseFlag{Ff}{RichText}% \HyField@PrintFlags{Ff}{text field}% \bitsetIsEmpty{HyField@Ff}{% \let\Fld@flags\@empty }{% \edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}% }% } \def\HyField@FlagsChoice{% \HyField@FlagsAnnot{choice field}% \bitsetReset{HyField@Ff}% \HyField@UseFlag{Ff}{ReadOnly}% \HyField@UseFlag{Ff}{Required}% \HyField@UseFlag{Ff}{NoExport}% \HyField@UseFlag{Ff}{Combo}% \ifFld@combo \HyField@UseFlag{Ff}{Edit}% \fi \HyField@UseFlag{Ff}{Sort}% \HyField@UseFlag{Ff}{MultiSelect}% \ifFld@combo \ifFld@edit \HyField@UseFlag{Ff}{DoNotSpellCheck}% \fi \fi \HyField@UseFlag{Ff}{CommitOnSelChange}% \HyField@PrintFlags{Ff}{choice field}% \bitsetIsEmpty{HyField@Ff}{% \let\Fld@flags\@empty }{% \edef\Fld@flags{/Ff \bitsetGetDec{HyField@Ff}}% }% } \def\HyField@PDFChoices#1{% \begingroup \global\let\Fld@choices\@empty \let\HyTmp@optlist\@empty \let\HyTmp@optitem\relax \count@=0 % \kv@parse{#1}{% \Hy@pdfstringdef\kv@key\kv@key \ifx\kv@value\relax \ifnum\Hy@pdf@majorminor@version<103 % implementation note 122, PDF spec 1.7 \xdef\Fld@choices{\Fld@choices[(\kv@key)(\kv@key)]}% \else \xdef\Fld@choices{\Fld@choices(\kv@key)}% \fi \else \Hy@pdfstringdef\kv@value\kv@value \xdef\Fld@choices{\Fld@choices[(\kv@value)(\kv@key)]}% \fi \edef\HyTmp@optlist{% \HyTmp@optlist \HyTmp@optitem{\the\count@}{\kv@key}0% }% \advance\count@ by 1 % \@gobbletwo }% \xdef\Fld@choices{/Opt[\Fld@choices]}% \ifFld@multiselect \HyField@@PDFChoices{DV}\Fld@default \HyField@@PDFChoices{V}\Fld@value \else \ifx\Fld@default\relax \else \pdfstringdef\Hy@gtemp\Fld@default \xdef\Fld@choices{\Fld@choices/DV(\Hy@gtemp)}% \fi \ifx\Fld@value\relax \else \pdfstringdef\Hy@gtemp\Fld@value \xdef\Fld@choices{\Fld@choices/V(\Hy@gtemp)}% \fi \fi \endgroup } \def\HyField@@PDFChoices#1#2{% \ifx#2\relax \else \count@=0 % \def\HyTmp@optitem##1##2##3{% \def\HyTmp@key{##2}% \ifx\HyTmp@key\Hy@gtemp \expandafter\def\expandafter\HyTmp@optlist\expandafter{% \HyTmp@optlist \HyTmp@optitem{##1}{##2}1% }% \let\HyTmp@found=Y% \else \expandafter\def\expandafter\HyTmp@optlist\expandafter{% \HyTmp@optlist \HyTmp@optitem{##1}{##2}##3% }% \fi }% \expandafter\comma@parse\expandafter{#2}{% \pdfstringdef\Hy@gtemp\comma@entry \let\HyTmp@found=N % \expandafter\let\expandafter\HyTmp@optlist\expandafter\@empty \HyTmp@optlist \ifx\HyTmp@found Y% \advance\count@ by 1 % \else \@onelevel@sanitize\comma@entry \PackageWarning{hyperref}{% \string\ChoiceBox: Ignoring value `\comma@entry',% \MessageBreak it cannot be found in the choices% }% \fi \@gobble }% \def\HyTmp@optitem##1##2##3{% \ifnum##3=1 % (##2)% \fi }% \ifcase\count@ \or \xdef\Fld@choices{\Fld@choices/#1\HyTmp@optlist}% \else \xdef\Fld@choices{\Fld@choices/#1[\HyTmp@optlist]}% \ifx#1V% \def\HyTmp@optitem##1##2##3{% \ifnum##3=1 % \@firstofone{ ##1}% \fi }% \edef\HyTmp@optlist{\HyTmp@optlist}% \xdef\Fld@choices{% \Fld@choices /I[\expandafter\@firstofone\HyTmp@optlist]% }% \fi \fi \fi } \def\HyField@SetKeys{% \kvsetkeys{Field}% } \newif\ifFld@checked \newif\ifFld@disabled \Fld@checkedfalse \Fld@disabledfalse \newcount\Fld@menulength \newdimen\Field@Width \newdimen\Fld@charsize \Fld@charsize=10\p@ \def\Fld@maxlen{0} \def\Fld@align{0} \def\Fld@color{0 0 0 rg} \def\Fld@bcolor{1 1 1} \def\Fld@bordercolor{1 0 0} \def\Fld@bordersep{1\p@} \def\Fld@borderwidth{1} \def\Fld@borderstyle{S} \def\Fld@cbsymbol{4} \def\Fld@radiosymbol{H} \def\Fld@rotation{0} \def\Form{\@ifnextchar[{\@Form}{\@Form[]}} \def\endForm{\@endForm} \newif\ifForm@html \Form@htmlfalse \def\Form@boolkey#1#2{% \csname Form@#2\ifx\relax#1\relax true\else#1\fi\endcsname } \define@key{Form}{action}{% \hyper@normalise\Hy@DefFormAction{#1}% } \def\Hy@DefFormAction{\def\Form@action} \def\enc@@html{html} \define@key{Form}{encoding}{% \def\Hy@tempa{#1}% \ifx\Hy@tempa\enc@@html \Form@htmltrue \def\Fld@export{html}% \else \Hy@Warning{% Form `encoding' key with \MessageBreak unknown value `#1'% }% \Form@htmlfalse \fi } \define@key{Form}{method}{% \lowercase{\def\Hy@temp{#1}}% \@ifundefined{Form@method@\Hy@temp}{% \@onelevel@sanitize\Hy@temp \Hy@Error{% Unknown method `\Hy@temp'.\MessageBreak Known values are `post' and `get'% }\@ehc }{% \let\Form@method\Hy@temp \ifcase\@nameuse{Form@method@\Hy@temp} % \Fld@getmethodfalse \else \Fld@getmethodtrue \fi }% } \def\Form@method{} \@namedef{Form@method@post}{0} \@namedef{Form@method@get}{1} \newif\ifHyField@NeedAppearances \def\HyField@NeedAppearancesfalse{% \global\let\ifHyField@NeedAppearances\iffalse } \def\HyField@NeedAppearancestrue{% \global\let\ifHyField@NeedAppearances\iftrue } \HyField@NeedAppearancestrue \define@key{Form}{NeedAppearances}[true]{% \edef\Hy@tempa{#1}% \ifx\Hy@tempa\Hy@true \HyField@NeedAppearancestrue \else \ifx\Hy@tempa\Hy@false \HyField@NeedAppearancesfalse \else \Hy@Error{% Unexpected value `\Hy@tempa'\MessageBreak of option `NeedAppearances' instead of\MessageBreak `true' or `false'% }\@ehc \fi \fi } \def\Field@boolkey#1#2{% \csname Fld@#2\ifx\relax#1\relax true\else#1\fi\endcsname } \ifHy@texht \newtoks\Field@toks \Field@toks={ }% \def\Field@addtoks#1#2{% \edef\@processme{\Field@toks{\the\Field@toks\space #1="#2"}}% \@processme }% \else \def\Hy@WarnHTMLFieldOption#1{% \Hy@Warning{% HTML field option `#1'\MessageBreak is ignored% }% }% \fi \def\Fld@checkequals#1=#2=#3\\{% \def\@currDisplay{#1}% \ifx\\#2\\% \def\@currValue{#1}% \else \def\@currValue{#2}% \fi \expandafter\Hy@pdfstringdef\expandafter\@currValue\expandafter{\@currValue}% } \define@key{Field}{loc}{% \def\Fld@loc{#1}% } \define@key{Field}{checked}[true]{% \lowercase{\Field@boolkey{#1}}{checked}% } \define@key{Field}{disabled}[true]{% \lowercase{\Field@boolkey{#1}}{disabled}% } \ifHy@texht \define@key{Field}{accesskey}{% \Field@addtoks{accesskey}{#1}% }% \define@key{Field}{tabkey}{% \Field@addtoks{tabkey}{#1}% }% \else \define@key{Field}{accesskey}{% \Hy@WarnHTMLFieldOption{accesskey}% }% \define@key{Field}{tabkey}{% \Hy@WarnHTMLFieldOption{tabkey}% }% \fi \define@key{Field}{name}{% \def\Fld@name{#1}% } \let\Fld@altname\relax \define@key{Field}{altname}{% \def\Fld@altname{#1}% } \let\Fld@mappingname\relax \define@key{Field}{mappingname}{% \def\Fld@mappingname{#1}% } \define@key{Field}{width}{% \def\Fld@width{#1}% \Field@Width#1\setbox0=\hbox{m}% } \define@key{Field}{maxlen}{% \def\Fld@maxlen{#1}% } \define@key{Field}{menulength}{% \Fld@menulength=#1\relax } \define@key{Field}{height}{% \def\Fld@height{#1}% } \define@key{Field}{charsize}{% \setlength{\Fld@charsize}{#1}% } \define@key{Field}{borderwidth}{% \Hy@defaultbp\Fld@borderwidth{#1}% } \def\Hy@defaultbp#1#2{% \begingroup \afterassignment\Hy@defaultbpAux \dimen@=#2bp\relax{#1}{#2}% } \def\Hy@defaultbpAux#1\relax#2#3{% \ifx!#1!% \endgroup \def#2{#3}% \else \edef\x{\endgroup \def\noexpand#2{% \strip@pt\dimexpr\dimen@*800/803\relax }% }\x \fi }% \define@key{Field}{borderstyle}{% \let\Hy@temp\Fld@borderstyle \def\Fld@borderstyle{#1}% \Hy@Match\Fld@borderstyle{}{% ^[SDBIU]$% }{}{% \Hy@Warning{% Invalid value `\@pdfborderstyle'\MessageBreak for option `pdfborderstyle'. Valid values:\MessageBreak \space\space S (Solid), D (Dashed), B (Beveled),\MessageBreak \space\space I (Inset), U (Underline)\MessageBreak Option setting is ignored% }% \let\Fld@borderstyle\Hy@temp }% } \define@key{Field}{bordersep}{% \def\Fld@bordersep{#1}% } \define@key{Field}{default}{% \Hy@pdfstringdef\Fld@default{#1}% } \define@key{Field}{align}{% \def\Fld@align{#1}% } \define@key{Field}{value}{% \Hy@pdfstringdef\Fld@value{#1}% } \define@key{Field}{checkboxsymbol}{% \Fld@DingDef\Fld@cbsymbol{#1}% } \define@key{Field}{radiosymbol}{% \Fld@DingDef\Fld@radiosymbol{#1}% } \def\Fld@DingDef#1#2{% \let\Fld@temp\@empty \Fld@@DingDef#2\ding{}\@nil \let#1\Fld@temp } \def\Fld@@DingDef#1\ding#2#3\@nil{% \expandafter\def\expandafter\Fld@temp\expandafter{% \Fld@temp #1% }% \ifx\\#3\\% \expandafter\@gobble \else \begingroup \lccode`0=#2\relax \lowercase{\endgroup \expandafter\def\expandafter\Fld@temp\expandafter{% \Fld@temp 0% }% }% \expandafter\@firstofone \fi {% \Fld@@DingDef#3\@nil }% } \define@key{Field}{rotation}{% \def\Fld@rotation{#1}% } \define@key{Field}{backgroundcolor}{% \HyColor@FieldBColor{#1}\Fld@bcolor{hyperref}{backgroundcolor}% } \define@key{Field}{bordercolor}{% \HyColor@FieldBColor{#1}\Fld@bordercolor{hyperref}{bordercolor}% } \define@key{Field}{color}{% \HyColor@FieldColor{#1}\Fld@color{hyperref}{color}% } \let\Fld@onclick@code\@empty \let\Fld@format@code\@empty \let\Fld@validate@code\@empty \let\Fld@calculate@code\@empty \let\Fld@keystroke@code\@empty \let\Fld@onfocus@code\@empty \let\Fld@onblur@code\@empty \let\Fld@onmousedown@code\@empty \let\Fld@onmouseup@code\@empty \let\Fld@onenter@code\@empty \let\Fld@onexit@code\@empty \def\Hy@temp#1{% \expandafter\Hy@@temp\csname Fld@#1@code\endcsname{#1}% } \def\Hy@@temp#1#2{% \ifHy@pdfa \define@key{Field}{#2}{% \Hy@Error{% PDF/A: Additional action `#2' is prohibited% }\@ehc }% \else \define@key{Field}{#2}{% \def#1{##1}% }% \fi } \Hy@temp{keystroke} \Hy@temp{format} \Hy@temp{validate} \Hy@temp{calculate} \Hy@temp{onfocus} \Hy@temp{onblur} \Hy@temp{onmousedown} \Hy@temp{onmouseup} \Hy@temp{onenter} \Hy@temp{onexit} \let\Fld@calculate@sortkey\@empty \define@key{Field}{calculatesortkey}[1]{% \def\Fld@calculate@sortkey{#1}% } \ifHy@texht \def\Hy@temp#1{% \define@key{Field}{#1}{% \Field@addtoks{#1}{##1}% }% }% \else \def\Hy@temp#1{% \define@key{Field}{#1}{% \Hy@WarnHTMLFieldOption{#1}% }% }% \fi \Hy@temp{ondblclick} \Hy@temp{onmouseover} \Hy@temp{onmousemove} \Hy@temp{onmouseout} \Hy@temp{onkeydown} \Hy@temp{onkeyup} \Hy@temp{onselect} \Hy@temp{onchange} \Hy@temp{onkeypress} \ifHy@texht \define@key{Field}{onclick}{% \Field@addtoks{onclick}{#1}% }% \else \ifHy@pdfa \define@key{Field}{onclick}{% \Hy@Error{% PDF/A: Action `onclick' is prohibited% }\@ehc }% \else \define@key{Field}{onclick}{% \def\Fld@onclick@code{#1}% }% \fi \fi \DeclareRobustCommand\TextField{% \@ifnextchar[{\@TextField}{\@TextField[]}% } \DeclareRobustCommand\ChoiceMenu{% \@ifnextchar[{\@ChoiceMenu}{\@ChoiceMenu[]}% } \DeclareRobustCommand\CheckBox{% \@ifnextchar[{\@CheckBox}{\@CheckBox[]}% } \DeclareRobustCommand\PushButton{% \@ifnextchar[{\@PushButton}{\@PushButton[]}% } \DeclareRobustCommand\Gauge{% \@ifnextchar[{\@Gauge}{\@Gauge[]}% } \DeclareRobustCommand\Submit{% \@ifnextchar[{\@Submit}{\@Submit[]}% } \DeclareRobustCommand\Reset{% \@ifnextchar[{\@Reset}{\@Reset[]}% } \def\LayoutTextField#1#2{% label, field \def\Hy@temp{#1}% \ifx\Hy@temp\@empty #2% \else #1 #2% \fi } \def\LayoutChoiceField#1#2{% label, field \def\Hy@temp{#1}% \ifx\Hy@temp\@empty #2% \else #1 #2% \fi } \def\LayoutCheckField#1#2{% label, field \def\Hy@temp{#1}% \ifx\Hy@temp\@empty #2% \else #1 #2% \fi } \def\LayoutPushButtonField#1{% button #1% } \def\MakeRadioField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}} \def\MakeCheckField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}} \def\MakeTextField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}} \def\MakeChoiceField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}} \def\MakeButtonField#1{% \sbox0{% \hskip\Fld@borderwidth bp#1\hskip\Fld@borderwidth bp% }% \@tempdima\ht0 % \advance\@tempdima by \Fld@borderwidth bp % \advance\@tempdima by \Fld@borderwidth bp % \ht0\@tempdima \@tempdima\dp0 % \advance\@tempdima by \Fld@borderwidth bp % \advance\@tempdima by \Fld@borderwidth bp % \dp0\@tempdima \box0\relax } \def\DefaultHeightofSubmit{14pt} \def\DefaultWidthofSubmit{2cm} \def\DefaultHeightofReset{14pt} \def\DefaultWidthofReset{2cm} \def\DefaultHeightofCheckBox{\normalbaselineskip} \def\DefaultWidthofCheckBox{\normalbaselineskip} \def\DefaultHeightofChoiceMenu{\normalbaselineskip} \def\DefaultWidthofChoiceMenu{\normalbaselineskip} \def\DefaultHeightofText{\normalbaselineskip} \def\DefaultHeightofTextMultiline{4\normalbaselineskip} \def\DefaultWidthofText{3cm} \def\DefaultOptionsofSubmit{print,name=Submit,noexport} \def\DefaultOptionsofReset{print,name=Reset,noexport} \def\DefaultOptionsofPushButton{print} \def\DefaultOptionsofCheckBox{print} \def\DefaultOptionsofText{print} \def\DefaultOptionsofListBox{print} \def\DefaultOptionsofComboBox{print,edit,sort} \def\DefaultOptionsofPopdownBox{print} \def\DefaultOptionsofRadio{print,notoggletooff} \ifHy@hyperfigures \Hy@Info{Hyper figures ON}% \else \Hy@Info{Hyper figures OFF}% \fi \ifHy@nesting \Hy@Info{Link nesting ON}% \else \Hy@Info{Link nesting OFF}% \fi \ifHy@hyperindex \Hy@Info{Hyper index ON}% \else \Hy@Info{Hyper index OFF}% \fi \ifHy@backref \Hy@Info{backreferencing ON}% \else \Hy@Info{backreferencing OFF}% \fi \ifHy@colorlinks \Hy@Info{Link coloring ON}% \else \Hy@Info{Link coloring OFF}% \fi \ifHy@ocgcolorlinks \Hy@Info{Link coloring with OCG ON}% \else \Hy@Info{Link coloring with OCG OFF}% \fi \ifHy@pdfa \Hy@Info{PDF/A mode ON}% \else \Hy@Info{PDF/A mode OFF}% \fi \edef\hyper@hash{\string#} \edef\hyper@tilde{\string~} \edef\hyper@quote{\string"} \def\@currentHref{Doc-Start} \let\Hy@footnote@currentHref\@empty \Hy@AtBeginDocument{% \Hy@pdfstringtrue \PDF@SetupDoc \let\PDF@SetupDoc\@empty \Hy@DisableOption{pdfpagescrop}% \Hy@DisableOption{pdfpagemode}% \Hy@DisableOption{pdfnonfullscreenpagemode}% \Hy@DisableOption{pdfdirection}% \Hy@DisableOption{pdfviewarea}% \Hy@DisableOption{pdfviewclip}% \Hy@DisableOption{pdfprintarea}% \Hy@DisableOption{pdfprintclip}% \Hy@DisableOption{pdfprintscaling}% \Hy@DisableOption{pdfduplex}% \Hy@DisableOption{pdfpicktraybypdfsize}% \Hy@DisableOption{pdfprintpagerange}% \Hy@DisableOption{pdfnumcopies}% \Hy@DisableOption{pdfstartview}% \Hy@DisableOption{pdfstartpage}% \Hy@DisableOption{pdftoolbar}% \Hy@DisableOption{pdfmenubar}% \Hy@DisableOption{pdfwindowui}% \Hy@DisableOption{pdffitwindow}% \Hy@DisableOption{pdfcenterwindow}% \Hy@DisableOption{pdfdisplaydoctitle}% \Hy@DisableOption{pdfpagelayout}% \Hy@DisableOption{pdflang}% \Hy@DisableOption{baseurl}% \ifHy@texht\else\hyper@anchorstart{Doc-Start}\hyper@anchorend\fi \Hy@pdfstringfalse } \def\NoHyper{% \def\hyper@link@[##1]##2##3##4{##4\Hy@xspace@end}% \def\hyper@@anchor##1##2{##2\Hy@xspace@end}% \global\let\hyper@livelink\hyper@link \gdef\hyper@link##1##2##3{##3\Hy@xspace@end}% \let\hyper@anchor\@gobble \let\hyper@anchorstart\@gobble \def\hyper@anchorend{\Hy@xspace@end}% \let\hyper@linkstart\@gobbletwo \def\hyper@linkend{\Hy@xspace@end}% \def\hyper@linkurl##1##2{##1\Hy@xspace@end}% \def\hyper@linkfile##1##2##3{##1\Hy@xspace@end}% \let\Hy@backout\@gobble } \def\stop@hyper{% \def\hyper@link@[##1]##2##3##4{##4\Hy@xspace@end}% \let\Hy@backout\@gobble \let\hyper@@anchor\@gobble \def\hyper@link##1##2##3{##3\Hy@xspace@end}% \let\hyper@anchor\@gobble \let\hyper@anchorstart\@gobble \def\hyper@anchorend{\Hy@xspace@end}% \let\hyper@linkstart\@gobbletwo \def\hyper@linkend{\Hy@xspace@end}% \def\hyper@linkurl##1##2{##1\Hy@xspace@end}% \def\hyper@linkfile##1##2##3{##1\Hy@xspace@end}% } \def\endNoHyper{% \global\let\hyper@link\hyper@livelink } \@ifl@t@r\fmtversion{2023-06-01}{} { \Hy@AtBeginDocument{% \if@filesw \immediate\write\@auxout{% \string\providecommand\string\HyperFirstAtBeginDocument{% \string\AtBeginDocument}^^J% \string\HyperFirstAtBeginDocument{% \string\ifx\string\hyper@anchor\string\@undefined^^J% \string\global\string\let\string\oldnewlabel\string\newlabel^^J% \string\gdef\string\newlabel\string#1\string#2{% \string\newlabelxx{\string#1}\string#2}^^J% \string\gdef\string\newlabelxx% \string#1\string#2\string#3\string#4\string#5\string#6{% \string\oldnewlabel{\string#1}{{\string#2}{\string#3}}}^^J% \string\AtEndDocument{% \string\ifx\string\hyper@anchor\string\@undefined^^J% \string\let\string\newlabel\string\oldnewlabel^^J% \string\fi% }^^J% \string\fi% }^^J% \string\global\string\let\string\hyper@last\relax^^J% \string\gdef\string\HyperFirstAtBeginDocument\string#1{\string#1}% }% \fi \let\HyperFirstAtBeginDocument\@firstofone \ifx\hyper@last\@undefined \def\newlabel#1#2{\@newl@bel r{#1}{#2{}{}{}{}}}% \fi } } \ifHy@pdfusetitle \let\HyOrg@title\title \let\HyOrg@author\author \def\title{\@ifnextchar[{\Hy@scanopttitle}{\Hy@scantitle}}% \def\Hy@scanopttitle[#1]{% \gdef\Hy@title{#1}% \HyOrg@title[{#1}]% }% \def\Hy@scantitle#1{% \gdef\Hy@title{#1}% \HyOrg@title{#1}% }% \def\author{\@ifnextchar[{\Hy@scanoptauthor}{\Hy@scanauthor}}% \def\Hy@scanoptauthor[#1]{% \gdef\Hy@author{#1}% \HyOrg@author[{#1}]% }% \def\Hy@scanauthor#1{% \gdef\Hy@author{#1}% \HyOrg@author{#1}% }% \begingroup \def\process@me#1\@nil#2{% \expandafter\let\expandafter\x\csname @#2\endcsname \edef\y{\expandafter\strip@prefix\meaning\x}% \def\c##1#1##2\@nil{% \ifx\\##1\\% \else \expandafter\gdef\csname Hy@#2\expandafter\endcsname \expandafter{\x}% \fi }% \expandafter\c\y\relax#1\@nil }% \expandafter\process@me\string\@latex@\@nil{title}% \expandafter\process@me\string\@latex@\@nil{author}% \endgroup \fi \Hy@DisableOption{pdfusetitle} \def\Hy@UseMaketitleString#1{% \@ifundefined{Hy@#1}{}{% \begingroup \let\Hy@saved@hook\pdfstringdefPreHook \pdfstringdefDisableCommands{% \expandafter\let\expandafter\\\csname Hy@newline@#1\endcsname \let\newline\\% \def\and{; }% \let\thanks\@gobble% }% \expandafter\ifx\csname @pdf#1\endcsname\@empty \expandafter\pdfstringdef\csname @pdf#1\endcsname{% \csname Hy@#1\endcsname\@empty }% \fi \global\let\pdfstringdefPreHook\Hy@saved@hook \endgroup }% } \def\Hy@newline@title#1{ #1} \def\Hy@newline@author#1{, #1} \def\Hy@UseMaketitleInfos{% \Hy@UseMaketitleString{title}% \Hy@UseMaketitleString{author}% } \RequirePackage{atbegshi}[2007/09/09] \let\Hy@EveryPageHook\@empty \let\Hy@EveryPageBoxHook\@empty \let\Hy@FirstPageHook\@empty \AtBeginShipout{% \Hy@EveryPageHook \ifx\Hy@EveryPageBoxHook\@empty \else \setbox\AtBeginShipoutBox=\vbox{% \offinterlineskip \Hy@EveryPageBoxHook \box\AtBeginShipoutBox }% \fi } \Hy@iffileloaded{hpdftex.def}{% \AtBeginShipout{% \Hy@FirstPageHook \global\let\Hy@FirstPageHook\@empty }% }{% \AtBeginShipoutFirst{% \Hy@FirstPageHook }% } \g@addto@macro\Hy@FirstPageHook{% \PDF@FinishDoc \global\let\PDF@FinishDoc\@empty } \ifHy@pdfpagelabels \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname thepage\endcsname\relax \Hy@pdfpagelabelsfalse \Hy@WarningNoLine{% Option `pdfpagelabels' is turned off\MessageBreak because \string\thepage\space is undefined% }% \csname fi\endcsname \csname iffalse\expandafter\endcsname \fi \def\thispdfpagelabel#1{% \gdef\HyPL@thisLabel{#1}% }% \global\let\HyPL@thisLabel\relax \let\HyPL@Labels\@empty \newcount\Hy@abspage \Hy@abspage=0 % \def\HyPL@LastType{init}% \def\HyPL@LastNumber{0}% \let\HyPL@LastPrefix\@empty \def\HyPL@arabic{D}% \def\HyPL@Roman{R}% \def\HyPL@roman{r}% \def\HyPL@Alph{A}% \def\HyPL@alph{a}% \let\HyPL@SlidesSetPage\@empty \@ifclassloaded{slides}{% \def\HyPL@SlidesSetPage{% \advance\c@page\@ne \ifnum\value{page}>\@ne \protected@edef\HyPL@SlidesOptionalPage{% \Hy@SlidesFormatOptionalPage{\thepage}% }% \else \let\HyPL@SlidesOptionalPage\@empty \fi \advance\c@page-\@ne \def\HyPL@page{% \csname the\Hy@SlidesPage\endcsname \HyPL@SlidesOptionalPage }% }% }{}% \def\HyPL@EveryPage{% \begingroup \ifx\HyPL@thisLabel\relax \let\HyPL@page\thepage \HyPL@SlidesSetPage \else \let\HyPL@page\HyPL@thisLabel \global\let\HyPL@thisLabel\relax \fi \let\HyPL@Type\relax \ifnum\c@page>0 % \ifx\HyPL@SlidesSetPage\@empty \expandafter\HyPL@CheckThePage\HyPL@page\@nil \fi \fi \let\Hy@temp Y% \ifx\HyPL@Type\HyPL@LastType \else \let\Hy@temp N% \fi \ifx\HyPL@Type\relax \pdfstringdef\HyPL@Prefix{\HyPL@page}% \else \pdfstringdef\HyPL@Prefix\HyPL@Prefix \fi \ifx\HyPL@Prefix\HyPL@LastPrefix \else \let\Hy@temp N% \fi \if Y\Hy@temp \advance\c@page by -1 % \ifnum\HyPL@LastNumber=\the\c@page\relax \else \let\Hy@temp N% \fi \Hy@StepCount\c@page \fi \if N\Hy@temp \ifx\HyPL@Type\relax \HyPL@StorePageLabel{/P(\HyPL@Prefix)}% \else \HyPL@StorePageLabel{% \ifx\HyPL@Prefix\@empty \else /P(\HyPL@Prefix)% \fi /S/\csname HyPL\HyPL@Type\endcsname \ifnum\the\c@page=1 % \else \space/St \the\c@page \fi }% \fi \fi \xdef\HyPL@LastNumber{\the\c@page}% \global\let\HyPL@LastType\HyPL@Type \global\let\HyPL@LastPrefix\HyPL@Prefix \endgroup \Hy@GlobalStepCount\Hy@abspage }% \def\HyPL@CheckThePage#1\@nil{% \HyPL@@CheckThePage{#1}#1\csname\endcsname\c@page\@nil }% \def\HyPL@@CheckThePage#1#2\csname#3\endcsname\c@page#4\@nil{% \def\Hy@tempa{#4}% \def\Hy@tempb{\csname\endcsname\c@page}% \ifx\Hy@tempa\Hy@tempb \expandafter\ifx\csname HyPL#3\endcsname\relax \else \def\HyPL@Type{#3}% \def\HyPL@Prefix{#2}% \fi \else \begingroup \let\Hy@next\endgroup \let\HyPL@found\@undefined \def\arabic{\HyPL@Format{arabic}}% \def\Roman{\HyPL@Format{Roman}}% \def\roman{\HyPL@Format{roman}}% \def\Alph{\HyPL@Format{Alph}}% \def\alph{\HyPL@Format{alph}}% \protected@edef\Hy@temp{#1}% \ifx\HyPL@found\relax \toks@\expandafter{\Hy@temp}% \edef\Hy@next{\endgroup \noexpand\HyPL@@@CheckThePage\the\toks@ \noexpand\HyPL@found\relax\noexpand\@nil }% \fi \Hy@next \fi }% \def\HyPL@Format#1#2{% \ifx\HyPL@found\@undefined \expandafter\ifx\csname c@#2\endcsname\c@page \expandafter\noexpand\csname HyPL@found\endcsname{#1}% \else \expandafter\noexpand\csname#1\endcsname{#2}% \fi \else \expandafter\noexpand\csname#1\endcsname{#2}% \fi }% \def\HyPL@@@CheckThePage#1\HyPL@found#2#3\@nil{% \def\Hy@tempa{#3}% \def\Hy@tempb{\HyPL@found\relax}% \ifx\Hy@tempa\Hy@tempb \def\HyPL@Type{@#2}% \def\HyPL@Prefix{#1}% \fi }% \providecommand*{\HyPL@StorePageLabel}[1]{}% \def\HyPL@Useless{0<>}% \@onelevel@sanitize\HyPL@Useless \def\HyPL@SetPageLabels{% \@onelevel@sanitize\HyPL@Labels \ifx\HyPL@Labels\@empty \else \ifx\HyPL@Labels\HyPL@Useless \else \Hy@PutCatalog{/PageLabels<>}% \fi \fi }% \g@addto@macro\Hy@EveryPageHook{\HyPL@EveryPage}% \fi \Hy@DisableOption{pdfpagelabels} %% File: hyperref-linktarget.dtx \ExplSyntaxOn \bool_new:N \l__hyp_target_create_bool \bool_set_true:N \l__hyp_target_create_bool \hook_new:n {makelinktarget} \cs_new_protected:Npn \__hyp_target_raise:n #1 { \mode_if_vertical:TF { #1 } { \Hy@SaveSpaceFactor \penalty\@M \smash { \box_move_up:nn { \normalbaselineskip } { \hbox:n { \Hy@RestoreSpaceFactor #1 \Hy@SaveSpaceFactor } } } \Hy@RestoreSpaceFactor } } \ProvideDocumentCommand\LinkTargetOn{}{} \ProvideDocumentCommand\LinkTargetOff{}{} \ProvideDocumentCommand\MakeLinkTarget{sO{}m}{} \ProvideDocumentCommand\NextLinkTarget{m}{} \RenewDocumentCommand\LinkTargetOn {} { \bool_set_true:N \l__hyp_target_create_bool } \RenewDocumentCommand\LinkTargetOff {} { \bool_set_false:N \l__hyp_target_create_bool } \RenewDocumentCommand\MakeLinkTarget {s O{} m} { \bool_if:NT \l__hyp_target_create_bool { \group_begin: \hook_use:n { makelinktarget } \IfBooleanTF {#1} { \__hyp_target_manual:nn {#2}{#3} } { \__hyp_target_counter:nn {#2}{#3} } \group_end: } } \cs_new_protected:Npn \__hyp_target_manual:nn #1 #2 %#1 prefix, #2 name { \tl_gset:Ne \@currentHref {#2} \hook_use:n {__hyp/target/setname} \@onelevel@sanitize\@currentHref \__hyp_target_raise:n {\hyper@anchorstart{\@currentHref}\hyper@anchorend} } \cs_new_protected:Npn \__hyp_target_counter:nn #1 #2 %#1 prefix, #2 counter or empty { \tl_if_blank:nTF {#2} { \__hyp_target_counter_anon:n {#1} } { \__hyp_target_counter_doc:nn {#1}{#2} } } \cs_new_protected:Npn \__hyp_target_counter_anon:n #1 { \int_gincr:N\Hy@linkcounter \tl_gset:Ne \@currentHref {\tl_if_blank:nTF{#1}{page}{#1}*.\int_use:N\Hy@linkcounter} \hook_use:n {__hyp/target/setname} \@onelevel@sanitize\@currentHref \__hyp_target_raise:n {\hyper@anchorstart{\@currentHref}\hyper@anchorend} } \cs_new_protected:Npn \__hyp_target_counter_doc:nn #1 #2 { \bool_lazy_and:nnTF { \cs_if_free_p:c {c@#2} } { \cs_if_free_p:c {theH#2} } { \PackageWarning {hyperref}{Counter~'#2'~or~the~representation~'\string\theH#2`\MessageBreak don't~exist.~No~target~created.}{} } { \tl_gset:Ne \@currentHref {\tl_if_blank:nTF{#1}{#2}{#1}.\use:c{theH#2}} \hook_use:n {__hyp/target/setname} \@onelevel@sanitize\@currentHref \__hyp_target_raise:n {\hyper@anchorstart{\@currentHref}\hyper@anchorend} } } \RenewDocumentCommand\NextLinkTarget {m} { \hook_gput_next_code:nn {__hyp/target/setname} { \tl_gset:Ne \@currentHref {#1} } } \NewDocumentCommand\SetLinkTargetFilter {m} { \cs_set:Npn \HyperDestNameFilter ##1 {#1} } \@onlypreamble \SetLinkTargetFilter \ExplSyntaxOff %% File: hyperref.dtx \ifx\MaybeStopEarly\relax \else \Hy@stoppedearlytrue \expandafter\MaybeStopEarly \fi \Hy@stoppedearlyfalse \def\Hy@CounterExists#1{% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname c@#1\endcsname\relax \expandafter\@gobble \else \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname the#1\endcsname\relax \expandafter\expandafter\expandafter\@gobble \else \expandafter\expandafter\expandafter\@firstofone \fi \fi } \Hy@CounterExists{section}{% \providecommand\theHequation{\theHsection.\arabic{equation}}% } \providecommand\theHequation{\arabic{equation}}% \Hy@CounterExists{part}{% \providecommand\theHpart{\arabic{part}}% } \@ifundefined{thechapter}{% \providecommand\theHsection {\arabic{section}}% \providecommand\theHfigure {\arabic{figure}}% \providecommand\theHtable {\arabic{table}}% }{% \providecommand\theHchapter {\arabic{chapter}}% \providecommand\theHfigure {\theHchapter.\arabic{figure}}% \providecommand\theHtable {\theHchapter.\arabic{table}}% \providecommand\theHsection {\theHchapter.\arabic{section}}% } \providecommand\theHsubsection {\theHsection.\arabic{subsection}} \providecommand\theHsubsubsection{\theHsubsection.\arabic{subsubsection}} \providecommand\theHparagraph {\theHsubsubsection.\arabic{paragraph}} \providecommand\theHsubparagraph {\theHparagraph.\arabic{subparagraph}} \providecommand\theHtheorem {\theHsection.\arabic{theorem}} \providecommand\theHthm {\theHsection.\arabic{thm}} \let\H@item\item \newcounter{Item} \def\theHItem{\arabic{Item}} \def\item{% \@hyper@itemfalse \if@nmbrlist\@hyper@itemtrue\fi \H@item } \providecommand\theHenumi {\theHItem} \providecommand\theHenumii {\theHItem} \providecommand\theHenumiii {\theHItem} \providecommand\theHenumiv {\theHItem} \providecommand\theHHfootnote {\arabic{Hfootnote}} \providecommand\theHmpfootnote{\arabic{mpfootnote}} \@ifundefined{theHHmpfootnote}{% \let\theHHmpfootnote\theHHfootnote }{} \let\H@refstepcounter\refstepcounter \edef\name@of@eq{equation}% \newif\if@hyper@item \newif\if@skiphyperref \@hyper@itemfalse \@skiphyperreffalse \ExplSyntaxOn \def\refstepcounter#1{% \legacy_if:nF {Hy@pdfstring} { \H@refstepcounter{#1}% \bool_lazy_and:nnT { \l__hyp_target_create_bool } { ! \legacy_if_p:n{@skiphyperref} } { \legacy_if:nTF {@hyper@item} { \stepcounter{Item}% \hyper@refstepcounter{Item}% \@hyper@itemfalse } { \hyper@refstepcounter{#1}% } } } } \ExplSyntaxOff \let\Hy@saved@refstepcounter\refstepcounter \newif\ifmeasuring@\measuring@false \newcommand\Hy@ifnotmeasuring[1]{#1} \AddToHook{package/amsmath/after} { \renewcommand\Hy@ifnotmeasuring[1] {\ifmeasuring@ \else #1\fi} } \def\hyper@refstepcounter#1{% \HyCnt@ProvideTheHCounter{#1}% \hyper@makecurrent{#1}% \Hy@ifnotmeasuring {\Hy@raisedlink{% \hyper@anchorstart{\@currentHref}\hyper@anchorend }}% } \def\HyCnt@ProvideTheHCounter#1{% \@ifundefined{theH#1}{% \expandafter\def\csname theH#1\endcsname{}% \def\Hy@temp{\@elt{#1}}% \@onelevel@sanitize\Hy@temp \let\HyOrg@elt\@elt \edef\@elt{% \noexpand\HyCnt@LookForParentCounter \expandafter\noexpand\csname theH#1\endcsname }% \cl@@ckpt \let\@elt\HyOrg@elt \expandafter \Hy@LocalAppendToMacro\csname theH#1\expandafter\endcsname \expandafter{% \expandafter\@arabic\csname c@#1\endcsname }% }{}% } \def\HyCnt@LookForParentCounter#1#2{% \expandafter\let\expandafter\Hy@temp@A\csname cl@#2\endcsname \@ifundefined{cl@#2}{% }{% \@onelevel@sanitize\Hy@temp@A \edef\Hy@temp@A{% \noexpand\in@{\Hy@temp}{\Hy@temp@A}% }\Hy@temp@A \ifin@ \@ifundefined{theH#2}{% \expandafter\Hy@LocalAppendToMacro\expandafter#1% \expandafter{% \expandafter\@arabic\csname c@#2\endcsname.% }% }{% \expandafter\Hy@LocalAppendToMacro\expandafter#1% \expandafter{% \csname theH#2\endcsname.% }% }% \fi }% } \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname chapter\endcsname\relax \def\Hy@chapterstring{section}% \else \def\Hy@chapterstring{chapter}% \fi \def\Hy@appendixstring{appendix} \def\Hy@chapapp{\Hy@chapterstring} \@ifundefined{appendix}{% }{% \let\HyOrg@appendix\appendix \def\Hy@AlphNoErr#1{% \ifnum\value{#1}>26 % Alph\number\value{#1}% \else \ifnum\value{#1}<1 % Alph\number\value{#1}% \else \Alph{#1}% \fi \fi }% \def\appendix{% \@ifundefined{chapter}{% \gdef\theHsection{\Hy@AlphNoErr{section}}% }{% \gdef\theHchapter{\Hy@AlphNoErr{chapter}}% }% \xdef\Hy@chapapp{\Hy@appendixstring}% \HyOrg@appendix }% } \def\Hy@Test@alph#1{% \ifcase#1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or z% \else \@ctrerr \fi } \def\Hy@Test@Alph#1{% \ifcase#1\or A\or B\or C\or D\or E\or F\or G\or H\or I\or J\or K\or L\or M\or N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or X\or Y\or Z% \else \@ctrerr \fi } \NewHook{__hyp/target/setname } \define@key{Hyp}{next-anchor}{% \AddToHookNext{__hyp/target/setname}% {\Hy@MakeCurrentHref{#1}}% } \def\hyper@makecurrent#1{% \begingroup \Hy@safe@activestrue \edef\Hy@param{#1}% \ifx\Hy@param\Hy@chapterstring \let\Hy@param\Hy@chapapp \fi \ifHy@hypertexnames \let\@number\@firstofone \def\@fnsymbol##1{fnsymbol\number##1}% \def\@arabic##1{\number##1}% \ifx\@alph\Hy@Test@alph \else \def\@alph{alph\number}% \fi \ifx\@Alph\Hy@Test@Alph \else \def\@Alph{Alph\number}% \fi \ifHy@naturalnames \let\textlatin\@firstofone \xdef\HyperGlobalCurrentHref{\csname the#1\endcsname}% \else \xdef\HyperGlobalCurrentHref{% \csname the% \expandafter\ifx\csname theH#1\endcsname\relax\else H\fi #1% \endcsname }% \fi \xdef\HyperGlobalCurrentHref{% \Hy@param.\expandafter\strip@prefix\meaning\HyperGlobalCurrentHref }% \else \Hy@GlobalStepCount\Hy@linkcounter \xdef\HyperGlobalCurrentHref{\Hy@param.\the\Hy@linkcounter}% \fi \endgroup \let\HyperLocalCurrentHref\HyperGlobalCurrentHref \ifHy@localanchorname \let\@currentHref\HyperLocalCurrentHref \else \global\let\@currentHref\HyperGlobalCurrentHref \fi \UseHook{__hyp/target/setname}% } \def\Hy@MakeCurrentHref#1{% \edef\HyperLocalCurrentHref{#1}% \@onelevel@sanitize\HyperLocalCurrentHref \global\let\HyperGlobalCurrentHref\HyperLocalCurrentHref \let\HyperLocalCurrentHref\HyperGlobalCurrentHref \ifHy@localanchorname \let\@currentHref\HyperLocalCurrentHref \else \global\let\@currentHref\HyperGlobalCurrentHref \fi } \def\Hy@MakeCurrentHrefAuto#1{% \Hy@GlobalStepCount\Hy@linkcounter \Hy@MakeCurrentHref{#1.\the\Hy@linkcounter}% \UseHook{__hyp/target/setname}} \def\@currentHlabel{\@currentHref} \def\hypergetref#1{\getrefbykeydefault{#1}{}{??}} \def\hypergetpageref#1{\getrefbykeydefault{#1}{page}{0}} \@ifl@t@r\fmtversion{2023-11-01} { \AddToHook{package/varwidth/after} { \NewSocketPlug{hyp/raisedlink}{varwidth}{\@vwid@wrap{#1}} \appto\@vwid@setup{\AssignSocketPlug{hyp/raisedlink}{varwidth}} } }{} \@ifpackageloaded{titlesec}{% \def\ttl@Hy@steplink#1{% \Hy@MakeCurrentHrefAuto{#1*}% \edef\ttl@Hy@saveanchor{% \noexpand\Hy@raisedlink{% \noexpand\hyper@anchorstart{\@currentHref}% \noexpand\hyper@anchorend \def\noexpand\ttl@Hy@SavedCurrentHref{\@currentHref}% \noexpand\ttl@Hy@PatchSaveWrite }% }% }% \def\ttl@Hy@PatchSaveWrite{% \begingroup \toks@\expandafter{\ttl@savewrite}% \edef\x{\endgroup \def\noexpand\ttl@savewrite{% \let\noexpand\@currentHref \noexpand\ttl@Hy@SavedCurrentHref \the\toks@ }% }% \x }% \def\ttl@Hy@refstepcounter#1{% \let\ttl@b\Hy@raisedlink \def\Hy@raisedlink##1{% \def\ttl@Hy@saveanchor{\Hy@raisedlink{##1}}% }% \refstepcounter{#1}% \let\Hy@raisedlink\ttl@b }% }{} \@ifpackageloaded{longtable}{% \@ifundefined{hyper@nopatch@longtable}{% \begingroup \def\y{\LT@array}% \@ifundefined{scr@LT@array}{% \@ifundefined{adl@LT@array}{}{\def\y{\adl@LT@array}}% }{\def\y{\scr@LT@array}}% \long\def\x\refstepcounter#1#2\@sharp#3#4\@nil{% \expandafter\endgroup \expandafter\def\y[##1]##2{% \H@refstepcounter{#1}% \hyper@makecurrent{table}% \let\Hy@LT@currentHref\@currentHref #2\@sharp#####4% }% }% \expandafter\expandafter\expandafter\x\y[{#1}]{#2}\@nil \begingroup \def\x#1\ifvoid\LT@foot#2\fi#3\@nil{% \endgroup \def\LT@start{% #1% \ifvoid\LT@foot#2\fi \let\@currentHref\Hy@LT@currentHref \Hy@raisedlink{% \hyper@anchorstart{\@currentHref}\hyper@anchorend }% #3% }% }% \expandafter\x\LT@start\@nil }{} }{} \let\new@refstepcounter\refstepcounter \let\H@equation\equation \let\H@endequation\endequation \@ifundefined{hyper@nopatch@mathenv}{% \@ifpackageloaded{amsmath}{}{% \def\equation{% \let\refstepcounter\H@refstepcounter \H@equation \hyper@makecurrent{equation}% \mathopen{% \Hy@raisedlink{\hyper@anchorstart{\@currentHref}}% }% \let\refstepcounter\new@refstepcounter }% \def\endequation{% \ifx\Hy@raisedlink\@empty \hyper@anchorend \else \mathclose{\Hy@raisedlink{\hyper@anchorend}}% \fi \H@endequation }% } }{} \newif\if@eqnstar \@eqnstarfalse \let\H@eqnarray\eqnarray \let\H@endeqnarray\endeqnarray \@ifundefined{hyper@nopatch@mathenv}{% \def\eqnarray{% \let\Hy@reserved@a\relax \def\@currentHref{}% \H@eqnarray \if@eqnstar \else \ifx\\\@currentHref\\% \else \hyper@makecurrent{equation}% \mathopen{% \Hy@raisedlink{% \hyper@anchorstart{\@currentHref}\hyper@anchorend }% }% \fi \fi } \def\endeqnarray{% \H@endeqnarray } }{} \@namedef{eqnarray*}{% \protected\def\@eqncr{\nonumber\@seqncr}\@eqnstartrue\eqnarray } \@namedef{endeqnarray*}{% \nonumber\endeqnarray\@eqnstarfalse } \@ifundefined{subeqnarray}{}{% \let\H@subeqnarray\subeqnarray \let\H@endsubeqnarray\endsubeqnarray \def\subeqnarray{% \let\Hy@reserved@a\relax \H@subeqnarray \hyper@makecurrent{equation}% \hyper@anchorstart{\@currentHref}{}\hyper@anchorend }% \def\endsubeqnarray{% \H@endsubeqnarray }% \providecommand\theHsubequation{\theHequation\alph{subequation}}% } \def\make@stripped@name#1{% \begingroup \escapechar\m@ne \global\let\newname\@empty \protected@edef\Hy@tempa{#1}% \edef\@tempb{% \noexpand\@tfor\noexpand\Hy@tempa:=% \expandafter\strip@prefix\meaning\Hy@tempa }% \@tempb\do{% \if{\Hy@tempa\else \if}\Hy@tempa\else \xdef\newname{\newname\Hy@tempa}% \fi \fi }% \endgroup } \AddToHook{cmd/subequations/before} {% \stepcounter{equation}% \protected@edef\theHparentequation{\theHequation}% \addtocounter{equation}{-1}% } \AddToHook{cmd/subequations/after} {% \def\theHequation{\theHparentequation\alph{equation}}% \ignorespaces } \newcommand\Hy@theorem@refstepcounter[1] {% \H@refstepcounter{#1}% \hyper@makecurrent{#1}% \global\let\Hy@dth@currentHref\@currentHref \Hy@theorem@makelinktarget{\Hy@dth@currentHref}% } \newcommand\Hy@theorem@makelinktarget[1] { \AddToHookNext{cmd/item/before} {\AddToHookNext{para/begin} {\let\Hy@tempa\@currentHref \MakeLinkTarget*{#1}% \Hy@dth@currentHref \global\let\@currentHref\Hy@tempa }% }% } \AddToHook{begindocument} {% \@ifundefined{deferred@thm@head}{} {% \let\Hy@deferred@thm@head\deferred@thm@head \def\deferred@thm@head#1{\Hy@deferred@thm@head{#1}}% \renewcommand\Hy@theorem@makelinktarget[1] {% \AddToHookNext{cmd/deferred@thm@head/before} {\AddToHookNext{para/begin} {\let\Hy@tempa\@currentHref \MakeLinkTarget*{#1}% \global\let\@currentHref\Hy@tempa }% }% }% }% } \@ifundefined{hyper@nopatch@thm}{% \AtBeginDocument{% \@ifpackageloaded{cleveref} {\AddToHook{cmd/@thm/before}{\ifhmode\unskip\fi}} {% \ifpatchable\@thm{\refstepcounter} {\patchcmd\@thm{\refstepcounter}{\Hy@theorem@refstepcounter}{}{}} {}% }}}{} \@ifundefined{hyper@nopatch@footnote}{% \ifHy@hyperfootnotes \newcounter{Hfootnote}% \let\H@@footnotetext\@footnotetext \let\H@@footnotemark\@footnotemark \def\@xfootnotenext[#1]{% \begingroup \csname c@\@mpfn\endcsname #1\relax \unrestored@protected@xdef\@thefnmark{\thempfn}% \endgroup \ifx\@footnotetext\@mpfootnotetext \expandafter\H@@mpfootnotetext \else \expandafter\H@@footnotetext \fi }% \def\@xfootnotemark[#1]{% \begingroup \c@footnote #1\relax \unrestored@protected@xdef\@thefnmark{\thefootnote}% \endgroup \H@@footnotemark }% \let\H@@mpfootnotetext\@mpfootnotetext \long\def\@mpfootnotetext#1{% \H@@mpfootnotetext{% \ifHy@nesting \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi {% \expandafter\hyper@@anchor\expandafter{% \Hy@footnote@currentHref }{\ignorespaces #1}% }{% \Hy@raisedlink{% \expandafter\hyper@@anchor\expandafter{% \Hy@footnote@currentHref }{\relax}% }\ignorespaces #1% }% }% }% \long\def\@footnotetext#1{% \H@@footnotetext{% \ifHy@nesting \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi {% \expandafter\hyper@@anchor\expandafter{% \Hy@footnote@currentHref }{\ignorespaces #1}% }{% \Hy@raisedlink{% \expandafter\hyper@@anchor\expandafter{% \Hy@footnote@currentHref }{\relax}% }% \let\@currentHref\Hy@footnote@currentHref \let\@currentlabelname\@empty \ignorespaces #1% }% }% }% \def\@footnotemark{% \leavevmode \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi \stepcounter{Hfootnote}% \global\let\Hy@saved@currentHref\@currentHref \hyper@makecurrent{Hfootnote}% \global\let\Hy@footnote@currentHref\@currentHref \global\let\@currentHref\Hy@saved@currentHref \hyper@linkstart{link}{\Hy@footnote@currentHref}% \@makefnmark \hyper@linkend \ifhmode\spacefactor\@x@sf\fi \relax }% \@ifpackageloaded{tabularx}{% \let\HyOrg@TX@endtabularx\TX@endtabularx \def\Hy@tabularx@hook{% \let\@footnotetext\H@@footnotetext \let\@footnotemark\H@@footnotemark \let\@mpfootnotetext\H@@mpfootnotetext }% \begingroup \toks@\expandafter{\TX@endtabularx}% \xdef\Hy@gtemp{% \noexpand\Hy@tabularx@hook \the\toks@ }% \endgroup \let\TX@endtabularx\Hy@gtemp }{}% \@ifpackageloaded{longtable}{% \CheckCommand{\LT@p@ftntext}[1]{% \edef\@tempa{% \the\LT@p@ftn \noexpand\footnotetext[\the\c@footnote]% }% \global\LT@p@ftn\expandafter{\@tempa{#1}}% }% \long\def\LT@p@ftntext#1{% \edef\@tempa{% \the\LT@p@ftn \begingroup \noexpand\c@footnote=\the\c@footnote\relax \noexpand\protected@xdef\noexpand\@thefnmark{% \noexpand\thempfn }% \noexpand\Hy@LT@footnotetext{% \Hy@footnote@currentHref }% }% \global\LT@p@ftn\expandafter{% \@tempa{#1}% \endgroup }% }% \long\def\Hy@LT@footnotetext#1#2{% \H@@footnotetext{% \ifHy@nesting \hyper@@anchor{#1}{#2}% \else \Hy@raisedlink{% \hyper@@anchor{#1}{\relax}% }% \def\@currentHref{#1}% \let\@currentlabelname\@empty #2% \fi }% }% }{}% \@ifpackageloaded{fancyvrb}{% \def\V@@footnotetext{% \insert\footins\bgroup \csname reset@font\endcsname \footnotesize \interlinepenalty\interfootnotelinepenalty \splittopskip\footnotesep \splitmaxdepth\dp\strutbox \floatingpenalty \@MM \hsize\columnwidth \@parboxrestore \def\@currentcounter{footnote}% \protected@edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}% \@makefntext{}% \rule{\z@}{\footnotesep}% \bgroup \aftergroup\V@@@footnotetext \Hy@raisedlink{% \expandafter\hyper@@anchor\expandafter{% \Hy@footnote@currentHref }{\relax}% }% \let\@currentHref\Hy@footnote@currentHref \let\@currentlabelname\@empty \ignorespaces }% }{}% \def\Hy@temp#1{% \begingroup \unrestored@protected@xdef\@thefnmark{\ref{#1}}% \endgroup \@footnotemark }% \ifx\Hy@temp\footref \def\footref#1{% \begingroup \unrestored@protected@xdef\@thefnmark{\ref{#1}}% \endgroup \H@@footnotemark }% \fi \let\HyOrg@maketitle\maketitle \def\maketitle{% \let\Hy@saved@footnotemark\@footnotemark \let\Hy@saved@footnotetext\@footnotetext \let\@footnotemark\H@@footnotemark \let\@footnotetext\H@@footnotetext \@ifnextchar[\Hy@maketitle@optarg{% ] \HyOrg@maketitle \Hy@maketitle@end }% }% \def\Hy@maketitle@optarg[#1]{% \HyOrg@maketitle[{#1}]% \Hy@maketitle@end }% \def\Hy@maketitle@end{% \ifx\@footnotemark\H@@footnotemark \let\@footnotemark\Hy@saved@footnotemark \fi \ifx\@footnotetext\H@@footnotetext \let\@footnotetext\Hy@saved@footnotetext \fi }% \def\realfootnote{% \@ifnextchar[\@xfootnote%] {\stepcounter{\@mpfn}% \protected@xdef\@thefnmark{\thempfn}% \H@@footnotemark\H@@footnotetext }% }% \fi }{} \Hy@DisableOption{hyperfootnotes} \@ifundefined{hyper@nopatch@caption}{% \def\caption{% \ifx\@captype\@undefined \@latex@error{\noexpand\caption outside float}\@ehd \expandafter\@gobble \else \H@refstepcounter\@captype \let\Hy@tempa\@caption \@ifundefined{float@caption}{% }{% \expandafter\ifx\csname @float@c@\@captype\endcsname \float@caption \let\Hy@tempa\Hy@float@caption \fi }% \expandafter\@firstofone \fi {\@dblarg{\Hy@tempa\@captype}}% } \long\def\@caption#1[#2]#3{% \expandafter\ifx\csname if@capstart\expandafter\endcsname \csname iftrue\endcsname \global\let\@currentHref\hc@currentHref \else \hyper@makecurrent{\@captype}% \fi \@ifundefined{NR@gettitle}{% \def\@currentlabelname{#2}% }{% \NR@gettitle{#2}% }% \par\addcontentsline{\csname ext@#1\endcsname}{#1}{% \protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}% }% \begingroup \@parboxrestore \if@minipage \@setminipage \fi \normalsize \expandafter\ifx\csname if@capstart\expandafter\endcsname \csname iftrue\endcsname \global\@capstartfalse \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces#3}% \else \@makecaption{\csname fnum@#1\endcsname}{% \ignorespaces \ifHy@nesting \expandafter\hyper@@anchor\expandafter{\@currentHref}{#3}% \else \Hy@raisedlink{% \expandafter\hyper@@anchor\expandafter{% \@currentHref }{\relax}% }% #3% \fi }% \fi \par \endgroup }}{}%end no patch \let\Hy@float@caption\@caption \newcommand{\HyNew@float@makebox}[1]{% \HyOrg@float@makebox{% #1\relax \ifx\Hy@float@currentHref\@undefined \else \expandafter\hyper@@anchor\expandafter{% \Hy@float@currentHref }{\relax}% \global\let\Hy@float@currentHref\@undefined \fi }% }% \@ifpackageloaded{float}{% \def\Hy@float@caption{% \ifx\Hy@float@currentHref\@undefined \hyper@makecurrent{\@captype}% \global\let\Hy@float@currentHref\@currentHref \else \let\@currentHref\Hy@float@currentHref \fi \float@caption }% \let\HyOrg@float@makebox\float@makebox \let\float@makebox\HyNew@float@makebox }{} \def\hyper@natlinkstart#1{% \Hy@backout{#1}% \hyper@linkstart{cite}{cite.#1}% \def\hyper@nat@current{#1}% } \def\hyper@natlinkend{% \hyper@linkend } \def\hyper@natlinkbreak#1#2{% \hyper@linkend#1\hyper@linkstart{cite}{cite.#2}% } \def\hyper@natanchorstart#1{% \Hy@raisedlink{\hyper@anchorstart{cite.#1}}% } \def\hyper@natanchorend{\hyper@anchorend} \@ifundefined{hyper@nopatch@bib} {% \@ifundefined{NAT@parse}{% \providecommand*\@extra@binfo{}% \providecommand*\@extra@b@citeb{}% \def\bibcite#1#2{% \@newl@bel{b}{#1\@extra@binfo}{% \hyper@@link[cite]{}{cite.#1\@extra@b@citeb}{#2}% }% }% \gdef\@extra@binfo{}% \let\Hy@bibcite\bibcite \begingroup \@ifundefined{bbl@cite@choice}{}{% \g@addto@macro\bbl@cite@choice{% \let\bibcite\Hy@bibcite }% }% \endgroup \providecommand*{\@BIBLABEL}{\@biblabel}% \def\@lbibitem[#1]#2{% \@skiphyperreftrue \H@item[% \ifx\Hy@raisedlink\@empty \hyper@anchorstart{cite.#2\@extra@b@citeb}% \@BIBLABEL{#1}% \hyper@anchorend \else \Hy@raisedlink{% \hyper@anchorstart{cite.#2\@extra@b@citeb}\hyper@anchorend }% \@BIBLABEL{#1}% \fi \hfill ]% \@skiphyperreffalse \if@filesw \begingroup \let\protect\noexpand \immediate\write\@auxout{% \string\bibcite{#2}{#1}% }% \endgroup \fi \ignorespaces }% \def\@bibitem#1{% \@skiphyperreftrue\H@item\@skiphyperreffalse \Hy@raisedlink{% \hyper@anchorstart{cite.#1\@extra@b@citeb}\relax\hyper@anchorend }% \if@filesw \begingroup \let\protect\noexpand \immediate\write\@auxout{% \string\bibcite{#1}{\the\value{\@listctr}}% }% \endgroup \fi \ignorespaces }% }{}% }{} \@ifpackageloaded{harvard}{% \Hy@AtBeginDocument{% \Hy@Info{*** compatibility with harvard **** }% \Hy@raiselinksfalse \def\harvardcite#1#2#3#4{% \global\@namedef{HAR@fn@#1}{\hyper@@link[cite]{}{cite.#1}{#2}}% \global\@namedef{HAR@an@#1}{\hyper@@link[cite]{}{cite.#1}{#3}}% \global\@namedef{HAR@yr@#1}{\hyper@@link[cite]{}{cite.#1}{#4}}% \global\@namedef{HAR@df@#1}{\csname HAR@fn@#1\endcsname}% }% \def\HAR@citetoaux#1{% \if@filesw\immediate\write\@auxout{\string\citation{#1}}\fi% \ifHy@backref \ifx\@empty\@currentlabel \else \@bsphack \if@filesw \protected@write\@auxout{}{% \string\@writefile{brf}{% \string\backcite{#1}{% {\thepage}{\@currentlabel}{\@currentHref}% }% }% }% \fi \@esphack \fi \fi }% \def\harvarditem{% \@ifnextchar[{\@harvarditem}{\@harvarditem[\null]}% }% \def\@harvarditem[#1]#2#3#4#5\par{% \item[]% \hyper@anchorstart{cite.#4}\relax\hyper@anchorend \if@filesw \begingroup \def\protect##1{\string ##1\space}% \ifthenelse{\equal{#1}{\null}}% {\def\next{{#4}{#2}{#2}{#3}}}% {\def\next{{#4}{#2}{#1}{#3}}}% \immediate\write\@auxout{\string\harvardcite\codeof\next}% \endgroup \fi \protect\hspace*{-\labelwidth}% \protect\hspace*{-\labelsep}% \ignorespaces #5% \ifHy@backref \newblock \backref{\csname br@#4\endcsname}% \fi \par }% \long\def\HAR@checkcitations#1#2#3#4{% \def\HAR@tempa{\hyper@@link[cite]{}{cite.#1}{#2}}% \expandafter\ifx\csname HAR@fn@#1\endcsname\HAR@tempa \def\HAR@tempa{\hyper@@link[cite]{}{cite.#1}{#3}}% \expandafter\ifx\csname HAR@an@#1\endcsname\HAR@tempa \def\HAR@tempa{\hyper@@link[cite]{}{cite.#1}{#4}}% \expandafter\ifx\csname HAR@yr@#1\endcsname\HAR@tempa \else \@tempswatrue \fi \else \@tempswatrue \fi \else \@tempswatrue \fi }% }% }{} \@ifpackageloaded{chicago}{% \def\citeN{% \def\@citeseppen{-1000}% \def\@cite##1##2{##1}% \def\citeauthoryear##1##2##3{##1 (##3\@cite@opt)}% \@citedata@opt }% \def\shortciteN{% \def\@citeseppen{-1000}% \def\@cite##1##2{##1}% \def\citeauthoryear##1##2##3{##2 (##3\@cite@opt)}% \@citedata@opt }% \def\@citedata@opt{% \let\@cite@opt\@empty \@ifnextchar [{% \@tempswatrue \@citedatax@opt }{% \@tempswafalse \@citedatax[]% }% }% \def\@citedatax@opt[#1]{% \def\@cite@opt{, #1}% \@citedatax[{#1}]% }% }{} \def\@currentHpage{Doc-Start} \@ifclassloaded{slides}{% \def\Hy@SlidesFormatOptionalPage#1{(#1)}% \def\Hy@PageAnchorSlidesPlain{% \advance\c@page\@ne \xdef\@currentHpage{page.\the\c@slide.\the\c@overlay.\the\c@note% \ifnum\c@page=\@ne \else .\the\c@page \fi}% \edef\Hy@TempPageAnchor{% \noexpand\hyper@@anchor{% \@currentHpage }% }% \advance\c@page-\@ne }% \def\Hy@PageAnchorSlide{% \advance\c@page\@ne \ifnum\c@page>\@ne \@ifundefined{theHpage}{% \protected@edef\Hy@TheSlideOptionalPage{% \Hy@SlidesFormatOptionalPage{\thepage}% }% }{% \protected@edef\Hy@TheSlideOptionalPage{% \Hy@SlidesFormatOptionalPage{\theHpage}% }% }% \else \def\Hy@TheSlideOptionalPage{}% \fi \advance\c@page-\@ne \pdfstringdef\@the@H@page{% \csname the% \@ifundefined{theH\Hy@SlidesPage}{}{H}% \Hy@SlidesPage \endcsname \Hy@TheSlideOptionalPage }% \@gobblethree }% \def\Hy@SlidesPage{slide}% \g@addto@macro\slide{% \def\Hy@SlidesPage{slide}% }% \g@addto@macro\overlay{% \def\Hy@SlidesPage{overlay}% }% \g@addto@macro\note{% \def\Hy@SlidesPage{note}% }% }{% \def\Hy@PageAnchorSlidesPlain{}% \def\Hy@PageAnchorSlide{}% } \def\Hy@EveryPageAnchor{% \Hy@DistillerDestFix \ifHy@pageanchor \ifHy@hypertexnames \ifHy@plainpages \def\Hy@TempPageAnchor{\hyper@@anchor{page.\the\c@page}}% \xdef\@currentHpage{page.\the\c@page}% \Hy@PageAnchorSlidesPlain \else \begingroup \let\@number\@firstofone \Hy@unicodefalse \Hy@PageAnchorSlide \pdfstringdef\@the@H@page{\thepage}% \endgroup \EdefUnescapeString\@the@H@page{\@the@H@page}% \def\Hy@TempPageAnchor{\hyper@@anchor{page.\@the@H@page}}% \xdef\@currentHpage{page.\@the@H@page}% \fi \else \Hy@GlobalStepCount\Hy@pagecounter \def\Hy@TempPageAnchor{% \hyper@@anchor{page.\the\Hy@pagecounter}% }% \xdef\@currentHpage{page.\the\Hy@pagecounter}% \fi \vbox to 0pt{% \kern\voffset \kern\topmargin \kern-1bp\relax \hbox to 0pt{% \kern\hoffset \kern\ifodd\value{page}% \oddsidemargin \else \evensidemargin \fi \kern-1bp\relax \Hy@TempPageAnchor\relax \hss }% \vss }% \fi } \g@addto@macro\Hy@EveryPageBoxHook{% \Hy@EveryPageAnchor } \providecommand\protected@file@percent{} \@ifundefined{hyper@nopatch@toc}{% \def\addcontentsline#1#2#3{% toc extension, type, tag \begingroup \let\label\@gobble \ifx\@currentHref\@empty \Hy@Warning{% No destination for bookmark of \string\addcontentsline,% \MessageBreak destination is added% }% \phantomsection \fi \expandafter\ifx\csname toclevel@#2\endcsname\relax \begingroup \def\Hy@tempa{#1}% \ifx\Hy@tempa\Hy@bookmarkstype \Hy@WarningNoLine{% bookmark level for unknown #2 defaults to 0% }% \else \Hy@Info{bookmark level for unknown #2 defaults to 0}% \fi \endgroup \expandafter\gdef\csname toclevel@#2\endcsname{0}% \fi \edef\Hy@toclevel{\csname toclevel@#2\endcsname}% \Hy@writebookmark{\csname the#2\endcsname}% {#3}% {\@currentHref}% {\Hy@toclevel}% {#1}% \ifHy@verbose \begingroup \def\Hy@tempa{#3}% \@onelevel@sanitize\Hy@tempa \let\temp@online\on@line \let\on@line\@empty \Hy@Info{% bookmark\temp@online:\MessageBreak thecounter {\csname the#2\endcsname}\MessageBreak text {\Hy@tempa}\MessageBreak reference {\@currentHref}\MessageBreak toclevel {\Hy@toclevel}\MessageBreak type {#1}% }% \endgroup \fi \addtocontents{#1}{% \protect\contentsline{#2}{#3}{\thepage}{\@currentHref}\protected@file@percent }% \endgroup } }{} \protected\def\Hy@toclinkstart{\hyper@linkstart{link}{\Hy@tocdestname}} \protected\def\Hy@toclinkend{\hyper@linkend} \@ifundefined{hyper@nopatch@toc}{% \def\contentsline#1#2#3#4{% \begingroup \Hy@safe@activestrue \edef\x{\endgroup \def\noexpand\Hy@tocdestname{#4}% }\x \ifx\Hy@tocdestname\@empty \csname l@#1\endcsname{#2}{#3}% \else \ifcase\Hy@linktoc % none \csname l@#1\endcsname{#2}{#3}% \or % section \csname l@#1\endcsname{% \Hy@toclinkstart{#2}\Hy@toclinkend }{#3}% \or % page \def\Hy@temp{#3}% \ifx\Hy@temp\@empty \csname l@#1\endcsname{#2}{#3}% \else \csname l@#1\endcsname{{#2}}{% \Hy@toclinkstart{#3}\Hy@toclinkend }% \fi \else % all \def\Hy@temp{#3}% \ifx\Hy@temp\@empty \csname l@#1\endcsname{% \Hy@toclinkstart{#2}\Hy@toclinkend }{}% \else \csname l@#1\endcsname{% \Hy@toclinkstart{#2}\Hy@toclinkend }{% \Hy@toclinkstart{#3}\Hy@toclinkend }% \fi \fi \fi } }{} \@ifundefined{hyper@nopatch@counter} { \let\H@definecounter\@definecounter \def\@definecounter#1{% \H@definecounter{#1}% \expandafter \gdef\csname theH#1\expandafter\endcsname\expandafter {\expandafter\@arabic\csname c@#1\endcsname}}% }{} \@ifundefined{hyper@nopatch@counter} { \let\H@newctr\@newctr \def\@newctr#1[#2]{% \H@newctr#1[{#2}]% \expandafter\gdef\csname theH#1\endcsname{% \csname the\@ifundefined{theH#2}{}{H}#2\endcsname.\arabic{#1}% }% } }{} \@ifundefined{hyper@nopatch@amsmath@tag} {% \AddToHook{package/amsmath/after}{% \def\Hy@make@anchor{% \Hy@MakeCurrentHrefAuto{AMS}% \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}% }% \def\Hy@make@df@tag@@#1{% \gdef\df@tag{% \maketag@@@{\Hy@make@anchor#1}% \def\@currentlabel{#1}% }% }% \def\Hy@make@df@tag@@@#1{% \gdef\df@tag{% \tagform@{\Hy@make@anchor#1}% \toks@\@xp{\p@equation{#1}}% \edef\@currentlabel{\the\toks@}% }% }% \let\HyOrg@make@df@tag@@\make@df@tag@@ \let\HyOrg@make@df@tag@@@\make@df@tag@@@ \let\make@df@tag@@\Hy@make@df@tag@@ \let\make@df@tag@@@\Hy@make@df@tag@@@ }{} }{} \def\HyOrg@addtoreset#1#2{\expandafter\@cons\csname cl@#2\endcsname {{#1}}} \@ifundefined{hyper@nopatch@counter} { \let\HyOrg@addtoreset\@addtoreset \def\@addtoreset#1#2{% \HyOrg@addtoreset{#1}{#2}% \expandafter\xdef\csname theH#1\endcsname{% \expandafter\noexpand \csname the\@ifundefined{theH#2}{}H#2\endcsname .\noexpand\the\noexpand\value{#1}% }% } }{} \@ifundefined{hyper@nopatch@counter} { \AddToHook{package/amsmath/after}{% \renewcommand*{\numberwithin}[3][\arabic]{% \@ifundefined{c@#2}{\@nocounterr{#2}}{% \@ifundefined{c@#3}{\@nocnterr{#3}}{% \HyOrg@addtoreset{#2}{#3}% \@xp\xdef\csname the#2\endcsname{% \@xp\@nx\csname the#3\endcsname .\@nx#1{#2}% }% \@xp\xdef\csname theH#2\endcsname{% \@xp\@nx \csname the\@ifundefined{theH#3}{}H#3\endcsname .\@nx#1{#2}% }% }% }% }% }{} }{} \ifHy@hyperfigures \let\Hy@Gin@setfile\Gin@setfile \def\Gin@setfile#1#2#3{% \hyperimage{#3}{\Hy@Gin@setfile{#1}{#2}{#3}}% }% \fi \Hy@DisableOption{hyperfigures} \ifHy@hyperindex \def\HyInd@ParenLeft{(}% \def\HyInd@ParenRight{)}% \def\hyperindexformat#1#2{% \let\HyOrg@hyperpage\hyperpage \let\hyperpage\@firstofone #1{\HyOrg@hyperpage{#2}}% \let\hyperpage\HyOrg@hyperpage }% \Hy@nextfalse \@ifpackageloaded{multind}{\Hy@nexttrue}{}% \@ifpackageloaded{index}{\Hy@nexttrue}{}% \@ifpackageloaded{amsmidx}{\Hy@nexttrue}{}% \begingroup \lccode`\|=\expandafter`\HyInd@EncapChar\relax \lccode`\/=`\\\relax \lowercase{\endgroup \ifHy@next \let\HyInd@org@wrindex\@wrindex \def\@wrindex#1#2{\HyInd@@wrindex{#1}#2||\\}% \def\HyInd@@wrindex#1#2|#3|#4\\{% \ifx\\#3\\% \HyInd@org@wrindex{#1}{#2|hyperpage}% \else \HyInd@@@wrindex{#1}{#2}#3\\% \fi }% \def\HyInd@@@wrindex#1#2#3#4\\{% \def\Hy@temp@A{#3}% \ifcase0\ifx\Hy@temp@A\HyInd@ParenLeft 1\fi \ifx\Hy@temp@A\HyInd@ParenRight 1\fi \relax \HyInd@org@wrindex{#1}{% #2|hyperindexformat{/#3#4}% }% \else \ifx\\#4\\% \ifx\Hy@temp@A\HyInd@ParenRight \HyInd@org@wrindex{#1}{#2|#3}% \else \HyInd@org@wrindex{#1}{#2|#3hyperpage}% \fi \else \HyInd@org@wrindex{#1}{% #2|#3hyperindexformat{/#4}% }% \fi \fi }% \else \def\@wrindex#1{\@@wrindex#1||\\}% \def\@@wrindex#1|#2|#3\\{% \if@filesw \ifx\\#2\\% \protected@write\@indexfile{}{% \string\indexentry{#1|hyperpage}{\thepage}% }% \else \HyInd@@@wrindex{#1}#2\\% \fi \fi \endgroup \@esphack }% \def\HyInd@@@wrindex#1#2#3\\{% \def\Hy@temp@A{#2}% \ifcase0\ifx\Hy@temp@A\HyInd@ParenLeft 1\fi \ifx\Hy@temp@A\HyInd@ParenRight 1\fi \relax \protected@write\@indexfile{}{% \string\indexentry{% #1|hyperindexformat{/#2#3}% }{\thepage}% }% \else \ifx\\#3\\% \ifx\Hy@temp@A\HyInd@ParenRight \HyInd@DefKey{#1}% \@ifundefined{HyInd@(\HyInd@key)}{% \let\Hy@temp\@empty }{% \expandafter\let\expandafter\Hy@temp \csname HyInd@(\HyInd@key)\endcsname }% \protected@write\@indexfile{}{% \string\indexentry{#1|#2\Hy@temp}{\thepage}% }% \else \protected@write\@indexfile{}{% \string\indexentry{#1|#2hyperpage}{\thepage}% }% \HyInd@DefKey{#1}% \expandafter \gdef\csname HyInd@(\HyInd@key)\endcsname{% hyperpage% }% \fi \else \protected@write\@indexfile{}{% \string\indexentry{% #1|#2hyperindexformat{/#3}% }{\thepage}% }% \ifx\Hy@temp@A\HyInd@ParenLeft \HyInd@DefKey{#1}% \expandafter \gdef\csname HyInd@(\HyInd@key)\endcsname{% hyperindexformat{/#3}% }% \fi \fi \fi }% \def\HyInd@DefKey#1{% \begingroup \let\protect\@unexpandable@protect \edef\Hy@temp{#1}% \@onelevel@sanitize\Hy@temp \global\let\HyInd@key\Hy@temp \endgroup }% \fi }% \fi \Hy@DisableOption{hyperindex} \Hy@DisableOption{encap} \def\nohyperpage#1{#1} \def\hyperpage#1{% \HyInd@hyperpage#1\nohyperpage{}\@nil } \def\HyInd@hyperpage#1\nohyperpage#2#3\@nil{% \HyInd@@hyperpage{#1}% #2% \def\Hy@temp{#3}% \ifx\Hy@temp\@empty \else \Hy@ReturnAfterFi{% \HyInd@hyperpage#3\@nil }% \fi } \def\HyInd@@hyperpage#1{\@hyperpage#1----\\} \def\@hyperpage#1--#2--#3\\{% \ifx\\#2\\% \@commahyperpage{#1}% \else \HyInd@pagelink{#1}--\HyInd@pagelink{#2}% \fi } \def\@commahyperpage#1{\@@commahyperpage#1, ,\\} \def\@@commahyperpage#1, #2,#3\\{% \ifx\\#2\\% \HyInd@pagelink{#1}% \else \HyInd@pagelink{#1}, \HyInd@pagelink{#2}% \fi } \def\HyInd@pagelink#1{% \begingroup \toks@={}% \HyInd@removespaces#1 \@nil \endgroup } \def\HyInd@removespaces#1 #2\@nil{% \toks@=\expandafter{\the\toks@#1}% \ifx\\#2\\% \edef\x{\the\toks@}% \ifx\x\@empty \else \hyperlink{page.\the\toks@}{\the\toks@}% \fi \else \Hy@ReturnAfterFi{% \HyInd@removespaces#2\@nil }% \fi } \ifHy@texht \expandafter\endinput \fi \let\real@setref\@setref \def\@setref#1#2#3{% csname, extract group, refname \ifx#1\relax \protect\G@refundefinedtrue \nfss@text{\reset@font\bfseries ??}% \@latex@warning{% Reference `#3' on page \thepage \space undefined% }% \else \expandafter\Hy@setref@link#1\@empty\@empty\@empty\@nil{#2}% \fi } \def\Hy@setref@link#1#2#3#4#5#6\@nil#7{% \begingroup \toks0={\hyper@@link{#5}{#4}}% \toks1=\expandafter{#7{#1}{#2}{#3}{#4}{#5}}% \edef\x{\endgroup \the\toks0 {\the\toks1 }% }% \x } \def\@pagesetref#1#2#3{% csname, extract macro, ref \ifx#1\relax \protect\G@refundefinedtrue \nfss@text{\reset@font\bfseries ??}% \@latex@warning{% Reference `#3' on page \thepage \space undefined% }% \else \protect\hyper@@link {\expandafter\@fifthoffive#1}% {page.\expandafter\@secondoffive#1}% {\expandafter\@secondoffive#1}% \fi } \def\HyRef@StarSetRef#1{% \begingroup \Hy@safe@activestrue \let\protect\@unexpandable@protect \edef\x{#1}% \@onelevel@sanitize\x \edef\x{\endgroup \noexpand\HyRef@@StarSetRef \expandafter\noexpand\csname r@\x\endcsname{\x}% }% \x } \def\HyRef@@StarSetRef#1#2#3{% \ifx#1\@undefined \let#1\relax \fi \real@setref#1#3{#2}% } \def\@refstar#1{% \HyRef@StarSetRef{#1}\@firstoffive } \def\@pagerefstar#1{% \HyRef@StarSetRef{#1}\@secondoffive } \def\@namerefstar#1{% \HyRef@StarSetRef{#1}\@thirdoffive } \def\@Refstar#1{% \HyRef@StarSetRef{#1}\HyRef@MakeUppercaseFirstOfFive }% \def\HyRef@MakeUppercaseFirstOfFive#1#2#3#4#5{% \MakeUppercase#1% }% \def\HyRef@Ref#1{% \hyperref[{#1}]{\Ref*{#1}}% }% \Hy@AtBeginDocument{% \@ifpackageloaded{varioref}{% \@ifundefined{hyper@nopatch@varioref} { \renewcommand\Vref@star[2][]{% \begingroup \let\T@pageref\@pagerefstar \Ref*{#2} \vpageref[#1]{#2}% \endgroup }% \renewcommand\Vr@f[2][]{% \begingroup \let\T@pageref\@pagerefstar \hyperref[{#2}]{% \Ref*{#2} \vpageref[#1]{#2}% }% \endgroup }% \renewcommand\vr@f[2][]{% \begingroup \let\T@pageref\@pagerefstar \hyperref[{#2}]{% \ref*{#2} \vpageref[#1]{#2}% }% \endgroup }% \renewcommand\vref@star[2][]{% \begingroup \let\T@pageref\@pagerefstar \ref*{#2} \vpageref[#1]{#2}% \endgroup }% }{}% }{}% } \DeclareRobustCommand*{\autopageref}{% \@ifstar{% \HyRef@autopagerefname\pageref*% }\HyRef@autopageref } \def\HyRef@autopageref#1{% \hyperref[{#1}]{\HyRef@autopagerefname\pageref*{#1}}% } \def\HyRef@autopagerefname{% \@ifundefined{pageautorefname}{% \@ifundefined{pagename}{% \Hy@Warning{No autoref name for `page'}% }{% \pagename\nobreakspace }% }{% \pageautorefname\nobreakspace }% } \NewDocumentCommand\autoref{s} {\leavevmode \IfBooleanTF{#1}{\HyRef@autoref\@gobbletwo}{\HyRef@autoref\hyper@@link}} \def\HyRef@autoref#1#2{% \begingroup \Hy@safe@activestrue \expandafter\HyRef@autosetref\csname r@#2\endcsname{#2}{#1}% \endgroup } \def\HyRef@autosetref#1#2#3{% link command, csname, refname \HyRef@ShowKeysRef{#2}% \ifcase 0\ifx#1\relax 1\fi\ifx#1\Hy@varioref@undefined 1\fi\relax \edef\HyRef@thisref{% \expandafter\@fourthoffive#1\@empty\@empty\@empty }% \expandafter\HyRef@testreftype\HyRef@thisref.\\% \Hy@safe@activesfalse #3{% \expandafter\@fifthoffive#1\@empty\@empty\@empty }{% \expandafter\@fourthoffive#1\@empty\@empty\@empty }{% \HyRef@currentHtag \expandafter\@firstoffive#1\@empty\@empty\@empty \null }% \else \protect\G@refundefinedtrue \nfss@text{\reset@font\bfseries ??}% \@latex@warning{% Reference `#2' on page \thepage\space undefined% }% \fi } \def\HyRef@testreftype#1.#2\\{% \@ifundefined{#1autorefname}{% \@ifundefined{#1name}{% \HyRef@StripStar#1\\*\\\@nil{#1}% \@ifundefined{\HyRef@name autorefname}{% \@ifundefined{\HyRef@name name}{% \def\HyRef@currentHtag{}% \Hy@Warning{No autoref name for `#1'}% }{% \edef\HyRef@currentHtag{% \expandafter\noexpand\csname\HyRef@name name\endcsname \noexpand~% }% }% }{% \edef\HyRef@currentHtag{% \expandafter\noexpand \csname\HyRef@name autorefname\endcsname \noexpand~% }% }% }{% \edef\HyRef@currentHtag{% \expandafter\noexpand\csname#1name\endcsname \noexpand~% }% }% }{% \edef\HyRef@currentHtag{% \expandafter\noexpand\csname#1autorefname\endcsname \noexpand~% }% }% } \def\HyRef@StripStar#1*\\#2\@nil#3{% \def\HyRef@name{#2}% \ifx\HyRef@name\HyRef@CaseStar \def\HyRef@name{#1}% \else \def\HyRef@name{#3}% \fi } \def\HyRef@CaseStar{*\\} \def\HyRef@currentHtag{} \let\HyRef@ShowKeysRef\@gobble \def\HyRef@ShowKeysInit{% \@ifundefined{SK@@label}{} {% \ifx\SK@ref\@empty \else \def\HyRef@ShowKeysRef{% \SK@\SK@@ref }% \fi }% } \AddToHook{package/showkeys/after}{\HyRef@ShowKeysInit} \providecommand*\AMSautorefname{\equationautorefname} \providecommand*\Hfootnoteautorefname{\footnoteautorefname} \providecommand*\Itemautorefname{\itemautorefname} \providecommand*\itemautorefname{item} \providecommand*\equationautorefname{Equation} \providecommand*\footnoteautorefname{footnote} \providecommand*\itemautorefname{item} \providecommand*\figureautorefname{Figure} \providecommand*\tableautorefname{Table} \providecommand*\partautorefname{Part} \providecommand*\appendixautorefname{Appendix} \providecommand*\chapterautorefname{chapter} \providecommand*\sectionautorefname{section} \providecommand*\subsectionautorefname{subsection} \providecommand*\subsubsectionautorefname{subsubsection} \providecommand*\paragraphautorefname{paragraph} \providecommand*\subparagraphautorefname{subparagraph} \providecommand*\FancyVerbLineautorefname{line} \providecommand*\theoremautorefname{Theorem} \providecommand*\pageautorefname{page} \providecommand*{\Hy@DistillerDestFix}{} \def\phantomsection{% \Hy@MakeCurrentHrefAuto{section*}% \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}% } \endinput %% %% End of file `hyperref.sty'.