summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/xypdf/xypdf.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-03-28 00:39:37 +0000
committerKarl Berry <karl@freefriends.org>2010-03-28 00:39:37 +0000
commit6173c05a5e76ce42b153a2e7664ad2ddba566112 (patch)
tree3d8d5fd513abb93b76cbf5227bd29479a724eba8 /Master/texmf-dist/tex/latex/xypdf/xypdf.sty
parent49b4790fd92979a66a8024fe83a0338c0c0b3949 (diff)
new latex package xypdf 1.0 (27mar10)
git-svn-id: svn://tug.org/texlive/trunk@17580 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/xypdf/xypdf.sty')
-rw-r--r--Master/texmf-dist/tex/latex/xypdf/xypdf.sty1250
1 files changed, 1250 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/xypdf/xypdf.sty b/Master/texmf-dist/tex/latex/xypdf/xypdf.sty
new file mode 100644
index 00000000000..f12cea76b0d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/xypdf/xypdf.sty
@@ -0,0 +1,1250 @@
+%%
+%% This is file `xypdf.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xypdf.dtx (with options: `package')
+%%
+%% Copyright (c) 2010 by Daniel M\"ullner (Müllner)
+%% <http://www.math.uni-bonn.de/people/muellner>
+%% --------------------------------------------------------------------
+%%
+%% This program is free software: you can redistribute it and/or modify
+%% it under the terms of the GNU General Public License as published by
+%% the Free Software Foundation, either version 3 of the License, or
+%% (at your option) any later version.
+%%
+%% This program is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%% GNU General Public License for more details.
+%%
+%% The GNU General Public License is available at
+%% <http://www.gnu.org/licenses/>.
+%%
+%% --------------------------------------------------------------------
+%%
+%% This file is part of the LaTeX2e xypdf package. The package
+%% consists of the following files:
+%%
+%% README - The distribution guide
+%% xypdf.dtx - Documented source code
+%% xypdf.ins - Installation script
+%% xypdf.sty - LaTeX style file
+%% xypdf.pdf - Documentation
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xypdf}
+ [2010/03/24 v1.0 PDF output for the Xy-pic package]
+\@ifpackageloaded{xy}\relax
+{\PackageError{xypdf}{Load the Xy-pic package before this package}
+{Insert `\string\usepackage[<options>]{xy}' before
+`\string\usepackage{xypdf}'}}
+\ifdefined\xypsloaded
+\PackageError{xypdf}{Do not load Xy-pic with a Postscript backend}{}
+\fi
+\RequirePackage{ifpdf}
+\newcommand*\xypdfon{}
+\newcommand*\xypdfoff{}
+\newcommand*\xP@hook[1]{\edef\next@{\let\expandafter\noexpand\csname xP@old@#1\endcsname
+\expandafter\noexpand\csname#1\endcsname}\next@
+\edef\xypdfon{\unexpanded\expandafter{\xypdfon}\let\expandafter\noexpand\csname#1\endcsname
+\expandafter\noexpand\csname xP@#1\endcsname
+}\edef\xypdfoff{\unexpanded\expandafter{\xypdfoff}\let\expandafter\noexpand\csname#1\endcsname
+\expandafter\noexpand\csname xP@old@#1\endcsname
+}}
+\AtEndOfPackage{\xypdfon\let\xP@hook\@undefined\let\xP@tempvar\@undefined}
+\@ifdefinable\xP@literal\relax
+\ifpdf
+\let\xP@literal\pdfliteral
+\else
+\def\xP@literal#1{\special{pdf:literal #1}}
+\fi
+\newcommand*\xP@dim[1]{\expandafter\removePT@\the\dimexpr(#1)*800/803\relax\space}
+\newcommand*\xP@coor[1]{\xP@dim{#1}\xP@dim}
+\AtBeginDocument{{\setbox0\hbox{$ $}}\@ifdefinable\xP@lw\relax
+\edef\xP@lw{\xP@dim{\fontdimen8\textfont3}}\PackageInfo{xypdf}{Line width: \the\fontdimen8\textfont3 }}
+\xP@hook{solid@}
+\newcommand*\xP@solid@{\straight@\xP@solidSpread}
+\@ifdefinable\xP@solidSpread\relax
+\def\xP@solidSpread#1\repeat@{{\@tempswatrue
+\ifdim\X@p=\X@c
+\ifdim\Y@p=\Y@c
+\@tempswafalse
+\fi
+\fi
+\if@tempswa
+\xP@setsolidpat
+\xP@stroke{\xP@coor\X@p\Y@p m \xP@coor\X@c\Y@c l}\fi
+}}
+\newcommand*\xP@pattern{}
+\newcommand*\xP@setsolidpat{\def\xP@pattern{1 J 1 j []0 d }}
+\newcommand*\xP@stroke[1]{\xP@literal{q \xP@lw w \xP@pattern#1 S Q}}
+\xP@hook{dash@}
+\newcommand\xP@dash@{\line@\def\Connect@@{\straight@\xP@dashedSpread}}
+\@ifdefinable\xP@dashedSpread\relax
+\def\xP@dashedSpread#1\repeat@{{\xP@veclen
+\ifdim\@tempdimb>\z@
+\xP@setdashpat
+\xP@stroke{\xP@coor\X@p\Y@p m \xP@coor\X@c\Y@c l}\fi
+}}
+\newcommand*\xP@setdashpat{\edef\xP@pattern{1 J 1 j [\ifdim\@tempdimb>\xydashl@
+\xP@dim{\@tempdimb/(2*\numexpr(\@tempdimb+\xydashl@)/(2*\xydashl@)\relax-1)}\fi
+]0 d }}
+\xP@hook{point@}
+\newcommand*\xP@point@{\xP@zerodot\egroup\Invisible@false
+\Hidden@false\def\Leftness@{.5}\def\U@pness@{.5}\ctipEdge@
+\def\Drop@@{\styledboxz@}\def\Connect@@{\straight@\xP@dottedSpread}}
+\newcommand*\xP@zerodotpattern{\def\xP@pattern{2 J [0 2]0 d }}
+\newcommand*\xP@zerodot{\xP@zerodotpattern
+\xP@stroke{0 0 m 1 0 l}}
+\@ifdefinable\xP@dottedSpread\relax
+\def\xP@dottedSpread#1\repeat@{{\xP@veclen
+\ifdim\@tempdimb>\z@
+\xP@setdottedpat
+\xP@stroke{\xP@coor\X@p\Y@p m \xP@coor\X@c\Y@c l}\fi
+}}
+\newcommand*\xP@setdottedpat{\edef\xP@pattern{2 J [\ifdim\@tempdimb>\xP@lw bp
+0 \xP@dim{\@tempdimb/\numexpr\@tempdimb/131072+1\relax}\fi
+]0 d
+}}
+\newcommand*\xP@abs[1]{\ifdim#1<\z@\multiply#1\m@ne\fi}
+\ifx\ifpdfabsdim\@undefined
+\newcommand*\xP@ifabsless[2]{\ifdim\ifdim#1<\z@-\fi#1<\ifdim#2<\z@-\fi#2}
+\@gobble\fi
+\else
+\newcommand*\xP@ifabsless[2]{\ifpdfabsdim#1<#2}
+\@gobble\fi
+\fi
+\newcommand*\xP@ifabsless@[4]{\xP@ifabsless{\dimexpr#1\relax}{\dimexpr#2\relax}#3\else#4\fi}
+\newcommand*\xP@swapdim[2]{\@tempdima#1#1#2#2\@tempdima}
+\newcommand*\xP@swapnum[2]{\@tempcnta#1#1#2#2\@tempcnta}
+\newcommand*\xP@max[2]{\ifdim#1>#2#1\else#2\fi}
+\newcommand*\xP@Max[2]{#1\ifdim#2<\z@\xP@max#1{-#2}\else\xP@max#1#2\fi}
+\newcommand*\xP@sqrt{\loop
+\@tempdimb\dimexpr(\@tempdimc+(\@tempdima*\p@/\@tempdimc))/2\relax
+\ifdim\@tempdimc=\@tempdimb\else
+\@tempdimc\@tempdimb\relax
+\repeat
+}
+\newcommand*\xP@veclen{{\xP@veclen@
+\global\dimen@i\@tempdimb
+}\@tempdimb\dimen@i
+}
+\newcommand*\xP@veclen@{\xP@abs\d@Y
+\ifdim\d@X=\z@
+\@tempdimb\d@Y
+\else
+\xP@abs\d@X
+\ifdim\d@Y=\z@
+\@tempdimb\d@X
+\else
+\@tempswatrue
+\ifdim\d@X>5931641sp\relax\@tempswafalse\fi
+\ifdim\d@Y>5931641sp\relax\@tempswafalse\fi
+\if@tempswa
+\count@\@ne
+\loop
+\@tempdima\dimexpr\d@X*\d@X/\p@+\d@Y*\d@Y/\p@\relax
+\ifdim\@tempdima<4096pt
+\@tempcnta\ifdim\@tempdima<1024pt\ifdim\@tempdima<256pt8\else4\fi\else\tw@\fi
+\multiply\d@X\@tempcnta
+\multiply\d@Y\@tempcnta
+\multiply\count@\@tempcnta
+\repeat
+\@tempdimc\dimexpr(\d@X+\d@Y)*3/4\relax
+\xP@sqrt
+\@tempdimb\dimexpr\@tempdimb/\count@\relax
+\else
+\ifdim\d@X>83042982sp\relax\@tempswatrue\fi
+\ifdim\d@Y>83042982sp\relax\@tempswatrue\fi
+\if@tempswa
+\@tempdima\dimexpr\d@X/182*\d@X/11927552+\d@Y/182*\d@Y/11927552\relax
+\@tempdimc\dimexpr(\d@X+\d@Y)*3/728\relax
+\xP@sqrt
+\multiply\@tempdimb182\relax
+\else
+\@tempdima\dimexpr\d@X*\d@X/12845056+\d@Y*\d@Y/12845056\relax
+\@tempdimc\dimexpr(\d@X+\d@Y)*3/56\relax
+\xP@sqrt
+\multiply\@tempdimb14\relax
+\fi
+\fi
+\fi
+\fi
+}
+\xP@hook{squiggledSpread@}
+\@ifdefinable\xP@squiggledSpread@\relax
+\def\xP@squiggledSpread@#1\repeat@{{\xP@veclen
+\ifdim\@tempdimb>\z@
+\edef\@tempa{\xP@coor\X@p\Y@p m }\toks@\expandafter{\@tempa}\@tempcnta\numexpr\@tempdimb/\xybsqll@\relax
+\ifnum\@tempcnta<\tw@\@tempcnta\tw@\fi
+\@tempdima\dimexpr\d@X/\@tempcnta\relax
+\@tempdimc\dimexpr\d@Y/\@tempcnta\relax
+\count@\z@
+\loop
+\xP@append\toks@{\xP@coor{\X@p+\d@X*\count@/\@tempcnta+(\@tempdima
+-\ifodd\count@-\fi\@tempdimc)*147546029/534618434}{\Y@p+\d@Y*\count@/\@tempcnta+(\@tempdimc
++\ifodd\count@-\fi\@tempdima)*147546029/534618434}}\advance\count@\@ne
+\xP@append\toks@{\xP@coor{\X@p+\d@X*\count@/\@tempcnta-(\@tempdima
+-\ifodd\count@-\fi\@tempdimc)*147546029/534618434}{\Y@p+\d@Y*\count@/\@tempcnta-(\@tempdimc
++\ifodd\count@-\fi\@tempdima)*147546029/534618434}\xP@coor{\X@p+\d@X*\count@/\@tempcnta}{\Y@p+\d@Y*\count@/\@tempcnta}c }\ifnum\count@<\@tempcnta
+\repeat
+\xP@setsolidpat
+\xP@stroke{\the\toks@}\fi
+}}
+\newcommand*\xP@append[2]{{\edef\@tempa{#1{\the#1#2}}\expandafter}\@tempa
+}
+\newcommand*\xP@tempvar[2]{\@ifdefinable#1\relax
+\let#1#2}
+\xP@tempvar\xP@bigdim\quotPTK@
+\xP@tempvar\xP@parA\L@p
+\xP@tempvar\xP@velA\U@p
+\xP@tempvar\xP@parB\R@p
+\xP@tempvar\xP@velB\D@p
+\xP@tempvar\xP@parC\X@origin
+\xP@tempvar\xP@velC\Y@origin
+\xP@tempvar\xP@parD\X@xbase
+\xP@tempvar\xP@velD\Y@xbase
+\xP@tempvar\xP@parE\X@ybase
+\xP@tempvar\xP@velE\Y@ybase
+\xP@tempvar\xP@lenA\X@min
+\xP@tempvar\xP@lenB\Y@min
+\xP@tempvar\xP@partlen\X@max
+\xP@tempvar\xP@oldpartlen\Y@max
+\xP@tempvar\xP@tolerance\almostz@
+\xP@tempvar\xP@A\L@p
+\xP@tempvar\xP@B\U@p
+\xP@tempvar\xP@C\R@p
+\xP@tempvar\xP@D\D@p
+\xP@tempvar\xP@E\X@origin
+\xP@tempvar\xP@F\Y@origin
+\xP@tempvar\xP@G\X@xbase
+\xP@tempvar\xP@H\Y@xbase
+\xP@tempvar\xP@I\X@ybase
+\xP@tempvar\xP@J\Y@ybase
+\xP@tempvar\xP@K\X@min
+\xP@tempvar\xP@L\Y@min
+\xP@tempvar\xP@fa\X@max
+\xP@tempvar\xP@fd\Y@max
+\xP@tempvar\xP@tm\almostz@
+\xP@tempvar\xP@xm\K@dXdY
+\xP@tempvar\xP@ym\K@dYdX
+\@tempcnta\count11\relax
+\newdimen\xP@off
+\newdimen\xP@ta
+\newdimen\xP@tb
+\newdimen\xP@tc
+\newdimen\xP@M
+\newdimen\xP@oldobj
+\newdimen\xP@Tax
+\newdimen\xP@Tay
+\newdimen\xP@Tdx
+\newdimen\xP@Tdy
+\newdimen\xP@Tmx
+\newdimen\xP@Tmy
+\newdimen\xP@xa
+\newdimen\xP@ya
+\newdimen\xP@xb
+\newdimen\xP@yb
+\newdimen\xP@xc
+\newdimen\xP@yc
+\newdimen\xP@xd
+\newdimen\xP@yd
+\count11\@tempcnta
+\xP@tempvar\xP@a\X@ybase
+\xP@tempvar\xP@b\Y@ybase
+\xP@tempvar\xP@c\X@min
+\xP@tempvar\xP@valA\Y@min
+\xP@tempvar\xP@valB\X@max
+\xP@tempvar\xP@devA\Y@max
+\xP@tempvar\xP@devB\almostz@
+\xP@tempvar\xP@ti\K@dXdY
+\xP@tempvar\xP@tip\K@dYdX
+\xP@tempvar\xP@sa\xP@Tax
+\xP@tempvar\xP@sb\xP@Tay
+\xP@tempvar\xP@sc\xP@Tdx
+\xP@tempvar\xP@Ab\xP@Tdy
+\xP@tempvar\xP@AAb\xP@Tmx
+\xP@tempvar\xP@Aba\xP@Tmy
+\xP@tempvar\xP@Abb\xP@xa
+\xP@tempvar\xP@Abc\xP@ya
+\xP@tempvar\xP@AAba\xP@xb
+\xP@tempvar\xP@AAbb\xP@yb
+\xP@tempvar\xP@AAbc\xP@xc
+\xP@tempvar\xP@dta\xP@yc
+\xP@tempvar\xP@dtb\xP@xd
+\xP@tempvar\xP@dtc\xP@yd
+\xP@tempvar\xP@temppar\X@origin
+\xP@tempvar\xP@tempvel\Y@origin
+\xP@tempvar\xP@posX\X@xbase
+\xP@tempvar\xP@posY\Y@xbase
+\xP@tempvar\xP@oldpar\X@ybase
+\xP@tempvar\xP@lastpar\Y@ybase
+\xP@tempvar\xP@tempvel@\X@min
+\xP@tempvar\xP@scaleone\K@
+\xP@tempvar\xP@scaletwo\KK@
+\xP@tempvar\xP@scalethree\Direction
+\xP@hook{splinesolid@}
+\newcommand*\xP@splinesolid@{\xP@spline\xP@setsolidpat}
+\xP@hook{splinedashed@}
+\newcommand*\xP@splinedashed@{\xP@spline\xP@setdashpat}
+\xP@hook{splinedotted@}
+\newcommand*\xP@splinedotted@{\xP@spline\xP@setdottedpat}
+\newcommand*\xP@spline[1]{\readsplineparams@
+\ifdim\dimen5<\dimen7
+\xP@preparespline
+\ifdim\@tempdimb>\z@
+#1\xP@stroke{\xP@coor\X@p\Y@p m \xP@coor\L@c\U@c\xP@coor\R@c\D@c\xP@coor\X@c\Y@c c}\fi
+\fi
+}
+\newcommand*\xP@preparespline{\ifx\splineinfo@\squineinfo@
+\L@c\dimexpr(\X@p+2\A@)/3\relax
+\U@c\dimexpr(\Y@p+2\B@)/3\relax
+\R@c\dimexpr(\X@c+2\A@)/3\relax
+\D@c\dimexpr(\Y@c+2\B@)/3\relax
+\fi
+\xP@shavespline
+\xP@bezierlength
+}
+\newcommand*\xP@inibigdim{\xP@bigdim5040pt}
+\newcommand*\xP@shavespline{\xP@shaveprec{\dimen5*\xP@bigdim/\p@}{\dimen7*\xP@bigdim/\p@}}
+\newcommand*\xP@shaveprec[2]{{\xP@inibigdim
+\A@\dimexpr#1\relax
+\B@\dimexpr#2\relax
+\@tempswatrue
+\ifdim\A@=\z@\ifdim\B@=\xP@bigdim\@tempswafalse\fi\fi
+\if@tempswa
+\L@p\dimexpr\L@c-\X@p\relax
+\U@p\dimexpr\R@c-\L@p-\L@c\relax
+\R@p\dimexpr\X@c-3\R@c+3\L@c-\X@p\relax
+\D@p\dimexpr\U@c-\Y@p\relax
+\X@min\dimexpr\D@c-\D@p-\U@c\relax
+\Y@min\dimexpr\Y@c-3\D@c+3\U@c-\Y@p\relax
+\xdef\@gtempa{\X@p\the\dimexpr\X@p+(3\L@p+(3\U@p+\R@p*\A@/\xP@bigdim)*\A@/\xP@bigdim)*\A@/\xP@bigdim\relax
+\Y@p\the\dimexpr\Y@p+(3\D@p+(3\X@min+\Y@min*\A@/\xP@bigdim)*\A@/\xP@bigdim)*\A@/\xP@bigdim\relax
+\L@c\the\dimexpr\X@p+(2\A@+\B@)*\L@p/\xP@bigdim+((\A@+2\B@)*\U@p/\xP@bigdim+\R@p*\A@/\xP@bigdim*\B@/\xP@bigdim)*\A@/\xP@bigdim\relax
+\U@c\the\dimexpr\Y@p+(2\A@+\B@)*\D@p/\xP@bigdim+((\A@+2\B@)*\X@min/\xP@bigdim+\Y@min*\A@/\xP@bigdim*\B@/\xP@bigdim)*\A@/\xP@bigdim\relax
+\R@c\the\dimexpr\X@p+(2\B@+\A@)*\L@p/\xP@bigdim+((\B@+2\A@)*\U@p/\xP@bigdim+\R@p*\B@/\xP@bigdim*\A@/\xP@bigdim)*\B@/\xP@bigdim\relax
+\D@c\the\dimexpr\Y@p+(2\B@+\A@)*\D@p/\xP@bigdim+((\B@+2\A@)*\X@min/\xP@bigdim+\Y@min*\B@/\xP@bigdim*\A@/\xP@bigdim)*\B@/\xP@bigdim\relax
+\X@c\the\dimexpr\X@p+(3\L@p+(3\U@p+\R@p*\B@/\xP@bigdim)*\B@/\xP@bigdim)*\B@/\xP@bigdim\relax
+\Y@c\the\dimexpr\Y@p+(3\D@p+(3\X@min+\Y@min*\B@/\xP@bigdim)*\B@/\xP@bigdim)*\B@/\xP@bigdim\relax}\else
+\global\let\@gtempa\relax
+\fi
+}\@gtempa
+}
+\newcommand*\xP@bezierlength{{\@tempdimb\z@
+\xP@parA\z@
+\xP@velocity\z@\xP@velA
+\xP@parC.5\p@
+\xP@velocity\xP@parC\xP@velC
+\xP@velocity\p@\xP@velE
+\xP@oldpartlen\dimexpr(\xP@velA+4\xP@velC+\xP@velE)/6\relax
+\xP@tolerance\xP@max{1sp}{\dimexpr\xP@oldpartlen/\p@\relax}\xP@arclength\xP@parC\xP@velC\p@\xP@velE\xP@oldpartlen
+\global\dimen@i\@tempdimb
+}\@tempdimb\dimen@i
+}
+\newcommand*\xP@velocity[2]{{\@tempdima\dimexpr#1\relax
+\xP@velocity@
+\global\dimen@i\@tempdimb
+}#2\dimen@i
+}
+\newcommand*\xP@velocity@{\L@p\dimexpr\L@c-\X@p\relax
+\U@p\dimexpr\U@c-\Y@p\relax
+\d@X3\dimexpr((\X@c+(\L@c-\R@c)*3-\X@p)*\@tempdima/\p@
++(\R@c-\L@p-\L@c)*2)*\@tempdima/\p@+\L@p\relax
+\d@Y3\dimexpr((\Y@c+(\U@c-\D@c)*3-\Y@p)*\@tempdima/\p@
++(\D@c-\U@p-\U@c)*2)*\@tempdima/\p@+\U@p\relax
+\xP@veclen
+}
+\newcommand*\xP@velocity@@{\R@p\dimexpr\xP@xb-\xP@xa\relax
+\D@p\dimexpr\xP@yb-\xP@ya\relax
+\d@X3\dimexpr((\xP@xd+(\xP@xb-\xP@xc)*3-\xP@xa)*\@tempdima/\p@
++(\xP@xc-\R@p-\xP@xb)*2)*\@tempdima/\p@+\R@p\relax
+\d@Y3\dimexpr((\xP@yd+(\xP@yb-\xP@yc)*3-\xP@ya)*\@tempdima/\p@
++(\xP@yc-\D@p-\xP@yb)*2)*\@tempdima/\p@+\D@p\relax
+\xP@veclen
+}
+\newcommand*\xP@normalvec[2]{{\@tempdima#1\relax
+\@tempdimc#2\relax
+\xP@velocity@
+\ifdim\@tempdimb=\z@
+\d@X\dimexpr\xP@xd+(\xP@xb-\xP@xc)*3-\xP@xa\relax
+\d@Y\dimexpr\xP@yd+(\xP@yb-\xP@yc)*3-\xP@ya\relax
+\xP@veclen
+\ifdim\@tempdimb=\z@
+\PackageError{xypdf}{Cannot determine a tangent vector to a curve}{}\@tempdimb\p@
+\fi
+\fi
+\global\dimen@i\dimexpr\@tempdimc*\d@Y/\@tempdimb\relax
+\global\dimen3\dimexpr-\@tempdimc*\d@X/\@tempdimb\relax
+}\d@X\dimen@i
+\d@Y\dimen3\relax
+}
+\newcommand*\xP@arclength[5]{\xP@parE#3\xP@velE#4\xP@parC#1\xP@velC#2\xP@oldpartlen#5\xP@parB\dimexpr(\xP@parC+\xP@parA)/2\relax
+\xP@velocity\xP@parB\xP@velB
+\xP@parD\dimexpr(\xP@parE+\xP@parC)/2\relax
+\xP@velocity\xP@parD\xP@velD
+\xP@lenA
+\dimexpr(\xP@velA+4\xP@velB+\xP@velC)*(\xP@parC-\xP@parA)/393216\relax
+\xP@lenB
+\dimexpr(\xP@velC+4\xP@velD+\xP@velE)*(\xP@parE-\xP@parC)/393216\relax
+\xP@partlen\dimexpr\xP@lenA+\xP@lenB\relax
+{\@tempdima\dimexpr\xP@oldpartlen-\xP@partlen\relax
+\expandafter}\ifdim\ifdim\@tempdima<\z@-\fi\@tempdima>\xP@tolerance
+\edef\next@{\noexpand\xP@arclength\xP@parB\xP@velB\xP@parC\xP@velC\xP@lenA
+\noexpand\xP@arclength{\the\xP@parD}{\the\xP@velD}{\the\xP@parE}{\the\xP@velE}{\the\xP@lenB}}\else
+\xP@parA\xP@parE
+\xP@velA\xP@velE
+\advance\@tempdimb\xP@partlen
+\DN@{}\fi
+\next@
+}
+\CheckCommand*\@crv@[2]{\DN@{#1#2}\ifx\next@\empty \edef\next@{\crv@defaultshape}\ifx\bstartPLACE@\empty \xdef\crvSTYLE@@{{\crv@defaultshape}}\fi
+\else
+\ifx\bstartPLACE@\empty \gdef\crvSTYLE@@{#1{#2}}\fi
+\fi
+\ifx\next@\empty \crv@noobject \DN@{\crv@{}{\xy@@crvaddstack@}}\else\def\tmp@{-}\ifx\next@\tmp@ \DN@{\crv@{}{\xy@@crvaddstack@}}\else\def\tmp@{=}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir{=}}}\else\def\tmp@{2-}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir{2.}}}\else\def\tmp@{3-}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir{3.}}}\else\def\tmp@{--}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@specialtemplate@{--}}\else\def\tmp@{==}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir2{--}}}\else\def\tmp@{2--}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir2{--}}}\else\def\tmp@{3--}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir3{--}}}\else\def\tmp@{.}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@specialtemplate@{.}}\else\def\tmp@{:}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir{:}}}\else\def\tmp@{2.}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir{:}}}\else\def\tmp@{..}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@specialtemplate@{.}}\else
+\DN@{\expandafter\crv@\crv@othertemplate{\dir#1{#2}}}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \next@}
+\xP@hook{@crv@}
+\newcommand*\xP@@crv@[2]{\DN@{#1#2}\ifx\next@\empty \edef\next@{\crv@defaultshape}\ifx\bstartPLACE@\empty \xdef\crvSTYLE@@{{\crv@defaultshape}}\fi
+\else
+\ifx\bstartPLACE@\empty \gdef\crvSTYLE@@{#1{#2}}\fi
+\fi
+\ifx\next@\empty \crv@noobject \DN@{\crv@{}{\xy@@crvaddstack@}}\else\def\tmp@{-}\ifx\next@\tmp@ \DN@{\crv@{}{\xy@@crvaddstack@}}\else\def\tmp@{=}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir{=}}}\else\def\tmp@{2-}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir{2.}}}\else\def\tmp@{3-}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir{3.}}}\else\def\tmp@{--}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@specialtemplate@{--}}\else\def\tmp@{==}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir2{--}}}\else\def\tmp@{2--}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir2{--}}}\else\def\tmp@{3--}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir3{--}}}\else\def\tmp@{.}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@specialtemplate@{.}}\else\def\tmp@{:}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir{:}}}\else\def\tmp@{2.}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir{:}}}\else\def\tmp@{3.}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir3{.}}}\else\def\tmp@{~}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir{~}}}\else\def\tmp@{2~}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir2{~}}}\else\def\tmp@{3~}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@normaltemplate{\dir3{~}}}\else\def\tmp@{..}\ifx\next@\tmp@
+\DN@{\expandafter\crv@\crv@specialtemplate@{.}}\else
+\DN@{\expandafter\crv@\crv@othertemplate{\dir#1{#2}}}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\next@}
+\CheckCommand*\xysplinespecialcases@{\ifx\empty\xycrvdrop@
+\ifx\empty\xycrvconn@ \DN@{\splinesolid@}\else \DN@{ \dir{-}}\ifx\next@\xycrvconn@ \DN@{\splinesolid@}\else \DN@{ \dir 2{-}}\ifx\next@\xycrvconn@ \DN@{\splinedoubled@}\else \DN@{ \dir{=}}\ifx\next@\xycrvconn@ \DN@{\splineribboned@}\else \DN@{ \dir {2.}}\ifx\next@\xycrvconn@ \DN@{\splinedoubled@}\else \DN@{ \dir 3{-}}\ifx\next@\xycrvconn@ \DN@{\splinetrebled@}\else \DN@{ \dir {3.}}\ifx\next@\xycrvconn@ \DN@{\splinetrebled@}\else \DN@{ \dir{--}}\ifx\next@\xycrvconn@ \DN@{\splinedashed@}\else \DN@{ \dir{.}}\ifx\next@\xycrvconn@ \DN@{\splinedotted@}\else \DN@{ \dir{:}}\ifx\next@\xycrvconn@ \DN@{\splinedbldotted@}\else \ifdim\splinetol@>\z@ \else \splinedefaulttol@ \fi
+\DN@{\splineset@@}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+\else
+\DN@{\splineset@@}\fi \ifInvisible@\DN@{}\fi \next@ }
+\xP@hook{xysplinespecialcases@}
+\newcommand*\xP@xysplinespecialcases@{\ifx\empty\xycrvdrop@
+\ifx\empty\xycrvconn@ \DN@{\splinesolid@}\else \DN@{ \dir{-}}\ifx\next@\xycrvconn@ \DN@{\splinesolid@}\else \DN@{ \dir 2{-}}\ifx\next@\xycrvconn@ \DN@{\splinedoubled@}\else \DN@{ \dir{=}}\ifx\next@\xycrvconn@ \DN@{\splineribboned@}\else \DN@{ \dir {2.}}\ifx\next@\xycrvconn@ \DN@{\splinedoubled@}\else \DN@{ \dir 3{-}}\ifx\next@\xycrvconn@ \DN@{\splinetrebled@}\else \DN@{ \dir {3.}}\ifx\next@\xycrvconn@ \DN@{\splinetrebled@}\else \DN@{ \dir{--}}\ifx\next@\xycrvconn@ \DN@{\splinedashed@}\else \DN@{ \dir{.}}\ifx\next@\xycrvconn@ \DN@{\splinedotted@}\else \DN@{ \dir{:}}\ifx\next@\xycrvconn@ \DN@{\splinedbldotted@}\else \DN@{ \dir3{.}}\ifx\next@\xycrvconn@ \DN@{\xP@splinetrbldotted}\else \DN@{ \dir2{--}}\ifx\next@\xycrvconn@ \DN@{\xP@splinedbldashed}\else \DN@{ \dir3{--}}\ifx\next@\xycrvconn@ \DN@{\xP@splinetrbldashed}\else \DN@{ \dir{~}}\ifx\next@\xycrvconn@ \DN@{\xP@splinesquiggled}\else \DN@{ \dir2{~}}\ifx\next@\xycrvconn@ \DN@{\xP@splinedblsquiggled}\else \DN@{ \dir3{~}}\ifx\next@\xycrvconn@ \DN@{\xP@splinetrblsquiggled}\else \ifdim\splinetol@>\z@ \else \splinedefaulttol@ \fi
+\DN@{\splineset@@}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+\else
+\DN@{\splineset@@}\fi \ifInvisible@\DN@{}\fi \next@ }
+\xP@hook{splinedoubled@}
+\newcommand*\xP@splinedoubled@{\xP@checkspline\xP@splinemultsolid\xP@doublestroke}
+\xP@hook{splineribboned@}
+\@ifdefinable\xP@splineribboned@\relax
+\let\xP@splineribboned@\xP@splinedoubled@
+\xP@hook{splinetrebled@}
+\newcommand*\xP@splinetrebled@{\xP@checkspline\xP@splinemultsolid\xP@trblstroke}
+\newcommand*\xP@doublestroke{\xydashh@/2,-\xydashh@/2}
+\newcommand*\xP@trblstroke{\xydashh@,\z@,-\xydashh@}
+\newcommand*\xP@checkspline[1]{\readsplineparams@
+\let\next@\@gobble
+\ifdim\dimen5<\dimen7
+\xP@preparespline
+\ifdim\@tempdimb>\z@
+\ifdim\@tempdimb<\xP@lw bp
+\let\next@\xP@splinemultsolid
+\else
+\let\next@#1\fi
+\fi
+\fi
+\next@
+}
+\newcommand*\xP@splinemultsolid[1]{{\xP@inibigdim
+\@temptokena{}\xP@setsolidpat
+\@for\@tempa:={#1}\do{\xP@paintsolid\z@\xP@bigdim}\xP@stroke{\the\@temptokena}}}
+\newcommand*\xP@paintsolid[2]{{\xP@savepts
+\xP@a#1\relax
+\xP@c#2\relax
+\xP@movetotrue
+\xP@paintsolid@
+\xdef\@gtempa{\the\@temptokena}}\@temptokena\expandafter{\@gtempa}}
+\newcommand*\xP@paintsolid@{\xP@b\xP@c
+\xP@off\dimexpr\@tempa\relax
+\ifdim\xP@off=\z@
+\xP@shaveprec\xP@a\xP@c
+\else
+\loop
+\xP@restorepts
+\xP@shaveprec\xP@a\xP@b
+\xP@offsetsegment
+\xP@testoffset
+\ifxP@offsetok
+\else
+\xP@b\dimexpr\xP@a+(\xP@b-\xP@a)*7/10\relax
+\repeat
+\fi
+\xP@append\@temptokena{\ifxP@moveto\xP@coor\X@p\Y@p m \fi
+\xP@coor\L@c\U@c\xP@coor\R@c\D@c\xP@coor\X@c\Y@c c }\xP@movetofalse
+\ifdim\xP@b<\xP@c\relax
+\xP@a\xP@b
+\expandafter\xP@paintsolid@
+\fi
+}
+\newif\ifxP@moveto
+\newcommand*\xP@savepts{\xP@xa\X@p
+\xP@ya\Y@p
+\xP@xb\L@c
+\xP@yb\U@c
+\xP@xc\R@c
+\xP@yc\D@c
+\xP@xd\X@c
+\xP@yd\Y@c
+}
+\newcommand*\xP@restorepts{\X@p\xP@xa
+\Y@p\xP@ya
+\L@c\xP@xb
+\U@c\xP@yb
+\R@c\xP@xc
+\D@c\xP@yc
+\X@c\xP@xd
+\Y@c\xP@yd
+}
+\@ifdefinable\xP@tmx\relax
+\@ifdefinable\xP@tmy\relax
+\newcommand*\xP@Tmxy{*\xP@Tmx/\xP@Tmy}
+\newcommand*\xP@Tmyx{*\xP@Tmy/\xP@Tmx}
+\newcommand*\xP@Tmzero{*\z@}
+\newcommand*\xP@offsetsegment{{\xP@fa\p@
+\xP@fd\p@
+\xP@tm\p@
+\xP@normalvec{.5pt}\xP@off
+\xP@xm\dimexpr(\X@p+\X@c+(\L@c+\R@c)*3)+8\d@X\relax
+\xP@ym\dimexpr(\Y@p+\Y@c+(\U@c+\D@c)*3)+8\d@Y\relax
+\xP@normalvec\z@\xP@off
+\xP@xa\dimexpr\X@p+\d@X\relax
+\xP@ya\dimexpr\Y@p+\d@Y\relax
+\xP@normalvec\p@\xP@off
+\xP@xd\dimexpr\X@c+\d@X\relax
+\xP@yd\dimexpr\Y@c+\d@Y\relax
+\xP@Tax\dimexpr\L@c-\X@p\relax
+\xP@Tay\dimexpr\U@c-\Y@p\relax
+\ifdim\xP@Tax=\z@
+\ifdim\xP@Tay=\z@
+\xP@Tax\dimexpr\R@c-\X@p\relax
+\xP@Tay\dimexpr\D@c-\Y@p\relax
+\ifdim\xP@Tax=\z@
+\ifdim\xP@Tay=\z@
+\xP@Tax\dimexpr\X@c-\X@p\relax
+\xP@Tay\dimexpr\Y@c-\Y@p\relax
+\fi
+\fi
+\fi
+\fi
+\multiply\xP@Tax\thr@@
+\multiply\xP@Tay\thr@@
+\xP@Tdx\dimexpr\R@c-\X@c\relax
+\xP@Tdy\dimexpr\D@c-\Y@c\relax
+\ifdim\xP@Tdx=\z@
+\ifdim\xP@Tdy=\z@
+\xP@Tdx\dimexpr\L@c-\X@c\relax
+\xP@Tdy\dimexpr\U@c-\Y@c\relax
+\ifdim\xP@Tdx=\z@
+\ifdim\xP@Tdy=\z@
+\xP@Tdx\dimexpr\X@p-\X@c\relax
+\xP@Tdy\dimexpr\Y@p-\Y@c\relax
+\fi
+\fi
+\fi
+\fi
+\multiply\xP@Tdx\thr@@
+\multiply\xP@Tdy\thr@@
+\count@\z@
+\loop
+\@tempswafalse
+\ifnum10>\count@
+\xP@offsetpoints
+\xP@objfun\xP@oldobj
+\ifdim\xP@oldobj>\xP@maxobjfun\relax\@tempswatrue\fi
+\fi
+\if@tempswa
+\xP@offsetloop
+\repeat
+\xdef\@gtempa{\X@p\the\xP@xa\Y@p\the\xP@ya
+\L@c\the\xP@xb\U@c\the\xP@yb\R@c\the\xP@xc\D@c\the\xP@yc
+\X@c\the\xP@xd\Y@c\the\xP@yd\relax}}\@gtempa
+}
+\newcommand*\xP@offsetloop{\xP@C\dimexpr\xP@C/2\relax
+\xP@G\dimexpr\xP@G/2\relax
+\xP@ta\dimexpr2\p@-\xP@tm\relax
+\xP@tb\dimexpr\xP@tm*\xP@ta/\p@\relax
+\xP@A\dimexpr\xP@Tax*\xP@tb/\p@*\xP@ta/\p@\relax
+\xP@B\dimexpr\xP@Tdx*\xP@tb/\p@*\xP@tm/\p@\relax
+\xP@E\dimexpr\xP@Tay*\xP@tb/\p@*\xP@ta/\p@\relax
+\xP@F\dimexpr\xP@Tdy*\xP@tb/\p@*\xP@tm/\p@\relax
+\xP@tb\dimexpr2\p@-3\xP@tm\relax
+\xP@tc\dimexpr\xP@tb+2\p@\relax
+\xP@I\dimexpr(2\xP@Tay\xP@tmx-2\xP@Tax\xP@tmy)
+*\xP@tb/\p@*\xP@ta/\p@\relax
+\xP@J\dimexpr(2\xP@Tdy\xP@tmx-2\xP@Tdx\xP@tmy)
+*\xP@tc/\p@*\xP@tm/\p@\relax
+\xP@K\dimexpr((\xP@yd-\xP@ya+(\xP@yb-\xP@yc)*3)
+*\xP@tm/\p@+(\xP@yc-2\xP@yb+\xP@ya)*2)*12\xP@tmx
+-((\xP@xd-\xP@xa+(\xP@xb-\xP@xc)*3)
+*\xP@tm/\p@+(\xP@xc-2\xP@xb+\xP@xa)*2)*12\xP@tmy\relax
+\xP@solvelinearsystem
+\ifxP@validsol
+\xP@correctsol
+\ifdim\xP@ta=\z@
+\ifdim\xP@tb=\z@
+\ifdim\xP@tc=\z@
+\xP@validsolfalse
+\fi\fi\fi
+\fi
+\ifxP@validsol
+\else
+\xP@applinsys
+\advance\xP@fa-\xP@ta
+\advance\xP@fd-\xP@tb
+\advance\xP@tm-\xP@tc
+\ifdim\xP@tm<\z@\xP@tm\z@\fi
+\ifdim\xP@tm>\tw@\p@\xP@tm\tw@\p@\fi
+\fi
+\advance\count@\@ne
+}
+\newcommand*\xP@maxsol{3pt}
+\newcommand*\xP@correctsol{\xP@M\z@
+\xP@Max\xP@M\xP@ta
+\xP@Max\xP@M\xP@tb
+\xP@Max\xP@M\xP@tc
+\ifdim\xP@M>\xP@maxsol
+\xP@ta\dimexpr\xP@maxsol*\xP@ta/\xP@M\relax
+\xP@tb\dimexpr\xP@maxsol*\xP@tb/\xP@M\relax
+\xP@tc\dimexpr\xP@maxsol*\xP@tc/\xP@M\relax
+\fi
+\advance\xP@fa-\xP@ta
+\advance\xP@fd-\xP@tb
+\xP@M\xP@tm
+\advance\xP@tm-\xP@tc
+\ifdim\xP@tm<\z@\xP@tm\z@\fi
+\ifdim\xP@tm>\tw@\p@\xP@tm\tw@\p@\fi
+{\xP@offsetpoints
+\xP@objfun\xP@M
+\expandafter}\ifdim\xP@M>\xP@oldobj
+\advance\xP@fa\xP@ta
+\advance\xP@fd\xP@tb
+\xP@tm\xP@M
+\xP@validsolfalse
+\fi
+}
+\newcommand*\xP@objfun[1]{\xP@D\xP@bezierpoly\xP@xa\xP@xb\xP@xc\xP@xd\xP@tm
+\xP@D\dimexpr\xP@D-\xP@xm\relax
+\xP@H\xP@bezierpoly\xP@ya\xP@yb\xP@yc\xP@yd\xP@tm
+\xP@H\dimexpr\xP@H-\xP@ym\relax
+\xP@Tmx\dimexpr\X@p-\X@c+\L@c-\R@c\relax
+\xP@Tmy\dimexpr\Y@p-\Y@c+\U@c-\D@c\relax
+\xP@ifabsless\xP@Tmy\xP@Tmx
+\let\xP@tmy\xP@Tmyx
+\let\xP@tmx\empty
+\else
+\ifdim\xP@Tmy=\z@
+\let\xP@tmx\xP@Tmzero
+\let\xP@tmy\xP@Tmzero
+\else
+\let\xP@tmy\empty
+\let\xP@tmx\xP@Tmxy
+\fi
+\fi
+\xP@C\xP@beziertan\xP@xa\xP@xb\xP@xc\xP@xd\xP@tm
+\xP@G\xP@beziertan\xP@ya\xP@yb\xP@yc\xP@yd\xP@tm
+\xP@L\dimexpr\xP@G\xP@tmx-\xP@C\xP@tmy\relax
+#1\z@
+\xP@Max#1\xP@D
+\xP@Max#1\xP@H
+\xP@Max#1\xP@L
+\ifdim#1>4843165sp
+#1\maxdimen
+\else
+#1\dimexpr\xP@D*\xP@D/\p@+\xP@H*\xP@H/\p@+\xP@L*\xP@L/\p@\relax
+\fi
+}
+\newcommand*\xP@offsetpoints{\xP@xb\dimexpr\xP@xa+\xP@Tax*\xP@fa/196608\relax
+\xP@yb\dimexpr\xP@ya+\xP@Tay*\xP@fa/196608\relax
+\xP@xc\dimexpr\xP@xd+\xP@Tdx*\xP@fd/196608\relax
+\xP@yc\dimexpr\xP@yd+\xP@Tdy*\xP@fd/196608\relax
+}
+\newcommand*\xP@bezierpoly[5]{\dimexpr(((#4-#1+(#2-#3)*3)*#5/\p@+(#1-2#2+#3)*6)*#5/\p@+(#2-#1)*12)*#5/\p@
++#1*8\relax
+}
+\newcommand*\xP@beziertan[5]{\dimexpr((#4-#1+(#2-#3)*3)*3*#5/32768+(#1-2#2+#3)*24)*#5/\p@+(#2-#1)*24\relax
+}
+\@ifdefinable\xP@varone\relax
+\@ifdefinable\xP@vartwo\relax
+\@ifdefinable\xP@varthree\relax
+\newif\ifxP@validsol
+\newcommand*\xP@solvelinearsystem{{\xP@scalerow\xP@A\xP@B\xP@C\xP@D
+\xP@scalerow\xP@E\xP@F\xP@G\xP@H
+\xP@scalerow\xP@I\xP@J\xP@K\xP@L
+\xP@scalecol\xP@A\xP@E\xP@I\xP@scaleone
+\xP@scalecol\xP@B\xP@F\xP@J\xP@scaletwo
+\xP@scalecol\xP@C\xP@G\xP@K\xP@scalethree
+\let\xP@varone\xP@ta
+\let\xP@vartwo\xP@tb
+\let\xP@varthree\xP@tc
+\count@\m@ne
+\@tempcnta\m@ne
+\xP@ifabsless\xP@A\xP@B\@tempcnta\z@\xP@M\xP@B
+\else\xP@M\xP@A\fi
+\xP@ifabsless\xP@M\xP@C\@tempcnta\@ne\xP@M\xP@C\fi
+\xP@ifabsless\xP@M\xP@E\@tempcnta\m@ne\count@\z@\xP@M\xP@E\fi
+\xP@ifabsless\xP@M\xP@F\@tempcnta\z@\count@\z@\xP@M\xP@F\fi
+\xP@ifabsless\xP@M\xP@G\@tempcnta\@ne\count@\z@\xP@M\xP@G\fi
+\xP@ifabsless\xP@M\xP@I\@tempcnta\m@ne\count@\@ne\xP@M\xP@I\fi
+\xP@ifabsless\xP@M\xP@J\@tempcnta\z@\count@\@ne\xP@M\xP@J\fi
+\xP@ifabsless\xP@M\xP@K\@tempcnta\@ne\count@\@ne\fi
+\ifcase\count@
+\xP@swapdim\xP@A\xP@E
+\xP@swapdim\xP@B\xP@F
+\xP@swapdim\xP@C\xP@G
+\xP@swapdim\xP@D\xP@H
+\or
+\xP@swapdim\xP@A\xP@I
+\xP@swapdim\xP@B\xP@J
+\xP@swapdim\xP@C\xP@K
+\xP@swapdim\xP@D\xP@L
+\fi
+\ifcase\@tempcnta
+\xP@swapdim\xP@A\xP@B
+\xP@swapdim\xP@E\xP@F
+\xP@swapdim\xP@I\xP@J
+\let\xP@varone\xP@tb
+\let\xP@vartwo\xP@ta
+\xP@swapnum\xP@scaleone\xP@scaletwo
+\or
+\xP@swapdim\xP@A\xP@C
+\xP@swapdim\xP@E\xP@G
+\xP@swapdim\xP@I\xP@K
+\let\xP@varone\xP@tc
+\let\xP@varthree\xP@ta
+\xP@swapnum\xP@scaleone\xP@scalethree
+\fi
+\multiply\xP@E\m@ne
+\multiply\xP@I\m@ne
+\advance\xP@F\dimexpr\xP@B*\xP@E/\xP@A\relax
+\advance\xP@G\dimexpr\xP@C*\xP@E/\xP@A\relax
+\advance\xP@H\dimexpr\xP@D*\xP@E/\xP@A\relax
+\advance\xP@J\dimexpr\xP@B*\xP@I/\xP@A\relax
+\advance\xP@K\dimexpr\xP@C*\xP@I/\xP@A\relax
+\advance\xP@L\dimexpr\xP@D*\xP@I/\xP@A\relax
+\count@\m@ne
+\xP@ifabsless\xP@F\xP@G\@tempcnta\z@\xP@M\xP@G
+\else\@tempcnta\m@ne\xP@M\xP@F\fi
+\xP@ifabsless\xP@M\xP@J\@tempcnta\m@ne\count@\z@\xP@M\xP@J\fi
+\xP@ifabsless\xP@M\xP@K\@tempcnta\z@\count@\z@\fi
+\ifnum\count@=\z@
+\xP@swapdim\xP@F\xP@J
+\xP@swapdim\xP@G\xP@K
+\xP@swapdim\xP@H\xP@L
+\fi
+\ifnum\@tempcnta=\z@
+\xP@swapdim\xP@B\xP@C
+\xP@swapdim\xP@F\xP@G
+\xP@swapdim\xP@J\xP@K
+\let\@tempa\xP@varthree
+\let\xP@varthree\xP@vartwo
+\let\xP@vartwo\@tempa
+\xP@swapnum\xP@scaletwo\xP@scalethree
+\fi
+\advance\xP@K\dimexpr-\xP@G*\xP@J/\xP@F\relax
+\advance\xP@L\dimexpr-\xP@H*\xP@J/\xP@F\relax
+\xP@ifabsless{\dimexpr\xP@L/60\relax}{\dimexpr\xP@K/\xP@scalethree\relax}\xP@validsoltrue
+\xP@varthree\dimexpr\xP@L*(\xP@scalethree*\p@)/\xP@K\relax
+\else
+\xP@validsolfalse
+\fi
+\xP@checkabs{\xP@H/8191}{\xP@F/\xP@scaletwo}\xP@checkabs{\xP@G/\xP@scalethree/136}{\xP@F/\xP@scaletwo}\ifxP@validsol
+\xP@vartwo\dimexpr\xP@H*(\xP@scaletwo*\p@)/\xP@F
+-\xP@varthree*\xP@scaletwo/\xP@scalethree*\xP@G/\xP@F\relax
+\xP@checkabs\xP@vartwo{60pt}\fi
+\xP@checkabs{\xP@D/5461}{\xP@A/\xP@scaleone}\xP@checkabs{\xP@B/\xP@scaletwo/91}{\xP@A/\xP@scaleone}\xP@checkabs{\xP@C/\xP@scalethree/91}{\xP@A/\xP@scaleone}\ifxP@validsol
+\xP@varone\dimexpr\xP@D*(\xP@scaleone*\p@)/\xP@A
+-\xP@vartwo*\xP@scaleone/\xP@scaletwo*\xP@B/\xP@A
+-\xP@varthree*\xP@scaleone/\xP@scalethree*\xP@C/\xP@A\relax
+\xP@checkabs\xP@varone{60pt}\fi
+\xdef\@gtempa{\ifxP@validsol
+\xP@ta\the\xP@ta\relax
+\xP@tb\the\xP@tb\relax
+\xP@tc\the\xP@tc\relax
+\noexpand\xP@validsoltrue
+\else
+\noexpand\xP@validsolfalse
+\fi
+}}\@gtempa
+}
+\newcommand*\xP@scalerow[4]{\xP@M\z@
+\xP@Max\xP@M#1\xP@Max\xP@M#2\xP@Max\xP@M#3\xP@Max\xP@M#4\count@134217727
+\loop
+\divide\xP@M\tw@
+\ifdim\xP@M>\z@
+\divide\count@\tw@
+\repeat
+\advance\count@\@ne
+\multiply#1\count@
+\multiply#2\count@
+\multiply#3\count@
+\multiply#4\count@
+}
+\newcommand*\xP@scalecol[4]{\xP@M\z@
+\xP@Max\xP@M#1\xP@Max\xP@M#2\xP@Max\xP@M#3#416777215
+\loop
+\divide\xP@M\tw@
+\ifdim\xP@M>\z@
+\divide#4\tw@
+\repeat
+\advance#4\@ne
+\multiply#1#4\multiply#2#4\multiply#3#4}
+\newcommand*\xP@checkabs[2]{\xP@ifabsless{\dimexpr#1\relax}{\dimexpr#2\relax}\else\xP@validsolfalse\fi}
+\newcommand*\xP@applinsys{{\xP@applinsys@
+\xP@ta\xP@dta
+\xP@tb\xP@dtb
+\xP@tc\xP@dtc
+\xP@checkapp
+\if@tempswa
+\xP@modobj
+\xP@applinsys@
+\xP@checkapp
+\if@tempswa
+\xP@modsol
+\xP@modobj
+\xP@applinsys@
+\xP@modsol
+\fi
+\fi
+\xdef\@gtempa{\xP@ta\the\xP@ta\relax
+\xP@tb\the\xP@tb\relax
+\xP@tc\the\xP@tc\relax
+}}\@gtempa
+}
+\newcommand*\xP@checkapp{\@tempswatrue
+\ifdim\xP@dta=\z@
+\ifdim\xP@dtb=\z@
+\ifdim\xP@dtc=\z@
+\@tempswafalse
+\fi\fi\fi
+}
+\newcommand*\xP@modobj{\advance\xP@D
+\dimexpr-\xP@A*\xP@dta/\p@-\xP@B*\xP@dtb/\p@-\xP@C*\xP@dtc/\p@\relax
+\advance\xP@H
+\dimexpr-\xP@E*\xP@dta/\p@-\xP@F*\xP@dtb/\p@-\xP@G*\xP@dtc/\p@\relax
+\advance\xP@L
+\dimexpr-\xP@I*\xP@dta/\p@-\xP@J*\xP@dtb/\p@-\xP@K*\xP@dtc/\p@\relax
+}
+\newcommand*\xP@modsol{\advance\xP@ta\xP@dta
+\advance\xP@tb\xP@dtb
+\advance\xP@tc\xP@dtc
+}
+\newcommand*\xP@applinsys@{{\xP@sa\z@
+\xP@Max\xP@sa\xP@A
+\xP@Max\xP@sa\xP@B
+\xP@Max\xP@sa\xP@C
+\xP@Max\xP@sa\xP@E
+\xP@Max\xP@sa\xP@F
+\xP@Max\xP@sa\xP@G
+\xP@Max\xP@sa\xP@I
+\xP@Max\xP@sa\xP@J
+\xP@Max\xP@sa\xP@K
+\xP@sa\ifdim\xP@sa<5460pt\thr@@\xP@sa\else\maxdimen\fi
+\xP@sb\z@
+\xP@Max\xP@sb\xP@D
+\xP@Max\xP@sb\xP@H
+\xP@Max\xP@sb\xP@L
+\ifdim\xP@sb>\z@
+\xP@D\dimexpr\xP@D*\maxdimen/\xP@sb\relax
+\xP@H\dimexpr\xP@H*\maxdimen/\xP@sb\relax
+\xP@L\dimexpr\xP@L*\maxdimen/\xP@sb\relax
+\fi
+\xP@Aba\dimexpr\xP@A*\xP@D/\xP@sa+\xP@E*\xP@H/\xP@sa
++\xP@I*\xP@L/\xP@sa\relax
+\xP@Abb\dimexpr\xP@B*\xP@D/\xP@sa+\xP@F*\xP@H/\xP@sa
++\xP@J*\xP@L/\xP@sa\relax
+\xP@Abc\dimexpr\xP@C*\xP@D/\xP@sa+\xP@G*\xP@H/\xP@sa
++\xP@K*\xP@L/\xP@sa\relax
+\xP@AAba\dimexpr\xP@A*\xP@Aba/\xP@sa+\xP@B*\xP@Abb/\xP@sa
++\xP@C*\xP@Abc/\xP@sa\relax
+\xP@AAbb\dimexpr\xP@E*\xP@Aba/\xP@sa+\xP@F*\xP@Abb/\xP@sa
++\xP@G*\xP@Abc/\xP@sa\relax
+\xP@AAbc\dimexpr\xP@I*\xP@Aba/\xP@sa+\xP@J*\xP@Abb/\xP@sa
++\xP@K*\xP@Abc/\xP@sa\relax
+\xP@sc\z@
+\xP@Max\xP@sc\xP@Aba
+\xP@Max\xP@sc\xP@Abb
+\xP@Max\xP@sc\xP@Abc
+\xP@Max\xP@sc\xP@AAba
+\xP@Max\xP@sc\xP@AAbb
+\xP@Max\xP@sc\xP@AAbc
+\ifdim\xP@sc=\z@
+\xP@AAb\z@
+\else
+\xP@Ab\dimexpr\xP@Aba*\xP@bigdim/\xP@sc*\xP@Aba/\xP@sc
++\xP@Abb*\xP@bigdim/\xP@sc*\xP@Abb/\xP@sc
++\xP@Abc*\xP@bigdim/\xP@sc*\xP@Abc/\xP@sc
+\relax
+\xP@AAb\dimexpr\xP@AAba*\xP@bigdim/\xP@sc*\xP@AAba/\xP@sc
++\xP@AAbb*\xP@bigdim/\xP@sc*\xP@AAbb/\xP@sc
++\xP@AAbc*\xP@bigdim/\xP@sc*\xP@AAbc/\xP@sc
+\relax
+\fi
+\xdef\@gtempa{\ifdim\xP@AAb=\z@
+\xP@dta\z@
+\xP@dtb\z@
+\xP@dtc\z@
+\else
+\xP@dta\the\dimexpr\xP@Aba*\xP@sb/\xP@sa*\p@/\xP@AAb*\xP@Ab/\maxdimen
+\relax
+\xP@dtb\the\dimexpr\xP@Abb*\xP@sb/\xP@sa*\p@/\xP@AAb*\xP@Ab/\maxdimen
+\relax
+\xP@dtc\the\dimexpr\xP@Abc*\xP@sb/\xP@sa*\p@/\xP@AAb*\xP@Ab/\maxdimen
+\relax
+\fi
+}}\@gtempa
+}
+\newif\ifxP@offsetok
+\newcommand*\xP@maxdev{.1\p@}
+\newcommand*\xP@maxobjfun{.005\p@}
+\newcommand*\xP@testoffset{{\gdef\@gtempa{\xP@offsetoktrue}\def\@gtempb{\ifdim\xP@ti<1.85pt}\xP@ti.1pt
+\loop
+\xP@tip
+\dimexpr\xP@a*131072/\xP@bigdim+(\xP@b-\xP@a)*\xP@ti/\xP@bigdim\relax
+\L@p-\xP@bezierpoly\xP@xa\xP@xb\xP@xc\xP@xd\xP@tip
+\U@p-\xP@bezierpoly\xP@ya\xP@yb\xP@yc\xP@yd\xP@tip
+\xP@valA\xP@bezierpoly\X@p\L@c\R@c\X@c\xP@ti
+\advance\xP@valA\L@p
+\xP@valB\xP@bezierpoly\Y@p\U@c\D@c\Y@c\xP@ti
+\advance\xP@valB\U@p
+\@tempdima\dimexpr\xP@tip/2\relax
+\xP@velocity@@
+\@tempdimc\dimexpr(\xP@b-\xP@a)*\@tempdimb/\xP@bigdim\relax
+\xP@abs\@tempdimc
+\ifdim.01pt<\@tempdimc
+\xP@devA\dimexpr\xP@valA*\d@X/\@tempdimb+\xP@valB*\d@Y/\@tempdimb\relax
+\xP@devB\dimexpr\xP@valA*\d@Y/\@tempdimb-\xP@valB*\d@X/\@tempdimb-8\xP@off
+\relax
+\xP@abs\xP@devA
+\xP@abs\xP@devB
+\@tempdima\dimexpr\xP@devA+\xP@devB\relax
+\else
+\ifdim.0005pt>\@tempdimc
+\@tempdima\z@
+\else
+{\d@X\xP@valA
+\d@Y\xP@valB
+\xP@veclen@
+\global\dimen@i\@tempdimb
+}\@tempdima\dimen@i
+\advance\@tempdima\ifdim\xP@off>\z@-\fi8\xP@off
+\xP@abs\@tempdima
+\fi
+\fi
+\ifdim\@tempdima>\xP@maxdev
+\divide\L@p8\relax
+\divide\U@p8\relax
+{\xP@transformcoor\X@p\Y@p
+\xP@transformcoor\L@c\U@c
+\xP@transformcoor\R@c\D@c
+\xP@transformcoor\X@c\Y@c
+\xP@findzero
+}\fi
+\@gtempb
+\advance\xP@ti.1pt
+\repeat
+\expandafter}\@gtempa
+}
+\newcommand*\xP@transformcoor[2]{\advance#1\L@p
+\advance#2\U@p
+\@tempdima\dimexpr#1*\d@X/\@tempdimb+#2*\d@Y/\@tempdimb\relax
+#2\dimexpr#2*\d@X/\@tempdimb-#1*\d@Y/\@tempdimb\relax
+#1\@tempdima
+}
+\newcommand*\xP@findzero{\xP@setleftvalue\tw@
+\xP@setrightvalue\tw@
+\ifdim\xP@valB<\z@\xP@reversecoeff\fi
+\ifdim\xP@valA>\z@
+\@tempswatrue
+\@for\@tempa:={\thr@@,4,5,7,10,20}\do{\if@tempswa
+\xP@setleftvalue\@tempa
+\ifdim\xP@valA<\z@\@tempswafalse\fi
+\if@tempswa
+\xP@setrightvalue\@tempa
+\ifdim\xP@valB<\z@
+\@tempswafalse
+\xP@reversecoeff
+\fi
+\fi
+\fi
+}\if@tempswa
+\L@p\xP@ti
+\xP@valA\dimexpr\xP@bezierpoly\X@p\L@c\R@c\X@c\L@p\relax
+\ifdim\xP@valA>\z@
+\U@p\L@p
+\xP@valB\xP@valA
+\fi
+\fi
+\fi
+\loop
+\ifnum\numexpr\U@p-\L@p\relax>\@ne
+\xP@ti\dimexpr(\L@p+\U@p)/2\relax
+\xP@devA\xP@bezierpoly\X@p\L@c\R@c\X@c\xP@ti
+\ifdim\xP@devA>\z@
+\U@p\xP@ti
+\xP@valB\xP@devA
+\else
+\L@p\xP@ti
+\xP@valA\xP@devA
+\fi
+\repeat
+\xP@ifabsless\xP@valB\xP@valA
+\L@p\U@p
+\xP@valA\xP@valB
+\fi
+\xP@valB\dimexpr\xP@bezierpoly\Y@p\U@c\D@c\Y@c\L@p+8\xP@off\relax
+\xP@abs\xP@valA
+\xP@abs\xP@valB
+\ifdim\dimexpr\xP@valA+\xP@valB\relax>\xP@maxdev
+\xP@failed
+\fi
+}
+\newcommand*\xP@failed{\global\let\@gtempb\iffalse
+\gdef\@gtempa{\xP@offsetokfalse}}
+\newcommand*\xP@reversecoeff{\multiply\X@p\m@ne
+\multiply\L@c\m@ne
+\multiply\R@c\m@ne
+\multiply\X@c\m@ne
+\multiply\xP@valA\m@ne
+\multiply\xP@valB\m@ne
+}
+\newcommand*\xP@setleftvalue[1]{\L@p\dimexpr\xP@ti-\p@/#1\relax
+\ifdim\L@p<\z@\L@p\z@\fi
+\xP@valA\dimexpr\xP@bezierpoly\X@p\L@c\R@c\X@c\L@p\relax
+}
+\newcommand*\xP@setrightvalue[1]{\U@p\dimexpr\xP@ti+\p@/#1\relax
+\ifdim\U@p>2\p@\U@p2\p@\fi
+\xP@valB\dimexpr\xP@bezierpoly\X@p\L@c\R@c\X@c\U@p\relax
+}
+\newcommand*\xP@splinedbldashed{\xP@checkspline\xP@splinemultdashed\xP@doublestroke}
+\newcommand*\xP@splinetrbldashed{\xP@checkspline\xP@splinemultdashed\xP@trblstroke}
+\newcommand*\xP@splinemultdashed{\@tempcnta\numexpr2*\numexpr(\@tempdimb+\xydashl@)/(2*\xydashl@)\relax-1\relax
+\ifnum\@tempcnta>\@ne
+\expandafter\xP@splinemultdashed@
+\else
+\expandafter\xP@splinemultsolid
+\fi
+}
+\newcommand*\xP@splinemultdashed@[1]{{\xP@inibigdim
+\@tempdima\dimexpr\@tempdimb/\@tempcnta\relax
+\xP@temppar\z@
+\toks@{}\@tempcnta\z@
+\loop
+\advance\@tempcnta\@ne
+\xP@append\toks@{\ifodd\@tempcnta\noexpand\xP@paintdash\fi
+{\the\xP@temppar}}\xP@oldpar\xP@temppar
+\xP@slide
+\ifdim\xP@temppar<\xP@bigdim
+\repeat
+\xP@lastpar
+\ifodd\@tempcnta
+\xP@temppar
+\xP@append\toks@{{\the\xP@temppar}}\else
+\xP@oldpar
+\fi
+\@temptokena{}\xP@setsolidpat
+\@for\@tempa:={#1}\do{\the\toks@}\xP@stroke{\the\@temptokena}}}
+\newcommand*\xP@paintdash[2]{\xP@paintsolid{\dimexpr#1*\xP@bigdim/\xP@lastpar\relax}{\dimexpr#2*\xP@bigdim/\xP@lastpar\relax}}
+\xP@hook{splinedbldotted@}
+\newcommand*\xP@splinedbldotted@{\let\xP@normalmult\@ne
+\xP@checkspline\xP@splinemultdotted\xP@doublestroke}
+\newcommand*\xP@splinetrbldotted{\let\xP@normalmult\tw@
+\xP@checkspline\xP@splinemultdotted\xP@trblstroke}
+\newcommand*\xP@multidottedpat{\def\xP@pattern{2 J [0 \xP@dim{\xydashh@}]0 d }}
+\@ifdefinable\xP@normalmult\relax
+\newcommand\xP@splinemultdotted[1]{{\xP@inibigdim
+\@tempdima\dimexpr\@tempdimb/\numexpr\@tempdimb/131072+1\relax\relax
+\xP@temppar\z@
+\toks@{}\loop
+\xP@append\toks@{\noexpand\xP@paintdot{\the\xP@temppar}}\xP@oldpar\xP@temppar
+\xP@slide
+\ifdim\xP@temppar<\xP@bigdim
+\repeat
+\xP@lastpar
+\ifdim\dimexpr\xP@bigdim-\xP@oldpar\relax<\dimexpr\xP@temppar-\xP@bigdim\relax
+\xP@oldpar
+\else
+\xP@temppar
+\xP@append\toks@{\noexpand\xP@paintdot{\the\xP@temppar}}\fi
+\@temptokena{}\the\toks@
+\xP@multidottedpat
+\xP@stroke{\the\@temptokena}}}
+\newcommand*\xP@slide{{\xP@slide@
+\global\dimen@i\xP@temppar
+}\xP@temppar\dimen@i
+}
+\newcommand*\xP@slide@{\xP@velocity{\xP@temppar*\p@/\xP@bigdim}\xP@tempvel
+\xP@velocity{(\xP@temppar+\xP@bigdim/\numexpr\@tempdimb/131072+1\relax)*\p@/\xP@bigdim}\xP@tempvel@
+\ifdim\dimexpr\@tempdima*1310720/(\xP@tempvel+\xP@tempvel@)\relax>\p@
+{\dimen5\xP@temppar
+\advance\xP@temppar.1\xP@bigdim
+\dimen7\xP@temppar
+\xP@shaveprec{\dimen5}{\dimen7}\xP@bezierlength
+\advance\@tempdima-\@tempdimb
+\expandafter}\expandafter\@tempdima\the\@tempdima\relax
+\advance\xP@temppar.1\xP@bigdim
+\expandafter\xP@slide@
+\else
+\advance\xP@temppar
+\dimexpr2\xP@bigdim*\@tempdima/(\xP@tempvel+\xP@tempvel@)\relax
+\fi
+}
+\newcommand*\xP@paintdot[1]{\xP@temppar\dimexpr#1*\xP@bigdim/\xP@lastpar\relax
+\L@p\dimexpr\L@c-\X@p\relax
+\D@p\dimexpr\U@c-\Y@p\relax
+\d@X3\dimexpr((\X@c-\X@p+(\L@c-\R@c)*3)*\xP@temppar/\xP@bigdim
++(\R@c-\L@p-\L@c)*2)*\xP@temppar/\xP@bigdim+\L@p\relax
+\d@Y3\dimexpr((\Y@c-\Y@p+(\U@c-\D@c)*3)*\xP@temppar/\xP@bigdim
++(\D@c-\D@p-\U@c)*2)*\xP@temppar/\xP@bigdim+\D@p\relax
+\xP@veclen
+\ifdim\@tempdimb=\z@
+\d@X3\dimexpr(\X@c-\X@p+(\L@c-\R@c)*3)*\xP@temppar/\xP@bigdim
++(\R@c-\L@p-\L@c)\relax
+\d@Y3\dimexpr(\Y@c-\Y@p+(\U@c-\D@c)*3)*\xP@temppar/\xP@bigdim
++(\D@c-\D@p-\U@c)\relax
+\xP@veclen
+\ifdim\@tempdimb=\z@
+\d@X3\dimexpr\X@c-\X@p+(\L@c-\R@c)*3\relax
+\d@Y3\dimexpr\Y@c-\Y@p+(\U@c-\D@c)*3\relax
+\xP@veclen
+\fi
+\fi
+\U@p\dimexpr\R@c-\L@p-\L@c\relax
+\R@p\dimexpr\X@c-3\R@c+3\L@c-\X@p\relax
+\X@min\dimexpr\D@c-\D@p-\U@c\relax
+\Y@min\dimexpr\Y@c-3\D@c+3\U@c-\Y@p\relax
+\xP@posX\dimexpr\X@p+(3\L@p+(3\U@p+\R@p*\xP@temppar/\xP@bigdim)*\xP@temppar/\xP@bigdim)*\xP@temppar/\xP@bigdim\relax
+\xP@posY\dimexpr\Y@p+(3\D@p+(3\X@min+\Y@min*\xP@temppar/\xP@bigdim)*\xP@temppar/\xP@bigdim)*\xP@temppar/\xP@bigdim\relax
+\L@p\dimexpr\xydashh@*\d@Y/\@tempdimb/2\relax
+\U@p\dimexpr-\xydashh@*\d@X/\@tempdimb/2\relax
+\xP@append\@temptokena{\xP@coor{\xP@posX+\L@p*\xP@normalmult}{\xP@posY+\U@p*\xP@normalmult}m \xP@coor{\xP@posX-\L@p*(\xP@normalmult+\@ne)}{\xP@posY-\U@p*(\xP@normalmult+\@ne)}l }}
+\newcommand*\xP@splinesquiggled{\xP@checkspline\xP@splinesquiggled@\z@}
+\newcommand*\xP@splinedblsquiggled{\xP@checkspline\xP@splinesquiggled@\xP@doublestroke}
+\newcommand*\xP@splinetrblsquiggled{\xP@checkspline\xP@splinesquiggled@\xP@trblstroke}
+\newcommand*\xP@splinesquiggled@[1]{{\xP@inibigdim
+\@tempcnta=\numexpr\@tempdimb/\xybsqll@\relax
+\ifnum\@tempcnta<\tw@\@tempcnta\tw@\fi
+\multiply\@tempcnta\tw@
+\@tempdima\dimexpr\@tempdimb/\@tempcnta\relax
+\xP@temppar\z@
+\toks@{}\@tempcnta\z@
+\loop
+\advance\@tempcnta\@ne
+\xP@append\toks@{\noexpand\xP@paintsquiggle{\the\xP@temppar}}\xP@oldpar\xP@temppar
+\xP@slide
+\ifdim\xP@temppar<\xP@bigdim
+\repeat
+\xP@lastpar
+\ifodd\@tempcnta
+\xP@oldpar
+\else
+\xP@temppar
+\xP@append\toks@{\noexpand\xP@paintsquiggle{\the\xP@temppar}}\fi
+\@temptokena{}\xP@setsolidpat
+\@for\@tempa:={#1}\do{\let\xP@dosquiggle\xP@dosquiggle@
+\count@\z@
+\the\toks@
+}\xP@stroke{\the\@temptokena}
+}}
+\newcommand*\xP@paintsquiggle[1]{\xP@temppar\dimexpr#1*\xP@bigdim/\xP@lastpar\relax
+\L@p\dimexpr\L@c-\X@p\relax
+\D@p\dimexpr\U@c-\Y@p\relax
+\d@X3\dimexpr((\X@c-\X@p+(\L@c-\R@c)*3)*\xP@temppar/\xP@bigdim
++(\R@c-\L@p-\L@c)*2)*\xP@temppar/\xP@bigdim+\L@p\relax
+\d@Y3\dimexpr((\Y@c-\Y@p+(\U@c-\D@c)*3)*\xP@temppar/\xP@bigdim
++(\D@c-\D@p-\U@c)*2)*\xP@temppar/\xP@bigdim+\D@p\relax
+\xP@veclen
+\ifdim\@tempdimb=\z@
+\d@X3\dimexpr(\X@c-\X@p+(\L@c-\R@c)*3)*\xP@temppar/\xP@bigdim
++(\R@c-\L@p-\L@c)\relax
+\d@Y3\dimexpr(\Y@c-\Y@p+(\U@c-\D@c)*3)*\xP@temppar/\xP@bigdim
++(\D@c-\D@p-\U@c)\relax
+\xP@veclen
+\ifdim\@tempdimb=\z@
+\d@X3\dimexpr\X@c-\X@p+(\L@c-\R@c)*3\relax
+\d@Y3\dimexpr\Y@c-\Y@p+(\U@c-\D@c)*3\relax
+\xP@veclen
+\fi
+\fi
+\U@p\dimexpr\R@c-\L@p-\L@c\relax
+\R@p\dimexpr\X@c-3\R@c+3\L@c-\X@p\relax
+\X@min\dimexpr\D@c-\D@p-\U@c\relax
+\Y@min\dimexpr\Y@c-3\D@c+3\U@c-\Y@p\relax
+\xP@posX\dimexpr\X@p+(3\L@p+(3\U@p+\R@p*\xP@temppar/\xP@bigdim)*\xP@temppar/\xP@bigdim)*\xP@temppar/\xP@bigdim\relax
+\xP@posY\dimexpr\Y@p+(3\D@p+(3\X@min+\Y@min*\xP@temppar/\xP@bigdim)*\xP@temppar/\xP@bigdim)*\xP@temppar/\xP@bigdim\relax
+\advance\xP@posX\dimexpr-\d@Y*\numexpr\@tempa\relax/\@tempdimb\relax
+\advance\xP@posY\dimexpr\d@X*\numexpr\@tempa\relax/\@tempdimb\relax
+\L@p\dimexpr\d@X*\@tempdima/\@tempdimb\relax
+\U@p\dimexpr\d@Y*\@tempdima/\@tempdimb\relax
+\R@p\dimexpr\L@p*543339720/1311738121\relax
+\D@p\dimexpr\U@p*543339720/1311738121\relax
+\X@min\dimexpr\L@p*362911648/967576667\relax
+\Y@min\dimexpr\U@p*362911648/967576667\relax
+\X@max\dimexpr(\L@p+\U@p)*173517671/654249180\relax
+\Y@max\dimexpr(\L@p-\U@p)*173517671/654249180\relax
+\xP@dosquiggle
+\ifnum\count@=\thr@@\relax\count@\z@\else\advance\count@\@ne\fi
+}
+\@ifdefinable\xP@dosquiggle@\relax
+\newcommand*\xP@dosquiggle@{\edef\next@{\xP@coor{\xP@posX}{\xP@posY}m \xP@coor{\xP@posX+\Y@max}{\xP@posY+\X@max}}\let\xP@dosquiggle\xP@dosquiggle@@
+}
+\newcommand*\xP@dosquiggle@@{\xP@append\@temptokena{\next@\expandafter\xP@coor
+\ifcase\count@
+{\xP@posX-\Y@max}{\xP@posY-\X@max}\xP@coor\xP@posX\xP@posY
+\or
+{\xP@posX-\D@p-\X@min}{\xP@posY+\R@p-\Y@min}\xP@coor{\xP@posX-\D@p}{\xP@posY+\R@p}\or
+{\xP@posX-\X@max}{\xP@posY+\Y@max}\xP@coor\xP@posX\xP@posY
+\or
+{\xP@posX+\D@p-\X@min}{\xP@posY-\R@p-\Y@min}\xP@coor{\xP@posX+\D@p}{\xP@posY-\R@p}\fi c }\edef\next@{\expandafter\xP@coor
+\ifcase\count@
+{\xP@posX+\Y@max}{\xP@posY+\X@max}\or
+{\xP@posX-\D@p+\X@min}{\xP@posY+\R@p+\Y@min}\or
+{\xP@posX+\X@max}{\xP@posY-\Y@max}\or
+{\xP@posX+\D@p+\X@min}{\xP@posY-\R@p+\Y@min}\fi
+}}
+\xP@hook{circhar@@}
+\newcommand*\xP@circhar@@[1]{\expandafter\xP@circhar@@@\ifcase#1 000{-173517671/654249180}{65307479/619869377}{-34221476/65864945}{225058681/768398401}{-543339720/768398401}\or
+0{-543339720/768398401}{181455824/967576667}{-554561898/619869377}{826676217/1870772527}{-1}{543339720/768398401}{-1}\or
+0{-1}{173517671/654249180}{-1}{34221476/65864945}{-554561898/619869377}{543339720/768398401}{-543339720/768398401}\or
+0{-543339720/768398401}{181455824/967576667}{-34221476/65864945}{225058681/768398401}{-173517671/654249180}{225058681/768398401}0\or
+0{543339720/768398401}{181455824/967576667}{34221476/65864945}{225058681/768398401}{173517671/654249180}{225058681/768398401}0\or
+01{173517671/654249180}1{34221476/65864945}{554561898/619869377}{543339720/768398401}{543339720/768398401}\or
+0{543339720/768398401}{181455824/967576667}{554561898/619869377}{826676217/1870772527}1{543339720/768398401}1\or
+000{173517671/654249180}{65307479/619869377}{34221476/65864945}{225058681/768398401}{543339720/768398401}\fi}
+\newcommand\xP@circhar@@@[8]{\xP@setsolidpat
+\xP@stroke{\xP@coor{\R@*#1}{\R@*#2}m
+\xP@coor{\R@*#3}{\R@*#4}\xP@coor{\R@*#5}{\R@*#6}\xP@coor{\R@*#7}{\R@*#8}c}\vrule width\z@ height\R@ depth\R@
+\kern\dimexpr\R@*#7\relax
+}
+\xP@hook{cirrestrict@@}
+\newcommand*\xP@cirrestrict@@{\count@\z@\relax}
+\endinput
+%%
+%% End of file `xypdf.sty'.