%% 
%% This is file `hyper.sty',
%% generated with the docstrip utility.
%% 
%% The original source files were:
%% 
%% hyper.dtx  (with options: `hyper')

%% File: hyper.dtx Copyright (C) 1995, 1996, 1997 Michael Mehlich
\def\fileversion{V4.0e}
\def\filedate{1997/04/25}
\def\docdate{1997/04/25}
%%
%% \CharacterTable
%% {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%  Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%  Digits        \0\1\2\3\4\5\6\7\8\9
%%  Exclamation   \!     Double quote  \"     Hash (number) \#
%%  Dollar        \$     Percent       \%     Ampersand     \&
%%  Acute accent  \'     Left paren    \(     Right paren   \)
%%  Asterisk      \*     Plus          \+     Comma         \,
%%  Minus         \-     Point         \.     Solidus       \/
%%  Colon         \:     Semicolon     \;     Less than     \<
%%  Equals        \=     Greater than  \>     Question mark \?
%%  Commercial at \@     Left bracket  \[     Backslash     \\
%%  Right bracket \]     Circumflex    \^     Underscore    \_
%%  Grave accent  \`     Left brace    \{     Vertical bar  \|
%%  Right brace   \}     Tilde         \~}
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{hyper}[\filedate\space HyperLaTeX2e extension]
\bgroup
  \catcode`\!00\relax
  \catcode`\"12\relax
  !catcode`!\12!relax
  !gdef!hyper@quote{"}
  !gdef!hyper@backslash{\}
  !global!edef!hyper@hash{!string#}
  !global!edef!hyper@tilde{!string~}
!egroup
\newcount\hyper@changed
\global\hyper@changed=0
\def\newhyper#1#2{%
   \expandafter\ifx\csname hyper@#1\endcsname\relax\else%
      \global\advance\hyper@changed2\relax%
      \PackageWarningNoLine{hyper}%
                   {Hyper anchor #1 multiply defined}%
   \fi%
   \expandafter\global\expandafter\def\csname hyper@#1\endcsname{#2}%
}
\def\newhyper@check#1#2{%
   \def\reserved@a{#2}%
   \expandafter\ifx\csname hyper@#1\endcsname\reserved@a\else%
     \expandafter\ifx\csname hyper@new@#1\endcsname\reserved@a\else%
        \global\advance\hyper@changed4\relax%
        \let\hyperfnpage\@gobbletwo%
        \let\newhyper\@gobbletwo%
      \fi%
   \fi%
}
\let\hyper@enddocument\enddocument
\def\hyper@check@end{%
  \ifodd\hyper@changed%
     \PackageWarningNoLine{hyper}{There were undefined hyper references}%
  \fi%
  \divide\hyper@changed2\relax%
  \ifodd\hyper@changed%
     \PackageWarningNoLine{hyper}%
          {There were multiply defined hyper anchors}%
  \fi%
  \divide\hyper@changed2\relax%
  \ifodd\hyper@changed%
     \PackageWarningNoLine{hyper}%
          {Hyper anchor(s) may have changed.\MessageBreak
           Rerun to get hyper references right}%
  \fi%
}
\def\enddocument{%
  \let\hyper@@end\@@end%
  \def\@@end{\hyper@check@end\hyper@@end}%
  \let\newhyper\newhyper@check%
  \hyper@enddocument%
}
\def\hyper@to@aux#1{%
   \@bsphack%
      \expandafter\ifx\csname hyper@#1\endcsname\relax%
         \expandafter\ifx\csname hyper@new@#1\endcsname\relax%
            \expandafter\global%
               \expandafter\def\csname hyper@new@#1\endcsname%
                  {{\@currentlabel}{\thepage}}%
         \fi%
      \fi%
      \protected@write%
         \@auxout%
           {}%
           {\string\newhyper%
             {#1}%
             {{\@currentlabel}{\thepage}}%
           }%
   \@esphack%
}
\newbox\hyper@box
\newdimen\hyper@fixdim
\newif\if@hyper@is@active
\@hyper@is@activefalse
\def\hyper@html{html:}
\bgroup
  \catcode`\<12\catcode`\>12\relax%
  \catcode`\:12\catcode`\=12\catcode`\/12\relax%
  \gdef\hyper{%
    \def\hyper@unnested@special##1##2##3{%
       \special{\hyper@html##1}##3\special{\hyper@html##2}%
    }%
    \def\hyper@unnested@special@anchor##1##2##3{%
       \special{\hyper@html##1}##3\special{\hyper@html##2}%
    }%
    \def\hyper@unnested@special@reference@nofix##1##2##3{%
       \special{\hyper@html##1}##3\special{\hyper@html##2}%
    }%
    \def\hyper@unnested@special@reference@fix##1##2##3{%
       \setbox\hyper@box=\hbox{##3}%
       \hyper@fixdim\dp\hyper@box%
       \advance\hyper@fixdim0pt%
       \lower\hyper@fixdim\hbox{\special{\hyper@html##1}}%
       \copy\hyper@box%
       \hyper@fixdim\ht\hyper@box%
       \advance\hyper@fixdim-8pt%
       \raise\hyper@fixdim\hbox{\special{\hyper@html##2}}%
       \setbox\hyper@box=\hbox{}%
    }%
    \let\hyper@unnested@special@reference\hyper@unnested@special@reference@nofix%
    \def\hyper@nested@special##1##2##3##4{%
       \if@hyper@is@active%
          \expandafter\hyper@unnested@special\hyper@special@last%
            {\protected@xdef\hyper@special@last{{##4}{##2}}%
             ##1{##2}{##4}{##3}%
            }%
       \else%
         \protected@xdef\hyper@special@last{{##4}{##2}}%
         \@hyper@is@activetrue\relax%
         ##1{##2}{##4}{##3}%
         \@hyper@is@activefalse\relax%
       \fi%
    }%
    \def\hyper@special@anchor{\hyper@nested@special\hyper@unnested@special@anchor}
    \def\hyper@special@reference{\hyper@nested@special\hyper@unnested@special@reference}
    \def\f@hyper@ref@ext[##1][##2][##3]\end@hyper@ref##4{%
      \ifvmode\leavevmode\fi%
      \hyper@special%
         {<a href=\hyper@quote##1##2\hyper@hash##3\hyper@quote>}%
            {\hyper@ref@color{##4}}%
         {</a>}%
    }%
    \let\hyper@thepage\thepage%
    \def\f@hyper@ref@int##1\end@hyper@ref##2{%
      \ifvmode\leavevmode\fi%
      \expandafter\ifx\csname hyper@##1\endcsname\relax%
         \expandafter\ifx\csname hyper@new@##1\endcsname\relax%
            \PackageWarning{hyper}%
               {Hyper reference for `##2' on page \hyper@thepage\space undefined}%
            \ifodd\hyper@changed\else\global\advance\hyper@changed1\fi%
            \hyper@undef@color{##2}%
         \else%
            \hyper@special@reference%
               {<a href=\hyper@quote\hyper@hash##1\hyper@quote>}%
                  {\hyper@ref@color{##2}}%
               {</a>}%
         \fi%
      \else%
        \hyper@special@reference%
           {<a href=\hyper@quote\hyper@hash##1\hyper@quote>}%
              {\hyper@ref@color{##2}}%
           {</a>}%
      \fi%
    }%
    \def\f@hyper@ref{%
      \@ifnextchar[{\f@hyper@ref@ext[]}{\f@hyper@ref@int}%
    }%
    \def\fragilehyperreference##1{%
      \expandafter\expandafter\expandafter\f@hyper@ref##1\end@hyper@ref%
    }%
    \def\f@hyper@page@ref{%
      \@ifnextchar[{\f@hyper@ref@page@ext[page.]}{\f@hyper@ref@int page.}%
    }%
    \def\fragilehyperpagereference##1{%
      \expandafter\expandafter\expandafter%
      \f@hyper@page@ref##1\end@hyper@ref%
    }%
    \def\fragilehyperanchor##1##2{%
      \ifvmode\leavevmode\fi%
      \hyper@special@anchor%
         {<a name=\hyper@quote##1\hyper@quote>}%
            {\hyper@to@aux{##1}%
             \hyper@anchor@color{##2}%
            }%
         {</a>}%
    }%
    \def\fragileblindhyperanchor##1{%
      \hyper@special@anchor%
         {<a name=\hyper@quote##1\hyper@quote>}%
            {\hyper@to@aux{##1}}%
         {</a>}%
    }%
    \def\fragilehyperURL##1##2##3##4{%
      \ifvmode\leavevmode\fi%
      \hyper@special@reference%
         {<a href=\hyper@quote##1://##2/##3\hyper@quote>}%
            {\hyper@ref@color{##4}}%
         {</a>}%
    }%
  }
\egroup
\hyper
\def\nohyper{%
  \def\hyper@fix##1{%
     \ifx\hyper@unnested@special@reference\hyper@unnested@special@reference@nofix%
        ##1%
     \else%
        \hbox{##1}%
     \fi%
  }
  \def\fragilehyperreference##1##2{%
     \ifvmode\leavevmode\fi\hyper@fix{\hyper@ref@color{##2}}%
  }%
  \def\fragilehyperpagereference##1##2{%
     \ifvmode\leavevmode\fi\hyper@fix{\hyper@ref@color{##2}}%
  }%
  \def\fragilehyperanchor##1##2{%
     \ifvmode\leavevmode\fi\hyper@anchor@color{##2}%
  }%
  \def\fragileblindhyperanchor##1{}%
  \def\fragilehyperURL##1##2##3##4{%
     \ifvmode\leavevmode\fi\hyper@fix{\hyper@ref@color{##4}}%
  }%
}
\def\hyperreference{\protect\fragilehyperreference}
\def\hyperpagereference{\protect\fragilehyperpagereference}
\def\hyperanchor{\protect\fragilehyperanchor}
\def\blindhyperanchor{\protect\fragileblindhyperanchor}
\def\fragileChyperURL{%
  \bgroup%
     \catcode`\<12\catcode`\>12\catcode`\"12\relax%
     \catcode`\:12\catcode`\=12\catcode`\/12\relax%
     \catcode`\#12\catcode`\~12\relax%\catcode`\%12\relax%
     \finish@hyperURL%
}
\def\finish@hyperURL#1#2#3#4{%
    \fragilehyperURL{#1}{#2}{#3}{#4}%
  \egroup%
}
\def\hyperURL{\protect\fragileChyperURL}
\def\hyper@color{%
  \definecolor{refcolor}{rgb}{0,0,1}%
  \definecolor{undefrefcolor}{rgb}{1,0,0}%
  \definecolor{anchorcolor}{rgb}{0,0.75,0.75}%
  \def\hyper@ref@color##1{\textcolor{refcolor}{##1}}%
  \def\hyper@undef@color##1{\textcolor{undefrefcolor}{##1}}%
  \def\hyper@anchor@color##1{\textcolor{anchorcolor}{##1}}%
}
\def\hyper@gray{%
  \definecolor{refcolor}{gray}{0.75}%
  \definecolor{undefrefcolor}{gray}{0.25}%
  \definecolor{anchorcolor}{gray}{0.5}%
  \def\hyper@ref@color##1{\textcolor{refcolor}{##1}}%
  \def\hyper@undef@color##1{\textcolor{undefrefcolor}{##1}}%
  \def\hyper@anchor@color##1{\textcolor{anchorcolor}{##1}}%
}
\def\hyper@black{%
  \def\hyper@ref@color##1{##1}%
  \def\hyper@undef@color##1{##1}%
  \def\hyper@anchor@color##1{##1}%
}
\hyper@black
\newcount\hypercount
\hypercount=0\relax
\def\@currenthyper{}
\def\hyper@setcurrent{%
  \global\advance\hypercount1\relax%
  \edef\@currenthyper{\the\hypercount}%
}%
\def\hyper@ref@toggle#1#2#3{#3[\hyperreference{#1}{#2}]}
\def\ref@by@expanded@hyper#1\end@hyper{{#1}}
\def\callwithexpandedhyperref#1#2{%
  \expandafter\expandafter\expandafter\hyper@ref@toggle%
    \expandafter\ref@by@expanded@hyper\@currenthyper\end@hyper%
  {#2}{#1}%
}
\def\hyperlabel#1{\@bsphack
  \protected@write\@auxout{}%
         {\string\newlabel{#1}%
   {{\@currenthyper}{\@currentlabel}{\thepage}}}%
  \@esphack}
\def\hyper@firstofthree#1#2#3{#1}
\def\hyper@secondofthree#1#2#3{#2}
\def\hyper@snd@thirdofthree[#1][#2]{#2}
\def\hyper@thirdofthree#1#2#3{#3}
\def\hyper@snd@thirdofthree[#1][#2]\end@hyper{#2}
\def\hyper@this@thirdofthree#1\end@hyper{#1}
\def\hyper@test@thirdofthree{%
  \@ifnextchar[{\hyper@snd@thirdofthree}{\hyper@this@thirdofthree}%
}
\def\hyper@page@thirdofthree#1#2#3{%
  \expandafter\hyper@test@thirdofthree#3\end@hyper%
}
\let\hyper@thepage\thepage
\def\hyper@setref#1#2#3#4{%
  \ifx#1\relax%
     \protect\G@refundefinedtrue%
     #4\nfss@text{\reset@font\bfseries ??}%
     \@latex@warning{Reference `#3' on page \hyper@thepage \space undefined}%
  \else%
    \ifx#2\hyper@firstofthree%
      \hyperreference{\expandafter\hyper@firstofthree#1}{#4}\null%
    \else\ifx#2\hyper@secondofthree%
      \hyperreference%
        {\expandafter\hyper@firstofthree#1}%
        {#4\expandafter#2#1\null}\null%
    \else%
      \hyperpagereference%
        {\expandafter\hyper@thirdofthree#1}%
        {#4\expandafter#2#1\null}\null%
    \fi\fi%
  \fi%
}
\def\@@hypernoref[#1]#2{%
  \expandafter\hyper@setref\csname r@#2\endcsname%
    \hyper@firstofthree{#2}{#1}%
}
\def\@hypernoref[#1]{\@@hypernoref[#1]}
\def\hypernoref{\@ifnextchar[{\@hypernoref}{\@@hypernoref[]}}
\def\@@hyperref[#1]#2{%
  \expandafter\hyper@setref\csname r@#2\endcsname%
    \hyper@secondofthree{#2}{#1}%
}
\def\@hyperref[#1]{\@@hyperref[#1~]}
\def\hyperref{\@ifnextchar[{\@hyperref}{\@@hyperref[]}}
\def\@@hyperpageref[#1]#2{%
   \expandafter\hyper@setref\csname r@#2\endcsname%
     \hyper@page@thirdofthree{#2}{#1}%
}
\def\@hyperpageref[#1]{\@@hyperpageref[#1~]}
\def\hyperpageref{\@ifnextchar[{\@hyperpageref}{\@@hyperpageref[]}}
\let\label\hyperlabel
\def\noref{\protect\hypernoref}
\def\ref{\protect\hyperref}
\def\pageref{\protect\hyperpageref}
\def\labeltext#1#2{%
  \hyper@setcurrent%
  \bgroup%
    \def\@currentlabel{#2}%
    \label{#1}%
    \hyperanchor{\@currenthyper}{#2}%
  \egroup%
}
\def\refcurrent#1{\hyperreference{\@currenthyper}{#1}}
\def\fragilerefnext#1#2{\bgroup%
  \hypercount=#1\relax\advance\hypercount1\relax%
  \hyperreference{\the\hypercount}{#2}%
\egroup}
\def\refnext#1{\protect\fragilerefnext{\the\hypercount}{#1}}
\let\hyper@refstepcounter\refstepcounter
\def\refstepcounter{\hyper@setcurrent\hyper@refstepcounter}
\def\ignore@next@refstepcounter{%
  \def\refstepcounter##1{%
    \def\refstepcounter{\hyper@setcurrent\hyper@refstepcounter}%
  }%
}
\let\hyper@contentsline\contentsline
\def\contentsline#1#2#3{%
  \hyper@contentsline{#1}{#2}{\hyperpagereference{#3}{#3}}%
}
\let\hyper@thepage\thepage
\def\hyper@anchorpage{%
  \fragilehyperanchor{page.\hyper@thepage}{\hyper@thepage}%
}
\def\hyper@referencepage{%
  \fragilehyperreference{page.\hyper@thepage}{\hyper@thepage}%
}
\def\hyper@empty{\@empty}
\def\hyper@evenhead{\@evenhead}
\def\hyper@oddhead{\@oddhead}
\def\hyper@evenfoot{\@evenfoot}
\def\hyper@oddfoot{\@oddfoot}
\def\hyper@modifyheadfoot@pagenumber{%
  \let\hyper@thehead\@thehead%
  \ifx\hyper@thehead\hyper@oddhead\let\hyper@thehead\@oddhead\fi%
  \ifx\hyper@thehead\hyper@evenhead\let\hyper@thehead\@evenhead\fi%
  \let\hyper@thefoot\@thefoot%
  \ifx\hyper@thefoot\hyper@oddfoot\let\hyper@thefoot\@oddfoot\fi%
  \ifx\hyper@thefoot\hyper@evenfoot\let\hyper@thefoot\@evenfoot\fi%
  \def\@thehead{%
      \ifnum\ifnum\ifx\hyper@thehead\@empty1\else0\fi%
                  \ifx\hyper@thehead\hyper@empty1\else0\fi%
                  >0 0\else1\fi%
            \ifnum\ifx\hyper@thefoot\@empty1\else0\fi%
                  \ifx\hyper@thefoot\hyper@empty1\else0\fi%
                  >0 0\else1\fi%
            >0\relax%
      \else%
         \blindhyperanchor{page.\thepage}%
      \fi%
      \let\hyper@thepage\thepage%
      \let\thepage\hyper@anchorpage%
      \ifx\hyper@thehead\@empty%
         \hfil%
      \else\ifx\hyper@thehead\hyper@empty%
         \hfil%
      \else%
        \hyper@thehead%
      \fi\fi%
  }%
  \def\@thefoot{%
      \let\hyper@thepage\thepage%
      \let\thepage\hyper@anchorpage%
      \ifx\hyper@thefoot\@empty%
         \hfil%
      \else\ifx\hyper@thefoot\hyper@empty%
         \hfil%
      \else%
         \hyper@thefoot%
      \fi\fi%
  }%
}
\def\hyper@modifyheadfoot@pagetop{%
  \let\hyper@thehead\@thehead%
  \ifx\hyper@thehead\hyper@oddhead\let\hyper@thehead\@oddhead\fi%
  \ifx\hyper@thehead\hyper@evenhead\let\hyper@thehead\@evenhead\fi%
  \let\hyper@thefoot\@thefoot%
  \ifx\hyper@thefoot\hyper@oddfoot\let\hyper@thefoot\@oddfoot\fi%
  \ifx\hyper@thefoot\hyper@evenfoot\let\hyper@thefoot\@evenfoot\fi%
  \def\@thehead{%
      \blindhyperanchor{page.\thepage}%
      \let\hyper@thepage\thepage%
      \let\thepage\hyper@referencepage%
      \ifx\hyper@thehead\@empty%
         \hfil%
      \else\ifx\hyper@thehead\hyper@empty%
         \hfil%
      \else%
         \hyper@thehead%
      \fi\fi%
  }%
  \def\@thefoot{%
      \let\hyper@thepage\thepage%
      \let\thepage\hyper@referencepage%
      \ifx\hyper@thefoot\@empty%
         \hfil%
      \else\ifx\hyper@thefoot\hyper@empty%
         \hfil%
      \else%
         \hyper@thefoot%
      \fi\fi%
    }%
}
\let\hyper@begindvi\@begindvi
\def\@begindvi{%
  \hyper@begindvi%
  \hyper@modifyheadfoot%
  \global\let\@begindvi\hyper@modifyheadfoot%
}
\let\hyper@modifyheadfoot\hyper@modifyheadfoot@pagenumber
\let\hyper@sect\@sect
\def\@sect#1#2#3#4#5#6[#7]#8{%
  \ifnum #2>\c@secnumdepth%
    \hyper@setcurrent%
  \else%
    \refstepcounter{#1}%
    \ignore@next@refstepcounter%
  \fi%
  \global\let\@currenthyper\@currenthyper%
  \callwithexpandedhyperref%
    {\hyper@sect{#1}{#2}{#3}{#4}{#5}{#6}}%
    {#7}%
    {\hyperanchor{\@currenthyper}{#8}}%
}
\let\hyper@ssect\@ssect
\def\@ssect#1#2#3#4#5{%
  \hyper@setcurrent%
  \global\let\@currenthyper\@currenthyper%
  \hyper@ssect{#1}{#2}{#3}{#4}{\hyperanchor{\@currenthyper}{#5}}%
}
\def\@lbibitem[#1]#2{%
  \hyper@setcurrent%
  \item[\@biblabel{\hyperanchor{\@currenthyper}{#1}}\hfill]%
  \if@filesw%
      {\let\protect\@unexpandable@protect%
       \immediate%
       \write\@auxout{%
         \string\bibcite{#2}{\hyperreference{\@currenthyper}{#1}}%
       }%
      }%
  \fi%
  \ignorespaces%
}
\def\@bibitem{%
  \stepcounter{\@listctr}%
  \@lbibitem[\the\value{\@listctr}]%
}
\def\@eqnnum{%
  \hyperanchor{\@currenthyper}{\reset@font\rmfamily (\theequation)}%
}
\let\hyper@eqnarray\eqnarray
\def\eqnarray{%
  \hyper@setcurrent%
  \def\@currenthyper{\the\hypercount}%
  \hyper@eqnarray%
}
\let\hyper@xeqncr\@xeqncr
\def\@xeqncr[#1]{%
  \hyper@xeqncr[#1]%
  \hyper@setcurrent%
}
\long\def\@caption#1[#2]#3{\par%
  \addcontentsline%
    {\csname ext@#1\endcsname}%
    {#1}%
    {\protect\numberline{\csname the#1\endcsname}%
     {\ignorespaces \hyperreference{\@currenthyper}{#2}}%
    }%
  \begingroup%
    \@parboxrestore%
    \normalsize%
    \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par%
  \endgroup%
}
\newcount\hyper@fnmark@count
\hyper@fnmark@count0
\def\hyper@currentfnmark{%
   \global\advance\hyper@fnmark@count1\relax%
   \@bsphack%
      \protected@write\@auxout%
         {}%
         {\string\hyperfnpage{\the\hyper@fnmark@count}{\thepage}}%
   \@esphack%
   \hb@xt@\z@{%
    \ifx\hyper@minipage@label\@empty%
      \global\edef\hyper@current@fnmark%
        {fn.\@arabic\c@footnote.%
           \expandafter%
              \ifx\csname hyper@fn@\the\hyper@fnmark@count\endcsname%
                  \relax%
              ?%
           \else%
              \csname hyper@fn@\the\hyper@fnmark@count\endcsname%
           \fi%
        }%
    \else\ifnum\hyper@minipage@label=0\relax%
      \global\edef\hyper@current@fnmark%
        {fn.\hyper@minipage@label.\@arabic\c@footnote.%
           \expandafter%
              \ifx\csname hyper@fn@\the\hyper@fnmark@count\endcsname%
                  \relax%
              ?%
           \else%
              \csname hyper@fn@\the\hyper@fnmark@count\endcsname%
           \fi%
        }%
    \else%
      \global\edef\hyper@current@fnmark%
        {fn.\hyper@minipage@label.\@arabic\c@mpfootnote.%
           \expandafter%
              \ifx\csname hyper@fn@\the\hyper@fnmark@count\endcsname%
                  \relax%
              ?%
           \else%
              \csname hyper@fn@\the\hyper@fnmark@count\endcsname%
           \fi%
        }%
   \fi\fi%
  }%
}
\def\hyperfnpage#1#2{%
  \expandafter\global\expandafter\def\csname hyper@fn@#1\endcsname{#2}%
}
\def\hyperfnpage@check#1#2{%
   \def\reserved@a{#2}%
   \expandafter\ifx\csname hyper@fn@#1\endcsname\reserved@a\else%
      \global\advance\hyper@changed4\relax%
      \let\hyperfnpage\@gobbletwo%
      \let\newhyper\@gobbletwo%
   \fi%
}
\let\hyper@fn@enddocument\enddocument
\def\enddocument{%
  \let\hyperfnpage\hyperfnpage@check%
  \global\hyper@fnmark@count0\relax%
  \hyper@fn@enddocument%
}
\def\@makefnmark{%
  \hyper@currentfnmark%
  \hbox{\@textsuperscript{%
          \normalfont\hyperreference%
           {\hyper@current@fnmark}%
           {\@thefnmark}%
     }}%
}
\def\hyper@makefnmark@text{%
  \hyper@currentfnmark%
  \hbox{\@textsuperscript{%
          \normalfont\hyperanchor%
            {\hyper@current@fnmark}%
            {\@thefnmark}%
       }}%
}
\newcount\hyper@minipage@cnt
\hyper@minipage@cnt=0
\edef\hyper@minipage@label{}
\let\hyper@minipage\minipage
\let\hyper@endminipage\endminipage
\def\minipage{%
  \bgroup%
    \global\advance\hyper@minipage@cnt1\relax%
    \edef\hyper@minipage@label{\the\hyper@minipage@cnt}%
    \hyper@minipage%
}
\def\endminipage{%
    \hyper@endminipage%
  \egroup%
}
\AtBeginDocument{%
   \let\hyper@maketitle\maketitle%
   \def\maketitle{%
     \edef\hyper@minipage@label{0}%
     \hyper@maketitle%
     \let\hyper@minipage@label\@empty%
   }%
}
\def\hyper@thanks@footnotetext#1[#2]#3{%
  \bgroup%
     \edef\hyper@current@fnmark{#1}%
     \let\hyper@currentfnmark\relax%
     \footnotetext[#2]{#3}%
  \egroup%
}
\def\thanks#1{\footnotemark%
    \expandafter\protected@xdef\expandafter\@thanks\expandafter{\expandafter\@thanks%
        \expandafter\protect%
           \expandafter\hyper@thanks@footnotetext%
              \expandafter{\hyper@current@fnmark}[\the\c@footnote]{#1}}%
}
\let\hyper@item\@item
\def\@item[#1]{%
  \if@noitemarg%
    \if@nmbrlist%
      \hyper@item[\hyperanchor{\@currenthyper}{#1}]%
    \else%
      \hyper@item[{#1}]%
    \fi%
  \else%
    \hyper@item[{#1}]%
  \fi%
}
\def\hyper@idxglo@cmds{
\RequirePackage{defpattern}
\def\hyper@ref@page##1{\hyperpagereference{##1}{##1}}
\defpattern\hyper@page@range[##2]{\hyper@ref@page{##2}}
\defpattern\hyper@page@range[##2--##3]{%
  \hyper@ref@page{##2}--\hyper@ref@page{##3}%
}
\defpattern\hyper@page@range[##2, ##3]{%
  \hyper@page@range[##2], \hyper@page@range[##3]%
}
\def\hyper@page@cmd[##1]##2{##1{\hyper@page@range[##2]}}
\def\hyper@page@nocmd##1{\hyper@page@range[##1]}
\def\hyperpage{\@ifnextchar[{\hyper@page@cmd}{\hyper@page@nocmd}}
\let\hyper@index\index
\let\hyper@glossary\glossary
\defpattern\hyper@ig@pat[##2|##3]{##2{##3|hyperpage}}
\defpattern\hyper@ig@pat[##2|##3|##4]{%
  ##2{##3|hyperpage[\hyper@backslash##4]}%
}
\defpattern\hyper@ig@pat[##2|##3|(##4]{%
  ##2{##3|(hyperpage[\hyper@backslash##4]}%
}
\defpattern\hyper@ig@pat[##2|##3|)##4]{%
  ##2{##3|)hyperpage[\hyper@backslash##4]}%
}
\defpattern\hyper@ig@pat[##2|##3|(]{##2{##3|(hyperpage}}
\defpattern\hyper@ig@pat[##2|##3|)]{##2{##3|)hyperpage}}
\def\hyper@ig{%
  \@bsphack\begingroup%
    \catcode`\@=12\catcode`\!=12\catcode`\|=12\catcode`\"=12\relax%
    \@sanitize\hyper@ig@%
}
\def\hyper@ig@##1##2{%
    \hyper@ig@pat[##1|##2]%
  \endgroup\@esphack%
}
\def\index{\hyper@ig\hyper@index}
\def\glossary{\hyper@ig\hyper@glossary}
\let\hyper@idxglo@cmds\relax
}
\ifnum%
  \ifx\@indexfile\@undefined0\else1\fi%
  \ifx\@glossaryfile\@undefined0\else1\fi%
  >0\relax
    \hyper@idxglo@cmds
\fi
\ifx\makeindex\@empty\else
  \let\hyper@makeindex\makeindex
  \def\makeindex{\hyper@makeindex\hyper@idxglo@cmds}
\fi
\ifx\makeglossary\@empty\else
  \let\hyper@makeglossary\makeglossary
  \def\makeglossary{\hyper@makeglossary\hyper@idxglo@cmds}
\fi
\let\hyper@begintheorem\@begintheorem%
\def\@begintheorem#1#2{\trivlist%
   \item[\hskip%
         \labelsep{\hyperanchor{\@currenthyper}{\bfseries #1\ #2}}%
        ]\itshape%
}
\def\@opargbegintheorem#1#2#3{\trivlist%
      \item[\hskip%
            \labelsep%
               {\hyperanchor{\@currenthyper}{\bfseries #1\ #2}\ (#3)}%
           ]\itshape%
}
\def\hyperbackcite#1#2#3#4{}
\def\hyper@set@option#1#2#3{%
  \ifx#1\@undefined%
    \def#1{#2}%
  \else%
    \PackageError{hyper}{#3}{}%
  \fi}
\def\set@hyper@class#1{%
  \hyper@set@option\hyper@class{#1}%
    {Only one class is allowed in option list}%
}
\def\set@hyper@do#1{%
  \hyper@set@option\hyper@do{#1}%
    {Excluding options 'yes' and 'no' in option list found}%
}
\def\set@hyper@pageanchor#1{%
  \hyper@set@option\hyper@pageanchor{#1}%
    {Excluding options 'pagenumber' and 'pagetop' in option list found}%
}
\def\set@hyper@color#1{%
  \hyper@set@option\hyper@this@color{#1}%
    {Multiple color options in option list found}%
}
\def\set@hyper@idxglo{%
  \let\hyper@idxglo\hyper@idxglo@cmds%
}
\def\hyper@packages{}
\def\add@hyper@package#1{%
  \edef\hyper@packages{\hyper@packages(#1)}%
}
\def\hyper@extensions{}
\def\add@hyper@extension#1{%
  \edef\hyper@extensions{\hyper@extensions(#1)}%
}
\DeclareOption{article}{\set@hyper@class{article}}
\DeclareOption{book}{\set@hyper@class{book}}
\DeclareOption{letter}{\set@hyper@class{letter}}
\DeclareOption{ltxdoc}{\set@hyper@class{ltxdoc}}
\DeclareOption{ltxguide}{\set@hyper@class{ltxguide}}
\DeclareOption{ltnews}{\set@hyper@class{ltnews}}
\DeclareOption{proc}{\set@hyper@class{proc}}
\DeclareOption{report}{\set@hyper@class{report}}
\DeclareOption{slides}{\set@hyper@class{slides}}
\DeclareOption{amsart}{\set@hyper@class{amsart}}
\DeclareOption{amsproc}{\set@hyper@class{amsproc}}
\DeclareOption{amsbook}{\set@hyper@class{amsbook}}
\DeclareOption{amsdtx}{\set@hyper@class{amsdtx}}
\DeclareOption{amsldoc}{\set@hyper@class{amsldoc}}
\DeclareOption{cweb}{\set@hyper@class{cweb}}
\DeclareOption{yes}{\set@hyper@do{\hyper}}
\DeclareOption{no}{\set@hyper@do{\nohyper}}
\DeclareOption{fixhyperbox}{%
  \AtBeginDocument{%
     \let\hyper@unnested@special@reference\hyper@unnested@special@reference@fix%
  }%
}
\DeclareOption{color}{\set@hyper@color{\hyper@color}}
\DeclareOption{gray}{\set@hyper@color{\hyper@gray}}
\DeclareOption{black}{\set@hyper@color{\hyper@black}}
\DeclareOption{pagenumber}{\set@hyper@pageanchor{\hyper@modifyheadfoot@pagebottom}}
\DeclareOption{pagetop}{\set@hyper@pageanchor{\hyper@modifyheadfoot@pagetop}}
\DeclareOption{indexcmds}{\set@hyper@idxglo}
\DeclareOption{backcitepages}{%
  \PassOptionsToPackage{pages}{hxt-bc}%
  \add@hyper@extension{hxt-bc}%
}
\DeclareOption{backcitesections}{%
  \PassOptionsToPackage{sections}{hxt-bc}%
  \add@hyper@extension{hxt-bc}%
}
\DeclareOption*{\add@hyper@package{\CurrentOption}}
\ProcessOptions
\ifx\hyper@class\@undefined
  \@ifclassloaded{slides}{\def\hyper@class{slides}}{}
  \@ifclassloaded{report}{\def\hyper@class{report}}{}
  \@ifclassloaded{letter}{\def\hyper@class{letter}}{}
  \@ifclassloaded{book}{\def\hyper@class{book}}{}
  \@ifclassloaded{article}{\def\hyper@class{article}}{}
  \@ifclassloaded{proc}{\def\hyper@class{proc}}{}
  \@ifclassloaded{ltnews}{\def\hyper@class{ltnews}}{}
  \@ifclassloaded{ltxguide}{\def\hyper@class{ltxguide}}{}
  \@ifclassloaded{ltxdoc}{\def\hyper@class{ltxdoc}}{}
  \@ifclassloaded{amsart}{\def\hyper@class{amsart}}{}
  \@ifclassloaded{amsproc}{\def\hyper@class{amsproc}}{}
  \@ifclassloaded{amsbook}{\def\hyper@class{amsbook}}{}
  \@ifclassloaded{amsdtx}{\def\hyper@class{amsdtx}}{}
  \@ifclassloaded{amsldoc}{\def\hyper@class{amsldoc}}{}
  \@ifclassloaded{cweb}{\def\hyper@class{cweb}}{}
\fi
\ifx\hyper@class\@undefined
  \PackageError{hyper}{Document class can't be determined.\MessageBreak
              Please add one to the option list%
     }{}
\else
  \InputIfFileExists{\hyper@class.hyp}{}%
    {\PackageError{hyper}{\hyper@class.hyp not found.\MessageBreak
                 Please reinstall the complete package%
                }{}%
    }%
\fi
\ifx\hyper@idxglo\@undefined\else
  \hyper@idxglo@cmds
\fi
\ifx\hyper@this@color\@undefined
\else
  \expandafter\ifx\hyper@this@color\hyper@gray
    \RequirePackage{color}
  \else\expandafter\ifx\hyper@this@color\hyper@color
    \RequirePackage{color}
  \else\expandafter\ifx\hyper@this@color\hyper@black
  \else
    \PackageError{hyper}{Implementation error:\MessageBreak
Case for reference/anchor color definition not defined}{}
  \fi\fi\fi
  \hyper@this@color
\fi
\@ifclasswith\hyper@class{leqno}%
  {\InputIfFileExists{leqno.hyp}{}%
     {\PackageError{hyper}{leqno.hyp not found.\MessageBreak
                  Please reinstall the complete package}{}%
     }%
  }%
  {}
\def\hyper@loadpackage#1{%
  \@ifpackageloaded{#1}%
    {\InputIfFileExists{#1.hyp}%
       {\expandafter\edef\csname hyper@loaded@#1\endcsname{#1.hyp}}%
       {\PackageError{hyper}{#1.hyp not found.\MessageBreak
                    Please reinstall the complete package}{}%
       }%
    }%
    {}
}
\hyper@loadpackage{amsmath}
\hyper@loadpackage{amstex}
\hyper@loadpackage{amsthm}
\hyper@loadpackage{doc}
\hyper@loadpackage{fancyheadings}
\hyper@loadpackage{ftnright}
\hyper@loadpackage{harvard}
\hyper@loadpackage{longtable}
\hyper@loadpackage{natbib}
\hyper@loadpackage{theorem}
\hyper@loadpackage{upref}
\hyper@loadpackage{xr}
\def\@hyper@load@pkg(#1){%
  \expandafter\ifx\csname hyper@loaded@#1\endcsname\relax%
    \IfFileExists{#1.hyp}%
      {\IfFileExists{#1.sty}{\RequirePackage{#1}}{}%
       \input{#1.hyp}%
       \expandafter\edef\csname hyper@loaded@#1\endcsname{#1.hyp}%
      }%
      {\PackageError{hyper}{Modification file #1.hyp not found}{}}%
  \fi%
  \hyper@loadpackage%
}
\def\hyper@loadpackage{\@ifnextchar({\@hyper@load@pkg}{}}
\expandafter\hyper@loadpackage\hyper@packages\relax
\def\@hyper@load@ext(#1){%
  \expandafter\ifx\csname hyper@loaded@ext@#1\endcsname\relax%
    \IfFileExists{#1.sty}%
      {\RequirePackage{#1}%
       \expandafter\edef\csname hyper@loaded@ext@#1\endcsname{#1.sty}%
      }%
      {\PackageError{hyper}{Extension file #1.sty not found}{}}%
  \fi%
  \hyper@loadpackage%
}
\def\hyper@load@extension{\@ifnextchar({\@hyper@load@ext}{}}
\expandafter\hyper@load@extension\hyper@extensions\relax
\ifx\hyper@pageanchor\@undefined
\else
  \expandafter\let\expandafter\hyper@modifyheadfoot\hyper@pageanchor
\fi
\ifx\hyper@do\@undefined\else\hyper@do\fi
\endinput
%% 
%% End of file `hyper.sty'.
