Current File : //usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty |
%%
%% This is file `pdftexcmds.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% pdftexcmds.dtx (with options: `package')
%%
%% This is a generated file.
%%
%% Project: pdftexcmds
%% Version: 2020-06-27 v0.33
%%
%% Copyright (C)
%% 2007, 2009-2011 Heiko Oberdiek
%% 2016-2019 Oberdiek Package Support Group
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3c of this license or (at your option) any later
%% version. This version of this license is in
%% https://www.latex-project.org/lppl/lppl-1-3c.txt
%% and the latest version of this license is in
%% https://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 Maintainers of this work are
%% Heiko Oberdiek and the Oberdiek Package Support Group
%% https://github.com/ho-tex/pdftexcmds/issues
%%
%% The Base Interpreter refers to any `TeX-Format',
%% because some files are installed in TDS:tex/generic//.
%%
%% This work consists of the main source file pdftexcmds.dtx
%% and the derived files
%% pdftexcmds.sty, pdftexcmds.pdf, pdftexcmds.ins, pdftexcmds.drv,
%% pdftexcmds.lua.
%%
\begingroup\catcode61\catcode48\catcode32=10\relax%
\catcode13=5 % ^^M
\endlinechar=13 %
\catcode35=6 % #
\catcode39=12 % '
\catcode44=12 % ,
\catcode45=12 % -
\catcode46=12 % .
\catcode58=12 % :
\catcode64=11 % @
\catcode123=1 % {
\catcode125=2 % }
\expandafter\let\expandafter\x\csname ver@pdftexcmds.sty\endcsname
\ifx\x\relax % plain-TeX, first loading
\else
\def\empty{}%
\ifx\x\empty % LaTeX, first loading,
% variable is initialized, but \ProvidesPackage not yet seen
\else
\expandafter\ifx\csname PackageInfo\endcsname\relax
\def\x#1#2{%
\immediate\write-1{Package #1 Info: #2.}%
}%
\else
\def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
\fi
\x{pdftexcmds}{The package is already loaded}%
\aftergroup\endinput
\fi
\fi
\endgroup%
\begingroup\catcode61\catcode48\catcode32=10\relax%
\catcode13=5 % ^^M
\endlinechar=13 %
\catcode35=6 % #
\catcode39=12 % '
\catcode40=12 % (
\catcode41=12 % )
\catcode44=12 % ,
\catcode45=12 % -
\catcode46=12 % .
\catcode47=12 % /
\catcode58=12 % :
\catcode64=11 % @
\catcode91=12 % [
\catcode93=12 % ]
\catcode123=1 % {
\catcode125=2 % }
\expandafter\ifx\csname ProvidesPackage\endcsname\relax
\def\x#1#2#3[#4]{\endgroup
\immediate\write-1{Package: #3 #4}%
\xdef#1{#4}%
}%
\else
\def\x#1#2[#3]{\endgroup
#2[{#3}]%
\ifx#1\@undefined
\xdef#1{#3}%
\fi
\ifx#1\relax
\xdef#1{#3}%
\fi
}%
\fi
\expandafter\x\csname ver@pdftexcmds.sty\endcsname
\ProvidesPackage{pdftexcmds}%
[2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO)]%
\begingroup\catcode61\catcode48\catcode32=10\relax%
\catcode13=5 % ^^M
\endlinechar=13 %
\catcode123=1 % {
\catcode125=2 % }
\catcode64=11 % @
\def\x{\endgroup
\expandafter\edef\csname pdftexcmds@AtEnd\endcsname{%
\endlinechar=\the\endlinechar\relax
\catcode13=\the\catcode13\relax
\catcode32=\the\catcode32\relax
\catcode35=\the\catcode35\relax
\catcode61=\the\catcode61\relax
\catcode64=\the\catcode64\relax
\catcode123=\the\catcode123\relax
\catcode125=\the\catcode125\relax
}%
}%
\x\catcode61\catcode48\catcode32=10\relax%
\catcode13=5 % ^^M
\endlinechar=13 %
\catcode35=6 % #
\catcode64=11 % @
\catcode123=1 % {
\catcode125=2 % }
\def\TMP@EnsureCode#1#2{%
\edef\pdftexcmds@AtEnd{%
\pdftexcmds@AtEnd
\catcode#1=\the\catcode#1\relax
}%
\catcode#1=#2\relax
}
\TMP@EnsureCode{0}{12}%
\TMP@EnsureCode{1}{12}%
\TMP@EnsureCode{2}{12}%
\TMP@EnsureCode{10}{12}% ^^J
\TMP@EnsureCode{33}{12}% !
\TMP@EnsureCode{34}{12}% "
\TMP@EnsureCode{38}{4}% &
\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{60}{12}% <
\TMP@EnsureCode{62}{12}% >
\TMP@EnsureCode{91}{12}% [
\TMP@EnsureCode{93}{12}% ]
\TMP@EnsureCode{94}{7}% ^ (superscript)
\TMP@EnsureCode{95}{12}% _ (other)
\TMP@EnsureCode{96}{12}% `
\TMP@EnsureCode{126}{12}% ~ (other)
\edef\pdftexcmds@AtEnd{%
\pdftexcmds@AtEnd
\escapechar=\number\escapechar\relax
\noexpand\endinput
}
\escapechar=92 %
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname RequirePackage\endcsname\relax
\def\TMP@RequirePackage#1[#2]{%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname ver@#1.sty\endcsname\relax
\input #1.sty\relax
\fi
}%
\TMP@RequirePackage{infwarerr}[2007/09/09]%
\TMP@RequirePackage{iftex}[2019/11/07]%%
\TMP@RequirePackage{ltxcmds}[2010/12/02]%
\else
\RequirePackage{infwarerr}[2007/09/09]%
\RequirePackage{iftex}[2019/11/07]%
\RequirePackage{ltxcmds}[2010/12/02]%
\fi
\ifluatex
\ifcsname catcodetable@string\endcsname\else\input{ltluatex}\fi
\else
\def\pdftexcmds@nopdftex{%
\let\pdftexcmds@nopdftex\relax
}%
\def\pdftexcmds@temp#1{%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname
\expandafter\ifx\csname pdf#1\endcsname\relax\else pdf\fi#1\endcsname\relax
\pdftexcmds@nopdftex
\else
\expandafter\def\csname pdf@#1\expandafter\endcsname
\expandafter{%
\csname\expandafter\ifx\csname pdf#1\endcsname\relax\else pdf\fi#1\endcsname
}%
\fi
}%
\pdftexcmds@temp{strcmp}%
\pdftexcmds@temp{escapehex}%
\let\pdf@escapehexnative\pdf@escapehex
\pdftexcmds@temp{unescapehex}%
\let\pdf@unescapehexnative\pdf@unescapehex
\pdftexcmds@temp{escapestring}%
\pdftexcmds@temp{escapename}%
\pdftexcmds@temp{filesize}%
\pdftexcmds@temp{filemoddate}%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdfshellescape\endcsname\relax
\pdftexcmds@nopdftex
\ltx@IfUndefined{pdftexversion}{%
}{%
\ifnum\pdftexversion>120 % 1.21a supports \ifeof18
\ifeof18 %
\chardef\pdf@shellescape=0 %
\else
\chardef\pdf@shellescape=1 %
\fi
\fi
}%
\else
\def\pdf@shellescape{%
\pdfshellescape
}%
\fi
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdffiledump\endcsname\relax
\pdftexcmds@nopdftex
\else
\def\pdf@filedump#1#2#3{%
\pdffiledump offset#1 length#2{#3}%
}%
\fi
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdfmdfivesum\endcsname\relax
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname mdfivesum\endcsname\relax
\pdftexcmds@nopdftex
\else
\def\pdf@mdfivesum#{\mdfivesum}%
\let\pdf@mdfivesumnative\pdf@mdfivesum
\def\pdf@filemdfivesum#{\mdfivesum file}%
\fi
\else
\def\pdf@mdfivesum#{\pdfmdfivesum}%
\let\pdf@mdfivesumnative\pdf@mdfivesum
\def\pdf@filemdfivesum#{\pdfmdfivesum file}%
\fi
\def\pdf@system#{%
\immediate\write18%
}%
\def\pdftexcmds@temp#1{%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname
\expandafter\ifx\csname pdf#1\endcsname\relax\else pdf\fi#1\endcsname\relax
\pdftexcmds@nopdftex
\else
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\let\csname pdf@#1\expandafter\endcsname
\csname\expandafter\ifx\csname pdf#1\endcsname\relax\else pdf\fi#1\endcsname
\fi
}%
\pdftexcmds@temp{resettimer}%
\pdftexcmds@temp{elapsedtime}%
\fi
\ifluatex
\ifnum\luatexversion<36 %
\def\pdftexcmds@directlua{\directlua0 }%
\else
\let\pdftexcmds@directlua\directlua
\fi
\begingroup
\newlinechar=10 %
\endlinechar=\newlinechar
\pdftexcmds@directlua{%
if tex.enableprimitives then
tex.enableprimitives(
'pdf@',
{'primitive', 'ifprimitive', 'pdfdraftmode','draftmode'}
)
tex.enableprimitives('', {'luaescapestring'})
end
}%
\endgroup %
\fi
\def\pdftexcmds@strip@prefix#1>{}
\def\pdftexcmds@temp#1#2#3{%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdf@#1\endcsname\relax
\begingroup
\def\x{#3}%
\edef\x{\expandafter\pdftexcmds@strip@prefix\meaning\x}%
\escapechar=-1 %
\edef\y{\expandafter\meaning\csname#2\endcsname}%
\expandafter\endgroup
\ifx\x\y
\expandafter\let\csname pdf@#1\expandafter\endcsname
\csname #2\endcsname
\fi
\fi
}
\pdftexcmds@temp{primitive}{pdfprimitive}{pdfprimitive}% pdfTeX, oldLuaTeX
\pdftexcmds@temp{primitive}{primitive}{primitive}% XeTeX, luatex
\pdftexcmds@temp{primitive}{luatexprimitive}{pdfprimitive}% oldLuaTeX
\pdftexcmds@temp{primitive}{luatexpdfprimitive}{pdfprimitive}% oldLuaTeX
\pdftexcmds@temp{ifprimitive}{ifpdfprimitive}{ifpdfprimitive}% pdfTeX, oldLuaTeX
\pdftexcmds@temp{ifprimitive}{ifprimitive}{ifprimitive}% XeTeX, luatex
\pdftexcmds@temp{ifprimitive}{luatexifprimitive}{ifpdfprimitive}% oldLuaTeX
\pdftexcmds@temp{ifprimitive}{luatexifpdfprimitive}{ifpdfprimitive}% oldLuaTeX
\ifluatex\else
\begingroup
\expandafter\ifx\csname pdf@primitive\endcsname\relax
\else
\expandafter\ifx\csname pdftexversion\endcsname\relax
\else
\ifnum\pdftexversion=140 %
\expandafter\ifx\csname pdftexrevision\endcsname\relax
\else
\ifnum\pdftexrevision<4 %
\endgroup
\let\pdf@primitive\@undefined
\@PackageInfoNoLine{pdftexcmds}{%
\string\pdf@primitive\space disabled, %
because\MessageBreak
\string\pdfprimitive\space is broken until pdfTeX 1.40.4%
}%
\begingroup
\fi
\fi
\fi
\fi
\fi
\endgroup
\fi
\begingroup
\@PackageInfoNoLine{pdftexcmds}{%
\string\pdf@primitive\space is %
\expandafter\ifx\csname pdf@primitive\endcsname\relax not \fi
available%
}%
\@PackageInfoNoLine{pdftexcmds}{%
\string\pdf@ifprimitive\space is %
\expandafter\ifx\csname pdf@ifprimitive\endcsname\relax not \fi
available%
}%
\endgroup
\def\pdftexcmds@temp#1{%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdf@#1\endcsname\relax
\begingroup
\escapechar=-1 %
\edef\x{\expandafter\meaning\csname#1\endcsname}%
\def\y{#1}%
\def\z##1->{}%
\edef\y{\expandafter\z\meaning\y}%
\expandafter\endgroup
\ifx\x\y
\expandafter\def\csname pdf@#1\expandafter\endcsname
\expandafter{%
\csname#1\endcsname
}%
\fi
\fi
}%
\pdftexcmds@temp{shellescape}%
\pdftexcmds@temp{strcmp}%
\def\pdf@isprimitive{%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdf@strcmp\endcsname\relax
\long\def\pdf@isprimitive##1{%
\expandafter\pdftexcmds@isprimitive\expandafter{\meaning##1}%
}%
\long\def\pdftexcmds@isprimitive##1##2{%
\expandafter\pdftexcmds@@isprimitive\expandafter{\string##2}{##1}%
}%
\def\pdftexcmds@@isprimitive##1##2{%
\ifnum0\pdftexcmds@equal##1\delimiter##2\delimiter=1 %
\expandafter\ltx@firstoftwo
\else
\expandafter\ltx@secondoftwo
\fi
}%
\def\pdftexcmds@equal##1##2\delimiter##3##4\delimiter{%
\ifx##1##3%
\ifx\relax##2##4\relax
1%
\else
\ifx\relax##2\relax
\else
\ifx\relax##4\relax
\else
\pdftexcmds@equalcont{##2}{##4}%
\fi
\fi
\fi
\fi
}%
\def\pdftexcmds@equalcont##1{%
\def\pdftexcmds@equalcont####1####2##1##1##1##1{%
##1##1##1##1%
\pdftexcmds@equal####1\delimiter####2\delimiter
}%
}%
\expandafter\pdftexcmds@equalcont\csname fi\endcsname
\else
\long\def\pdf@isprimitive##1##2{%
\ifnum\pdf@strcmp{\meaning##1}{\string##2}=0 %
\expandafter\ltx@firstoftwo
\else
\expandafter\ltx@secondoftwo
\fi
}%
\fi
}
\ifluatex
\ifx\pdfdraftmode\@undefined
\let\pdfdraftmode\draftmode
\fi
\else
\pdf@isprimitive
\fi
\let\pdftexcmds@temp\ltx@zero %
\ltx@IfUndefined{pdfdraftmode}{%
\@PackageInfoNoLine{pdftexcmds}{\ltx@backslashchar pdfdraftmode not found}%
}{%
\ifpdf
\let\pdftexcmds@temp\ltx@one
\@PackageInfoNoLine{pdftexcmds}{\ltx@backslashchar pdfdraftmode found}%
\else
\@PackageInfoNoLine{pdftexcmds}{%
\ltx@backslashchar pdfdraftmode is ignored in DVI mode%
}%
\fi
}
\ifcase\pdftexcmds@temp
\let\pdf@draftmode\ltx@zero
\let\pdf@ifdraftmode\ltx@secondoftwo
\def\pdftexcmds@setdraftmode#1{}%
\else
\let\pdftexcmds@draftmode\pdfdraftmode
\def\pdf@ifdraftmode{%
\ifnum\pdftexcmds@draftmode=\ltx@one
\expandafter\ltx@firstoftwo
\else
\expandafter\ltx@secondoftwo
\fi
}%
\def\pdf@draftmode{%
\ifnum\pdftexcmds@draftmode=\ltx@one
\expandafter\ltx@one
\else
\expandafter\ltx@zero
\fi
}%
\def\pdftexcmds@setdraftmode#1{%
\pdftexcmds@draftmode=#1\relax
}%
\fi
\def\pdf@setdraftmode#1{%
\begingroup
\count\ltx@cclv=#1\relax
\edef\x{\endgroup
\noexpand\pdftexcmds@@setdraftmode{\the\count\ltx@cclv}%
}%
\x
}
\def\pdftexcmds@@setdraftmode#1{%
\ifcase#1 %
\pdftexcmds@setdraftmode{#1}%
\or
\pdftexcmds@setdraftmode{#1}%
\else
\@PackageWarning{pdftexcmds}{%
\string\pdf@setdraftmode: Ignoring\MessageBreak
invalid value `#1'%
}%
\fi
}
\ifluatex
\else
\expandafter\pdftexcmds@AtEnd
\fi%
\pdftexcmds@directlua{%
require("pdftexcmds")%
}
\ifnum\luatexversion>37 %
\ifnum0%
\pdftexcmds@directlua{%
if status.ini_version then %
tex.write("1")%
end%
}>0 %
\everyjob\expandafter{%
\the\everyjob
\pdftexcmds@directlua{%
require("pdftexcmds")%
}%
}%
\fi
\fi
\begingroup
\def\x{2020-06-27 v0.33}%
\ltx@onelevel@sanitize\x
\edef\y{%
\pdftexcmds@directlua{%
if oberdiek.pdftexcmds.getversion then %
oberdiek.pdftexcmds.getversion()%
end%
}%
}%
\ifx\x\y
\else
\@PackageError{pdftexcmds}{%
Wrong version of lua module.\MessageBreak
Package version: \x\MessageBreak
Lua module: \y
}\@ehc
\fi
\endgroup
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname newtoks\endcsname\relax
\toksdef\pdftexcmds@toks=0 %
\else
\csname newtoks\endcsname\pdftexcmds@toks
\fi
\def\pdftexcmds@Patch{0}
\ifnum\luatexversion>40 %
\ifnum\luatexversion<66 %
\def\pdftexcmds@Patch{1}%
\fi
\fi
\ifcase\pdftexcmds@Patch
\catcode`\&=14 %
\else
\catcode`\&=9 %
\def\pdftexcmds@PatchDecode#1\@nil{%
\pdftexcmds@DecodeA#1^^A^^A\@nil{}%
}%
\def\pdftexcmds@DecodeA#1^^A^^A#2\@nil#3{%
\ifx\relax#2\relax
\ltx@ReturnAfterElseFi{%
\pdftexcmds@DecodeB#3#1^^A^^B\@nil{}%
}%
\else
\ltx@ReturnAfterFi{%
\pdftexcmds@DecodeA#2\@nil{#3#1^^@}%
}%
\fi
}%
\def\pdftexcmds@DecodeB#1^^A^^B#2\@nil#3{%
\ifx\relax#2\relax%
\ltx@ReturnAfterElseFi{%
\ltx@zero
#3#1%
}%
\else
\ltx@ReturnAfterFi{%
\pdftexcmds@DecodeB#2\@nil{#3#1^^A}%
}%
\fi
}%
\fi
\ifnum\luatexversion<36 %
\else
\catcode`\0=9 %
\fi
\long\def\pdf@strcmp#1#2{%
\directlua0{%
oberdiek.pdftexcmds.strcmp("\luaescapestring{#1}",%
"\luaescapestring{#2}")%
}%
}%
\pdf@isprimitive
\long\def\pdf@escapehex#1{%
\directlua0{%
oberdiek.pdftexcmds.escapehex("\luaescapestring{#1}", "byte")%
}%
}%
\long\def\pdf@escapehexnative#1{%
\directlua0{%
oberdiek.pdftexcmds.escapehex("\luaescapestring{#1}")%
}%
}%
\def\pdf@unescapehex#1{%
& \romannumeral\expandafter\pdftexcmds@PatchDecode
\the\expandafter\pdftexcmds@toks
\directlua0{%
oberdiek.pdftexcmds.toks="pdftexcmds@toks"%
oberdiek.pdftexcmds.unescapehex("\luaescapestring{#1}", "byte", \pdftexcmds@Patch)%
}%
& \@nil
}%
\def\pdf@unescapehexnative#1{%
& \romannumeral\expandafter\pdftexcmds@PatchDecode
\the\expandafter\pdftexcmds@toks
\directlua0{%
oberdiek.pdftexcmds.toks="pdftexcmds@toks"%
oberdiek.pdftexcmds.unescapehex("\luaescapestring{#1}", \pdftexcmds@Patch)%
}%
& \@nil
}%
\long\def\pdf@escapestring#1{%
\directlua0{%
oberdiek.pdftexcmds.escapestring("\luaescapestring{#1}")%
}%
}
\long\def\pdf@escapename#1{%
\directlua0{%
oberdiek.pdftexcmds.escapename("\luaescapestring{#1}", "byte")%
}%
}
\long\def\pdf@escapenamenative#1{%
\directlua0{%
oberdiek.pdftexcmds.escapename("\luaescapestring{#1}")%
}%
}
\def\pdf@filesize#1{%
\directlua0{%
oberdiek.pdftexcmds.filesize("\luaescapestring{#1}")%
}%
}
\def\pdf@filemoddate#1{%
\directlua0{%
oberdiek.pdftexcmds.filemoddate("\luaescapestring{#1}")%
}%
}
\def\pdf@filedump#1#2#3{%
\directlua0{%
oberdiek.pdftexcmds.filedump("\luaescapestring{\number#1}",%
"\luaescapestring{\number#2}",%
"\luaescapestring{#3}")%
}%
}%
\long\def\pdf@mdfivesum#1{%
\directlua0{%
oberdiek.pdftexcmds.mdfivesum("\luaescapestring{#1}", "byte")%
}%
}%
\long\def\pdf@mdfivesumnative#1{%
\directlua0{%
oberdiek.pdftexcmds.mdfivesum("\luaescapestring{#1}")%
}%
}%
\def\pdf@filemdfivesum#1{%
\directlua0{%
oberdiek.pdftexcmds.filemdfivesum("\luaescapestring{#1}")%
}%
}%
\let\pdftexcmds@temp=Y%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname protected\endcsname\relax
\pdftexcmds@directlua0{%
if tex.enableprimitives then %
tex.enableprimitives('', {'protected'})%
end%
}%
\fi
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname protected\endcsname\relax
\let\pdftexcmds@temp=N%
\fi
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname numexpr\endcsname\relax
\pdftexcmds@directlua0{%
if tex.enableprimitives then %
tex.enableprimitives('', {'numexpr'})%
end%
}%
\fi
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname numexpr\endcsname\relax
\let\pdftexcmds@temp=N%
\fi
\ifx\pdftexcmds@temp N%
\@PackageWarningNoLine{pdftexcmds}{%
Definitions of \ltx@backslashchar pdf@resettimer and%
\MessageBreak
\ltx@backslashchar pdf@elapsedtime are skipped, because%
\MessageBreak
e-TeX's \ltx@backslashchar protected or %
\ltx@backslashchar numexpr are missing%
}%
\else
\protected\def\pdf@resettimer{%
\pdftexcmds@directlua0{%
oberdiek.pdftexcmds.resettimer()%
}%
}%
\protected\def\pdf@elapsedtime{%
\numexpr
\pdftexcmds@directlua0{%
oberdiek.pdftexcmds.elapsedtime()%
}%
\relax
}%
\fi
\ifnum\luatexversion<68 %
\else
\protected\edef\pdf@shellescape{%
\numexpr\directlua{tex.sprint(%
\number\catcodetable@string,status.shell_escape)}\relax}
\fi
\def\pdf@system#1{%
\directlua0{%
oberdiek.pdftexcmds.system("\luaescapestring{#1}")%
}%
}
\def\pdf@lastsystemstatus{%
\directlua0{%
oberdiek.pdftexcmds.lastsystemstatus()%
}%
}
\def\pdf@lastsystemexit{%
\directlua0{%
oberdiek.pdftexcmds.lastsystemexit()%
}%
}
\catcode`\0=12 %
\ifnum0%
\pdftexcmds@directlua{%
if io.popen then %
tex.write("1")%
end%
}%
=1 %
\def\pdf@pipe#1{%
& \romannumeral\expandafter\pdftexcmds@PatchDecode
\the\expandafter\pdftexcmds@toks
\pdftexcmds@directlua{%
oberdiek.pdftexcmds.toks="pdftexcmds@toks"%
oberdiek.pdftexcmds.pipe("\luaescapestring{#1}", \pdftexcmds@Patch)%
}%
& \@nil
}%
\fi
\pdftexcmds@AtEnd%
\endinput
%%
%% End of file `pdftexcmds.sty'.