%%
%% This is file `htex4ht.def',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% hyperref.dtx  (with options: `tex4ht')
%% 
%% 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-2026 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
\ProvidesFile{htex4ht.def}
  [2026-06-17 v7.01r %
  Hyperref driver for TeX4ht]
\Hy@VersionCheck{htex4ht.def}
\providecommand*{\XR@ext}{html}
\let\Hy@raisedlink\@empty
\@ifpackageloaded{tex4ht}{%
  \Hy@InfoNoLine{tex4ht is already loaded}%
}{%
  \RequirePackage[htex4ht]{tex4ht}%
}
\hyperlinkfileprefix{}
\let\PDF@FinishDoc\@empty
\def\PDF@SetupDoc{%
  \ifx\@baseurl\@empty
  \else
    \special{t4ht=<base href="\@baseurl">}%
  \fi
}
\Hy@WrapperDef\hyper@anchor#1{%
  \Hy@SaveLastskip
  \Hy@VerboseAnchor{#1}%
  \begingroup
    \let\protect=\string
    \special{t4ht=<a name=%
        \hyper@quote\HyperDestNameFilter{#1}\hyper@quote>}%
  \endgroup
  \Hy@activeanchortrue
  \Hy@colorlink\@anchorcolor\anchor@spot\Hy@endcolorlink
  \special{t4ht=</a>}%
  \Hy@activeanchorfalse
  \Hy@RestoreLastskip
}
\Hy@WrapperDef\hyper@anchorstart#1{%
  \Hy@SaveLastskip
  \Hy@VerboseAnchor{#1}%
  \begingroup
    \hyper@chars\special{t4ht=<a name=%
        \hyper@quote\HyperDestNameFilter{#1}\hyper@quote>}%
  \endgroup
  \Hy@activeanchortrue
}
\def\hyper@anchorend{%
  \special{t4ht=</a>}%
  \Hy@activeanchorfalse
  \Hy@RestoreLastskip
}
\def\@urltype{url}
\def\hyper@linkstart#1#2{%
  \Hy@VerboseLinkStart{#1}{#2}%
  \expandafter\Hy@colorlink\csname @#1color\endcsname
  \def\Hy@tempa{#1}%
  \ifx\Hy@tempa\@urltype
    \special{t4ht=<a href=\hyper@quote#2\hyper@quote>}%
  \else
    \begingroup
      \hyper@chars
      \special{t4ht=<a href=%
          \hyper@quote\#\HyperDestNameFilter{#2}\hyper@quote>}%
    \endgroup
  \fi
}
\def\hyper@linkend{%
  \special{t4ht=</a>}%
  \Hy@endcolorlink
}
\def\hyper@linkfile#1#2#3{%
  \hyper@linkurl{#1}{\Hy@linkfileprefix#2\ifx\\#3\\\else\##3\fi}%
}
\def\hyper@linkurl#1#2{%
  \leavevmode
  \ifHy@raiselinks
    \Hy@SaveSpaceFactor
    \Hy@SaveSavedSpaceFactor
    \sbox\@tempboxa{\Hy@RestoreSpaceFactor#1}%
    \Hy@RestoreSavedSpaceFactor
    \@linkdim\dp\@tempboxa
    \lower\@linkdim\hbox{%
      \begingroup
        \hyper@chars
        \special{%
          t4ht=<a href=\hyper@quote#2\hyper@quote>%
        }%
      \endgroup
    }%
    \Hy@colorlink\@urlcolor
      \Hy@RestoreSpaceFactor
      #1\Hy@xspace@end
      \Hy@SaveSpaceFactor
    \Hy@endcolorlink
    \@linkdim\ht\@tempboxa
    \advance\@linkdim by -6.5\p@
    \raise\@linkdim\hbox{\special{t4ht=</a>}}%
    \Hy@RestoreSpaceFactor
 \else
   \begingroup
     \hyper@chars
     \special{t4ht=<a href=\hyper@quote#2\hyper@quote>}%
     \Hy@colorlink\@urlcolor
       #1\Hy@xspace@end
     \Hy@endcolorlink
     \special{t4ht=</a>}%
   \endgroup
 \fi
}
\def\hyper@link#1#2#3{%
  \Hy@VerboseLinkStart{#1}{#2}%
  \hyper@linkurl{#3}{\#\HyperDestNameFilter{#2}}%
}
\def\hyper@image#1#2{%
  \begingroup
    \hyper@chars
    \special{t4ht=<img src=\hyper@quote#1\hyper@quote>}%
  \endgroup
}
\let\autoref\ref
\ifx \rEfLiNK \UnDef
  \def\rEfLiNK #1#2{#2}%
\fi
\let\backref\@gobble
\AtBeginDocument{%
  \expandafter
  \let\expandafter\Hy@OrgMakeLabel\csname Make:Label\endcsname
  \expandafter\def\csname Make:Label\endcsname#1#2{%
    \ifhmode
      \Hy@SaveSpaceFactor
    \else
      \global\Hy@SavedSpaceFactor=1000 %
    \fi
    \Hy@OrgMakeLabel{#1}{%
      \Hy@RestoreSpaceFactor
      #2\Hy@xspace@end%
      \Hy@SaveSpaceFactor
    }%
    \Hy@RestoreSpaceFactor
  }%
}
\def\@Form[#1]{%
  \kvsetkeys{Form}{#1}%
  \HCode{<form action="\Form@action" method="\Form@method">}%
}
\def\@endForm{\HCode{</form>}}
\def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum
  \Hy@Message{Sorry, TeX4ht does not support gauges}%
}
\def\@TextField[#1]#2{% parameters, label
  \let\Hy@reserved@a\@empty
  \def\Fld@name{#2}%
  \let\Fld@default\@empty
  \bgroup
    \Field@toks={ }%
    \kvsetkeys{Field}{#1}%
    \HCode{<label for="\Fld@name">#2</label>}%
    \ifFld@password
      \@@PasswordField
    \else
      \@@TextField
    \fi
  \egroup
}
\def\@@PasswordField{%
  \HCode{%
    <input type="password" %
     id="\Fld@name" %
     name="\Fld@name" %
     \ifFld@hidden type="hidden" \fi
     value="\Fld@default" %
     \the\Field@toks
    >%
  }%
}
\def\@@TextField{%
  \ifFld@multiline
    \HCode{<textarea %
      \ifFld@readonly readonly \fi
      id="\Fld@name" %
      name="\Fld@name" %
      \ifFld@hidden type="hidden" \fi
      \the\Field@toks>%
    }%
    \Fld@default
    \HCode{</textarea>}%
  \else
    \HCode{<input type="textbox" %
      \ifFld@readonly readonly \fi
      id="\Fld@name" %
      name="\Fld@name" %
      \ifFld@hidden type="hidden" \fi
      value="\Fld@default" %
      \the\Field@toks>%
    }%
  \fi
}
\def\@ChoiceMenu[#1]#2#3{% parameters, label, choices
  \def\Fld@name{#2}%
  \let\Fld@default\@empty
  \let\Hy@reserved@a\relax
  \begingroup
    \expandafter\Fld@findlength#3\\%
    \Field@toks={ }%
    \kvsetkeys{Field}{#1}%
    #2%
    \ifFld@radio
      \expandafter\@@Radio#3\\%
    \else
      \expandafter\@@Menu#3\\%
    \fi
  \endgroup
}
\def\Fld@findlength#1\\{%
  \Fld@menulength=0 %
  \@for\@curropt:=#1\do{\Hy@StepCount\Fld@menulength}%
}
\def\@@Menu#1\\{%
  \HCode{<select size="\the\Fld@menulength" %
    name="\Fld@name" %
    \the\Field@toks>%
  }%
  \@for\@curropt:=#1\do{%
    \expandafter\Fld@checkequals\@curropt==\\%
    \HCode{<option %
      \ifx\@curropt\Fld@default selected \fi
      value="\@currValue">\@currDisplay</option>%
    }%
  }%
  \HCode{</select>}%
}
\def\@@Radio#1\\{%
  \@for\@curropt:=#1\do{%
    \expandafter\Fld@checkequals\@curropt==\\%
    \HCode{<input type="radio" %
      \ifx\@curropt\Fld@default checked \fi
      name="\Fld@name" %
      value="\@currValue" %
      \the\Field@toks>%
    }%
    \@currDisplay
  }%
}
\def\@PushButton[#1]#2{% parameters, label
  \def\Fld@name{#2}%
  \bgroup
    \Field@toks={ }%
    \kvsetkeys{Field}{#1}%
    \HCode{<input type="button" %
      name="\Fld@name" %
      value="#2" %
      \the\Field@toks>%
    }%
    \HCode{</button>}%
  \egroup
}
\def\@Submit[#1]#2{%
  \HCode{<button type="submit">#2</button>}%
}
\def\@Reset[#1]#2{%
  \HCode{<button type="reset">#2</button>}%
}
\def\@CheckBox[#1]#2{% parameters, label
  \let\Hy@reserved@a\@empty
  \def\Fld@name{#2}%
  \def\Fld@default{0}%
  \bgroup
    \Field@toks={ }%
    \kvsetkeys{Field}{#1}%
    \HCode{<input type="checkbox" %
      \ifFld@checked checked \fi
      \ifFld@disabled disabled \fi
      \ifFld@readonly readonly \fi
      name="\Fld@name" %
      \ifFld@hidden type="hidden" \fi
      value="\Fld@default" %
      \the\Field@toks>%
      #2%
    }%
  \egroup
}
\endinput
%%
%% End of file `htex4ht.def'.
