From 26f4947f509c2440ce28e625133a15f6a2446920 Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Thu, 13 Sep 2018 10:28:30 +0900
Subject: update acrotex

---
 texmf-dist/tex/latex/acrotex/insdljs.sty | 1815 +++++++++++++++---------------
 1 file changed, 907 insertions(+), 908 deletions(-)

(limited to 'texmf-dist/tex/latex/acrotex/insdljs.sty')

diff --git a/texmf-dist/tex/latex/acrotex/insdljs.sty b/texmf-dist/tex/latex/acrotex/insdljs.sty
index 69cc9647..22f2034d 100644
--- a/texmf-dist/tex/latex/acrotex/insdljs.sty
+++ b/texmf-dist/tex/latex/acrotex/insdljs.sty
@@ -1,908 +1,907 @@
-%%
-%% This is file `insdljs.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% insdljs.dtx  (with options: `copyright,package')
-%% 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% insdljs.sty package,                                 %%
-%% Copyright (C) 2001-2018  D. P. Story                 %%
-%%   dpstory@uakron.edu                                 %%
-%%                                                      %%
-%% This program can redistributed and/or modified under %%
-%% the terms of the LaTeX Project Public License        %%
-%% Distributed from CTAN archives in directory          %%
-%% macros/latex/base/lppl.txt; either version 1 of the  %%
-%% License, or (at your option) any later version.      %%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{insdljs}
- [2017/09/03 v2.3g Insert Document Level JavaScripts (dps)]
-\usepackage{xkeyval}
-\RequirePackage{ifpdf}[2006/02/20]
-\RequirePackage{ifxetex}[2006/08/21]
-\RequirePackage{ifluatex}
-\DeclareOptionX{dvipsone}{\def\dljs@drivernum{0}%
-    \AtBeginDocument{\dvips@marker}}
-\DeclareOptionX{dvips}{\def\dljs@drivernum{0}%
-    \AtBeginDocument{\dvips@marker}}
-\DeclareOptionX{textures}{\def\dljs@drivernum{0}%
-    \AtBeginDocument{\dvips@marker}}
-\DeclareOptionX{pdftex}{\def\dljs@drivernum{1}}
-\DeclareOptionX{luatex}{\def\dljs@drivernum{1}}
-\DeclareOptionX{dvipdfm}{\def\dljs@drivernum{2}}
-\DeclareOptionX{dvipdfmx}{\def\dljs@drivernum{2}}
-\DeclareOptionX{xetex}{\def\dljs@drivernum{2}}
-\let\dl@YES=y \let\dl@NO=n
-\let\dl@One=1 \let\dl@Zero=0
-\let\dljs@YES=y \let\dljs@NO=n
-\def\dvips@marker{\ifx\dljspresent\dl@NO\@OAction\fi}
-\let\isOpenAction\dl@NO
-\DeclareOptionX{nodljs}{\let\importdljs\dl@NO}
-\let\importdljs\dl@YES
-\let\firstdljs\dl@YES
-\let\dljspresent\dl@NO
-\DeclareOptionX{debug}{\let\dljs@debug\dl@YES}
-\let\dljs@debug\dl@NO
-\DeclareOptionX{execJS}{\let\execjs\dl@YES}
-\let\execjs\dl@NO
-\DeclareOptionX{nopro}{\let\dl@gopro\dl@NO}
-\let\dl@gopro\dl@YES
-\@ifpackageloaded{web}{%
-    \ExecuteOptionsX{\eq@driver@name}%
-}{%
-    \@ifpackageloaded{eforms}{%
-        \ExecuteOptionsX{\ef@driver}%
-    }{%
-        \ifpdf\ExecuteOptionsX{pdftex}\else
-        \ifxetex\ExecuteOptionsX{xetex}\else
-        \@ifundefined{l@tex@@@@driver}{\ExecuteOptionsX{dvips}}
-            {\ExecuteOptionsX{dvipsone}}\fi\fi
-    }%
-}
-\DeclareOptionX{reqjs}{\let\dl@reqJS\dl@YES}
-\let\dljs@reqJS\dl@YES
-\DeclareOptionX{!reqjs}{\let\dl@reqJS\dl@NO}
-\DeclareOptionX{usealtadobe}{\def\inputAltAdbFncs{%
-    \InputIfFileExists{altadbfncs.def}%
-    {\PackageInfo{insdljs}{Inputting code for usealtadobe option}}%
-    {\PackageWarning{insdljs}{Cannot find altadbfncs.def.\MessageBreak
-        Reinstall or refresh your file name database.}}}}
-\let\inputAltAdbFncs\relax
-\ProcessOptionsX
-\edef\dl@dquoteCat{\the\catcode`\"}
-\catcode`\"=12\relax
-\@ifundefined{dljs@drivernum}{%
-    \PackageError{insdljs}%
-        {You have not specified dvips, dvipsone, pdftex,\MessageBreak
-        dvipdfm, dvipdfmx, or xetex in the option list
-        \MessageBreak of the insdljs package}
-        {Place one of the drivers dvips, dvipsone, pdftex,  dvipdfm,
-        dvipdfmx, or xetex
-        \MessageBreak in the option list of the insdljs package.}
-}{}
-\@ifundefined{ifpdfmarkup}{\newif\ifpdfmarkup}{}\pdfmarkupfalse
-\ifpdf\else\ifxetex\else\pdfmarkuptrue\fi\fi
-\RequirePackage{hyperref}
-\ifpdf\ifx\pdfextension\@undefined\else
-    \protected\def\pdfnames{\pdfextension names }
-    \def\pdfpageref{\pdffeedback pageref}\fi\fi
-\RequirePackage{verbatim}
-\usepackage{conv-xkv}[2017/01/03]
-\@ifundefined{dljs@drivernum}{%
-    \@ifundefined{eq@drivernum}{%
-        \PackageWarning{insdljs}
-            {No driver specified, will check for pdftex.}
-        \@ifundefined{pdfoutput}{%
-            \@ifundefined{@pdfm@mark}{\def\eq@drivernum{2}%
-            \def\dljs@drivernum{1}\let\isOpenAction\dl@NO
-            \PackageWarning{insdljs}{No pdftex, but detected dvipdfm}}%
-            {\PackageWarning{insdljs}{Neither pdftex nor dvipdfm,
-                assuming dvips/dvipsone.}%
-            \def\eq@drivernum{0}\def\dljs@drivernum{0}%
-            \let\isOpenAction\dl@YES}
-        }{%
-            \ifcase\pdfoutput
-                \def\eq@drivernum{1}\def\dljs@drivernum{1}%
-                \let\isOpenAction\dl@NO
-                \PackageInfo{insdljs}{Pdftex detected.}%
-            \else
-                \def\eq@drivernum{0}\def\dljs@drivernum{0}%
-                \let\isOpenAction\dl@YES
-                \PackageWarning{insdljs}{Pdftex engine detected,
-                but is outputting dvi. Assuming dvips as the driver.}%
-            \fi
-        }%
-    }{%
-        \begingroup
-            \count0=\eq@drivernum
-            \xdef\dljs@drivernum{\ifcase\count0 0\or1\or2\or0\else0\fi}
-            \ifnum\dljs@drivernum=0\global\let\isOpenAction\dl@YES
-                \else\global\let\isOpenAction\dl@NO\fi
-        \endgroup
-    }%
-}{}
-\ifnum\dljs@drivernum=1\relax
-    \RequirePackage{everyshi}
-\fi
-\def\AEB@psMrk{[\space}
-\ifx\dl@reqJS\dl@YES
-   \def\dl@@reqJS{/Type/Requirement/S/EnableJavaScripts}
-   \ifpdf\pdfcatalog{\dl@@reqJS}\else
-   \ifxetex\immediate\@pdfm@mark{put @catalog <<\dl@@reqJS>>}\else
-   \literalps@out{\AEB@psMrk{Catalog} <<\dl@@reqJS>> /PUT pdfmark}\fi\fi
-\fi
-\providecommand\JS[1]{/S/JavaScript/JS(#1)}
-\providecommand\Named[1]{/S/Named/N/#1}
-\providecommand{\GoTo}{/S/GoTo/D}
-\providecommand{\GoToD}{/S/GoTo/D}
-\providecommand{\GoToR}{/S/GoToR}
-\def\previewMiKTeX{\def\jsR{\string\r}\def\jsT{\string\t}}
-{\obeylines %
-\gdef\js@@R{\noexpand
-}}
-\let\dljstfor\@tfor
-\def\jsR{\string\r\string\n}
-\def\defineJSjsR{\string\r\eqbs^^J}
-\def\jsN{\string\n}
-{\catcode`\^^I\active %
-\gdef^^I{\noexpand^^I}%
-\gdef\js@@T{\noexpand^^I}%
-}%  end of \catcode`\^^I
-\let\jsT=\js@@T
-\newwrite\js@verbatim@out
-\def\iwvo#1{\immediate\write\js@verbatim@out{#1}}
-\def\dl@lparen{(}\def\dl@rparen{)}
-\def\jscsDflt{\let\protect\noexpand\let\jslit\string
-    \let\~\dl@tilda\let\^\dl@sup
-    \def\\{\eqbs\eqbs}\def\cs##1{\\\\##1}%
-    \def\r{\\r}\def\t{\\t}\def\n{\\n}%
-    \let\{\dl@lBrace\let\}\dl@rBrace
-    \ifx\jsstr@useUni\dl@One\def\Uni{\\u}\else\def\u{\\u}\fi
-    \ifx\jsstr@parens\dl@One\let\l@paren\dl@lparen
-        \let\r@paren\dl@rparen\else
-    \let\l@paren\@empty\let\r@paren\@empty\fi
-}
-\def\jscsDLJS{\let\protect\noexpand\let\jslit\string
-    \let\~\dl@tilda\let\^\dl@sup
-    \ifxetex\def\\{\eqbs\eqbs}\else\def\\{\eqbs}\fi\def\cs##1{\\\\##1}%
-    \def\r{\\r}\def\t{\\t}\def\n{\\n}%
-    \let\{\dl@lBrace\let\}\dl@rBrace
-    \ifx\jsstr@useUni\dl@One\def\Uni{\\u}\else\def\u{\\u}\fi
-    \ifx\jsstr@parens\dl@One\let\l@paren\dl@lparen
-        \let\r@paren\dl@rparen\else
-    \let\l@paren\@empty\let\r@paren\@empty\fi
-}
-\ifpdf\let\jscsDLJS\jscsDflt\fi
-\let\dl@JSCS\jscsDflt
-\newcommand{\flJSStr}{\bgroup
-    \let\dl@JSCS\jscsDflt
-    \@ifstar{\def\isStar{*}\dl@defJSStr}
-    {\let\isStar\relax\dl@defJSStr}}
-\let\fieldJSStr\flJSStr
-\let\defineJSStr\flJSStr
-\newcommand{\dlJSStr}{\bgroup
-    \@ifstar{\def\isStar{*}\let\dl@JSCS\jscsDLJS\dl@defJSStr}
-    {\let\isStar\relax\let\dl@JSCS\jscsDLJS\dl@defJSStr}}
-\define@key{jsstr}{quotes}[]{\let\jsstr@quotes\dl@One}
-\define@key{jsstr}{noquotes}[]{\let\jsstr@quotes\dl@Zero}
-\define@key{jsstr}{parens}[]{\let\jsstr@parens\dl@One}
-\define@key{jsstr}{noparens}[]{\let\jsstr@parens\dl@Zero}
-\let\jsstr@quotes\dl@One\let\jsstr@parens\dl@One
-\define@key{jsstr}{useUni}[]{\let\jsstr@useUni\dl@One}
-\let\jsstr@useUni\dl@Zero
-\newcommand{\dl@defJSStr}[3][quotes]{\def\dl@argi{#1}\ifx\dl@argi\@empty
-    \else\ifx\dl@JSCS\jscsDLJS\let\jsstr@parens\dl@Zero\fi
-    \setkeys{jsstr}{#1}\fi\dl@JSCS
-    \ifx\jsstr@quotes\dl@One
-        \xdef#2{\l@paren"#3"\r@paren}\else
-        \xdef#2{\l@paren#3\r@paren}\fi
-    \if\isStar*\gdef\dl@afterAction{{\Hy@unicodefalse\expandafter
-        \pdfstringdef\expandafter#2\expandafter{#2}}}\else
-        \global\let\dl@afterAction\relax\fi
-    \aftergroup\dl@afterAction\egroup}
-\def\dlTC#1{try{#1}catch(e){}}
-\def\js@R{\ifcase\dljs@drivernum^^J\else\jsR\fi}
-\def\db#1\db{\ifx\dljs@debug\dl@YES\space\space\space#1\js@R\fi}
-\newcounter{dljs@cnt}
-\newcounter{dljssegs}\setcounter{dljssegs}{2}
-\newenvironment{js@verbatimwrite}% writes to current \js@verbatim@out
- {%
-    \@bsphack
-    \let\do\@makeother\dospecials\catcode`\^^M\active
-    \def\verbatim@processline{%
-        \immediate\write\js@verbatim@out{\the\verbatim@line}}%
-    \verbatim@start}{\@esphack}
-\def\closejs@verbatim@out{\immediate\closeout\js@verbatim@out}
-\begingroup
-\catcode`\@=0 @catcode`@\=12
-@gdef@eqbs{\}
-@gdef@ccpdfmark{@gdef@eqesc{\}@gdef@eqesci{}}
-@endgroup
-\begingroup
-    \catcode`<=1 \catcode`\>=2 \@makeother\{ \@makeother\}
-\gdef\definebraces<\def\{<\eqesc{>\def\}<\eqesc}>>
-\endgroup
-\def\eqdospecials{\do\ \do\{\do\}\do\$\do\&%
-  \do\#\do\^\do\_\do\~}
-\begingroup
-\catcode`\~=\active \lccode`\~=`\^^M
-\lowercase{\endgroup
-    \def\eqverbatim@#1~{\verbatim@@#1*end\@nil}%
-    \def\eqverbatim@@#1*end{%
-    \verbatim@addtoline{#1}%
-    \futurelet\dl@next\eqverbatim@@@}%
-    \def\eqverbatim@@@#1\@nil{%
-    \ifx\dl@next\@nil
-        \verbatim@processline
-        \verbatim@startline
-        \let\dl@next\eqverbatim@
-    \else
-        \def\@tempa##1*end\@nil{##1}%
-        \@temptokena{*end}%
-        \def\dl@next{\expandafter\verbatim@test\@tempa#1\@nil~}%
-    \fi\dl@next}%
-}%
-\def\jsexpverbatimwrite
-{% writes to current \js@verbatim@out
-    \@bsphack
-    \ccpdfmark
-    \catcode`\<=12 \catcode`\>=12
-    \input{dljscc.def}%
-    \let\verbatim@=\eqverbatim@
-    \let\verbatim@@=\eqverbatim@@
-    \let\verbatim@@@=\eqverbatim@@@
-    \let\do\@makeother\eqdospecials%
-    \catcode`\^^M=\active\catcode`\^^I=12%
-    \def\verbatim@processline{%
-        \edef\expVerb{\the\verbatim@line}%
-        \immediate\write\js@verbatim@out{\expVerb}}%
-        \verbatim@start%
-}
-\def\endjsexpverbatimwrite{\immediate\closeout\js@verbatim@out\@esphack}
-\let\js@Path\@empty
-\def\insPath#1{\def\js@Path{#1}}
-\begingroup
-\catcode`\{=12 \catcode`\}=12 \catcode`\<=1 \catcode`\>=2
-\gdef\dl@lBrace<\string\{> \gdef\dl@rBrace<\string\}>
-\gdef\dl@tilda<\string~> \gdef\dl@sup<\string^>
-\endgroup
-\def\makeJSspecials{%
-    \def\\{\eqbs\eqbs}%         % define \\ to be \\
-    \let\jslit\string
-    \let\{\dl@lBrace\let\}\dl@rBrace
-    \let\u\@empty
-    \def\({\eqbs(}\def\){\eqbs)}%
-    \makespecialJS              % make \r=\jsR and \t=\jsT
-}
-\def\dl@fitpage{/Fit}
-\def\dl@actualsize{/XYZ null null 1.0}  %{/XYZ -32768 -32768 1.0}
-\def\dl@fitwidth{/FitH null}            %{/FitH -32768}
-\def\dl@fitheight{/FitV null}           %{/FitV -32768}
-\def\dl@fitvisible{/FitBH null}         %{/FitBH -32768}
-\def\dl@inheritzoom{/XYZ 0 0 0}
-\def\dl@mag#1{/XYZ null null #1}
-\edef\dl@Page#1{\ifcase\dljs@drivernum
-    {Page#1}\or\noexpand\pdfpageref#1\space\space 0 R\or
-    @page#1\fi}
-\def\dl@preProcDefns{\let\Page\dl@Page\let\mag\dl@mag
-    \let\fitpage\dl@fitpage\let\actualsize\dl@actualsize
-    \let\fitwidth\dl@fitwidth\let\fitheight\dl@fitheight
-    \let\fitvisible\dl@fitvisible\let\inheritzoom\dl@inheritzoom
-}
-\let\aeb@additionalOpenAction\@empty
-\let\aeb@addActionCode\@empty
-\let\addActionObj\@empty
-\let\aebpopentoks\@empty
-\let\aebpFA\dl@NO
-\def\aebp@rightDelimiters{}
-\newcommand{\addToDocOpen}[1]{%
-    \ifx\aebpFA\dl@NO
-        \g@addto@macro\aebpopentoks{#1}%
-        \def\aeb@additionalOpenAction{/Next {pubAddToDocOpen}}%
-\ifpdf
-        \def\aeb@addActionCode{\immediate\pdfobj{<<
-        \aebpopentoks\aebp@rightDelimiters >>}%
-        \edef\addActionObj{\the\pdflastobj\space 0 R}}%
-\else\ifxetex
-        \def\aeb@addActionCode{\immediate
-            \@pdfm@mark{obj @objAddActionObj
-            << \aebpopentoks\aebp@rightDelimiters >> }}%
-        \def\addActionObj{@objAddActionObj}%
-\else % postscript
-        \def\aeb@addActionCode{\literalps@out{%
-        \AEB@psMrk/_objdef {pubAddToDocOpen}
-            /type/dict /OBJ pdfmark^^J%
-        \AEB@psMrk{pubAddToDocOpen} <<
-        \aebpopentoks\aebp@rightDelimiters >> /PUT pdfmark}}%
-        \def\addActionObj{{pubAddToDocOpen}}%
-\fi\fi
-        \global\let\aebpFA\dl@YES
-        \let\@pdfstartview\@empty
-    \else
-            \edef\aebp@dljstmp{\aebp@rightDelimiters}%
-            \xdef\aebp@rightDelimiters{\aebp@dljstmp >> }%
-            \g@addto@macro\aebpopentoks{/Next << #1 }%
-    \fi
-}
-\def\dljs@OpenActions{/OpenAction \addActionObj}
-\def\dljs@setOpenActions{\bgroup\makeJSspecials\dl@preProcDefns
-    \aeb@addActionCode
-    \ifpdf\pdfcatalog{\dljs@OpenActions}\else
-    \ifxetex\immediate
-        \@pdfm@mark{put @catalog <<\dljs@OpenActions>>}\else
-    \literalps@out{\AEB@psMrk
-     {Catalog} <<\dljs@OpenActions>> /PUT pdfmark}\fi\fi\egroup}
-\@ifpackageloaded{aeb_pro}{}
-    {\AtBeginDocument{\ifx\aebpFA\dl@YES\expandafter
-        \dljs@setOpenActions\fi}}
-\let\@CloseAction\@empty
-\def\@OAction@pdfmark{\literalps@out{%
-     \AEB@psMrk{ThisPage} << /AA << /O << \theFirstAction\space
-    \opentoks\@rightDelimiters >> \@CloseAction >> >> /PUT pdfmark}}
-\def\@POAction@pdfmark{\literalps@out{%
-    \AEB@psMrk{ThisPage} << /AA << \@thisOpenAction
-    \@thisCloseAction >> >> /PUT pdfmark}%
-}
-\def\@OAction@pdftex{%
-    \ifx\isOpenAction\dl@YES
-        \xdef\pdftexOAction{/AA << /O << \theFirstAction\space
-        \opentoks\@rightDelimiters >> \@CloseAction  >>}%
-        \AtNextShipout{\pdfpageattr=\expandafter{\pdftexOAction}}%
-    \fi
-}
-\def\@POAction@pdftex{%
-  \xdef\thisPageActionpdftex{/AA << \@thisOpenAction
-    \@thisCloseAction >>}%
-  \AtNextShipout{\pdfpageattr=\expandafter{\thisPageActionpdftex}}%
-}
-\def\@OAction@dvipdfm{\ifx\isOpenAction\dl@YES
-    \@pdfm@mark{put @thispage << /AA << /O << \theFirstAction\space
-    \opentoks\@rightDelimiters >> \@CloseAction >> >>}\fi
-}
-\def\@POAction@dvipdfm{%
-    \@pdfm@mark{put @thispage << /AA << \@thisOpenAction
-    \@thisCloseAction >> >>}%
-}
-\ifcase\dljs@drivernum
-    \let\@OAction\@OAction@pdfmark
-    \let\@POAction\@POAction@pdfmark
-    \gdef\theFirstAction{/S/JavaScript/JS (\the\importfdftoks)}
-    \let\isOpenAction\dl@YES
-\or
-    \let\@OAction\@OAction@pdftex
-    \let\@POAction\@POAction@pdftex
-    \AtBeginDocument{\@OAction@pdftex}
-\or
-    \let\@OAction\@OAction@dvipdfm
-    \let\@POAction\@POAction@dvipdfm
-    \AtBeginDocument{\@OAction@dvipdfm}
-\fi
-\def\opentoks{}
-\def\makespecialJS{%
-    \let\r\jsR\let\t\jsT\let\n\jsN}
-\def\@rightDelimiters{}
-\def\OpenAction{\@ifnextchar\Next
-    {\expandafter\@OpenAction\@gobble}{\@OpenAction}}
-\def\@OpenAction#1{%
-    \ifx\isOpenAction\dl@NO
-        {\makespecialJS\xdef\theFirstAction{#1}}%
-        \global\let\isOpenAction\dl@YES
-    \else
-        \edef\dljstmp{\@rightDelimiters}%
-        \xdef\@rightDelimiters{\dljstmp >> }%
-        {\makespecialJS\xdef\dljstmp{\opentoks /Next << #1 }}%
-        \xdef\opentoks{\dljstmp}%
-    \fi
-    \@nextOpenAction
-}
-\def\@nextOpenAction{\@ifnextchar\Next{\expandafter
-    \@OpenAction\@gobble}{}}
-\def\protectJSCtrls{\def\r{\string\r\string\n}%
-    \def\t{\string\t}\def\n{\string\n}}
-\def\dljs@tstlp{\@ifnextchar\bgroup
-    {\let\dljs@multi\dl@YES\dljs@tstlpi}%
-    {\let\dljs@multi\dl@NO\dljs@tstlpi}}
-\def\dljs@tstlpi#1\@nil{}%
-\def\dljs@bldScript#1#2#3{{%
-    \dljs@tstlp#1\@nil
-    \ifx\dljs@multi\dl@NO{\protectJSCtrls\xdef#3{/#2<<#1>>}}\else
-        \toks0={}\let\dljs@rAngles\@empty\count0=0
-        \@tfor\dljs@arg:=#1\do{%
-            \ifnum\count0=0
-                \toks0=\expandafter{\dljs@arg}\else
-                \toks2=\expandafter{\dljs@arg}%
-                \edef\holdtokstmp{\the\toks0
-                    /Next<<\the\toks2 }%
-                \edef\dljs@rAngles{\dljs@rAngles\space>>}%
-                \toks0=\expandafter{\holdtokstmp}%
-            \fi
-            \advance\count0by1
-        }%
-        {\protectJSCtrls\xdef#3{/#2<<\the\toks0 \dljs@rAngles>>}%
-         \xdef#3{#3}}%
-    \fi
-}}
-\newcommand{\thisPageAction}[2]{%
-    \let\@CloseAction\@empty
-    \let\@thisOpenAction\@empty
-    \let\@thisCloseAction\@empty
-    \def\dljs@argi{#1}\def\dljs@argii{#2}%
-    \ifnum\value{page}=1\relax
-        \ifx\dljs@argii\@empty\else
-            \dljs@bldScript{#2}{C}{\@CloseAction}\fi
-        \ifx\dljs@argi\@empty\else\dljs@tstlp#1\@nil
-            \ifx\dljs@multi\dl@NO\OpenAction{#1}\else
-            \@tfor\dljs@arg:=#1\do{\expandafter
-                \OpenAction\expandafter{\dljs@arg}%
-            }\fi
-        \fi
-    \else
-        \ifx\dljs@argi\@empty\else
-            \dljs@bldScript{#1}{O}{\@thisOpenAction}\fi
-        \ifx\dljs@argii\@empty\else
-            \dljs@bldScript{#2}{C}{\@thisCloseAction}\fi
-        \@POAction
-    \fi
-}
-\let\insdljsloadVar\@empty
-\newenvironment{insDLJS}[3][]
-{%
-    \gdef\detectdljs{#1}\gdef\dljsBase{#2}%
-    \ifxetex{\def\1{\string\1}\def\2{\string2}%
-    \def\3{\string\3}\xdef\dljsName{#3}}\else
-    \Hy@unicodefalse\pdfstringdef{\dljsName}{#3}\fi
-\ifx\detectdljs\@empty
-    \stepcounter{dljs@cnt}%
-    \xdef\detectdljs{_bInsdljsload\arabic{dljs@cnt}}%
-    \edef\insdljsloadVar{var \detectdljs=true;}%
-    \addtocounter{dljs@cnt}{-1}%
-\fi
-    \global\let\multisegments\dl@NO\setcounter{dljssegs}{2}%
-    \global\dljsobjtoks={}%
-    \expandafter\ifx\csname dljs\dljsBase\endcsname\relax
-        \else\@insjserrDuplicate\fi
-    \ifcase\dljs@drivernum
-        \let\insert@DLJS=\insert@DLJS@pdfmark
-        \let\endinsDLJS=\endinsert@DLJS@pdfmark
-        \let\newsegment=\newsegment@pdfmark
-        \let\endnewsegment=\endnewsegment@pdfmark
-    \or
-        \let\insert@DLJS=\insert@DLJS@pdftex
-        \let\endinsDLJS=\endinsert@DLJS@pdftex
-        \let\newsegment=\newsegment@pdftex
-        \let\endnewsegment=\endnewsegment@pdftex
-    \or
-        \let\insert@DLJS=\insert@DLJS@dvipdfm
-        \let\endinsDLJS=\endinsert@DLJS@dvipdfm
-        \let\newsegment=\newsegment@dvipdfm
-        \let\endnewsegment=\endnewsegment@dvipdfm
-    \fi
-    \insert@DLJS
-}{}
-\newenvironment{insDLJS*}[2][]
-{%
-    \gdef\detectdljs{#1}\gdef\dljsBase{#2}%
-\ifx\detectdljs\@empty
-    \stepcounter{dljs@cnt}%
-    \xdef\detectdljs{_bInsdljsload\arabic{dljs@cnt}}%
-    \edef\insdljsloadVar{var \detectdljs=true;}%
-    \addtocounter{dljs@cnt}{-1}%
-\fi
-    \global\let\multisegments\dl@YES\setcounter{dljssegs}{2}%
-    \global\dljsobjtoks={}%
-    \expandafter\ifx\csname dljs\dljsBase\endcsname\relax
-        \else\@insjserrDuplicate\fi
-    \ifcase\dljs@drivernum
-        \let\insert@DLJS=\insert@DLJS@pdfmark
-        \expandafter
-            \let\csname endinsDLJS*\endcsname\endinsert@DLJS@pdfmark
-        \let\newsegment=\newsegment@pdfmark
-        \let\endnewsegment=\endnewsegment@pdfmark
-    \or
-        \let\insert@DLJS=\insert@DLJS@pdftex
-        \expandafter
-            \let\csname endinsDLJS*\endcsname\endinsert@DLJS@pdftex
-        \let\newsegment=\newsegment@pdftex
-        \let\endnewsegment=\endnewsegment@pdftex
-    \or
-        \let\insert@DLJS=\insert@DLJS@dvipdfm
-        \expandafter
-            \let\csname endinsDLJS*\endcsname\endinsert@DLJS@dvipdfm
-        \let\newsegment=\newsegment@dvipdfm
-        \let\endnewsegment=\endnewsegment@dvipdfm
-    \fi
-    \insert@DLJS
-}{}
-\def\@insjserrDuplicate{%
-    \typeout{^^J! insdljs Package error.}
-    \typeout{! insDLJS environment: On line number \the\inputlineno,}
-    \typeout{! the base name `\dljsBase' has already been chosen.}
-    \typeout{! A DLJS earlier defined has been overwritten!}
-    \typeout{! Choose another name for the first required argument}
-    \typeout{! of the insDLJS environment.^^J}
-}
-\newif\ifisdljs \isdljsfalse
-\begingroup
-\catcode`\~=12 \catcode`\#=12
-\gdef\efdlspecials{\catcode`\~=12 \catcode`\#=12}
-\endgroup
-\def\ckivspace#1{\if\noexpand#1\space\else\expandafter#1\fi}
-\let\DLspecialDefs\@empty
-\def\fdfAfterheader
-{%
-    \iwvo{\string\begingroup\string\efdlspecials}
-    \iwvo{\string\DLspecialDefs}
-    \iwvo{\string\isdljstrue}
-    \iwvo{\string\makeatletter}
-    \iwvo{\string\immediate\string\openout\string
-\js@verbatim@out=\string\js@Path\space\dljsBase.fdf}%
-    \iwvo{\string\begin{jsexpverbatimwrite}}
-    \iwvo{\string\firstFDFline}
-    \iwvo{1 0 obj}
-    \iwvo{<< /FDF << /JavaScript << /Doc 2 0 R /After 3 0 R >> >> >> }
-    \iwvo{endobj}
-    \iwvo{2 0 obj}
-\ifpdfmarkup
-    \iwvo{[ (ExecJS \dljsBase) (var _\dljsBase\space = true;) ] }\else
-    \iwvo{[ (00 ExecJS \dljsBase) (var _\dljsBase\space = true;) ] }\fi
-    \iwvo{endobj}
-    \iwvo{3 0 obj}
-    \iwvo{<<>>}
-    \iwvo{stream}
-}
-\newenvironment{execJS}[1]
-{%
-    \gdef\detectdljs{\string_#1}\gdef\dljsBase{#1}%
-    \global\dljsobjtoks={}%
-    \expandafter\gdef\csname dljs\dljsBase\endcsname{}%
-    \ifx\importdljs\dl@YES\ifx\execjs\dl@YES
-        \ifx\dl@gopro\dl@YES
-        \ifnum\dljs@drivernum=0\relax
-            \addImportAnFDF\importAnFDFTemplate
-        \else
-            \OpenAction{/S/JavaScript/JS (\importAnFDFTemplate)}%
-        \fi\fi
-    \fi\fi
-    \immediate\openout \js@verbatim@out \js@Path\dljsBase.djs
-    \fdfAfterheader
-    \js@verbatimwrite
-}{%
-    \fdfendstreamobj
-    \endjs@verbatimwrite
-    \fdftrailer
-    \closejs@verbatim@out
-    \expandafter\xdef\csname\dljsBase OBJ\endcsname{\the\dljsobjtoks}%
-    \edef\@dljstmp{\noexpand\AtBeginDocument{%
-        \noexpand\input{\js@Path\dljsBase.djs}}}\@dljstmp
-}
-\newtoks\JStoks
-\newenvironment{defineJS}[2][]
-{%
-    \expandafter\@ifundefined\expandafter{%
-        \expandafter\@gobble\string#2}{}{%
-            \PackageWarning{insdljs}{The command
-                \string#2 already defined}}%
-    \gdef\defineJSArg{#2}\JStoks={}%
-    \def\verbatim@processline
-        {%
-            \xdef\JS@temp{\the\JStoks\the\verbatim@line\defineJSjsR}%
-            \global\JStoks=\expandafter{\JS@temp}%
-        }%
-    \let\do\@makeother\dospecials\catcode`\^^M\active
-    #1%
-    \verbatim@start
-}{\gdef\eq@JStemp{\expandafter\edef\defineJSArg{\the\JStoks}}%
-    \aftergroup\eq@JStemp}
-\newenvironment{@defineJS}[2][]
-{%
-    \gdef\defineJSArg{#2}\JStoks={}%
-    \def\verbatim@processline
-        {%
-            \xdef\JS@temp{\the\JStoks\the\verbatim@line\defineJSjsR}%
-            \global\JStoks=\expandafter{\JS@temp}%
-        }%
-    \let\do\@makeother\dospecials\catcode`\^^M\active
-    #1%
-    \verbatim@start
-}{\gdef\eq@JStemp{\expandafter\edef\defineJSArg{\the\JStoks}}%
-    \aftergroup\eq@JStemp}
-\newenvironment{localJS}[1][]{}{\ifvmode\else\unskip\fi}
-\newenvironment{willClose}[1][]
-{\@defineJS[#1]{\will@Close}}
-{\end@defineJS}
-\let\will@Close\@empty
-\newenvironment{willSave}[1][]
-{\@defineJS[#1]{\will@Save}}
-{\end@defineJS}
-\let\will@Save\@empty
-\newenvironment{didSave}[1][]
-{\@defineJS[#1]{\did@Save}}
-{\end@defineJS}
-\let\did@Save\@empty
-\newenvironment{willPrint}[1][]
-{\@defineJS[#1]{\will@Print}}
-{\end@defineJS}
-\let\will@Print\@empty
-\newenvironment{didPrint}[1][]
-{\@defineJS[#1]{\did@Print}}
-{\end@defineJS}
-\let\did@Print\@empty
-\def\dljs@willDidActions{/AA <<
-   \ifx\test@will@Close\@empty\else/WC <<
-        \JS{\will@Close} >>\fi
-   \ifx\test@will@Save\@empty\else/WS <<
-        \JS{\will@Save} >>\fi
-   \ifx\test@did@Save\@empty\else/DS <<
-        \JS{\did@Save} >>\fi
-   \ifx\test@will@Print\@empty\else/WP <<
-        \JS{\will@Print} >>\fi
-   \ifx\test@did@Print\@empty\else/DP <<
-        \JS{\did@Print} >>\fi
-    >>
-}
-\newcommand\dljs@setDocActions{%
-    \edef\test@will@Close{\will@Close}%
-    \edef\test@will@Save{\will@Save}%
-    \edef\test@did@Save{\did@Save}%
-    \edef\test@will@Print{\will@Print}%
-    \edef\test@did@Print{\did@Print}%
-    \ifpdf\pdfcatalog{\dljs@willDidActions}\else
-    \ifxetex\immediate
-        \@pdfm@mark{put @catalog <<\dljs@willDidActions>>}\else
-    \literalps@out{\AEB@psMrk
-     {Catalog} <<\dljs@willDidActions>> /PUT pdfmark}\fi\fi
-}
-\@ifpackageloaded{aeb_pro}{}
-    {\AtBeginDocument{\dljs@setDocActions}}
-\begingroup
-\catcode`\%=12
-\gdef\firstFDFline{%FDF-1.2}
-\gdef\lastFDFline{%%EOF}
-\endgroup
-\def\fdfheader
-{%
-    \iwvo{\string\begingroup\string\efdlspecials}
-    \iwvo{\string\isdljstrue}
-    \iwvo{\string\makeatletter}
-    \iwvo{\string\immediate\string\openout\string
-        \js@verbatim@out=\string\js@Path\space\dljsBase.fdf}%
-    \iwvo{\string\begin{jsexpverbatimwrite}}
-    \iwvo{\string\firstFDFline}
-    \iwvo{1 0 obj}
-    \iwvo{<< /FDF << /JavaScript << /Doc 2 0 R >> >> >>}
-    \iwvo{endobj}
-    \iwvo{2 0 obj}
-    \iwvo{[ \string\csname\string\@gobble\space\dljsBase%
-        OBJ\string\endcsname]}
-    \iwvo{endobj}
-}
-\def\fdfbeginstreamobj
-{%
-    \iwvo{\thedljssegs\space 0 obj}
-    \iwvo{<<>>}
-    \iwvo{stream}
-    \ifx\insdljsloadVar\@empty\else
-        \iwvo{\insdljsloadVar}
-        \global\let\insdljsloadVar\@empty
-    \fi
-}
-\def\fdfendstreamobj{%
-    \iwvo{endstream}
-    \iwvo{endobj}
-}
-    \def\fdftrailer{%
-    \iwvo{trailer}
-    \iwvo{<< /Root 1 0 R >>}
-    \iwvo{\string\lastFDFline}
-    \iwvo{*end{jsexpverbatimwrite}}
-    \iwvo{\string\endgroup}
-}
-\newtoks\importfdftoks \importfdftoks={}
-\newtoks\dljsobjtoks \dljsobjtoks={}
-\def\importAnFDFTemplate{%
-if(typeof \detectdljs\space == "undefined")\jsR\jsT
-    ( app.viewerVersion > 8 ) ? %
-        aebTrustedFunctions( this, aebImportAnFDF, %
-        "\js@Path\dljsBase.fdf") : %
-        this.importAnFDF("\js@Path\dljsBase.fdf");\jsR
-}
-\def\addImportAnFDF#1{%
-    \ifx\importdljs\dl@YES
-        \edef\importAnFDFtmp{\the\importfdftoks#1}%
-        \global\importfdftoks=\expandafter{\importAnFDFtmp}%
-    \fi
-}
-\def\importAnFDF{\ifx\importdljs\dl@YES\@OAction\fi}
-\newenvironment{newsegment@pdfmark}[1]{%
-    \addtocounter{dljssegs}{1}%
-    \addtocounter{dljs@cnt}{1}%
-    \Hy@unicodefalse\pdfstringdef{\dljsName}{#1}%
-    \edef\@dljstmp{\the\dljsobjtoks(\dljsName)
-        \thedljssegs\space 0 R\space}
-    \global\dljsobjtoks=\expandafter{\@dljstmp}
-    \fdfbeginstreamobj
-    \js@verbatimwrite
-}{%
-    \fdfendstreamobj
-    \endjs@verbatimwrite
-}
-\def\insert@DLJS@pdfmark{%
-    \global\let\dljspresent\dl@YES
-    \expandafter\gdef\csname dljs\dljsBase\endcsname{}%
-    \ifx\importdljs\dl@YES\ifx\dl@gopro\dl@YES
-        \addImportAnFDF\importAnFDFTemplate
-    \fi\fi
-    \immediate\openout \js@verbatim@out \js@Path\dljsBase.djs
-    \fdfheader
-    \ifx\multisegments\dl@NO\expandafter
-        \newsegment\expandafter{\expandafter\dljsName\expandafter}\fi
-}
-\def\endinsert@DLJS@pdfmark{%
-    \ifx\importdljs\dl@YES
-        \ifx\multisegments\dl@NO\expandafter\endnewsegment\fi
-        \fdftrailer
-        \closejs@verbatim@out
-        \expandafter\xdef\csname\dljsBase%
-            OBJ\endcsname{\the\dljsobjtoks}%
-        \edef\@dljstmp{\noexpand\AtBeginDocument{%
-            \noexpand\input{\js@Path\dljsBase.djs}}}%
-        \@dljstmp
-        \ifx\firstdljs\dl@YES
-            \AtBeginDocument{\edef\@dljstmp{\importAnFDF}%
-                \@dljstmp}\global\let\firstdljs\dl@NO
-        \fi
-    \fi
-}
-\begingroup
-\catcode`\@=0 @catcode`@\=12
-@gdef@ccpdftex{@gdef@eqesc{\\}@gdef@eqesci{\}}
-@endgroup
-\def\begindljs
-{%
-    \iwvo{\string\begingroup\string\efdlspecials}
-    \iwvo{\string\isdljstrue}
-    \iwvo{\string\makeatletter}
-    {\uccode`c=`\%\uppercase{%
-        \iwvo{\string\obeyspaces\string\obeylines
-            \string\let\string^\string^M=\string\jsR c}}}
-    {\escapechar=-1 \lccode`C=`\%\lowercase{%
-        \iwvo{\string\\catcode`\string\\"=12C}}}
-}
-\def\beginseg
-{%
-    {\lccode`P=`\{\lccode`C=`\%\lowercase{%
-        \iwvo{\string\gdef\string\dljs\dljsBase\roman{dljssegs}PC}}}%
-}
-\def\endseg
-{%
-    {\uccode`c=`\%\uccode`p=`\}\uppercase{\iwvo{pc}}}%
-}
-\def\enddljs
-{%
-    \iwvo{\string\endgroup}%
-}
-\def\@roman#1{\romannumeral#1}
-\def\write@objs
-{%
-\iwvo{\begingroup}
-\iwvo{\string\catcode`\string\<=12 }
-\iwvo{\string\catcode`\string\>=12 }
-{\lccode`C=`\%\lowercase{\iwvo{\string\ccpdftex C}}}
-{\lccode`C=`\%\lowercase{\iwvo{%
-            \string\input{dljscc.def}C\the\dljsobjtoks}}}
-\iwvo{\endgroup}
-}
-\newenvironment{newsegment@pdftex}[1]{%
-    \addtocounter{dljssegs}{1}%
-    \addtocounter{dljs@cnt}{1}%
-    \edef\tmp{^^J\string\immediate\string\pdfobj{ << /S/JavaScript/JS%
-    (\string\dljs\dljsBase\roman{dljssegs}) >> }}%
-    \edef\@dljstmp{\the\dljsobjtoks\tmp}%
-    \global\dljsobjtoks=\expandafter{\@dljstmp}%
-    \edef\tmp{^^J\string\xdef\string\obj\dljsBase\roman{dljssegs}%
-        {\string\the\string\pdflastobj\string\space 0 R}}%
-    \edef\@dljstmp{\the\dljsobjtoks\tmp}%
-    \global\dljsobjtoks=\expandafter{\@dljstmp}%
-    \edef\curr@Cnt{\ifnum\arabic{dljs@cnt}<10 0\fi\arabic{dljs@cnt}}%
-    \Hy@unicodefalse\pdfstringdef{\dljsName}{#1}%
-    \edef\dljspdftextmp
-    {\the\importfdftoks (\curr@Cnt\space\dljsName)
-        \noexpand\csname obj\dljsBase\roman{dljssegs}%
-            \noexpand\endcsname\space}%
-    \global\importfdftoks=\expandafter{\dljspdftextmp}%
-    \beginseg
-    \js@verbatimwrite
-}{%
-    \endjs@verbatimwrite
-    \endseg
-}
-\newenvironment{insert@DLJS@pdftex}{%
-    \expandafter\gdef\csname dljs\dljsBase\endcsname{}%
-    \immediate\openout \js@verbatim@out \js@Path\dljsBase.djs
-    \begindljs
-    \ifx\multisegments\dl@NO\expandafter
-        \newsegment\expandafter{\expandafter\dljsName\expandafter}\fi
-}{%
-    \ifx\multisegments\dl@NO\expandafter\endnewsegment\fi
-    \enddljs
-    \write@objs
-    \endjs@verbatimwrite
-    \closejs@verbatim@out
-    \edef\@dljstmp{\noexpand\AtBeginDocument{%
-        \noexpand\input{\js@Path\dljsBase.djs}}}%
-    \@dljstmp
-    \ifx\importdljs\dl@YES
-        \ifx\firstdljs\dl@YES
-            \AtEndDocument{\edef\@dljstmp{\setDLJSRef@pdftex}\@dljstmp}
-            \global\let\firstdljs\dl@NO
-        \fi
-    \fi
-}
-\def\setDLJSRef@pdftex
-{%
-  \noexpand\immediate\noexpand\pdfobj {%
-    << /Names [\the\importfdftoks] >> }%
-  \edef\noexpand\objNames{\noexpand\the\noexpand\pdflastobj\space 0 R}%
-  \pdfnames {/JavaScript \noexpand\objNames}%
-}
-\newenvironment{newsegment@dvipdfm}[1]
-{%
-    \addtocounter{dljssegs}{1}%
-    \addtocounter{dljs@cnt}{1}%
-    \edef\tmp{^^J\string\immediate\string
-        \csname\space @pdfm@mark\string\endcsname
-        {obj @obj\dljsBase\roman{dljssegs}\space << /S/JavaScript%
-        /JS(\string\dljs\dljsBase\roman{dljssegs}) >> }}%
-    \edef\@dljstmp{\the\dljsobjtoks\space\tmp}%
-    \global\dljsobjtoks=\expandafter{\@dljstmp}%
-    \edef\curr@Cnt{\ifnum\arabic{dljs@cnt}<10 0\fi\arabic{dljs@cnt}}%
-    {\def\1{\string\1}\def\2{\string2}%
-    \def\3{\string\3}\xdef\dljsName{#1}}%
-    \edef\dljspdftextmp
-    {\the\importfdftoks (\curr@Cnt\space \dljsName) %
-        @obj\dljsBase\roman{dljssegs}\space}%
-    \global\importfdftoks=\expandafter{\dljspdftextmp}%
-    \beginseg
-    \js@verbatimwrite
-}{%
-    \endjs@verbatimwrite
-    \endseg
-}
-\def\setDLJSRef@dvipdfm
-{%
-  \immediate\@pdfm@mark{obj @objnames %
-    << /Names [\the\importfdftoks] >> }%
-  \@pdfm@mark{put @names %
-    << /JavaScript @objnames >> }%
-}
-\newenvironment{insert@DLJS@dvipdfm}
-{%
-    \expandafter\gdef\csname dljs\dljsBase\endcsname{}%
-    \immediate\openout \js@verbatim@out \js@Path\dljsBase.djs
-    \begindljs
-    \ifx\multisegments\dl@NO\expandafter\newsegment\expandafter{%
-        \expandafter\dljsName\expandafter}\fi
-}{%
-    \ifx\multisegments\dl@NO\expandafter\endnewsegment\fi
-    \enddljs
-    \write@objs
-    \endjs@verbatimwrite
-    \closejs@verbatim@out
-    \edef\@dljstmp{\noexpand\AtBeginDocument{%
-        \noexpand\input{\js@Path\dljsBase.djs}}}%
-    \@dljstmp
-    \ifx\importdljs\dl@YES
-        \ifx\firstdljs\dl@YES
-            \AtBeginDocument{\setDLJSRef@dvipdfm}%
-            \global\let\firstdljs\dl@NO
-        \fi
-    \fi
-}
-\catcode`\"=\dl@dquoteCat
-\inputAltAdbFncs
-\endinput
-%%
-%% End of file `insdljs.sty'.
+%%
+%% This is file `insdljs.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% insdljs.dtx  (with options: `copyright,package')
+%% 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% insdljs.sty package,                                 %%
+%% Copyright (C) 2001-2018  D. P. Story                 %%
+%%   dpstory@uakron.edu                                 %%
+%%                                                      %%
+%% This program can redistributed and/or modified under %%
+%% the terms of the LaTeX Project Public License        %%
+%% Distributed from CTAN archives in directory          %%
+%% macros/latex/base/lppl.txt; either version 1 of the  %%
+%% License, or (at your option) any later version.      %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{insdljs}
+ [2018/07/21 v2.4 Insert Document Level JavaScripts (dps)]
+\usepackage{xkeyval}
+\RequirePackage{ifpdf}[2006/02/20]
+\RequirePackage{ifxetex}[2006/08/21]
+\RequirePackage{ifluatex}
+\DeclareOptionX{dvipsone}{\def\dljs@drivernum{0}%
+    \AtBeginDocument{\dvips@marker}}
+\DeclareOptionX{dvips}{\def\dljs@drivernum{0}%
+    \AtBeginDocument{\dvips@marker}}
+\DeclareOptionX{textures}{\def\dljs@drivernum{0}%
+    \AtBeginDocument{\dvips@marker}}
+\DeclareOptionX{pdftex}{\def\dljs@drivernum{1}}
+\DeclareOptionX{luatex}{\def\dljs@drivernum{1}}
+\DeclareOptionX{dvipdfm}{\def\dljs@drivernum{2}}
+\DeclareOptionX{dvipdfmx}{\def\dljs@drivernum{2}}
+\DeclareOptionX{xetex}{\def\dljs@drivernum{2}}
+\let\dl@YES=y \let\dl@NO=n
+\let\dl@One=1 \let\dl@Zero=0
+\let\dljs@YES=y \let\dljs@NO=n
+\def\dvips@marker{\ifx\dljspresent\dl@NO\@OAction\fi}
+\let\isOpenAction\dl@NO
+\DeclareOptionX{nodljs}{\let\importdljs\dl@NO}
+\let\importdljs\dl@YES
+\let\firstdljs\dl@YES
+\let\dljspresent\dl@NO
+\DeclareOptionX{debug}{\let\dljs@debug\dl@YES}
+\let\dljs@debug\dl@NO
+\DeclareOptionX{execJS}{\let\execjs\dl@YES}
+\let\execjs\dl@NO
+\DeclareOptionX{nopro}{\let\dl@gopro\dl@NO}
+\let\dl@gopro\dl@YES
+\@ifpackageloaded{web}{%
+    \ExecuteOptionsX{\eq@driver@name}%
+}{%
+    \@ifpackageloaded{eforms}{%
+        \ExecuteOptionsX{\ef@driver}%
+    }{%
+        \ifpdf\ExecuteOptionsX{pdftex}\else
+        \ifxetex\ExecuteOptionsX{xetex}\else
+        \@ifundefined{l@tex@@@@driver}{\ExecuteOptionsX{dvips}}
+            {\ExecuteOptionsX{dvipsone}}\fi\fi
+    }%
+}
+\DeclareOptionX{reqjs}{\let\dl@reqJS\dl@YES}
+\let\dljs@reqJS\dl@YES
+\DeclareOptionX{!reqjs}{\let\dl@reqJS\dl@NO}
+\DeclareOptionX{usealtadobe}{\def\inputAltAdbFncs{%
+    \InputIfFileExists{altadbfncs.def}%
+    {\PackageInfo{insdljs}{Inputting code for usealtadobe option}}%
+    {\PackageWarning{insdljs}{Cannot find altadbfncs.def.\MessageBreak
+        Reinstall or refresh your file name database.}}}}
+\let\inputAltAdbFncs\relax
+\ProcessOptionsX
+\edef\dl@dquoteCat{\the\catcode`\"}
+\catcode`\"=12\relax
+\@ifundefined{dljs@drivernum}{%
+    \PackageError{insdljs}%
+        {You have not specified dvips, dvipsone, pdftex,\MessageBreak
+        dvipdfm, dvipdfmx, or xetex in the option list
+        \MessageBreak of the insdljs package}
+        {Place one of the drivers dvips, dvipsone, pdftex,  dvipdfm,
+        dvipdfmx, or xetex
+        \MessageBreak in the option list of the insdljs package.}
+}{}
+\@ifundefined{ifpdfmarkup}{\newif\ifpdfmarkup}{}\pdfmarkupfalse
+\ifpdf\else\ifxetex\else\pdfmarkuptrue\fi\fi
+\RequirePackage{hyperref}
+\ifpdf\ifx\pdfextension\@undefined\else
+    \protected\def\pdfnames{\pdfextension names }
+    \def\pdfpageref{\pdffeedback pageref}\fi\fi
+\RequirePackage{verbatim}
+\usepackage{conv-xkv}[2017/01/03]
+\@ifundefined{dljs@drivernum}{%
+    \@ifundefined{eq@drivernum}{%
+        \PackageWarning{insdljs}
+            {No driver specified, will check for pdftex.}
+        \@ifundefined{pdfoutput}{%
+            \@ifundefined{@pdfm@mark}{\def\eq@drivernum{2}%
+            \def\dljs@drivernum{1}\let\isOpenAction\dl@NO
+            \PackageWarning{insdljs}{No pdftex, but detected dvipdfm}}%
+            {\PackageWarning{insdljs}{Neither pdftex nor dvipdfm,
+                assuming dvips/dvipsone.}%
+            \def\eq@drivernum{0}\def\dljs@drivernum{0}%
+            \let\isOpenAction\dl@YES}
+        }{%
+            \ifcase\pdfoutput
+                \def\eq@drivernum{1}\def\dljs@drivernum{1}%
+                \let\isOpenAction\dl@NO
+                \PackageInfo{insdljs}{Pdftex detected.}%
+            \else
+                \def\eq@drivernum{0}\def\dljs@drivernum{0}%
+                \let\isOpenAction\dl@YES
+                \PackageWarning{insdljs}{Pdftex engine detected,
+                but is outputting dvi. Assuming dvips as the driver.}%
+            \fi
+        }%
+    }{%
+        \begingroup
+            \count0=\eq@drivernum
+            \xdef\dljs@drivernum{\ifcase\count0 0\or1\or2\or0\else0\fi}
+            \ifnum\dljs@drivernum=0\global\let\isOpenAction\dl@YES
+                \else\global\let\isOpenAction\dl@NO\fi
+        \endgroup
+    }%
+}{}
+\ifnum\dljs@drivernum=1\relax
+    \RequirePackage{everyshi}
+\fi
+\def\AEB@psMrk{[\space}
+\ifx\dl@reqJS\dl@YES
+   \def\dl@@reqJS{/Type/Requirement/S/EnableJavaScripts}
+   \ifpdf\pdfcatalog{\dl@@reqJS}\else
+   \ifxetex\immediate\@pdfm@mark{put @catalog <<\dl@@reqJS>>}\else
+   \literalps@out{\AEB@psMrk{Catalog} <<\dl@@reqJS>> /PUT pdfmark}\fi\fi
+\fi
+\newif\ifthereisdjs \thereisdjsfalse
+\def\applydljs#1{\ifthereisdjs\else#1
+  \global\thereisdjstrue\fi}
+\providecommand\JS[1]{/S/JavaScript/JS(#1)}
+\providecommand\Named[1]{/S/Named/N/#1}
+\providecommand{\GoTo}{/S/GoTo/D}
+\providecommand{\GoToD}{/S/GoTo/D}
+\providecommand{\GoToR}{/S/GoToR}
+\def\previewMiKTeX{\def\jsR{\string\r}\def\jsT{\string\t}}
+{\obeylines %
+\gdef\js@@R{\noexpand
+}}
+\let\dljstfor\@tfor
+\def\jsR{\string\r\string\n}
+\def\defineJSjsR{\string\r\eqbs^^J}
+\def\jsN{\string\n}
+{\catcode`\^^I\active %
+\gdef^^I{\noexpand^^I}%
+\gdef\js@@T{\noexpand^^I}%
+}%  end of \catcode`\^^I
+\let\jsT=\js@@T
+\newwrite\js@verbatim@out
+\def\iwvo#1{\immediate\write\js@verbatim@out{#1}}
+\def\dl@lparen{(}\def\dl@rparen{)}
+\def\jscsDflt{\let\protect\noexpand\let\jslit\string
+    \let\~\dl@tilda\let\^\dl@sup
+    \def\\{\eqbs\eqbs}\def\cs##1{\\\\##1}%
+    \def\r{\\r}\def\t{\\t}\def\n{\\n}%
+    \let\{\dl@lBrace\let\}\dl@rBrace
+    \ifx\jsstr@useUni\dl@One\def\Uni{\\u}\else\def\u{\\u}\fi
+    \ifx\jsstr@parens\dl@One\let\l@paren\dl@lparen
+        \let\r@paren\dl@rparen\else
+    \let\l@paren\@empty\let\r@paren\@empty\fi
+}
+\def\jscsDLJS{\let\protect\noexpand\let\jslit\string
+    \let\~\dl@tilda\let\^\dl@sup
+    \ifxetex\def\\{\eqbs\eqbs}\else\def\\{\eqbs}\fi\def\cs##1{\\\\##1}%
+    \def\r{\\r}\def\t{\\t}\def\n{\\n}%
+    \let\{\dl@lBrace\let\}\dl@rBrace
+    \ifx\jsstr@useUni\dl@One\def\Uni{\\u}\else\def\u{\\u}\fi
+    \ifx\jsstr@parens\dl@One\let\l@paren\dl@lparen
+        \let\r@paren\dl@rparen\else
+    \let\l@paren\@empty\let\r@paren\@empty\fi
+}
+\ifpdf\let\jscsDLJS\jscsDflt\fi
+\let\dl@JSCS\jscsDflt
+\newcommand{\flJSStr}{\bgroup
+    \let\dl@JSCS\jscsDflt
+    \@ifstar{\def\isStar{*}\dl@defJSStr}
+    {\let\isStar\relax\dl@defJSStr}}
+\let\fieldJSStr\flJSStr
+\let\defineJSStr\flJSStr
+\newcommand{\dlJSStr}{\bgroup
+    \@ifstar{\def\isStar{*}\let\dl@JSCS\jscsDLJS\dl@defJSStr}
+    {\let\isStar\relax\let\dl@JSCS\jscsDLJS\dl@defJSStr}}
+\define@key{jsstr}{quotes}[]{\let\jsstr@quotes\dl@One}
+\define@key{jsstr}{noquotes}[]{\let\jsstr@quotes\dl@Zero}
+\define@key{jsstr}{parens}[]{\let\jsstr@parens\dl@One}
+\define@key{jsstr}{noparens}[]{\let\jsstr@parens\dl@Zero}
+\let\jsstr@quotes\dl@One\let\jsstr@parens\dl@One
+\define@key{jsstr}{useUni}[]{\let\jsstr@useUni\dl@One}
+\let\jsstr@useUni\dl@Zero
+\newcommand{\dl@defJSStr}[3][quotes]{\def\dl@argi{#1}\ifx\dl@argi\@empty
+    \else\ifx\dl@JSCS\jscsDLJS\let\jsstr@parens\dl@Zero\fi
+    \setkeys{jsstr}{#1}\fi\dl@JSCS
+    \ifx\jsstr@quotes\dl@One
+        \xdef#2{\l@paren"#3"\r@paren}\else
+        \xdef#2{\l@paren#3\r@paren}\fi
+    \if\isStar*\gdef\dl@afterAction{{\Hy@unicodefalse\expandafter
+        \pdfstringdef\expandafter#2\expandafter{#2}}}\else
+        \global\let\dl@afterAction\relax\fi
+    \aftergroup\dl@afterAction\egroup}
+\def\dlTC#1{try{#1}catch(e){}}
+\def\js@R{\ifcase\dljs@drivernum^^J\else\jsR\fi}
+\def\db#1\db{\ifx\dljs@debug\dl@YES\space\space\space#1\js@R\fi}
+\newcounter{dljs@cnt}
+\newcounter{dljssegs}\setcounter{dljssegs}{2}
+\newenvironment{js@verbatimwrite}% writes to current \js@verbatim@out
+ {%
+    \@bsphack
+    \let\do\@makeother\dospecials\catcode`\^^M\active
+    \def\verbatim@processline{%
+        \immediate\write\js@verbatim@out{\the\verbatim@line}}%
+    \verbatim@start}{\@esphack}
+\def\closejs@verbatim@out{\immediate\closeout\js@verbatim@out}
+\begingroup
+\catcode`\@=0 @catcode`@\=12
+@gdef@eqbs{\}
+@gdef@ccpdfmark{@gdef@eqesc{\}@gdef@eqesci{}}
+@endgroup
+\begingroup
+    \catcode`<=1 \catcode`\>=2 \@makeother\{ \@makeother\}
+\gdef\definebraces<\def\{<\eqesc{>\def\}<\eqesc}>>
+\endgroup
+\def\eqdospecials{\do\ \do\{\do\}\do\$\do\&%
+  \do\#\do\^\do\_\do\~}
+\begingroup
+\catcode`\~=\active \lccode`\~=`\^^M
+\lowercase{\endgroup
+    \def\eqverbatim@#1~{\verbatim@@#1*end\@nil}%
+    \def\eqverbatim@@#1*end{%
+    \verbatim@addtoline{#1}%
+    \futurelet\dl@next\eqverbatim@@@}%
+    \def\eqverbatim@@@#1\@nil{%
+    \ifx\dl@next\@nil
+        \verbatim@processline
+        \verbatim@startline
+        \let\dl@next\eqverbatim@
+    \else
+        \def\@tempa##1*end\@nil{##1}%
+        \@temptokena{*end}%
+        \def\dl@next{\expandafter\verbatim@test\@tempa#1\@nil~}%
+    \fi\dl@next}%
+}%
+\def\jsexpverbatimwrite
+{% writes to current \js@verbatim@out
+    \@bsphack
+    \ccpdfmark
+    \catcode`\<=12 \catcode`\>=12
+    \input{dljscc.def}%
+    \let\verbatim@=\eqverbatim@
+    \let\verbatim@@=\eqverbatim@@
+    \let\verbatim@@@=\eqverbatim@@@
+    \let\do\@makeother\eqdospecials%
+    \catcode`\^^M=\active\catcode`\^^I=12%
+    \def\verbatim@processline{%
+        \edef\expVerb{\the\verbatim@line}%
+        \immediate\write\js@verbatim@out{\expVerb}}%
+        \verbatim@start%
+}
+\def\endjsexpverbatimwrite{\immediate\closeout\js@verbatim@out\@esphack}
+\let\js@Path\@empty
+\def\insPath#1{\def\js@Path{#1}}
+\begingroup
+\catcode`\{=12 \catcode`\}=12 \catcode`\<=1 \catcode`\>=2
+\gdef\dl@lBrace<\string\{> \gdef\dl@rBrace<\string\}>
+\gdef\dl@tilda<\string~> \gdef\dl@sup<\string^>
+\endgroup
+\def\makeJSspecials{%
+    \def\\{\eqbs\eqbs}%         % define \\ to be \\
+    \let\jslit\string
+    \let\{\dl@lBrace\let\}\dl@rBrace
+    \let\u\@empty
+    \def\({\eqbs(}\def\){\eqbs)}%
+    \makespecialJS              % make \r=\jsR and \t=\jsT
+}
+\def\dl@fitpage{/Fit}
+\def\dl@actualsize{/XYZ null null 1.0}  %{/XYZ -32768 -32768 1.0}
+\def\dl@fitwidth{/FitH null}            %{/FitH -32768}
+\def\dl@fitheight{/FitV null}           %{/FitV -32768}
+\def\dl@fitvisible{/FitBH null}         %{/FitBH -32768}
+\def\dl@inheritzoom{/XYZ 0 0 0}
+\def\dl@mag#1{/XYZ null null #1}
+\edef\dl@Page#1{\ifcase\dljs@drivernum
+    {Page#1}\or\noexpand\pdfpageref#1\space\space 0 R\or
+    @page#1\fi}
+\def\dl@preProcDefns{\let\Page\dl@Page\let\mag\dl@mag
+    \let\fitpage\dl@fitpage\let\actualsize\dl@actualsize
+    \let\fitwidth\dl@fitwidth\let\fitheight\dl@fitheight
+    \let\fitvisible\dl@fitvisible\let\inheritzoom\dl@inheritzoom
+}
+\let\aeb@additionalOpenAction\@empty
+\let\aeb@addActionCode\@empty
+\let\addActionObj\@empty
+\let\aebpopentoks\@empty
+\let\aebpFA\dl@NO
+\def\aebp@rightDelimiters{}
+\newcommand{\addToDocOpen}[1]{%
+    \ifx\aebpFA\dl@NO
+        \g@addto@macro\aebpopentoks{#1}%
+        \def\aeb@additionalOpenAction{/Next {pubAddToDocOpen}}%
+\ifpdf
+        \def\aeb@addActionCode{\immediate\pdfobj{<<
+        \aebpopentoks\aebp@rightDelimiters >>}%
+        \edef\addActionObj{\the\pdflastobj\space 0 R}}%
+\else\ifxetex
+        \def\aeb@addActionCode{\immediate
+            \@pdfm@mark{obj @objAddActionObj
+            << \aebpopentoks\aebp@rightDelimiters >> }}%
+        \def\addActionObj{@objAddActionObj}%
+\else % postscript
+        \def\aeb@addActionCode{\literalps@out{%
+        \AEB@psMrk/_objdef {pubAddToDocOpen}
+            /type/dict /OBJ pdfmark^^J%
+        \AEB@psMrk{pubAddToDocOpen} <<
+        \aebpopentoks\aebp@rightDelimiters >> /PUT pdfmark}}%
+        \def\addActionObj{{pubAddToDocOpen}}%
+\fi\fi
+        \global\let\aebpFA\dl@YES
+        \let\@pdfstartview\@empty
+    \else
+            \edef\aebp@dljstmp{\aebp@rightDelimiters}%
+            \xdef\aebp@rightDelimiters{\aebp@dljstmp >> }%
+            \g@addto@macro\aebpopentoks{/Next << #1 }%
+    \fi
+}
+\def\dljs@OpenActions{/OpenAction \addActionObj}
+\def\dljs@setOpenActions{\bgroup\makeJSspecials\dl@preProcDefns
+    \aeb@addActionCode
+    \ifpdf\pdfcatalog{\dljs@OpenActions}\else
+    \ifxetex\immediate
+        \@pdfm@mark{put @catalog <<\dljs@OpenActions>>}\else
+    \literalps@out{\AEB@psMrk
+     {Catalog} <<\dljs@OpenActions>> /PUT pdfmark}\fi\fi\egroup}
+\@ifpackageloaded{aeb_pro}{}
+    {\AtBeginDocument{\ifx\aebpFA\dl@YES\expandafter
+        \dljs@setOpenActions\fi}}
+\let\@CloseAction\@empty
+\def\@OAction@pdfmark{\literalps@out{%
+     \AEB@psMrk{ThisPage} << /AA << /O << \theFirstAction\space
+    \opentoks\@rightDelimiters >> \@CloseAction >> >> /PUT pdfmark}}
+\def\@POAction@pdfmark{\literalps@out{%
+    \AEB@psMrk{ThisPage} << /AA << \@thisOpenAction
+    \@thisCloseAction >> >> /PUT pdfmark}%
+}
+\def\@OAction@pdftex{%
+    \ifx\isOpenAction\dl@YES
+        \xdef\pdftexOAction{/AA << /O << \theFirstAction\space
+        \opentoks\@rightDelimiters >> \@CloseAction  >>}%
+        \AtNextShipout{\pdfpageattr=\expandafter{\pdftexOAction}}%
+    \fi
+}
+\def\@POAction@pdftex{%
+  \xdef\thisPageActionpdftex{/AA << \@thisOpenAction
+    \@thisCloseAction >>}%
+  \AtNextShipout{\pdfpageattr=\expandafter{\thisPageActionpdftex}}%
+}
+\def\@OAction@dvipdfm{\ifx\isOpenAction\dl@YES
+    \@pdfm@mark{put @thispage << /AA << /O << \theFirstAction\space
+    \opentoks\@rightDelimiters >> \@CloseAction >> >>}\fi
+}
+\def\@POAction@dvipdfm{%
+    \@pdfm@mark{put @thispage << /AA << \@thisOpenAction
+    \@thisCloseAction >> >>}%
+}
+\ifcase\dljs@drivernum
+    \let\@OAction\@OAction@pdfmark
+    \let\@POAction\@POAction@pdfmark
+    \gdef\theFirstAction{/S/JavaScript/JS (\the\importfdftoks)}
+    \let\isOpenAction\dl@YES
+\or
+    \let\@OAction\@OAction@pdftex
+    \let\@POAction\@POAction@pdftex
+    \AtBeginDocument{\@OAction@pdftex}
+\or
+    \let\@OAction\@OAction@dvipdfm
+    \let\@POAction\@POAction@dvipdfm
+    \AtBeginDocument{\@OAction@dvipdfm}
+\fi
+\def\opentoks{}
+\def\makespecialJS{%
+    \let\r\jsR\let\t\jsT\let\n\jsN}
+\def\@rightDelimiters{}
+\def\OpenAction{\@ifnextchar\Next
+    {\expandafter\@OpenAction\@gobble}{\@OpenAction}}
+\def\@OpenAction#1{%
+    \ifx\isOpenAction\dl@NO
+        {\makespecialJS\xdef\theFirstAction{#1}}%
+        \global\let\isOpenAction\dl@YES
+    \else
+        \edef\dljstmp{\@rightDelimiters}%
+        \xdef\@rightDelimiters{\dljstmp >> }%
+        {\makespecialJS\xdef\dljstmp{\opentoks /Next << #1 }}%
+        \xdef\opentoks{\dljstmp}%
+    \fi
+    \@nextOpenAction
+}
+\def\@nextOpenAction{\@ifnextchar\Next{\expandafter
+    \@OpenAction\@gobble}{}}
+\def\protectJSCtrls{\def\r{\string\r\string\n}%
+    \def\t{\string\t}\def\n{\string\n}}
+\def\dljs@tstlp{\@ifnextchar\bgroup
+    {\let\dljs@multi\dl@YES\dljs@tstlpi}%
+    {\let\dljs@multi\dl@NO\dljs@tstlpi}}
+\def\dljs@tstlpi#1\@nil{}%
+\def\dljs@bldScript#1#2#3{{%
+    \dljs@tstlp#1\@nil
+    \ifx\dljs@multi\dl@NO{\protectJSCtrls\xdef#3{/#2<<#1>>}}\else
+        \toks0={}\let\dljs@rAngles\@empty\count0=0
+        \@tfor\dljs@arg:=#1\do{%
+            \ifnum\count0=0
+                \toks0=\expandafter{\dljs@arg}\else
+                \toks2=\expandafter{\dljs@arg}%
+                \edef\holdtokstmp{\the\toks0
+                    /Next<<\the\toks2 }%
+                \edef\dljs@rAngles{\dljs@rAngles\space>>}%
+                \toks0=\expandafter{\holdtokstmp}%
+            \fi
+            \advance\count0by1
+        }%
+        {\protectJSCtrls\xdef#3{/#2<<\the\toks0 \dljs@rAngles>>}%
+         \xdef#3{#3}}%
+    \fi
+}}
+\newcommand{\thisPageAction}[2]{%
+    \let\@CloseAction\@empty
+    \let\@thisOpenAction\@empty
+    \let\@thisCloseAction\@empty
+    \def\dljs@argi{#1}\def\dljs@argii{#2}%
+    \ifnum\value{page}=1\relax
+        \ifx\dljs@argii\@empty\else
+            \dljs@bldScript{#2}{C}{\@CloseAction}\fi
+        \ifx\dljs@argi\@empty\else\dljs@tstlp#1\@nil
+            \ifx\dljs@multi\dl@NO\OpenAction{#1}\else
+            \@tfor\dljs@arg:=#1\do{\expandafter
+                \OpenAction\expandafter{\dljs@arg}%
+            }\fi
+        \fi
+    \else
+        \ifx\dljs@argi\@empty\else
+            \dljs@bldScript{#1}{O}{\@thisOpenAction}\fi
+        \ifx\dljs@argii\@empty\else
+            \dljs@bldScript{#2}{C}{\@thisCloseAction}\fi
+        \@POAction
+    \fi
+}
+\let\insdljsloadVar\@empty
+\newenvironment{insDLJS}[3][]
+{%
+    \gdef\detectdljs{#1}\gdef\dljsBase{#2}%
+    \ifxetex{\def\1{\string\1}\def\2{\string2}%
+    \def\3{\string\3}\xdef\dljsName{#3}}\else
+    \Hy@unicodefalse\pdfstringdef{\dljsName}{#3}\fi
+\ifx\detectdljs\@empty
+    \stepcounter{dljs@cnt}%
+    \xdef\detectdljs{_bInsdljsload\arabic{dljs@cnt}}%
+    \edef\insdljsloadVar{var \detectdljs=true;}%
+    \addtocounter{dljs@cnt}{-1}%
+\fi
+    \global\let\multisegments\dl@NO\setcounter{dljssegs}{2}%
+    \global\dljsobjtoks={}%
+    \expandafter\ifx\csname dljs\dljsBase\endcsname\relax
+        \else\@insjserrDuplicate\fi
+    \ifcase\dljs@drivernum
+        \let\insert@DLJS=\insert@DLJS@pdfmark
+        \let\endinsDLJS=\endinsert@DLJS@pdfmark
+        \let\newsegment=\newsegment@pdfmark
+        \let\endnewsegment=\endnewsegment@pdfmark
+    \or
+        \let\insert@DLJS=\insert@DLJS@pdftex
+        \let\endinsDLJS=\endinsert@DLJS@pdftex
+        \let\newsegment=\newsegment@pdftex
+        \let\endnewsegment=\endnewsegment@pdftex
+    \or
+        \let\insert@DLJS=\insert@DLJS@dvipdfm
+        \let\endinsDLJS=\endinsert@DLJS@dvipdfm
+        \let\newsegment=\newsegment@dvipdfm
+        \let\endnewsegment=\endnewsegment@dvipdfm
+    \fi
+    \insert@DLJS
+}{}
+\newenvironment{insDLJS*}[2][]
+{%
+    \gdef\detectdljs{#1}\gdef\dljsBase{#2}%
+\ifx\detectdljs\@empty
+    \stepcounter{dljs@cnt}%
+    \xdef\detectdljs{_bInsdljsload\arabic{dljs@cnt}}%
+    \edef\insdljsloadVar{var \detectdljs=true;}%
+    \addtocounter{dljs@cnt}{-1}%
+\fi
+    \global\let\multisegments\dl@YES\setcounter{dljssegs}{2}%
+    \global\dljsobjtoks={}%
+    \expandafter\ifx\csname dljs\dljsBase\endcsname\relax
+        \else\@insjserrDuplicate\fi
+    \ifcase\dljs@drivernum
+        \let\insert@DLJS=\insert@DLJS@pdfmark
+        \expandafter
+            \let\csname endinsDLJS*\endcsname\endinsert@DLJS@pdfmark
+        \let\newsegment=\newsegment@pdfmark
+        \let\endnewsegment=\endnewsegment@pdfmark
+    \or
+        \let\insert@DLJS=\insert@DLJS@pdftex
+        \expandafter
+            \let\csname endinsDLJS*\endcsname\endinsert@DLJS@pdftex
+        \let\newsegment=\newsegment@pdftex
+        \let\endnewsegment=\endnewsegment@pdftex
+    \or
+        \let\insert@DLJS=\insert@DLJS@dvipdfm
+        \expandafter
+            \let\csname endinsDLJS*\endcsname\endinsert@DLJS@dvipdfm
+        \let\newsegment=\newsegment@dvipdfm
+        \let\endnewsegment=\endnewsegment@dvipdfm
+    \fi
+    \insert@DLJS
+}{}
+\def\@insjserrDuplicate{%
+    \typeout{^^J! insdljs Package error.}
+    \typeout{! insDLJS environment: On line number \the\inputlineno,}
+    \typeout{! the base name `\dljsBase' has already been chosen.}
+    \typeout{! A DLJS earlier defined has been overwritten!}
+    \typeout{! Choose another name for the first required argument}
+    \typeout{! of the insDLJS environment.^^J}
+}
+\newif\ifisdljs \isdljsfalse
+\begingroup
+\catcode`\~=12 \catcode`\#=12
+\gdef\efdlspecials{\catcode`\~=12 \catcode`\#=12}
+\endgroup
+\def\ckivspace#1{\if\noexpand#1\space\else\expandafter#1\fi}
+\let\DLspecialDefs\@empty
+\def\fdfAfterheader
+{%
+    \iwvo{\string\begingroup\string\efdlspecials}
+    \iwvo{\string\DLspecialDefs}
+    \iwvo{\string\isdljstrue}
+    \iwvo{\string\makeatletter}
+    \iwvo{\string\immediate\string\openout\string
+\js@verbatim@out=\string\js@Path\space\dljsBase.fdf}%
+    \iwvo{\string\begin{jsexpverbatimwrite}}
+    \iwvo{\string\firstFDFline}
+    \iwvo{1 0 obj}
+    \iwvo{<< /FDF << /JavaScript << /Doc 2 0 R /After 3 0 R >> >> >> }
+    \iwvo{endobj}
+    \iwvo{2 0 obj}
+  \let\x\@empty
+  \applydljs{\def\x{^^Jvar _thereisdjs=true;}}%
+  \ifpdfmarkup
+    \iwvo{[ (ExecJS \dljsBase) (var _\dljsBase\space = true;\x) ] }\else
+    \iwvo{[ (00 ExecJS \dljsBase) (var _\dljsBase\space = true;\x)] }\fi
+  \iwvo{endobj}
+  \iwvo{3 0 obj}
+  \iwvo{<<>>}
+  \iwvo{stream}
+}
+\newenvironment{execJS}[1]
+{%
+    \gdef\detectdljs{\string_#1}\gdef\dljsBase{#1}%
+    \global\dljsobjtoks={}%
+    \expandafter\gdef\csname dljs\dljsBase\endcsname{}%
+    \ifx\importdljs\dl@YES\ifx\execjs\dl@YES
+        \ifx\dl@gopro\dl@YES
+        \ifnum\dljs@drivernum=0\relax
+            \addImportAnFDF\importAnFDFTemplate
+        \else
+            \OpenAction{/S/JavaScript/JS (\importAnFDFTemplate)}%
+        \fi\fi
+    \fi\fi
+    \immediate\openout \js@verbatim@out \js@Path\dljsBase.djs
+    \fdfAfterheader
+    \js@verbatimwrite
+}{%
+    \fdfendstreamobj
+    \endjs@verbatimwrite
+    \fdftrailer
+    \closejs@verbatim@out
+    \expandafter\xdef\csname\dljsBase OBJ\endcsname{\the\dljsobjtoks}%
+    \edef\@dljstmp{\noexpand\AtBeginDocument{%
+        \noexpand\input{\js@Path\dljsBase.djs}}}\@dljstmp
+}
+\newtoks\JStoks
+\newenvironment{defineJS}[2][]
+{%
+    \expandafter\@ifundefined\expandafter{%
+        \expandafter\@gobble\string#2}{}{%
+            \PackageWarning{insdljs}{The command
+                \string#2 already defined}}%
+    \gdef\defineJSArg{#2}\JStoks={}%
+    \def\verbatim@processline
+        {%
+            \xdef\JS@temp{\the\JStoks\the\verbatim@line\defineJSjsR}%
+            \global\JStoks=\expandafter{\JS@temp}%
+        }%
+    \let\do\@makeother\dospecials\catcode`\^^M\active
+    #1%
+    \verbatim@start
+}{\gdef\eq@JStemp{\expandafter\edef\defineJSArg{\the\JStoks}}%
+    \aftergroup\eq@JStemp}
+\newenvironment{@defineJS}[2][]
+{%
+    \gdef\defineJSArg{#2}\JStoks={}%
+    \def\verbatim@processline
+        {%
+            \xdef\JS@temp{\the\JStoks\the\verbatim@line\defineJSjsR}%
+            \global\JStoks=\expandafter{\JS@temp}%
+        }%
+    \let\do\@makeother\dospecials\catcode`\^^M\active
+    #1%
+    \verbatim@start
+}{\gdef\eq@JStemp{\expandafter\edef\defineJSArg{\the\JStoks}}%
+    \aftergroup\eq@JStemp}
+\newenvironment{localJS}[1][]{}{\ifvmode\else\unskip\fi}
+\newenvironment{willClose}[1][]
+{\@defineJS[#1]{\will@Close}}
+{\end@defineJS}
+\let\will@Close\@empty
+\newenvironment{willSave}[1][]
+{\@defineJS[#1]{\will@Save}}
+{\end@defineJS}
+\let\will@Save\@empty
+\newenvironment{didSave}[1][]
+{\@defineJS[#1]{\did@Save}}
+{\end@defineJS}
+\let\did@Save\@empty
+\newenvironment{willPrint}[1][]
+{\@defineJS[#1]{\will@Print}}
+{\end@defineJS}
+\let\will@Print\@empty
+\newenvironment{didPrint}[1][]
+{\@defineJS[#1]{\did@Print}}
+{\end@defineJS}
+\let\did@Print\@empty
+\def\dljs@willDidActions{/AA <<
+   \ifx\test@will@Close\@empty\else/WC <<
+        \JS{\will@Close} >>\fi
+   \ifx\test@will@Save\@empty\else/WS <<
+        \JS{\will@Save} >>\fi
+   \ifx\test@did@Save\@empty\else/DS <<
+        \JS{\did@Save} >>\fi
+   \ifx\test@will@Print\@empty\else/WP <<
+        \JS{\will@Print} >>\fi
+   \ifx\test@did@Print\@empty\else/DP <<
+        \JS{\did@Print} >>\fi
+    >>
+}
+\newcommand\dljs@setDocActions{%
+    \edef\test@will@Close{\will@Close}%
+    \edef\test@will@Save{\will@Save}%
+    \edef\test@did@Save{\did@Save}%
+    \edef\test@will@Print{\will@Print}%
+    \edef\test@did@Print{\did@Print}%
+    \ifpdf\pdfcatalog{\dljs@willDidActions}\else
+    \ifxetex\immediate
+        \@pdfm@mark{put @catalog <<\dljs@willDidActions>>}\else
+    \literalps@out{\AEB@psMrk
+     {Catalog} <<\dljs@willDidActions>> /PUT pdfmark}\fi\fi
+}
+\@ifpackageloaded{aeb_pro}{}
+    {\AtBeginDocument{\dljs@setDocActions}}
+\begingroup
+\catcode`\%=12
+\gdef\firstFDFline{%FDF-1.2}
+\gdef\lastFDFline{%%EOF}
+\endgroup
+\def\fdfheader
+{%
+  \iwvo{\string\begingroup\string\efdlspecials}
+  \iwvo{\string\isdljstrue}
+  \iwvo{\string\makeatletter}
+  \iwvo{\string\immediate\string\openout\string
+      \js@verbatim@out=\string\js@Path\space\dljsBase.fdf}%
+  \iwvo{\string\begin{jsexpverbatimwrite}}
+  \iwvo{\string\firstFDFline}
+  \iwvo{1 0 obj}
+  \iwvo{<< /FDF << /JavaScript << /Doc 2 0 R >> >> >>}
+  \iwvo{endobj}
+  \iwvo{2 0 obj}
+  \iwvo{[ \string\csname\string\@gobble\space\dljsBase%
+      OBJ\string\endcsname]}
+  \iwvo{endobj}
+}
+\def\fdfbeginstreamobj
+{%
+  \iwvo{\thedljssegs\space 0 obj}
+  \iwvo{<<>>}
+  \iwvo{stream}
+  \applydljs{\iwvo{var _thereisdjs=true;}}
+    \ifx\insdljsloadVar\@empty\else
+        \iwvo{\insdljsloadVar}
+        \global\let\insdljsloadVar\@empty
+    \fi
+}
+\def\fdfendstreamobj{%
+  \iwvo{endstream}
+  \iwvo{endobj}
+}
+\def\fdftrailer{%
+  \iwvo{trailer}
+  \iwvo{<< /Root 1 0 R >>}
+  \iwvo{\string\lastFDFline}
+  \iwvo{*end{jsexpverbatimwrite}}
+  \iwvo{\string\endgroup}
+}
+\newtoks\importfdftoks \importfdftoks={}
+\newtoks\dljsobjtoks \dljsobjtoks={}
+\def\importAnFDFTemplate{%
+if(typeof \detectdljs\space == "undefined")\jsR\jsT
+    ( app.viewerVersion > 8 ) ? %
+        aebTrustedFunctions( this, aebImportAnFDF, %
+        "\js@Path\dljsBase.fdf") : %
+        this.importAnFDF("\js@Path\dljsBase.fdf");\jsR
+}
+\def\addImportAnFDF#1{%
+    \ifx\importdljs\dl@YES
+        \edef\importAnFDFtmp{\the\importfdftoks#1}%
+        \global\importfdftoks=\expandafter{\importAnFDFtmp}%
+    \fi
+}
+\def\importAnFDF{\ifx\importdljs\dl@YES\@OAction\fi}
+\newenvironment{newsegment@pdfmark}[1]{%
+    \addtocounter{dljssegs}{1}%
+    \addtocounter{dljs@cnt}{1}%
+    \Hy@unicodefalse\pdfstringdef{\dljsName}{#1}%
+    \edef\@dljstmp{\the\dljsobjtoks(\dljsName)
+        \thedljssegs\space 0 R\space}
+    \global\dljsobjtoks=\expandafter{\@dljstmp}
+    \fdfbeginstreamobj
+    \js@verbatimwrite
+}{%
+    \fdfendstreamobj
+    \endjs@verbatimwrite
+}
+\def\insert@DLJS@pdfmark{%
+    \global\let\dljspresent\dl@YES
+    \expandafter\gdef\csname dljs\dljsBase\endcsname{}%
+    \ifx\importdljs\dl@YES\ifx\dl@gopro\dl@YES
+        \addImportAnFDF\importAnFDFTemplate
+    \fi\fi
+    \immediate\openout \js@verbatim@out \js@Path\dljsBase.djs
+    \fdfheader
+    \ifx\multisegments\dl@NO\expandafter
+        \newsegment\expandafter{\expandafter\dljsName\expandafter}\fi
+}
+\def\endinsert@DLJS@pdfmark{%
+    \ifx\importdljs\dl@YES
+        \ifx\multisegments\dl@NO\expandafter\endnewsegment\fi
+        \fdftrailer
+        \closejs@verbatim@out
+        \expandafter\xdef\csname\dljsBase%
+            OBJ\endcsname{\the\dljsobjtoks}%
+        \edef\@dljstmp{\noexpand\AtBeginDocument{%
+            \noexpand\input{\js@Path\dljsBase.djs}}}%
+        \@dljstmp
+        \ifx\firstdljs\dl@YES
+            \AtBeginDocument{\edef\@dljstmp{\importAnFDF}%
+                \@dljstmp}\global\let\firstdljs\dl@NO
+        \fi
+    \fi
+}
+\begingroup
+\catcode`\@=0 @catcode`@\=12
+@gdef@ccpdftex{@gdef@eqesc{\\}@gdef@eqesci{\}}
+@endgroup
+\def\begindljs
+{%
+  \iwvo{\string\begingroup\string\efdlspecials}
+  \iwvo{\string\isdljstrue}
+  \iwvo{\string\makeatletter}
+  {\uccode`c=`\%\uppercase{%
+    \iwvo{\string\obeyspaces\string\obeylines
+      \string\let\string^\string^M=\string\jsR c}}}
+  {\escapechar=-1 \lccode`C=`\%\lowercase{%
+    \iwvo{\string\\catcode`\string\\"=12C}}}
+}
+\def\beginseg{%
+  {\lccode`P=`\{\lccode`C=`\%\lowercase{%
+    \iwvo{\string\gdef\string\dljs\dljsBase\roman{dljssegs}PC}}}%
+  \applydljs{\iwvo{var _thereisdjs=true;}}%
+}
+\def\endseg{{\uccode`c=`\%\uccode`p=`\}\uppercase{\iwvo{pc}}}}
+\def\enddljs{\iwvo{\string\endgroup}}
+\def\@roman#1{\romannumeral#1}
+\def\write@objs{%
+  \iwvo{\begingroup}
+  \iwvo{\string\catcode`\string\<=12 }
+  \iwvo{\string\catcode`\string\>=12 }
+  {\lccode`C=`\%\lowercase{\iwvo{\string\ccpdftex C}}}
+  {\lccode`C=`\%\lowercase{\iwvo{%
+    \string\input{dljscc.def}C\the\dljsobjtoks}}}
+  \iwvo{\endgroup}
+}
+\newenvironment{newsegment@pdftex}[1]{%
+  \addtocounter{dljssegs}{1}%
+  \addtocounter{dljs@cnt}{1}%
+  \edef\tmp{^^J\string\immediate\string\pdfobj{ << /S/JavaScript/JS%
+  (\string\dljs\dljsBase\roman{dljssegs}) >> }}%
+  \edef\@dljstmp{\the\dljsobjtoks\tmp}%
+  \global\dljsobjtoks=\expandafter{\@dljstmp}%
+  \edef\tmp{^^J\string\xdef\string\obj\dljsBase\roman{dljssegs}%
+      {\string\the\string\pdflastobj\string\space 0 R}}%
+  \edef\@dljstmp{\the\dljsobjtoks\tmp}%
+  \global\dljsobjtoks=\expandafter{\@dljstmp}%
+  \edef\curr@Cnt{\ifnum\arabic{dljs@cnt}<10 0\fi\arabic{dljs@cnt}}%
+  \Hy@unicodefalse\pdfstringdef{\dljsName}{#1}%
+  \edef\dljspdftextmp
+  {\the\importfdftoks (\curr@Cnt\space\dljsName)
+    \noexpand\csname obj\dljsBase\roman{dljssegs}%
+    \noexpand\endcsname\space}%
+  \global\importfdftoks=\expandafter{\dljspdftextmp}%
+  \beginseg
+  \js@verbatimwrite
+}{%
+  \endjs@verbatimwrite
+  \endseg
+}
+\newenvironment{insert@DLJS@pdftex}{%
+  \expandafter\gdef\csname dljs\dljsBase\endcsname{}%
+  \immediate\openout \js@verbatim@out \js@Path\dljsBase.djs
+  \begindljs
+  \ifx\multisegments\dl@NO\expandafter
+    \newsegment\expandafter{\expandafter\dljsName\expandafter}\fi
+}{%
+  \ifx\multisegments\dl@NO\expandafter\endnewsegment\fi
+  \enddljs
+  \write@objs
+  \endjs@verbatimwrite
+  \closejs@verbatim@out
+  \edef\@dljstmp{\noexpand\AtBeginDocument{%
+    \noexpand\input{\js@Path\dljsBase.djs}}}%
+  \@dljstmp
+  \ifx\importdljs\dl@YES
+    \ifx\firstdljs\dl@YES
+      \AtEndDocument{\edef\@dljstmp{\setDLJSRef@pdftex}\@dljstmp}
+      \global\let\firstdljs\dl@NO
+    \fi
+  \fi
+}
+\def\setDLJSRef@pdftex
+{%
+  \noexpand\immediate\noexpand\pdfobj {%
+    << /Names [\the\importfdftoks] >> }%
+  \edef\noexpand\objNames{\noexpand\the\noexpand\pdflastobj\space 0 R}%
+  \pdfnames {/JavaScript \noexpand\objNames}%
+}
+\newenvironment{newsegment@dvipdfm}[1]
+{%
+  \addtocounter{dljssegs}{1}%
+  \addtocounter{dljs@cnt}{1}%
+  \edef\tmp{^^J\string\immediate\string
+    \csname\space @pdfm@mark\string\endcsname
+    {obj @obj\dljsBase\roman{dljssegs}\space << /S/JavaScript%
+    /JS(\string\dljs\dljsBase\roman{dljssegs}) >> }}%
+  \edef\@dljstmp{\the\dljsobjtoks\space\tmp}%
+  \global\dljsobjtoks=\expandafter{\@dljstmp}%
+  \edef\curr@Cnt{\ifnum\arabic{dljs@cnt}<10 0\fi\arabic{dljs@cnt}}%
+  {\def\1{\string\1}\def\2{\string2}%
+  \def\3{\string\3}\xdef\dljsName{#1}}%
+  \edef\dljspdftextmp
+  {\the\importfdftoks (\curr@Cnt\space \dljsName) %
+    @obj\dljsBase\roman{dljssegs}\space}%
+  \global\importfdftoks=\expandafter{\dljspdftextmp}%
+  \beginseg
+  \js@verbatimwrite
+}{%
+  \endjs@verbatimwrite
+  \endseg
+}
+\def\setDLJSRef@dvipdfm
+{%
+  \immediate\@pdfm@mark{obj @objnames %
+    << /Names [\the\importfdftoks] >> }%
+  \@pdfm@mark{put @names %
+    << /JavaScript @objnames >> }%
+}
+\newenvironment{insert@DLJS@dvipdfm}
+{%
+  \expandafter\gdef\csname dljs\dljsBase\endcsname{}%
+  \immediate\openout \js@verbatim@out \js@Path\dljsBase.djs
+  \begindljs
+  \ifx\multisegments\dl@NO\expandafter\newsegment\expandafter{%
+    \expandafter\dljsName\expandafter}\fi
+}{%
+  \ifx\multisegments\dl@NO\expandafter\endnewsegment\fi
+  \enddljs
+  \write@objs
+  \endjs@verbatimwrite
+  \closejs@verbatim@out
+  \edef\@dljstmp{\noexpand\AtBeginDocument{%
+    \noexpand\input{\js@Path\dljsBase.djs}}}%
+  \@dljstmp
+  \ifx\importdljs\dl@YES
+    \ifx\firstdljs\dl@YES
+      \AtBeginDocument{\setDLJSRef@dvipdfm}%
+      \global\let\firstdljs\dl@NO
+    \fi
+  \fi
+}
+\catcode`\"=\dl@dquoteCat
+\inputAltAdbFncs
+\endinput
+%%
+%% End of file `insdljs.sty'.
-- 
cgit v1.2.3

