%%
%% This is file `hdvips.def',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% hyperref.dtx  (with options: `dvips')
%% 
%% 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{hdvips.def}
  [2026-01-29 v7.01p %
  Hyperref driver for dvips]
\Hy@VersionCheck{hdvips.def}
\providecommand*{\XR@ext}{pdf}
\let\Hy@raisedlink\@empty
\def\literalps@out#1{\special{ps:SDict begin #1 end}}%
\def\headerps@out#1{\special{! #1}}%
\input{pdfmark.def}%
\ifx\@pdfproducer\relax
  \def\@pdfproducer{dvips + Distiller}%
\fi
\providecommand*\@pdfborder{0 0 1}
\providecommand*\@pdfborderstyle{}
\providecommand*\@pdfview{XYZ}
\providecommand*\@pdfviewparams{ H.V}
\def\Hy@BorderArrayPatch{BorderArrayPatch}
\g@addto@macro\Hy@FirstPageHook{%
  \headerps@out{%
    /DvipsToPDF{72.27 mul Resolution div} def%
    /PDFToDvips{72.27 div Resolution mul} def%
    /BPToDvips{72 div Resolution mul}def
    product (Ghostscript) search {pop pop pop revision 927 gt}%
    {pop false} ifelse%
    {%
      /BorderArrayPatch{} def%
    }%
    {%
      /BorderArrayPatch{%
        [exch{%
          dup dup type/integertype eq exch type/realtype eq or%
          {BPToDvips}if%
        }forall]%
      }def%
    } ifelse
    /HyperBorder {1 PDFToDvips} def%
    /H.V {pdf@hoff pdf@voff null} def%
    /H.B {/Rect[pdf@llx pdf@lly pdf@urx pdf@ury]} def%
    /H.S {%
      currentpoint %
      HyperBorder add /pdf@lly exch def %
      dup DvipsToPDF 72 add /pdf@hoff exch def %
      HyperBorder sub /pdf@llx exch def%
    } def%
    /H.L {%
      2 sub dup%
      /HyperBasePt exch def %
      PDFToDvips /HyperBaseDvips exch def %
      currentpoint %
      HyperBaseDvips sub /pdf@ury exch def%
      /pdf@urx exch def%
    } def%
    /H.A {%
      H.L %
      currentpoint exch pop %
      vsize 72 sub exch DvipsToPDF %
      HyperBasePt sub % baseline skip
      sub /pdf@voff exch def%
    } def%
    /H.R {%
      currentpoint %
      HyperBorder sub /pdf@ury exch def %
      HyperBorder add /pdf@urx exch def %
      currentpoint exch pop vsize 72 sub %
      exch DvipsToPDF sub /pdf@voff exch def%
    } def%
  }%
}
\AddToHook{shipout/firstpage}{%
  \ifHy@setpagesize
    \begingroup
     \ifnum\mag=\@m
      \ifdim\stockwidth>\z@
        \ifdim\stockheight>\z@
         \special{papersize=\the\stockwidth,\the\stockheight}%
        \else
          \ifdim\paperwidth>\z@
            \ifdim\paperheight>\z@
              \special{papersize=\the\paperwidth,\the\paperheight}%
            \fi
          \fi
        \fi
      \else
        \ifdim\stockwidth=\z@
          \ifdim\paperwidth>\z@
            \ifdim\paperheight>\z@
              \special{papersize=\the\paperwidth,\the\paperheight}%
            \fi
          \fi
        \fi
      \fi
     \fi
    \endgroup
  \fi
  \Hy@DisableOption{setpagesize}%
}
\def\setpdflinkmargin#1{%
  \begingroup
    \setlength{\dimen@}{#1}%
    \literalps@out{%
      /HyperBorder{\strip@pt\dimen@\space PDFToDvips}def%
    }%
  \endgroup
}
\endinput
%%
%% End of file `hdvips.def'.
